原型開發(fā)需要投入一定的時間,并根據(jù)客戶反饋的信息不斷修正。在原型中多投入些時間,就會多減少一份后期需求變更引起的返工時間。軟件原型是降低需求變更風(fēng)險的有效方法。
4.需求的抽象和建模體現(xiàn)在哪些方面
首先要理解需求分析和設(shè)計的目的在于滿足現(xiàn)狀并適應(yīng)變化。要想適應(yīng)變化則業(yè)務(wù)建模和需求抽象就是必須的。當(dāng)我們了解到業(yè)務(wù)的組織結(jié)構(gòu)和流程經(jīng)常面臨變動和調(diào)整的時候,我們就需要考慮引入標(biāo)準(zhǔn)的組織結(jié)構(gòu)模型,權(quán)限模型和工作流模型。這些模型的引入使業(yè)務(wù)和需求的變動變化為通過系統(tǒng)的靈活配置來適應(yīng)。軟件系統(tǒng)要適應(yīng)變化不是從設(shè)計階段開始的,而是我們的軟件需求本身就需要適應(yīng)變化。
需求的抽象包括了對業(yè)務(wù)對象模型的抽象,對業(yè)務(wù)規(guī)則的抽象,對流程的抽象。其中最重要的就是由業(yè)務(wù)對象抽象形成的概念模型,由流程抽象形成的數(shù)據(jù)交互模型。對于一些快速軟件開發(fā)平臺理解到的對象建模,流程建模,組織結(jié)構(gòu)和權(quán)限建模,業(yè)務(wù)規(guī)則建模,BPEL業(yè)務(wù)流程編排恰好就是需求抽象的最主要內(nèi)容。
要做好需求抽象必須具備兩方面的知識,第一是真正的對所涉及到的業(yè)務(wù)領(lǐng)域及其標(biāo)準(zhǔn)模型足夠理解,其二是對軟件系統(tǒng)分析和架構(gòu)設(shè)計有較多的經(jīng)驗積累。只有同時具備這兩方面知識才能夠做好需求建模工作。
5.需求的驗證和確認(rèn)包括哪些事情
我們可以再簡單理解下驗證和確認(rèn)的區(qū)別,對于判斷最終開發(fā)出來的系統(tǒng)是否和用戶想要的東西是一致的過程叫確認(rèn),對于你理解和描述的需求和我當(dāng)初的想法是否是一致的過程叫驗證。需求的驗證包括了很多的內(nèi)容,涉及到軟件開發(fā)中上下游相關(guān)人員的參與。首先你結(jié)構(gòu)和文檔化后的需求需要用戶來驗證是否和他們的想法是一致的,是否把用戶的真實意圖描述清楚了,以保證需求本身的正確性。對于后續(xù)設(shè)計開發(fā)階段的人員也需要對需求進行評審以保證需求的可實現(xiàn)性,確認(rèn)需求描述是否清楚,是否是可以實現(xiàn)的,對于業(yè)務(wù)對象,流程和規(guī)則是否存在不可實現(xiàn)的模糊描述詞語。對于測試人員,則主要是確認(rèn)需求是否是可測試的,是否在需求描述中引入了較多的易用,較好,應(yīng)該等不確定和不可測試的詞語。對于大型的軟件項目,如果有專門的產(chǎn)品化標(biāo)準(zhǔn)和UI組的話,還需要對需求的易用性和產(chǎn)品交互等方面進行評估,以評價整個軟件系統(tǒng)的產(chǎn)品化。
確認(rèn)主要是軟件系統(tǒng)已經(jīng)開發(fā)完成后交付給用戶后驗收的時候,用戶確認(rèn)系統(tǒng)是否實現(xiàn)了當(dāng)初的需求。為了保證確認(rèn)過程的順利,就必須重視需求驗證的過程,需求驗證不僅僅是需求階段對需求文檔的評審,還需要關(guān)注設(shè)計,開發(fā)等各階段對需求的實現(xiàn)情況的驗證。