才能夠體會(huì)到如何才能夠把系統(tǒng)做好,如何更好的把軟件需求和后續(xù)實(shí)現(xiàn)更好的銜接起來。有一本《軟件需求》的書講的很系統(tǒng),從事需求工作的都值得仔細(xì)閱讀。對(duì)于采用面向?qū)ο蟮男枨箝_發(fā)和分析方法的,一定要熟悉RUP統(tǒng)一過程和用例分析和建模。
對(duì)于管理軟件都離不開其涉及到的業(yè)務(wù)領(lǐng)域,因此要做好需求分析工作必須要熟悉管理軟件所涉及到的業(yè)務(wù)領(lǐng)域,對(duì)業(yè)務(wù)領(lǐng)域相關(guān)的標(biāo)準(zhǔn)模型進(jìn)行分析和研究,對(duì)業(yè)界的一些標(biāo)準(zhǔn)和最佳實(shí)踐進(jìn)行熟悉。比如做供應(yīng)鏈管理系統(tǒng)和軟件應(yīng)該熟悉業(yè)界標(biāo)準(zhǔn)的SCOR模型,做ERP的應(yīng)該結(jié)合現(xiàn)在的業(yè)界比較大的廠商的ERP產(chǎn)品進(jìn)行學(xué)習(xí),對(duì)于研發(fā)管理系統(tǒng)可以結(jié)合PACE和IPD等等。只有熟悉了業(yè)務(wù)領(lǐng)域才可能在需求調(diào)研和分析的時(shí)候提供很多有建設(shè)性的意見,或者說需求分析人員不是被用戶牽著走,而是真正的可以引導(dǎo)用戶。
4.需求分析的步驟和輸出有哪些?
開始首先是需求的收集,需求收集可以通過調(diào)查表,訪談,業(yè)界標(biāo)準(zhǔn),會(huì)議討論溝通等多種方式進(jìn)行。需求收集第一是要能夠很好的描述現(xiàn)狀,第二是要搞清楚用戶的期望。同時(shí)一定要弱化用戶期望系統(tǒng)怎么做,因?yàn)橛脩舨⒉皇煜は到y(tǒng)實(shí)現(xiàn)和內(nèi)部原理,我們的軟件需求不僅僅考慮的是功能的實(shí)現(xiàn),還需要考慮需求復(fù)用,業(yè)務(wù)抽象,可擴(kuò)展和配置等多方面的問題。
收集回來的需求就需要開始進(jìn)行分析工作,分析包括了動(dòng)態(tài)行為分析和靜態(tài)數(shù)據(jù)分析。動(dòng)態(tài)行為分析涉及到用例分析,業(yè)務(wù)流程和活動(dòng)輸入輸出的分析,數(shù)據(jù)流分析,業(yè)務(wù)操作規(guī)則分析。靜態(tài)數(shù)據(jù)分析設(shè)計(jì)到業(yè)務(wù)對(duì)象建模,數(shù)據(jù)字典,組織結(jié)構(gòu),權(quán)限等分析。在這一個(gè)階段的重點(diǎn)就是需求的系統(tǒng)化和結(jié)構(gòu)化,最好要體現(xiàn)到規(guī)范的文檔中。在軟件開發(fā)過程中我們最強(qiáng)調(diào)的需要文檔化的輸出就是需求文檔和總體設(shè)計(jì)方案文檔。
需求分析階段還有一個(gè)重點(diǎn)的產(chǎn)出就是原型和DEMO,為了更好的和用戶溝通并挖掘需求,我們需要將我們理解后的想法更加形象的講述給用戶,所以原型就顯得額外重要。不管是否是拋棄的原型,都需要客戶看到的原型和最終實(shí)現(xiàn)的系統(tǒng)基本一致,因此原型開發(fā)需要投入一定的時(shí)間,并根據(jù)客戶反饋的信息不斷修正。在原型中多投入些時(shí)間,就會(huì)多減少一份后期需求變更引起的返工時(shí)間。軟件原型是降低需求變更風(fēng)險(xiǎn)的有效方法。
5.需求的驗(yàn)證和確認(rèn)包括哪些事情?
我們可以再簡單理解下驗(yàn)證和確認(rèn)的區(qū)別,對(duì)于判斷最終開發(fā)出來的系統(tǒng)是否和用戶想要的東西是一致的過程叫確認(rèn),對(duì)于你理解和描述的需求和我當(dāng)初的想法是否是一致的過程叫驗(yàn)證。需求的驗(yàn)證包括了很多的內(nèi)容,涉及到軟件開發(fā)中上下游相關(guān)人員的參與。首先你結(jié)構(gòu)和文檔化后的需求需要用戶來驗(yàn)證是否和他們的想法是一致的,是否把用戶的真實(shí)意圖描述清楚了,以保證需求本身的正確性。對(duì)于后續(xù)設(shè)計(jì)開發(fā)階段的人員也需要對(duì)需求進(jìn)行評(píng)審以保證需求的可實(shí)現(xiàn)性,確認(rèn)需求描述是否清楚,是否是可以實(shí)現(xiàn)的,對(duì)于業(yè)務(wù)對(duì)象,流程和規(guī)則是否存在不可實(shí)現(xiàn)的模糊描述詞語。對(duì)于測(cè)試人員,則主要是確認(rèn)需求是否是可測(cè)試的,是否在需求描述中引入了較多的易用,較好,應(yīng)該等不確定和不可測(cè)試的詞語。對(duì)于大型的軟件項(xiàng)目,如果有專門的產(chǎn)品化標(biāo)準(zhǔn)和UI組的話,還需要對(duì)需求的易用性和產(chǎn)品交互等方面進(jìn)行評(píng)估,以評(píng)價(jià)整個(gè)軟件系統(tǒng)的產(chǎn)品化。
確認(rèn)主要是軟件系統(tǒng)已經(jīng)開發(fā)完成后交付給用戶后驗(yàn)收的時(shí)候,用戶確認(rèn)系統(tǒng)是否實(shí)現(xiàn)了當(dāng)初的需求。為了保證確認(rèn)過程的順利,就必須重視需求驗(yàn)證的過程,需求驗(yàn)證不僅僅是需求階段對(duì)需求文檔的評(píng)審,還需要關(guān)注設(shè)計(jì),開發(fā)等各階段對(duì)需求的實(shí)現(xiàn)情況的驗(yàn)證。