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