、審查需求文檔、以需求為依據(jù)編寫測試用例、編寫用戶手冊、確定合格的標(biāo)準(zhǔn)。
業(yè)務(wù)建模
很多人都沒有意識到業(yè)務(wù)需求階段應(yīng)該做些什么事情,實際上業(yè)務(wù)建模是最重要的一件事情。不要覺得業(yè)務(wù)建模這個詞很深奧,讓人模不著頭腦。其實所有做過需求分析的人都做過業(yè)務(wù)建模,比如你了解企業(yè)的運作模式就是一種你腦海中的業(yè)務(wù)建模。但是大多數(shù)人都沒有科學(xué)的、系統(tǒng)的、文檔化的做過業(yè)務(wù)建模。
業(yè)務(wù)建模的目的在于:
了解目標(biāo)組織(將要在其中部署系統(tǒng)的組織)的結(jié)構(gòu)及機制。
了解目標(biāo)組織中當(dāng)前存在的問題并確定改進的可能性。
確保客戶、最終用戶和開發(fā)人員就目標(biāo)組織達(dá)成共識。
導(dǎo)出支持目標(biāo)組織所需的業(yè)務(wù)需求。
上面的話是不是很抽象呢,其實沒有什么復(fù)雜的:人和電腦是完全不同的思想(思維方式)。所以,原先適合人的業(yè)務(wù)流程對于計算機來說可不一定合適的,為了最大限度的利用計算機,必須要了解原先的業(yè)務(wù)流程并對此加易改造(流程自動化),當(dāng)然這些動作需要得到用戶的許可。有些人認(rèn)為說只有ERP這種大系統(tǒng)才需要對業(yè)務(wù)流程進行重組,但是實際上,不論是部門級的MIS系統(tǒng),還是社會級的電子商務(wù)系統(tǒng),都需要對業(yè)務(wù)流程進行改造,所不同的只是改造的程度。
業(yè)務(wù)建模很重要的一點是在分析企業(yè)流程的同時分析出基礎(chǔ)企業(yè)對象(Common Business Object)(這個詞我翻譯的不好,如果大家有更好的翻譯,請告訴我)。任何企業(yè)都有最基礎(chǔ)的一些元素,例如銀行的CBO就有帳戶,制造業(yè)的CBO就有訂單等。有一次我的一個在企業(yè)應(yīng)用方面研究多年的朋友告訴我一個秘訣,他說,企業(yè)的CBO無非是4個:客戶、員工、產(chǎn)品和供應(yīng)商(銀行的供應(yīng)商應(yīng)該稱為同業(yè))。其他的所有CBO都是在這四個CBO的基礎(chǔ)上發(fā)展起來的。比如說CBO中客戶和產(chǎn)品是多對多的關(guān)系,根據(jù)關(guān)系數(shù)據(jù)的理論,任何多對多的關(guān)系都可以拆分成多個一對多或一對一的關(guān)系。你就可以在這兩個類之間引入訂單類,客戶和訂單之間是一對多,訂單和產(chǎn)品之間又是一對多,這樣一個多對多的關(guān)系就拆分成兩個一對多的關(guān)系,而新的訂單類也就順理成章的產(chǎn)生了。在訂單類產(chǎn)生時,你可能還會加入一個關(guān)聯(lián)類:業(yè)務(wù)員類。而業(yè)務(wù)員類又是從員工類繼承下來的。所以呢,企業(yè)的四種CBO通過不同的組合,不同的關(guān)系,能夠形成企業(yè)運作的許許多多的CBO。
CBO是做業(yè)務(wù)建模的基礎(chǔ),在此基礎(chǔ)上,通過評估業(yè)務(wù)狀態(tài),說明當(dāng)前業(yè)務(wù),確定業(yè)務(wù)流程,改進業(yè)務(wù)流程的定義,設(shè)計業(yè)務(wù)流程實現(xiàn),改進角色和職責(zé),研究流程自動化,開發(fā)領(lǐng)域模型等一系列在RUP中定義的工作流程實現(xiàn)業(yè)務(wù)建模的目標(biāo)。
需求獲取
需求獲取(requirement elicitation)是需求工程的主體。對于所建議的軟件產(chǎn)品,獲取需求是一個確定和理解不同用戶類的需要和限制的過程。獲取用戶需求位于軟件需求三個層次的中間一層。業(yè)務(wù)需求決定用戶需求,它描述了用戶利用系統(tǒng)需要完成的任務(wù)。從這些任務(wù)中,分析者能獲得用于描述系統(tǒng)活動的特定的軟件功能需求,這些系統(tǒng)活動有助于用戶執(zhí)行他們的任務(wù)。 需求獲取是在問題及其最終解決方案之間架設(shè)橋梁的第一步。獲取需求的一個必不可少的結(jié)果是對項目中描述的客戶需求的普遍理解。一旦理解了需求,分析者、開發(fā)者和客戶就能探索出描述這些需求的多種解決方案。參與需求獲取者只有在他們理解了問題之后才能開始設(shè)計系統(tǒng),否則,對需求定義的任何改進,設(shè)計上都必須大量的返工。把需求獲取集中在用戶任務(wù)上-而不是集中在用戶接口上-有助于防止開發(fā)組由于草率處理設(shè)計問題而造成的失誤。 需求獲取、分析、編寫需求規(guī)格說明和驗證并不遵循線性的順序,這些活動是相互隔開、增量和反復(fù)的