6.需求的抽象和建模體現(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)變化。
需求的抽象包括了對(duì)業(yè)務(wù)對(duì)象模型的抽象,對(duì)業(yè)務(wù)規(guī)則的抽象,對(duì)流程的抽象。其中最重要的就是由業(yè)務(wù)對(duì)象抽象形成的概念模型,由流程抽象形成的數(shù)據(jù)交互模型。對(duì)于一些快速軟件開發(fā)平臺(tái)理解到的對(duì)象建模,流程建模,組織結(jié)構(gòu)和權(quán)限建模,業(yè)務(wù)規(guī)則建模,BPEL業(yè)務(wù)流程編排恰好就是需求抽象的最主要內(nèi)容。
要做好需求抽象必須具備兩方面的知識(shí),第一是真正的對(duì)所涉及到的業(yè)務(wù)領(lǐng)域及其標(biāo)準(zhǔn)模型足夠理解,其二是對(duì)軟件系統(tǒng)分析和架構(gòu)設(shè)計(jì)有較多的經(jīng)驗(yàn)積累。只有同時(shí)具備這兩方面知識(shí)才能夠做好需求建模工作。
7.需求變更管理重要性體現(xiàn)在哪里?有哪些具體的內(nèi)容
戶不斷的提交需求修改,項(xiàng)目進(jìn)度無任何保證不斷延期;由于一次需求的修改導(dǎo)致原來本來穩(wěn)定的系統(tǒng)出現(xiàn)各種原來沒有想到的錯(cuò)誤和異常;這些都是需求管理存在缺陷的表象。需求管理的重要性就體現(xiàn)到項(xiàng)目計(jì)劃的嚴(yán)肅性和可執(zhí)行性,以保證項(xiàng)目目標(biāo)的實(shí)現(xiàn)。通過引入了需求變更管理后,使軟件需求文檔成為一份大家都共同承諾和作為依據(jù)參考的文檔,這個(gè)文檔需要在設(shè)計(jì),開發(fā),測(cè)試等多種角色之間充分傳遞和共享。另外通過需求管理工作,使每個(gè)人意識(shí)到變更對(duì)項(xiàng)目的影響和變更的代價(jià),反向去促進(jìn)需求開發(fā)質(zhì)量的提高。
需求變更管理包括了變更請(qǐng)求的提出,CBB委員會(huì)對(duì)需求進(jìn)行影響分析確認(rèn)是否變更,設(shè)計(jì)開發(fā)負(fù)責(zé)人確認(rèn)需求變更將影響到的模塊和代碼和具體修改方法,開發(fā)人員對(duì)變更進(jìn)行修改和測(cè)試,最后再有變更請(qǐng)求人對(duì)需求變更滿足情況進(jìn)行驗(yàn)證。對(duì)于變更的影響分析一般需要項(xiàng)目組的開發(fā)負(fù)責(zé)人進(jìn)行,大型項(xiàng)目可以依靠需求管理中建立的需求追蹤進(jìn)行分析,但根據(jù)實(shí)踐需求追蹤在影響分析中的作用還不明顯。
8.需求是否必須要文檔化,其意義體現(xiàn)在哪里?
做人員多方溝通的基礎(chǔ),使大家對(duì)需求有一致的理解并依據(jù)該文檔開展各項(xiàng)工作。即時(shí)是對(duì)于敏捷軟件開發(fā),我們也需要對(duì)用例場(chǎng)景描述,CRC卡片等文檔化下來以方便溝通。
再次強(qiáng)調(diào)溝通,特別是面對(duì)面的溝通是信息傳遞最高效方式,但是當(dāng)一個(gè)信息是需要在軟件開發(fā)整個(gè)生命周期的不同階段,由不同角色人員多次使用的時(shí)候,就必須文檔化。而需求文檔恰好屬于這種類型。
9.需求優(yōu)先級(jí)的作用,如何評(píng)估需求優(yōu)先級(jí)?
需求優(yōu)先級(jí)的作用在于項(xiàng)目管理和用戶滿意度提升的需要。一個(gè)系統(tǒng)上線后經(jīng)常出現(xiàn)情況就是往往經(jīng)常使用的功能都集中在20%的功能上很多功能使用很少。需求優(yōu)先級(jí)讓我們更好的把握重點(diǎn)和分配資源,真正的把20%最重要的需求,經(jīng)常使用的需求做好做精,只有這樣才能夠真正的提高用戶滿意度和達(dá)到項(xiàng)目目標(biāo)。
需求優(yōu)先級(jí)對(duì)于用戶往往最有發(fā)言權(quán),但當(dāng)一個(gè)系統(tǒng)涉及到多個(gè)業(yè)務(wù)部門和組織結(jié)構(gòu)的時(shí)候,難免出現(xiàn)各個(gè)用戶都站在自己的立場(chǎng)來看待需求的優(yōu)先級(jí)和緊急程度的問題。但是一個(gè)需求究竟對(duì)效率提升,成本的減少,相關(guān)周期的縮短起到了多大的貢獻(xiàn)和作用卻沒有衡量。因此對(duì)需求優(yōu)先級(jí)的評(píng)估應(yīng)該考慮引入價(jià)值工程的概念,一個(gè)需求的優(yōu)先程度應(yīng)該體現(xiàn)在需求實(shí)現(xiàn)后能夠產(chǎn)生的價(jià)值和節(jié)約的成本。
10.中小型軟件開發(fā)團(tuán)隊(duì)需求開發(fā)和管理工作的重點(diǎn)在哪里?
對(duì)于中小型的項(xiàng)目團(tuán)隊(duì)一定要使用輕量級(jí)的方法論和過程,過程是為了實(shí)現(xiàn)目標(biāo)服務(wù)的,過程的目的是為了解決現(xiàn)在的問題和可能的問題。不在這個(gè)范圍內(nèi)做的過程,規(guī)則或工作都不會(huì)產(chǎn)生價(jià)值和意義。
對(duì)于中小型團(tuán)隊(duì)首先是要意識(shí)到需求工作的重要性,制定需求文檔和DEMO界面規(guī)范,對(duì)需求進(jìn)行文檔化和結(jié)構(gòu)化。其次是對(duì)開發(fā)完成的需求需要得到用戶,實(shí)現(xiàn)人員,測(cè)試等多方的評(píng)審和認(rèn)可。最后是需求文檔化后該工件需要通過各種配置管理工具進(jìn)行管理,需求完成后及時(shí)歸檔和受控,需求的變更需要受到管理而不是隨意的。