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