《軟件過程的需求管理》由會員分享,可在線閱讀,更多相關(guān)《軟件過程的需求管理(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,Click to edit Master title style,Click to edit Master text styles,Second level,*,軟件過程管理,-Ch.4 軟件過程的需求管理,軟件過程的需求管理,開發(fā)軟件系統(tǒng)最為困難的部分就是準(zhǔn)確說明開發(fā)什么。,弗雷德里克布魯克斯,軟件需求工程,所有與需求直接相關(guān)的活動統(tǒng)稱為需求工程,需求工程分為了兩個部分:,需求開發(fā)和需求管理,。其中,需求開發(fā)又分為了需求獲取、需求分析、需求定義和需求驗證4個部分,而需求管理則包含了變更控制、版本控制、需求跟蹤和需求狀態(tài)跟蹤,軟件需求包括三個不同的層次:,業(yè)務(wù)需求、用戶需求和功能需求,(也包
2、括非功能需求)。,軟件需求工程,業(yè)務(wù)需求,(,business requirement,)反映了組織機(jī)構(gòu)或客戶對系統(tǒng)、產(chǎn)品的概括的目標(biāo)要求,它在項目視圖與范圍文檔中予以說明。主要的目的是對企業(yè)目前的業(yè)務(wù)流程進(jìn)行評估,得出一個業(yè)務(wù)前景。業(yè)務(wù)需求的確定對后面的用戶需求和功能需求起到了限制作用。,用戶需求,(user requirement),文檔描述了用戶使用系統(tǒng)而完成的任務(wù)的集合,用戶需求在用戶案例(,user case,)文檔或方案腳本中予以說明。收集和分析用戶需求是不容易的,因為很多需求是隱形的,很難獲取,更難保證需求完整,而需求又是易變的,這就要求用戶和開發(fā)人員進(jìn)行充分地交流。,功能需求,
3、(functional requirement),定義了開發(fā)人員必須實現(xiàn)的軟件功能,它源于用戶需求。功能需求是軟件需求說明書中最重要的部分之一,它在開發(fā)、測試、質(zhì)量保證、項目管理以及相關(guān)項目功能中都起了重要的作用。非功能需求描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等,包括要遵從的業(yè)務(wù)規(guī)則、人機(jī)接口、安全性和可靠性等要求。,需求開發(fā),需求開發(fā)的目的是通過調(diào)查與分析,獲取用戶需求并定義產(chǎn)品需求。,獲取數(shù)據(jù),分析、處理,目標(biāo)系統(tǒng)模型,需求獲取,系統(tǒng)分析員,從數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)出發(fā),找出系統(tǒng)各元素之間的聯(lián)系、接口特征及設(shè)計限制、能否滿足功能需求,需求獲取概述,需求獲取是通過各種途徑獲取用戶的需求信息(原始
4、材料),產(chǎn)生用戶需求說明書。,需求獲取的方法,需求研討會,頭腦風(fēng)暴,用例模型,訪談,角色扮演,原型法,基于用例的需求獲取,執(zhí)行者的識別,誰使用系統(tǒng)的主要功能?,誰將提供、使用和刪除信息?,誰負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運行?,誰會對某一特定需求感興趣?,系統(tǒng)的外部資源是什么?,系統(tǒng)需要和哪些外部系統(tǒng)交互?,用例的識別,某個執(zhí)行者要求系統(tǒng)為其提供什么功能?該執(zhí)行者需要做哪些工作?,執(zhí)行者需要閱讀、創(chuàng)建、銷毀、更新或存儲系統(tǒng)中哪些(類)信息?,系統(tǒng)中的事件一定要告之執(zhí)行者嗎?執(zhí)行者需要告訴系統(tǒng)一些什么嗎?那些系統(tǒng)內(nèi)部的事件從功能的角度代表什么?,由于新功能的識別,執(zhí)行者的日常工作被簡化或效率提高了
5、嗎?,系統(tǒng)需要什么樣的輸入輸出?輸入在哪里?輸出去往哪里?,該系統(tǒng)的當(dāng)前情況存在哪些問題?,課堂案例:學(xué)生學(xué)籍處理業(yè)務(wù),學(xué)生學(xué)籍處理業(yè)務(wù),每學(xué)期開學(xué)時,各學(xué)辦進(jìn)行注冊管理,注冊信息記錄在在校生信息卡中。,學(xué)生轉(zhuǎn)專業(yè)由本人向所在系提出申請,教務(wù)處審批。,在本系內(nèi)轉(zhuǎn)專業(yè),由學(xué)生所在系考核同意,報教務(wù)處審批;,在學(xué)校范圍內(nèi)轉(zhuǎn)專業(yè)(跨系),由學(xué)生所在系推薦,擬轉(zhuǎn)入系考核同意,報教務(wù)處審批。,轉(zhuǎn)專業(yè)手續(xù)應(yīng)在每學(xué)年開學(xué)前辦理。,課堂案例:學(xué)生學(xué)籍處理業(yè)務(wù),需求定義,需求定義指的是解釋涉眾需求,并根據(jù)需求規(guī)模整理成對要構(gòu)建系統(tǒng)的明確的說明。,前景文檔是用一般的語言定義系統(tǒng)特征的文檔,軟件需求規(guī)格說明書是用更
6、專業(yè)的術(shù)語定義系統(tǒng)特征的文檔。,軟件需求規(guī)格說明書,0.文檔介紹,0.1 文檔目的,0.2 文檔范圍,0.3 讀者對象,0.4 參考文檔,0.5 術(shù)語與縮寫解釋,1.產(chǎn)品介紹,提示:(1)說明產(chǎn)品是什么,什么用途;,(2)介紹產(chǎn)品的開發(fā)背景。,2.產(chǎn)品面向的用戶群體,提示:(1)描述本產(chǎn)品面向的用戶(客戶、最終 用戶)的特征;,(2)說明本產(chǎn)品將給他們帶來什么好處?特們選擇本產(chǎn)品的 可能 性有多大?,3.產(chǎn)品應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)或規(guī)范,提示:闡述本產(chǎn)品應(yīng)當(dāng)遵循什么標(biāo)準(zhǔn)、規(guī)范或業(yè)務(wù)規(guī)則。,4.產(chǎn)品的功能需求,Function C.1,Feature C,Function B.1,Feature B,F
7、unction A.1,Feature A,描述,功能名稱、標(biāo)識符,功能類別,5.產(chǎn)品的非功能需求,質(zhì)量需求,軟硬件需求,用戶界面需求,描述,需求名稱、標(biāo)識符,需求類別,6.其他需求,軟件需求規(guī)格說明書,需求確認(rèn),為什么需要需求評審?,在哪個階段發(fā)現(xiàn),成本率,需求,1,設(shè)計,3-6,編碼,10,功能測試,15-40,驗收測試,30-70,發(fā)布之后,40-1000,修訂一個缺陷的相關(guān)成本,需求確認(rèn),如何進(jìn)行需求評審?,(1)分層次評審,目標(biāo)性評審,功能性評審,操作性評審,(2)分階段評審,需求確認(rèn),如何保證需求規(guī)格說明書的質(zhì)量?,正確性,完備性,易理解性,一致性,可行性,健壯性,易修改性,易測試
8、性和可修改性,易追溯性,兼容性,需求跟蹤,1.需求的標(biāo)識,需求類型可以是:F=功能需求,D=數(shù)據(jù)需求,B=行為需求,I=接口需求;O=輸出需求。,例:需求標(biāo)識為F03的需求表示編號為3的功能需求。,需求跟蹤,2.需求的屬性,創(chuàng)建需求的時間,需求的版本號,創(chuàng)建需求的作者,負(fù)責(zé)認(rèn)可該需求的人員,需求狀態(tài),需求的原因或根據(jù)(或信息的出處),需求涉及的子系統(tǒng),需求涉及的產(chǎn)品版本號,需求跟蹤,3.需求狀態(tài),已建議,該需求已被有權(quán)提出需求的人建議,已批準(zhǔn),該需求已被分析,估計了其對項目余下部分的影響(包括成本和對項目其余部分的干擾),已有一個確定的產(chǎn)品版本號或編號,軟件開發(fā)團(tuán)隊已同意實現(xiàn)該項需求,已實現(xiàn),
9、使用所選擇的方法已驗證了實現(xiàn)的需求,例如測試和檢測,審查該需求跟蹤與測試用例相符。該需求現(xiàn)在被認(rèn)為完成,已刪除,計劃的需求已被刪除,并包含一個原因說明和作出刪除決定的人員,需求跟蹤,正向跟蹤:,以用戶需求為切入點,檢查,用戶需求說明書,或,需求規(guī)格說明書,中的每個需求是否都能在后繼工作產(chǎn)品中找到對應(yīng)點。,逆向跟蹤:,檢查設(shè)計文檔、代碼、測試用例等工作產(chǎn)品是否都能在,需求規(guī)格說明書,中找到出處。,正向跟蹤和逆向跟蹤合稱為,“雙向跟蹤”,。,需求變更控制流程,需求的變更是不可避免的,因此如何有效控制需求的變化對于項目成功至關(guān)重要。,需求變更控制策略,(1)項目啟動階段的變更預(yù)防,(2)項目實施階段的需求變更,(3)項目收尾階段的總結(jié),作業(yè),第4章 2、4,Q&A,