軟件需求分析師應該做哪些工作?(軟件需求分析師應該做哪些工作內容)
需求分析師的崗位是軟件項目中不可缺少的崗位,它所做的工作是整個軟件生命周期非常重要的環(huán)節(jié),承擔著由實際業(yè)務到業(yè)務信息化落地的橋梁工作。所以需求分析是一項十分細致且嚴謹的工作。
需求分析師的工作由需求調研、需求分析、系統設計、功能測試、用戶培訓組成,可以說除了在代碼實現環(huán)節(jié)不需要需求人員參與(但代碼實現的邏輯還是需要需求人員把關的),其他的環(huán)節(jié)都有需求人員的影子。
需求調研:目的是了解客戶的實際業(yè)務。通過我之前需求調研的經驗,我一般采用的是訪談法;首先,找到甲方項目的牽頭人,了解一些基本的情況,例如客戶方的組織架構、系統使用部門和使用崗位;通過了解到上述的情況后,逐一對各部門的關鍵用戶進行訪談;此時的訪談主要是討論用戶的實際業(yè)務流程是怎樣的,包括他們的業(yè)務審批流程是如何的。訪談過程中盡量不要提及與軟件相關的專業(yè)詞匯;如果用戶有相應的業(yè)務報告、報表最好能提供一下。需求調研完成后,需要整理訪談記錄與客戶確認,目的在于記錄的是否與實際情況有沖突。
需求分析:基于需求調研階段獲取到的成果,進入到分析環(huán)節(jié),通過我做需求分析的經驗和習慣,我一般會把調研完成的內容,通過Xmind用思維導圖的方式將業(yè)務進行歸類或分解。最終形成一個個的實體,我對該實體的理解就是后期的功能模塊。當然,Xmind僅能抽象出實體,并不能體現出業(yè)務流程;如想更醒目的了解業(yè)務流程,那么需要借助Visio等工具繪制業(yè)務流程圖。將抽象出的功能模塊、業(yè)務流程整理完成后需要與客戶方開需求討論會,目的是檢驗最終形成的功能模塊是否合適,業(yè)務流程是否正確。
系統設計:需求設計包含功能設計、數據庫設計兩個維度,功能設計是由需求人員完成;數據庫設計可以由需求人員完成也可由開發(fā)人員完成(主要看每個公司的崗位要求)。
功能設計:基于需求分析的結果可以進入到了功能設計階段,該階段需要產出頁面原型、需求規(guī)格說明書兩個文件;頁面原型,我一般用Axure軟件設計功能;這里要注意,設計之前要先考慮公司是否有UI設計崗位,如有該崗位原型圖繪制成線框圖即可,便于給UI人員創(chuàng)造設計空間;如果沒有UI人員,那么需要需求人員將原型設計成高保真級別的,因為我們畫的原型和真實頁面一樣,這也是功能建設的一部分;在功能設計的過程中要時刻換位思考,站在業(yè)務人員的角度考慮功能設計的業(yè)務契合度;在設計某個要素時要參考用戶線下使用的相關報表或報告,在細項層面盡量不缺不漏。功能設計完成后形成需求說明書,與客戶一起進行需求評審。
數據庫設計:數據庫設計需要參考原型,提取功能中的實體設計成表結構和相應的字段信息。
需求評審:功能和表結構設計完成,并且也與客戶進行了需求確認后,需要與項目組成員進行需求評審,參加評審有項目經理、需求人員、研發(fā)人員、測試人員;目的在于將功能的業(yè)務需求和設計邏輯給開發(fā)和測試講解。支持他們代碼實現和測試用例編寫。待評審完成后且無問題后可以形成基線版本。
需求管理:主要對自己負責的需求類別和進度進行管理,并形成需求跟蹤矩陣,管理范圍包含功能點名稱、功能描述、業(yè)務關鍵用戶、功能優(yōu)先級、功能復雜度、需求來源、研發(fā)計劃等信息;
需求變更:需求變更是軟件項目建設過程中時有發(fā)生的事情,該問題與項目進度、項目成本、緊急程度三方面有關。1、項目進度:客戶提出需求變更后,需求人員需要與項目組同事討論該需求實現的難易程度,如果消耗時間過長則會影響原計劃完成時間,出現該情況需要與客戶方講明;2、項目成本:出現了需求變更勢必會影響到項目成本,需要與客戶方講明需要的工時。3、緊急程度:如變更的需求屬于非主業(yè)務流程內的且不緊急的需求變更可以放到后面做,這樣至少不影響合同范圍內的工作進度。
經驗總結:
通過我的從業(yè)經驗來講,我將軟件系統分為兩種:第一種,業(yè)務流程類系統;第二種,統計分析類系統;
業(yè)務流程類系統:業(yè)務流程類系統的核心是“業(yè)務”,可能有些人會提出不同意見,沒有單純的業(yè)務流程類系統,幾乎都是包含了統計分析功能的;我想說的是大部分的系統是“業(yè)務流程 統計”,僅用表格形式進行了數據呈現,缺少了分析功能;當然,這對業(yè)務流程類系統系統來講已經滿足需要了。業(yè)務流程功能是一線業(yè)務人員使用;統計分析功能是部門領導或公司領導進行查看業(yè)務數據時用到。
統計分析類系統:統計分析類系統的核心是“數據”,沒有數據做支撐的系統是沒有任何用處的。所以要想做分析首先要確保數據的質量。其次,統計分析類系統較為注重頁面的可視化效果,他不同于業(yè)務流程類系統,更多的是滿足業(yè)務需求及可;他對視覺傳達的要求較高,不同的分析采用不同的圖形