開發(fā)需要投入一定的時(shí)間,并根據(jù)客戶反饋的信息不斷修正。在原型中多投入些時(shí)間,就會多減少一份后期需求變更引起的返工時(shí)間。軟件原型是降低需求變更風(fēng)險(xiǎn)的有效方法。
4.需求的抽象和建模體現(xiàn)在哪些方面
首先要理解需求分析和設(shè)計(jì)的目的在于滿足現(xiàn)狀并適應(yīng)變化。要想適應(yīng)變化則業(yè)務(wù)建模和需求抽象就是必須的。當(dāng)我們了解到業(yè)務(wù)的組織結(jié)構(gòu)和流程經(jīng)常面臨變動(dòng)和調(diào)整的時(shí)候,我們就需要考慮引入標(biāo)準(zhǔn)的組織結(jié)構(gòu)模型,權(quán)限模型和工作流模型。這些模型的引入使業(yè)務(wù)和需求的變動(dòng)變化為通過系統(tǒng)的靈活配置來適應(yīng)。軟件系統(tǒng)要適應(yīng)變化不是從設(shè)計(jì)階段開始的,而是我們的軟件需求本身就需要適應(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ì)有較多的經(jīng)驗(yàn)積累。只有同時(shí)具備這兩方面知識才能夠做好需求建模工作。
5.需求的驗(yàn)證和確認(rèn)包括哪些事情
我們可以再簡單理解下驗(yàn)證和確認(rèn)的區(qū)別,對于判斷最終開發(fā)出來的系統(tǒng)是否和用戶想要的東西是一致的過程叫確認(rèn),對于你理解和描述的需求和我當(dāng)初的想法是否是一致的過程叫驗(yàn)證。需求的驗(yàn)證包括了很多的內(nèi)容,涉及到軟件開發(fā)中上下游相關(guān)人員的參與。首先你結(jié)構(gòu)和文檔化后的需求需要用戶來驗(yàn)證是否和他們的想法是一致的,是否把用戶的真實(shí)意圖描述清楚了,以保證需求本身的正確性。對于后續(xù)設(shè)計(jì)開發(fā)階段的人員也需要對需求進(jìn)行評審以保證需求的可實(shí)現(xiàn)性,確認(rèn)需求描述是否清楚,是否是可以實(shí)現(xiàn)的,對于業(yè)務(wù)對象,流程和規(guī)則是否存在不可實(shí)現(xiàn)的模糊描述詞語。對于測試人員,則主要是確認(rèn)需求是否是可測試的,是否在需求描述中引入了較多的易用,較好,應(yīng)該等不確定和不可測試的詞語。對于大型的軟件項(xiàng)目,如果有專門的產(chǎn)品化標(biāo)準(zhǔn)和UI組的話,還需要對需求的易用性和產(chǎn)品交互等方面進(jìn)行評估,以評價(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)證不僅僅是需求階段對需求文檔的評審,還需要關(guān)注設(shè)計(jì),開發(fā)等各階段對需求的實(shí)現(xiàn)情況的驗(yàn)證。
6.為什么要做需求管理,需求管理包括哪些工作?
需求管理就是IT項(xiàng)目中的范圍管理,需求管理是整個(gè)IT項(xiàng)目的源頭,IT項(xiàng)目的估算,計(jì)劃,后續(xù)的跟蹤控制,驗(yàn)證和確認(rèn)等各項(xiàng)工作都是跟需求密切相關(guān)的。因此為了保證項(xiàng)目的進(jìn)度,質(zhì)量和成本的目標(biāo)的順利實(shí)現(xiàn),保證項(xiàng)目計(jì)劃的嚴(yán)肅性和可執(zhí)行性;為了保證軟件系統(tǒng)最終開發(fā)的產(chǎn)品正是客戶期望的產(chǎn)品,必須要做好需求管理工作。
需求管理工作應(yīng)該是需求全生命周期的管理,從用戶原始需求的提出,到最終形成軟件產(chǎn)品后用戶對需求實(shí)現(xiàn)情況的驗(yàn)證以形成閉環(huán)流程。因此我們需要跟蹤和了解到需求狀態(tài)的演變過程。大型的項(xiàng)目軟件生命周期模型較為復(fù)雜,一個(gè)需求的實(shí)現(xiàn)會經(jīng)過用戶需求,軟件需求,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),開發(fā)和單元測試,集成測試,系統(tǒng)測試和驗(yàn)收測試多個(gè)環(huán)節(jié),在這個(gè)過程中需要建立需求追蹤以確認(rèn)需求和中間階段產(chǎn)生的工作產(chǎn)品的一致性。另外變更管理是需求管理的另外一個(gè)重點(diǎn),需求在經(jīng)過評審確認(rèn)后需要基線并受到控制,當(dāng)出現(xiàn)需求變更的時(shí)候必須進(jìn)行相應(yīng)的需求影響分析以確認(rèn)對需求變更的處理方式,當(dāng)變更工作量影