版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章 需求工程,3.1概述 3.2需求獲取方法 3.3需求分析的任務(wù)與原則 3.4需求建模方法 3.5需求圖形工具 3.6需求驗(yàn)證 3.7需求管理,3.1概述3.1.1 軟件需求定義3.1.2軟件需求分類3.1.3需求規(guī)格說明3.1.4需求工程概念3.1.5需求工程過程,3.1概述,軟件需求工程的目的是定義軟件所需要解決的問題 。 軟件需求是要把一個(gè)定義不足和模糊的問題轉(zhuǎn)換為一個(gè)定義良好而準(zhǔn)確的問題,進(jìn)而找到解決問題的方案。,需求分析的重要性,輸入:合同/立項(xiàng)建議書/現(xiàn)場(chǎng)調(diào)研。 輸出:用戶需求報(bào)告/需求規(guī)格說明書。 1. 需求分析為什么重要? (1)許多大型應(yīng)用系統(tǒng)的失敗,最后均歸結(jié)到需求分
2、析:要么獲取需求的方法不當(dāng),使得需求分析不到位或不徹底,導(dǎo)致開發(fā)者反復(fù)多次地進(jìn)行需求分析,致使設(shè)計(jì)、編碼、測(cè)試無法順利進(jìn)行;要么客戶配合不好,導(dǎo)致客戶對(duì)需求不確認(rèn),或客戶需求不斷變化,同樣致使設(shè)計(jì)、編碼、測(cè)試無法順利進(jìn)行。,需求分析為什么重要?,(2)需求分析的輸出文檔是用戶需求報(bào)告,它是客戶、軟件開發(fā)人員和項(xiàng)目管理人員三者必須遵守的一根基線,三者共同工作的基礎(chǔ),是測(cè)試的準(zhǔn)則。 (3)需求分析要占用整個(gè)軟件開發(fā)時(shí)間或工作量的30%左右。 (4)需求獲取中的錯(cuò)誤,屬于軟件開發(fā)中的早期錯(cuò)誤,它會(huì)在后續(xù)的設(shè)計(jì)和實(shí)現(xiàn)中進(jìn)行發(fā)散式的傳播。 根據(jù)以上四項(xiàng)原因,IT企業(yè)的高層經(jīng)理,對(duì)需求分析特別重視,常常派
3、經(jīng)驗(yàn)最豐富的人員去作項(xiàng)目需求。正因?yàn)槿绱耍跋到y(tǒng)分析員”才是軟件行業(yè)中的最高技術(shù)職稱。,3.1概述,主要困難 : 軟件開發(fā)人員與用戶雙方固有的矛盾 需求具有易變性和難以表述性 需求錯(cuò)誤的高頻性和修復(fù)的高成本性,2. 需求獲取為什么難?,需求獲取看似容易,做起來難,主要原因有四: (1)用戶需求具有動(dòng)態(tài)性,即需求的不穩(wěn)定性。在整個(gè)軟件生存周期內(nèi),應(yīng)用軟件的需求會(huì)隨著時(shí)間的進(jìn)展而有所變化。個(gè)別用戶,甚至是朝三暮四地變化。 (2)用戶需求具有模糊性,即需求不準(zhǔn)確性。由于用戶的素質(zhì)不是很高,業(yè)務(wù)流程不很規(guī)范,所以需求表達(dá)不很清楚也不夠明確。,2. 需求獲取為什么難?,(3)開發(fā)者和用戶要對(duì)需求達(dá)成完全
4、一致的認(rèn)識(shí),用戶要在需求報(bào)告上簽字,要承擔(dān)責(zé)任。 (4)需求復(fù)雜并且龐大。 現(xiàn)代的軟件,規(guī)模越來越大,導(dǎo)致需求越來越復(fù)雜。 (5)在軟件項(xiàng)目中4060的問題都是在需求分析階段出現(xiàn),需求的剩余缺陷最多。 一個(gè)在需求階段出現(xiàn)的錯(cuò)誤,在維護(hù)階段修復(fù)它的成本越是需求階段修復(fù)成本的100200倍,需求獲取困難示例,【例】客戶說不清楚需求 一個(gè)年輕的老頭,騎著一輛嶄新的小破車,在一條筆直馬路的拐彎處,撞死了一頭活蹦亂跳的小死豬,瞎子看見了,告訴了聾子,聾子告訴瘸子,瘸子以每秒鐘20公里的速度去報(bào)案!,需求獲取困難示例,【例】需求自身經(jīng)常變動(dòng) 軟件的需求會(huì)變化嗎? 答:據(jù)歷史記載,沒有一個(gè)軟件的需求改動(dòng)少于
5、三次。唯一只改動(dòng)需求兩次的客戶是個(gè)死人。這個(gè)可憐的家伙還是在運(yùn)送第三次需求的路上被車子撞死的。Cline 1995 1、盡可能地分析清楚哪些是穩(wěn)定的需求,哪些是易變的需求。以便在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),將軟件的核心建筑在穩(wěn)定的需求上,否則將會(huì)吃盡苦頭。 2、在合同中一定要說清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。,需求綜合練習(xí),系統(tǒng)工程師張某通過調(diào)查收集到如下10條意見: 某程序員認(rèn)為:系統(tǒng)在屏幕格式、編碼等方面應(yīng)具有一致性和清晰性,否則會(huì)影響操作人員的工作效率。 某操作人員認(rèn)為:在交互式會(huì)話過程中,操作人員可能會(huì)忘記或記錯(cuò)某些事情,系統(tǒng)應(yīng)當(dāng)提供HELP功能。 某操作人員認(rèn)
6、為:既然是交互式會(huì)話,那么對(duì)所有的輸入都應(yīng)當(dāng)作出響應(yīng),不應(yīng)出現(xiàn)擊鍵后,計(jì)算機(jī)沒有任何反應(yīng)的情況。 某操作人員認(rèn)為:在出錯(cuò)的時(shí)候,交互式會(huì)話系統(tǒng)應(yīng)當(dāng)給出出錯(cuò)信息,并且盡可能告訴我們出錯(cuò)的性質(zhì)和錯(cuò)在什么地方。 某程序員認(rèn)為:終端會(huì)話也應(yīng)當(dāng)符合程序員編制程序時(shí)的習(xí)慣,這樣可以更高效地維護(hù)人事管理系統(tǒng)。,需求綜合練習(xí),教育科干部甲認(rèn)為:應(yīng)當(dāng)對(duì)操作員進(jìn)行一些必要的培訓(xùn),讓他們掌握交互式會(huì)話系統(tǒng)的設(shè)計(jì)技巧,有助于提高系統(tǒng)的使用效率。 教育科干部乙認(rèn)為:盡管操作人員的指法已經(jīng)強(qiáng)化訓(xùn)練但在交互式會(huì)話時(shí)應(yīng)盡可能縮短和減少操作員輸入的信息,以降低出錯(cuò)概率。 某程序員認(rèn)為:由于本企業(yè)中有很多較大的文件,文件的查找很
7、費(fèi)時(shí)間,交互式會(huì)話系統(tǒng)在響應(yīng)時(shí)間較長時(shí)應(yīng)給予使用者以提示信息。 人事處干部丙認(rèn)為:我們企業(yè)的人事資料相當(dāng)復(fù)雜,格式非常之多,希望交互式系統(tǒng)使用十分清晰的格式,并容易對(duì)輸入數(shù)據(jù)中的錯(cuò)誤進(jìn)行修改。 人事處干部丁認(rèn)為:人事管理系統(tǒng)應(yīng)當(dāng)具有相當(dāng)?shù)谋C苄院蛿?shù)據(jù)安全性,因此在屏幕上顯示出的信息應(yīng)該含混一些,以免泄密。 系統(tǒng)工程師張某對(duì)上述調(diào)查情況和其他要求作了分析后,發(fā)現(xiàn)收集到的10條意見中有3條意見是不能接受的,寫出編號(hào)并各用40字以內(nèi)敘述理由。,3.1概述3.1.1 軟件需求定義,軟件需求是指用戶對(duì)軟件的功能與性能需求,就是用戶希望軟件能夠做什么事情,完成哪些功能,達(dá)到哪些性能等。,3.1概述3.1.
8、2軟件需求分類,1業(yè)務(wù)需求 說明軟件系統(tǒng)必須完成的任務(wù)、實(shí)際業(yè)務(wù)或工作流程等。 2目標(biāo)需求 反映組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)和產(chǎn)品提出的高層次的目標(biāo)要求。 3功能需求 指開發(fā)人員必須實(shí)現(xiàn)的軟件功能或軟件系統(tǒng)應(yīng)具有的外部行為。,3.1概述3.1.2軟件需求分類,4性能需求 指實(shí)現(xiàn)的軟件系統(tǒng)功能應(yīng)達(dá)到的技術(shù)指標(biāo),例如響應(yīng)時(shí)間、精度、可擴(kuò)展性等。 5. 約束與限制 指軟件開發(fā)人員在設(shè)計(jì)和實(shí)現(xiàn)軟件系統(tǒng)時(shí)的限制,例如開發(fā)語言、數(shù)據(jù)庫管理系統(tǒng)等。,3.1概述3.1.3需求規(guī)格說明,需求規(guī)格說明是指軟件所應(yīng)滿足的全部要求,并用文檔方式完整和精確描述。全部要求是指軟件系統(tǒng)必須提供的功能和性能、約束條件和限制。,3.1
9、概述3.1.3需求規(guī)格說明,軟件需求規(guī)格說明的一般格式 : 1引言 2任務(wù)概述 3數(shù)據(jù)描述 4功能要求 5性能需求 6運(yùn)行需求 7其他要求(如可使用性、安全保密、可維護(hù)性、可移植性等) 8附錄,兩類需求包括的內(nèi)容,(1) 功能 (2) 性能 (3) 環(huán)境 (4) 界面 (5) 用戶或人的因素 (6) 文檔,(7) 數(shù)據(jù) (8) 資源 (9) 安全保密 (10)軟件成本消耗與開發(fā)進(jìn)度 (11)質(zhì)量保證,(1) 功能需求,系統(tǒng)做什么? 系統(tǒng)何時(shí)做什么? 系統(tǒng)何時(shí)及如何修改 或升級(jí)?,(2) 性能需求,軟件開發(fā)的技術(shù)性指標(biāo) 例如: 存儲(chǔ)容量限制 執(zhí)行速度、相應(yīng)時(shí)間 吞吐量,(3) 環(huán)境需求,硬件設(shè)備
10、:機(jī)型、外設(shè)、接口、 地點(diǎn)、分布、溫度、 濕度、磁場(chǎng)干擾等 軟件: 操作系統(tǒng) 網(wǎng)絡(luò) 數(shù)據(jù)庫,(4) 界面需求,有來自其它系統(tǒng)的輸入嗎? 到自其它系統(tǒng)的輸出嗎? 對(duì)數(shù)據(jù)格式有規(guī)定嗎? 對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)有規(guī)定嗎?,(5) 用戶或人的因素,用戶類型? 各種用戶熟練程度? 需受何種訓(xùn)練? 用戶理解、使用系統(tǒng)的難度? 用戶錯(cuò)誤操作系統(tǒng)的可能性?,(6) 文檔需求,需哪些文檔? 文檔針對(duì)哪些讀者?,(7) 數(shù)據(jù)需求,輸入、輸出數(shù)據(jù)的格式? 接收、發(fā)送數(shù)據(jù)的頻率? 數(shù)據(jù)的準(zhǔn)確性和精度? 數(shù)據(jù)流量? 數(shù)據(jù)需保持的時(shí)間?,(8) 資源需求,軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。 內(nèi)存空間等資源。 軟件開發(fā)、維護(hù)所需的人力、
11、 支撐軟件、開發(fā)設(shè)備等。,(9) 安全保密要求,需對(duì)訪問系統(tǒng)或系統(tǒng)信息加以控制嗎? 如何隔離用戶之間的數(shù)據(jù)? 用戶程序如何與其它程序和操作系統(tǒng)隔離? 系統(tǒng)備份要求?,(10) 軟件成本消耗 與開發(fā)進(jìn)度需求,開發(fā)有規(guī)定的時(shí)間表嗎? 軟硬件投資有無限制?,(11) 質(zhì)量保證,系統(tǒng)的可靠性要求? 系統(tǒng)必須監(jiān)測(cè)和隔離錯(cuò)誤嗎? 規(guī)定系統(tǒng)平均出錯(cuò)時(shí)間? 出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間? 系統(tǒng)變化如何反映到設(shè)計(jì)中? 維護(hù)是否包括對(duì)系統(tǒng)的改進(jìn)? 系統(tǒng)的可移植性?,3.1概述3.1.3需求規(guī)格說明,需求規(guī)格說明的特性如下: 1完整性 2. 正確性 3. 可行性 4. 必要性 5. 無歧義性 6. 可驗(yàn)證性 7. 劃
12、分優(yōu)先級(jí),軟件需求的特性,(1) 可驗(yàn)證性 可驗(yàn)證性是軟件需要的基本屬性。軟件需求必須是可驗(yàn)證的,否則軟件的評(píng)審和測(cè)試就沒有相應(yīng)的依據(jù)。但在某些情況下,很難對(duì)某些軟件需求進(jìn)行驗(yàn)證或需要的代價(jià)很高。軟件需求人員和測(cè)試人員應(yīng)以合理的代價(jià)實(shí)現(xiàn)需求的驗(yàn)證。 (2) 優(yōu)先級(jí) 軟件需求應(yīng)具有優(yōu)先級(jí),可以在有限的資源情況下進(jìn)行取舍。 (3) 唯一性 軟件需求應(yīng)唯一地標(biāo)識(shí)出來,以便在軟件配置管理和整個(gè)軟件生命周期中進(jìn)行管理。,軟件需求需要量化,軟件需求應(yīng)盡可能地表述清楚,沒有二義性,盡可能量化,使得需求是可測(cè)試、可驗(yàn)證的。應(yīng)避免含糊地、無法測(cè)試、無法驗(yàn)證的需求出現(xiàn)。軟件質(zhì)量的可靠性和用戶界面的友好性,這些非功
13、能性需求的量化尤為重要。 例如,系統(tǒng)應(yīng)支持1000并發(fā)用戶,系統(tǒng)影響時(shí)間應(yīng)低于10毫秒,這就是需求的量化。軟件需求的可靠性將直接影響系統(tǒng)的架構(gòu)。,3.1概述3.1.4 需求工程概念,需求工程就是應(yīng)用工程化的方法、技術(shù)和規(guī)格來開發(fā)和管理軟件的需求。 需求工程的目標(biāo)是獲取高質(zhì)量的軟件需求。 需求工程突出了工程化原則,強(qiáng)調(diào)以系統(tǒng)化、條理化和重復(fù)化的方法進(jìn)行軟件需求的相關(guān)活動(dòng),從而增強(qiáng)了管理性和降低了需求開發(fā)的成本,需求是一個(gè)過程,需求過程不僅表現(xiàn)在一個(gè)軟件生命周期的早期活動(dòng)之中,而且應(yīng)體現(xiàn)在整個(gè)生命周期過程中。 需求過程要適應(yīng)客戶和項(xiàng)目的環(huán)境,并作為配置項(xiàng)納入配置管理。 需求過程描述了在不同項(xiàng)目和限
14、制條件下,如何提取、分析、文檔化以及驗(yàn)證軟件需要。下圖描述了軟件的需求過程。,需求過程中的角色,3.1概述3.1.4 需求工程概念,需求工程就是應(yīng)用工程化的方法、技術(shù)和規(guī)格來開發(fā)和管理軟件的需求。 需求工程的目標(biāo)是獲取高質(zhì)量的軟件需求 突出了工程化原則,強(qiáng)調(diào)以系統(tǒng)化、條理化和重復(fù)化的方法進(jìn)行軟件需求的相關(guān)活動(dòng),從而增強(qiáng)了管理性和降低了需求開發(fā)的成本。,需求工程的任務(wù): 1確定待開發(fā)的軟件系統(tǒng)的用戶,并獲取用戶的需求信息。 2分析用戶的需求信息,并按需求類型分類,過濾掉非需求的信息。 3根據(jù)需求信息建立軟件系統(tǒng)的邏輯模型和需求模型,確定非功能需求和約束條件及限制。,需求工程的任務(wù): 4根據(jù)收集的
15、需求信息和邏輯模型編寫需求規(guī)格說明及文檔。 5評(píng)審需求規(guī)格說明。 6當(dāng)需求變更時(shí),對(duì)需求規(guī)格說明及需求變更實(shí)施進(jìn)行管理。,教材銷售的需求分析過程,1. 通過對(duì)現(xiàn)實(shí)環(huán)境的調(diào)查研究,獲取當(dāng)前系統(tǒng)的具體模型。,學(xué)生購買教材的具體模型,2. 分析需求,建立系統(tǒng)分析模型。 去掉具體模型中的非本質(zhì)因素,提煉出當(dāng)前系統(tǒng)的邏輯模型;,學(xué)生購買教材的邏輯模型,關(guān)注系統(tǒng)的功能,而不是執(zhí)行功能的人或機(jī)構(gòu),分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別,建立目標(biāo)系統(tǒng)的邏輯模型。,計(jì)算機(jī)售書系統(tǒng)的邏輯模型,3. 整理綜合需求,編寫系統(tǒng)需求說明; 4. 驗(yàn)證需求,完善和補(bǔ)充對(duì)目標(biāo)系統(tǒng)地描述。 通過目標(biāo)系統(tǒng)的人-機(jī)界面,和用戶一起確認(rèn)目標(biāo)系
16、統(tǒng)功能; 復(fù)審需求說明,補(bǔ)充迄今尚未考慮過的細(xì)節(jié)。,改進(jìn)了的計(jì)算機(jī)售書系統(tǒng),3.1概述3.1.5需求工程過程,需求工程過程分為需求開發(fā)和需求管理兩階段。,3.1概述3.1.5需求工程過程,1.需求獲取 確定和收集與待開發(fā)的軟件系統(tǒng)相關(guān)的用戶需求信息。 2.需求分析 對(duì)獲得的用戶需求信息進(jìn)行分析和綜合,找出錯(cuò)誤和沖突及遺漏的地方,獲得用戶的準(zhǔn)確的需求,進(jìn)而建立軟件系統(tǒng)的邏輯模型或需求模型。 3.需求定義 利用描述語言、標(biāo)準(zhǔn)格式書寫軟件系統(tǒng)的需求規(guī)格說明和文檔。,3.1概述3.1.5需求工程過程,4.需求驗(yàn)證 審查和驗(yàn)證軟件系統(tǒng)需求規(guī)格說明,進(jìn)而確定需求規(guī)格說明是否正確描述了用戶對(duì)軟件系統(tǒng)的需求。
17、 5.需求管理 需求管理的任務(wù)是管理軟件系統(tǒng)的需求規(guī)格說明和文檔,評(píng)估需求變更帶來的影響及成本費(fèi)用,跟蹤軟件需求的狀態(tài),管理需求規(guī)格說明的版本等。,3.2 需求獲取方法,3.2 需求獲取方法,需求獲取過程,3.2 需求獲取方法,1確定需求開發(fā)計(jì)劃 本項(xiàng)工作的基本任務(wù)是確定需求開發(fā)的步驟,提出收集需求活動(dòng)的具體安排和進(jìn)度。 2確定項(xiàng)目范圍和目標(biāo) 項(xiàng)目目標(biāo)主要指項(xiàng)目開發(fā)的目的和意義,以及軟件系統(tǒng)的目標(biāo)。 3確定調(diào)查對(duì)象 確定調(diào)查對(duì)象的基本任務(wù)是明確地確定來自不同層次的需求來源和用戶,并將其分類。,3.2 需求獲取方法,4實(shí)地收集用戶需求信息 實(shí)地收集需求信息階段的任務(wù)是到現(xiàn)場(chǎng)實(shí)地調(diào)查和與用戶交流,
18、收集和理解用戶需求信息。 5確定非功能性需求 非功能需求是表明軟件能否良好運(yùn)行的定性指標(biāo)。 常用的非功能性需求如下: 可靠性可用性安全性互操作性易用性 可維護(hù)性可移植性可用性健壯性,獲取需求的形式和溝通類型: 建立分析所需要的通信途徑,以保證能順利地對(duì)問題進(jìn)行分析。交流的方式可以是會(huì)議、電話、電子郵件、小組討論、模擬演示等不同形式。需要注意的是,每一次交流一定要有記錄,對(duì)于交流的結(jié)果還可以進(jìn)行分類,便于后續(xù)的分析活動(dòng)。,需求分析藝術(shù) (1) 需求分析是雙打項(xiàng)目。 (2) 宏觀上和微觀上都要以流程為主。 (3) 不能偏聽偏信。 (4) 需求金字塔。決策層提出宏觀上的統(tǒng)計(jì)、查詢、決策需求,管理層提
19、出業(yè)務(wù)管理和作業(yè)控制需求,操作層提出錄入、修改、提交、處理、打印、界面、傳輸、通信、時(shí)間與速度等方面的操作需求。 (5) 匯報(bào)兩三次,直到客戶確認(rèn)為止。 (6) 要與用戶交朋友。,提取需求技術(shù) (1) 會(huì)談 這是最常見的方式。為保證會(huì)議的效率和效果,應(yīng)事先做好準(zhǔn)備并做好會(huì)議記錄。 (2) 場(chǎng)景 軟件分析師為每個(gè)用戶任務(wù)設(shè)計(jì)一個(gè)場(chǎng)景,以提問的方式提取需求。場(chǎng)景通常以用例圖來表示。,(3) 原型 用戶在原型系統(tǒng)中更容易表達(dá)自己的需求。原型技術(shù)有很多,從界面示意圖到快速搭建的原型系統(tǒng)。 (4) 實(shí)地觀察 軟件分析師到實(shí)際的用戶現(xiàn)場(chǎng)去,體驗(yàn)和觀察用戶的實(shí)際工作,了解用戶如何利用軟件和其它人協(xié)作完成某項(xiàng)
20、任務(wù)。,3.3 需求分析的任務(wù)與原則3.3.1需求分析的任務(wù)3.3.2需求分析的原則,3.3 需求分析的任務(wù)與原則3.3.1需求分析的任務(wù),需求分析的基本任務(wù)是分析與綜合已收集到的需求信息,通過分析找出需求信息內(nèi)在聯(lián)系和可能的矛盾,通過綜合找出解決問題的方法并建立系統(tǒng)的邏輯模型。 具體地說,需求分析的是提煉、分析和審查已收集到的需求信息,找出真正的和具體的需求,并確保所有相關(guān)人員都理解其含義。,3.3.1需求分析的任務(wù),在實(shí)現(xiàn)生活中,確實(shí)存在多種軟件,確實(shí)有多種軟件需求。但是,由于信息系統(tǒng)這種軟件應(yīng)用面最廣,市場(chǎng)最大,客戶最多,需求分析最難,所以人們一談需求分析,就自然而然地認(rèn)為指“信息系統(tǒng)需
21、求分析”。 需求分析是分行業(yè)的,成功的需求分析專家,都是某行業(yè)領(lǐng)域內(nèi)的行業(yè)產(chǎn)品專家。 一般而言,對(duì)于信息系統(tǒng)的需求分析,最主要的是完成9項(xiàng)任務(wù)(以圖書館為例) 。,3.3 需求分析的任務(wù)與原則3.3.1需求分析的任務(wù),繪制系統(tǒng)關(guān)聯(lián)圖 關(guān)聯(lián)圖是用于定義系統(tǒng)與系統(tǒng)外部實(shí)體間的界限和接口的簡(jiǎn)單模型。 2. 創(chuàng)建用戶接口原型 當(dāng)開發(fā)人員或用戶不能確定軟件需求時(shí),開發(fā)一個(gè)用戶接口原型(可能的局部實(shí)現(xiàn)),這樣使得許多概念和可能發(fā)生的事更為直觀明了。,3.3 需求分析的任務(wù)與原則3.3.1需求分析的任務(wù),3. 分析需求可行性 在允許的成本、性能要求下,分析每項(xiàng)需求實(shí)施的可行性。 4. 確定需求的優(yōu)先級(jí) 應(yīng)用
22、分析方法來確定使用實(shí)例、產(chǎn)品特性或單項(xiàng)需求實(shí)現(xiàn)的優(yōu)先級(jí)。 5. 為需求建立模型 需求的圖形分析模型是軟件需求規(guī)格說明的補(bǔ)充說明。,3.3 需求分析的任務(wù)與原則3.3.1需求分析的任務(wù),6. 創(chuàng)建數(shù)據(jù)字典 數(shù)據(jù)字典是對(duì)系統(tǒng)用到的所有數(shù)據(jù)項(xiàng)和結(jié)構(gòu)的定義,以確保開發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。 7. 質(zhì)量功能調(diào)配 質(zhì)量功能調(diào)配是一種高級(jí)系統(tǒng)技術(shù),它將產(chǎn)品特性、屬性與對(duì)客戶的重要性聯(lián)系起來。該技術(shù)提供了一種分析方法以明確那些是客戶最為關(guān)注的特性。,需求分析的任務(wù)(圖書館管理系統(tǒng)為例)第1:畫出目標(biāo)系統(tǒng)的組織結(jié)構(gòu)圖與列出各部門的崗位角色表(組織機(jī)構(gòu)模型),圖書館的崗位角色,第2:畫出目標(biāo)系統(tǒng)的業(yè)務(wù)操作流程圖
23、 (業(yè)務(wù)操作模型),畫出目標(biāo)系統(tǒng)的業(yè)務(wù)操作流程圖(系統(tǒng)流程圖),它包括物流、資金流、信息流,即業(yè)務(wù)操作模型,重點(diǎn)是業(yè)務(wù)操作的流水步驟。業(yè)務(wù)模型是經(jīng)過業(yè)務(wù)流程重組、再造和優(yōu)化之后,并且得到企業(yè)領(lǐng)導(dǎo)確認(rèn)的業(yè)務(wù)流程圖。 業(yè)務(wù)流程圖的畫法多種多樣,各軟件組織可根據(jù)自身的習(xí)慣和特點(diǎn),制定一套圖形規(guī)則,在本組織內(nèi)統(tǒng)一遵守。業(yè)務(wù)流程圖的制作工具,可以是微軟的Word , Visio。,第3:畫出目標(biāo)系統(tǒng)的數(shù)據(jù)流程圖(數(shù)據(jù)模型),畫出目標(biāo)系統(tǒng)的數(shù)據(jù)流圖,即單據(jù)和報(bào)表的流圖,掌握業(yè)務(wù)規(guī)則,獲得初步數(shù)據(jù)模型 數(shù)據(jù)流圖中要突出單據(jù)流,分清不同單據(jù)之間的先后流動(dòng)次序,以及同一單據(jù)中的不同數(shù)據(jù)項(xiàng)的先后流動(dòng)次序。,第3:
24、畫出目標(biāo)系統(tǒng)的數(shù)據(jù)流程圖(數(shù)據(jù)模型),數(shù)據(jù)流圖的畫法多種多樣,各軟件組織可根據(jù)自身的習(xí)慣和特點(diǎn),制定一套圖形規(guī)則,在本組織內(nèi)統(tǒng)一遵守。數(shù)據(jù)流圖的制作工具,可以是微軟的桌面辦公工具Office,也可以是Power Designer中的數(shù)據(jù)流圖繪制工具Process Analyst。 例如,可以規(guī)定用矩形表示數(shù)據(jù)的起始點(diǎn)或終止點(diǎn)(數(shù)據(jù)源),用圓圈表示對(duì)數(shù)據(jù)的加工處理,用箭頭表示數(shù)據(jù)的流向,用兩條橫線表示單據(jù)或報(bào)表等文件 。,第4:列出目標(biāo)系統(tǒng)的功能點(diǎn)列表(功能模型),列出目標(biāo)系統(tǒng)的功能點(diǎn)列表,即功能模型。(注:有時(shí)將性能模型、界面模型和接口模型的內(nèi)容都合并到功能模型之中。)功能模型也可以用Use
25、Case圖表示,也可以用功能點(diǎn)列表描述。 “圖書館信息系統(tǒng)”的功能點(diǎn)列表,里面一般還包括“系統(tǒng)響應(yīng)”這一項(xiàng),表示將來的目標(biāo)系統(tǒng)所要做的工作。需要指出,功能列表不是唯一,也沒有標(biāo)準(zhǔn)答案。,第5:列出系統(tǒng)的性能點(diǎn)列表,第7:確定目標(biāo)系統(tǒng)的運(yùn)行環(huán)境(環(huán)境模型),運(yùn)行環(huán)境包括:核心計(jì)算機(jī)及網(wǎng)絡(luò)資源(系統(tǒng)軟件、硬件和初始化數(shù)據(jù))的配置計(jì)劃、采購計(jì)劃、安裝調(diào)試進(jìn)度、人員培訓(xùn)計(jì)劃等內(nèi)容。,第8:目標(biāo)系統(tǒng)的界面約定(界面模型),界面設(shè)計(jì)的原則是:方便、簡(jiǎn)潔、美觀、一致等。整個(gè)目標(biāo)系統(tǒng)的界面風(fēng)格定義要統(tǒng)一,某些功能模塊的特殊界面要說明。例如: 輸入設(shè)備:鍵盤、鼠標(biāo)、條碼掃描器、掃描儀等; 輸出設(shè)備:顯示器、打印
26、機(jī)、光盤刻錄機(jī)、磁帶機(jī)、音箱等; 顯示風(fēng)格:圖形界面、字符界面、IE界面等; 顯示方式:1024*768、1280*800等; 輸出格式:顯示布局、打印格式等。,第9:對(duì)目標(biāo)系統(tǒng)的開發(fā)工期、費(fèi)用、開發(fā)進(jìn)度、系統(tǒng)風(fēng)險(xiǎn)等問題進(jìn)行分析與評(píng)估,注1:上述九項(xiàng)任務(wù)不是教條,不能完全生搬硬套,而要具體問題具體分析,活學(xué)活用,舉一反三。 注2:通過需求分析之后,對(duì)將來要實(shí)現(xiàn)的目標(biāo)系統(tǒng),如果仍然感到心中無數(shù)、心里發(fā)慌、腰桿不硬,那么絕對(duì)不要簽字確認(rèn),而要從頭開始,重新進(jìn)行需求獲取。,3.3 需求分析的任務(wù)與原則3.3.2 需求分析的原則,1必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域 對(duì)于計(jì)算機(jī)程序處理的數(shù)據(jù),其數(shù)
27、據(jù)域應(yīng)包括數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結(jié)構(gòu)。就是將一種形式的數(shù)據(jù)轉(zhuǎn)換成另一種形式的數(shù)據(jù)。,3.3 需求分析的任務(wù)與原則3.3.2 需求分析的原則,2.按自頂向下、逐層分解問題 分解問題是把問題以某種方式分解為幾個(gè)較易理解的部分,并確定各部分間的接口,從而實(shí)現(xiàn)整體功能。 在需求分析階段,軟件的功能域和信息域都能做進(jìn)一步的分解。這種分解可以是同一層次上的,稱為橫向分解;也可以是多層次的縱向分解。,3.3 需求分析的任務(wù)與原則3.3.2 需求分析的原則,3.要給出系統(tǒng)的邏輯視圖和物理視圖 這對(duì)系統(tǒng)滿足處理需求所提出的邏輯限制條件和系統(tǒng)中其他成分提出的物理限制條件是必不可少的。 軟件需求的邏輯視圖給出軟件要
28、達(dá)到的功能和要處理數(shù)據(jù)之間的關(guān)系。 軟件需求的物理視圖給出處理功能和數(shù)據(jù)結(jié)構(gòu)的實(shí)際表示形式。,3.4需求建模方法3.4.1結(jié)構(gòu)化需求建模方法 3.4.2數(shù)據(jù)流圖 3.4.3數(shù)據(jù)字典,3.4需求建模方法,需求建模方法的共同特性 : 1提供描述手段 2提供基本步驟 歷史上存在三種需求分析方法: 面向功能分析 面向?qū)ο蠓治?面向數(shù)據(jù)分析 各適用不同的目標(biāo)系統(tǒng)。,實(shí)時(shí)系統(tǒng)需求分析法,數(shù)據(jù)流圖DFD是結(jié)構(gòu)化分析方法的主要表達(dá)工具。數(shù)據(jù)流圖運(yùn)用加工、文件、數(shù)據(jù)流線等圖形來反映系統(tǒng)的邏輯功能及其內(nèi)部的數(shù)據(jù)聯(lián)系。 數(shù)據(jù)字典DD是對(duì)數(shù)據(jù)流圖DFD的補(bǔ)充。數(shù)據(jù)字典用說明每個(gè)數(shù)據(jù)流的組成、每個(gè)數(shù)據(jù)文件的內(nèi)容以及每個(gè)
29、數(shù)據(jù)項(xiàng)的定義等。 實(shí)時(shí)系統(tǒng)的跟蹤與控制,至今仍然采用面向過程的方法來實(shí)現(xiàn),它包括面向過程的分析、設(shè)計(jì)、編程、測(cè)試、維護(hù)。,3.4需求建模方法3.4.1結(jié)構(gòu)化需求建模方法,基本特點(diǎn)是表達(dá)問題時(shí)盡可能使用圖形符號(hào)的形式,設(shè)計(jì)數(shù)據(jù)流圖時(shí)只考慮系統(tǒng)必須完成的基本功能,不必考慮如何具體實(shí)現(xiàn)這些功能。 基本思想是按照由抽象到具體、逐層分解的方法,確定軟件系統(tǒng)內(nèi)部的數(shù)據(jù)流、變換關(guān)系,并用數(shù)據(jù)流圖表示。 描述手段 一套分層的數(shù)據(jù)流圖 一本詞典 其他補(bǔ)充材料,3.4需求建模方法3.4.2數(shù)據(jù)流圖(DFD),1數(shù)據(jù)流圖的含義 數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的傳輸變換過程。 2數(shù)
30、據(jù)流圖的特性 (1)抽象性 (2)概括性(3)層次性 3. 數(shù)據(jù)流圖基本符號(hào) (1)源點(diǎn)(2)加工(3)數(shù)據(jù)流 (4)數(shù)據(jù)存儲(chǔ)文件 4數(shù)據(jù)流圖的用途-作為交通信息的工具。,數(shù)據(jù)流圖,數(shù)據(jù)流圖有四種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流。,3.4需求建模方法3.4.2數(shù)據(jù)流圖,5數(shù)據(jù)流圖的優(yōu)缺點(diǎn) (1) 總體概念強(qiáng),每一層都明確強(qiáng)調(diào)干什么,需要什么,給出什么。 (2) 可以反映出數(shù)據(jù)的流向和處理過程。 (3) 由于自頂向下分析,容易及早發(fā)現(xiàn)并修正系統(tǒng)各部分的邏輯錯(cuò)誤。 (4) 容易與計(jì)算機(jī)處理相對(duì)照。 (5) 不直觀 (6)人工繪制太麻煩,工作量較大。,3.4需求建模方法3.4.2數(shù)據(jù)流圖,6
31、數(shù)據(jù)流圖的畫法 (1) 畫數(shù)據(jù)流圖的一般原則 畫數(shù)據(jù)流圖的基本步驟概括地說,就是自外向內(nèi),自頂向下,逐層細(xì)化,完善求精。 1)先找系統(tǒng)的數(shù)據(jù)源點(diǎn)與匯點(diǎn)。 2)找出外部實(shí)體的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流 3)在圖的邊上畫出系統(tǒng)的外部實(shí)體 4)從外部實(shí)體的輸出數(shù)據(jù)流出發(fā),按照系統(tǒng)的邏輯需要,逐步畫出一系列邏輯加工,直到找到外部實(shí)體所需的輸入數(shù)據(jù)流,形成數(shù)據(jù)流的封閉 5)檢查和修改,檢查和修改,按照下述原則進(jìn)行檢查和修改 數(shù)據(jù)流圖上所有圖形符號(hào)只限于前述4種基本圖形元素 數(shù)據(jù)流圖的主圖必須包括前述4種基本元素,缺一不可 數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必須封閉在外部實(shí)體之間,外部實(shí)體可以不止一個(gè) 每個(gè)加工至少有一
32、個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流 需按層給加工框編號(hào) 父圖與子圖的平衡 每個(gè)元素都必須有名字 數(shù)據(jù)流圖不是程序流程圖,不可夾帶控制流,數(shù)據(jù)流圖的分層方法,一套分層的數(shù)據(jù)流圖由頂圖、底圖和中間層的數(shù)據(jù)流圖組成。 頂圖說明了系統(tǒng)的邊界,只有一張 底圖有一些不必再分解的處理邏輯組成,稱為基本處理邏輯 分層法繪制流程圖的幾個(gè)問題: 編號(hào)的設(shè)置 父圖與子圖的平衡 局部數(shù)據(jù)存儲(chǔ) 處理邏輯的分解與分細(xì)的程度,一般不宜超過7個(gè)邏輯 由左到右繪制數(shù)據(jù)流圖 可以先忽略次要信息 合理地命名,3.4需求建模方法3.4.2數(shù)據(jù)流圖,7數(shù)據(jù)流圖的繪制與其他流程圖的差別 (1)數(shù)據(jù)流圖與系統(tǒng)流程圖的區(qū)別 將物流與資金流排除在外
33、 (2) 數(shù)據(jù)流與程序流程圖的區(qū)別 只反映數(shù)據(jù)的流向、處理邏輯和必要的數(shù)據(jù)存儲(chǔ),它不反映處理邏輯的先后的時(shí)間順序 (3)數(shù)據(jù)流與程序結(jié)構(gòu)圖的區(qū)別 (4)數(shù)據(jù)流與控制流的區(qū)別,數(shù)據(jù)流圖舉例,數(shù)據(jù)流圖舉例,定貨系統(tǒng)的基本系統(tǒng)模型,定貨系統(tǒng)的功能級(jí)數(shù)據(jù)流圖,把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖,3.4需求建模方法3.4.3數(shù)據(jù)字典,1數(shù)據(jù)字典的定義 數(shù)據(jù)字典是定義目標(biāo)系統(tǒng)中使用的所有數(shù)據(jù)元素和結(jié)構(gòu)的含義、類型、數(shù)量值、格式和度量單位、精度及允許取值范圍內(nèi)的共享數(shù)據(jù)倉庫。 2數(shù)據(jù)字典的內(nèi)容 (l)數(shù)據(jù)流 (2)數(shù)據(jù)項(xiàng) (3)數(shù)據(jù)結(jié)構(gòu) (4)數(shù)據(jù)存儲(chǔ) (5)處理邏輯 (6)外部實(shí)體 3定義數(shù)據(jù)的方法
34、-對(duì)數(shù)據(jù)自頂向下的分解,附:對(duì)多種數(shù)據(jù)字典的解釋,信息系統(tǒng)中有如下四種數(shù)據(jù)字典: (1).數(shù)據(jù)流圖中的數(shù)據(jù)字典:如上所說。 (2).數(shù)據(jù)庫中的數(shù)據(jù)字典:就是數(shù)據(jù)庫中的元數(shù)據(jù),例如表名、字段名、索引名、主鍵名。 (3).數(shù)據(jù)庫管理系統(tǒng)中的系統(tǒng)數(shù)據(jù)字典:它分為系統(tǒng)數(shù)據(jù)字典和用戶數(shù)據(jù)字典兩部分,用這些字典來管理數(shù)據(jù)庫。 (4).信息系統(tǒng)用戶初始化中的用戶數(shù)據(jù)字典:就是一些科目代碼、單位代碼等等。,數(shù)據(jù)字典的內(nèi)容,數(shù)據(jù)流,編號(hào): 數(shù)據(jù)流名稱: 說明:簡(jiǎn)要介紹作用即其產(chǎn)生的原因和結(jié)果 數(shù)據(jù)流來源:從哪里來 數(shù)據(jù)流去向:到那里去 數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)流的流通量:?jiǎn)挝粫r(shí)間的傳輸次數(shù) 高峰時(shí)期的流通量:
35、業(yè)務(wù)的頻繁程度和時(shí)間有關(guān),數(shù)據(jù)項(xiàng)(數(shù)據(jù)元素) 不可再分的數(shù)據(jù)單位,編號(hào): 數(shù)據(jù)項(xiàng)名稱:必須唯一地標(biāo)識(shí)這個(gè)數(shù)據(jù)項(xiàng) 類型:數(shù)字(連續(xù)值、離散值),字符(編碼類型) 長度: 取值范圍:,數(shù)據(jù)結(jié)構(gòu) 描述某些數(shù)據(jù)項(xiàng)之間的關(guān)系,名稱及編號(hào): 數(shù)據(jù)結(jié)構(gòu)的組成: 1.一個(gè)簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu) 2.嵌套的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)存儲(chǔ),編號(hào): 數(shù)據(jù)存儲(chǔ)名稱: 簡(jiǎn)述:存放的是什么數(shù)據(jù) 輸入數(shù)據(jù): 輸出數(shù)據(jù): 數(shù)據(jù)存儲(chǔ)組成:數(shù)據(jù)結(jié)構(gòu) 存儲(chǔ)方式:順序、直接、關(guān)鍵碼,處理邏輯,編號(hào):反映該處理的層次 處理名稱: 簡(jiǎn)要描述:處理邏輯及功能簡(jiǎn)述 輸入數(shù)據(jù)流: 輸出數(shù)據(jù)流: 處理邏輯小說明:簡(jiǎn)述處理程序、處理順序 (表達(dá)工具有:結(jié)構(gòu)式語言、判
36、斷樹、判斷表等),外部實(shí)體 系統(tǒng)的人機(jī)界面,編號(hào): 外部實(shí)體名稱: 簡(jiǎn)要描述:什么外部實(shí)體 從外部實(shí)體輸入: 向外部實(shí)體輸出:,由數(shù)據(jù)元素組成數(shù)據(jù)(即數(shù)據(jù)結(jié)構(gòu))的方式有以下四種基本類型: (1)順序:即以確定次序連接兩個(gè)或多個(gè)分量。 (2)選擇:即從兩個(gè)或多個(gè)可能的數(shù)據(jù)元素中選取一個(gè)。 (3)重復(fù):即把指定的分量重復(fù)零次或多次。 (4)可選:即一個(gè)分量是可有可無的(重復(fù)零次或一次),定義數(shù)據(jù)的方法,舉例,某程序設(shè)計(jì)語言規(guī)定,變量標(biāo)識(shí)符是長度不超過10個(gè)字符的字符串,第一個(gè)字符必須是字母字符,隨后的字符既可以是字母字符也可以是數(shù)字字符。 根據(jù)上面講述的符號(hào),定義標(biāo)識(shí)符如下: 標(biāo)識(shí)符=字母字符+字
37、母數(shù)字串 字母數(shù)字串=0字母或數(shù)字9 字母或數(shù)字=字母字符數(shù)字字符,3.4需求建模方法3.4.3數(shù)據(jù)字典,數(shù)據(jù)字典的用途 數(shù)據(jù)字典是分析階段的工具,這是數(shù)據(jù)字典最重要的用途。 用戶通過它可以清楚地了解分析員對(duì)系統(tǒng)數(shù)據(jù)和處理的詳細(xì)說明。不同的開發(fā)人員或不同的開發(fā)小組之間可以通過數(shù)據(jù)字典對(duì)數(shù)據(jù)做出嚴(yán)密一致的定義,從而避免定義得混亂。 數(shù)據(jù)字典對(duì)處理的描述是很有價(jià)值的,如果改變了某個(gè)數(shù)據(jù)的定義,則很容易看出對(duì)處理所產(chǎn)生的影響,并能夠?qū)κ艿接绊懙奶幚碜龀鱿鄳?yīng)的改變。數(shù)據(jù)字典也是下一步設(shè)計(jì)的依據(jù),如果要求所有開發(fā)人員都根據(jù)數(shù)據(jù)字典的定義去設(shè)計(jì)模塊,則能避免許多麻煩的接口問題。,3.4需求建模方法3.4.
38、3數(shù)據(jù)字典,數(shù)據(jù)字典的實(shí)現(xiàn) 目前實(shí)現(xiàn)數(shù)據(jù)字典有三種常見的途徑:全人工過程,全自動(dòng)化過程(利用數(shù)據(jù)字典處理程序)和混合過程(用正文編輯程序、報(bào)告生成程序等已有的實(shí)用程序幫助人工過程)。,提取對(duì)象、屬性和方法的技術(shù) 在面向?qū)ο蟮男枨蠓治鲋?,如何提取?duì)象(準(zhǔn)確說是對(duì)象集或類)呢?或者說, 對(duì)象在哪里? 屬性在哪里? 方法在哪里?,提取對(duì)象、屬性和方法的技術(shù),回答是:因?yàn)椤皩?duì)象”是“名詞”,所以要到需求分析的重要名詞集合中去發(fā)現(xiàn)有用的“對(duì)象”; 因?yàn)椤皩傩浴笔恰靶稳菰~或名詞”,所以要到需求分析的主要形容詞集合或次要名詞集合中去發(fā)現(xiàn)對(duì)象的“屬性”; 因?yàn)椤胺椒ā笔恰皠?dòng)詞”,所以要到需求分析的主要?jiǎng)釉~中去
39、發(fā)現(xiàn)“方法”。,3.5需求圖形工具3.5.1 層次方框圖3.5.2 Warnier圖3.5.3 IPO圖,3.5需求圖形工具3.5.1 層次方框圖,層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描述數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。 系統(tǒng)分析員從對(duì)頂層信息的分類開始,沿圖中每條路徑反復(fù)細(xì)化,直到確定了數(shù)據(jù)結(jié)構(gòu)的全部細(xì)節(jié)為止。,3.5需求圖形工具3.5.2 Warnier圖,用Warnier圖可以表明信息的邏輯組織,它不僅可以指出一類信息或一個(gè)信息量是重復(fù)出現(xiàn)的
40、,也可以表示特定信息在某一類信息中是有條件出現(xiàn)的。,Warnier圖,圖711 Warnier 圖示例,Warnier圖,圖元表示: 花括號(hào)內(nèi)的信息條目構(gòu)成順序關(guān)系; 花括號(hào)從左至右排列表示樹型層次結(jié)構(gòu); 符號(hào)“”表示不可兼具的選擇關(guān)系; “”表示“非”。 圓括號(hào)內(nèi)的數(shù)字表示重復(fù)次數(shù): (1,n)表示重復(fù)結(jié)構(gòu), (1)或不標(biāo)次數(shù)表示順序結(jié)構(gòu), (0,1)表示選擇結(jié)構(gòu)。,3.5需求圖形工具3.5.3 IPO圖,IPO圖是輸入/處理/輸出圖的簡(jiǎn)稱,它是美國IBM公司提出的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)的關(guān)系。 它的基本形式是在左邊的框中列出有關(guān)的輸入數(shù)據(jù),在中間的框中列出
41、主要的處理,在右邊的框中列出產(chǎn)生的輸出數(shù)據(jù)。,3.6需求驗(yàn)證3.7需求管理,需求管理過程,1. 需求管理的任務(wù)與內(nèi)容 需求管理的中心任務(wù),是保證客戶在軟件功能、性能、接口三個(gè)方面的需求滿足。 需求管理的目標(biāo),是維護(hù)軟件計(jì)劃、軟件工作產(chǎn)品、軟件活動(dòng)與軟件需求的一致性,并保證軟件需求在軟件項(xiàng)目中得到實(shí)現(xiàn)。,3.7需求管理3.7.1需求管理的目標(biāo),需求管理的目的是在客戶和軟件項(xiàng)目組之間建立對(duì)需求的共同理解。 需求管理的目標(biāo)如下: 控制軟件需求,并建立軟件工程和管理使用的需求基線; 使軟件計(jì)劃、產(chǎn)品和活動(dòng)與軟件需求保持一致。,需求管理過程,按照“五個(gè)面向理論”,軟件管理是面向過程的。需求管理是面向需求
42、過程的,需求管理過程主要包括: 需求確認(rèn)(驗(yàn)證)過程 需求評(píng)審過程 需求跟蹤過程 需求變更過程 先確認(rèn)、后評(píng)審、再跟蹤、最后是處理變更。,需求管理過程,(1)非技術(shù)需求確認(rèn),一般在協(xié)議和合同條款中確認(rèn),包括提交的產(chǎn)品、提交的日期和里程碑等內(nèi)容。 (2)技術(shù)需求確認(rèn),描述系統(tǒng)的軟件功能、性能、接口、設(shè)計(jì)約束、編程語言和界面需求等多方面內(nèi)容確認(rèn)。 (3)需求評(píng)審。一般情況下,客戶會(huì)參與項(xiàng)目需求評(píng)審。評(píng)審的對(duì)象是需求確認(rèn)的結(jié)果,包括技術(shù)需求文檔、非技術(shù)需求文檔。 (4) 需求跟蹤矩陣,使項(xiàng)目經(jīng)理能夠跟蹤每一項(xiàng)需求的確認(rèn)、評(píng)審、變更、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、驗(yàn)收狀態(tài)。,3.6需求驗(yàn)證3.6.1目的與任務(wù),需
43、求驗(yàn)證的目的是確保需求規(guī)格說明具有良好(例如完整性和正確性)。 需求驗(yàn)證的任務(wù)就是要求各方人員從不同技術(shù)角度對(duì)需求規(guī)格說明文檔作出綜合性評(píng)價(jià)。,3.6需求驗(yàn)證(需求確認(rèn)) 3.6.2內(nèi)容與方法,需求分析評(píng)審的主要內(nèi)容 : 1.一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。 2.完整性:需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個(gè)功能或性能。 3.現(xiàn)實(shí)性:指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。 4.有效性:必須證明需求是正確有效的,確實(shí)能解決用戶所需的問題。,3.6需求驗(yàn)證 3.6.2內(nèi)容與方法,需求驗(yàn)證的方法 : 1. 驗(yàn)證需求的一致性 自然語
44、言書寫靠人工技術(shù)審查驗(yàn)證軟件系統(tǒng)規(guī)格說明書的正確性 當(dāng)軟件需求規(guī)格說明書是用形式化的需求陳述語言書寫的時(shí)候,可以用軟件工具驗(yàn)證需求的一致性。,3.6需求驗(yàn)證 3.6.2內(nèi)容與方法,需求驗(yàn)證的方法 : 2. 驗(yàn)證需求的現(xiàn)實(shí)性 為了驗(yàn)證需求的現(xiàn)實(shí)性,分析員應(yīng)該參照以往開發(fā)類似系統(tǒng)的經(jīng)驗(yàn),分析用現(xiàn)有的軟、硬件技術(shù)實(shí)現(xiàn)目標(biāo)系統(tǒng)的可能性。 3. 驗(yàn)證需求的完整性和有效性 -快速原型法 原型系統(tǒng)所顯示的是系統(tǒng)的主要功能而不是性能,因此可以適當(dāng)降低對(duì)接口、可靠性等的要求,還可以節(jié)省文檔等方面的工作,從而可大大降低原型系統(tǒng)的開發(fā)成本,3.6需求驗(yàn)證3.6.3 需求評(píng)審,需求評(píng)審就是技術(shù)評(píng)審,是由非軟件開發(fā)人員
45、對(duì)軟件系統(tǒng)進(jìn)行檢查,進(jìn)而發(fā)現(xiàn)系統(tǒng)存在的問題。主要包括下述內(nèi)容: 審查人員的確定和分工 正式審查過程 審查內(nèi)容 需求是否完整、一致、可理解、明確、可實(shí)現(xiàn)、可跟蹤、易修改、需求規(guī)格說明文檔是否完整等,需求管理過程,對(duì)需求文檔進(jìn)行評(píng)審 最常見的需求驗(yàn)證方式就是需求評(píng)審。邀請(qǐng)相關(guān)的評(píng)審人員閱讀需求文檔,找出其中的錯(cuò)誤,不正確的假設(shè),表達(dá)不清的地方,以及與標(biāo)準(zhǔn)不符的地方。評(píng)審成員應(yīng)包括客戶代表。 最好的評(píng)審方法是同行評(píng)審。最重要的是找出不符合項(xiàng)。,同行評(píng)審的內(nèi)容,需求評(píng)審的內(nèi)容包括: (1) 需求是否描述清楚,不存在歧義。 (2) 需求是否是可量化的,可驗(yàn)證的。 (3) 需求間是否存在沖突,以及它們之間
46、的依賴關(guān)系。 (4) 非功能性需求是否明確、合理。 (4) 需求是否注明來源。 (5) 每個(gè)需求是否分配了唯一的標(biāo)識(shí)。,需求跟蹤,需求跟蹤的意義在于,獲得需求目前的實(shí)現(xiàn)狀態(tài),確保用戶所有的需求都得到滿足。 需求跟蹤的好處:為需求變更、系統(tǒng)維護(hù)、關(guān)鍵成員離開、類似系統(tǒng)設(shè)計(jì)等很多方面,提供參考和指導(dǎo),并可以減少風(fēng)險(xiǎn)和提高項(xiàng)目成功。 需求跟蹤用于追溯需求來源,需求應(yīng)能向后追溯到它的發(fā)起人,向前追溯到實(shí)現(xiàn)它的部件和實(shí)體。 需求跟蹤的一項(xiàng)重要內(nèi)容,是跟蹤不符合項(xiàng)的改正情況。,3.7需求管理3.7.2需求管理的原則,需求必須分層次管理 需求要分優(yōu)先級(jí) 需求必須文檔化 需求變更的影響要評(píng)估 需求管理與需求工程的活動(dòng)緊密整合,3.7需求管理3.7.3 需求開發(fā)的管理,需求獲取管理 項(xiàng)目視圖(表3-2) 需求分析管理 (1)需求分析的進(jìn)度管理與控制; (2)需求分析的質(zhì)量管理與控制; (3)需求分析階段的溝通管理。,3.7需求管理3.7.3 需求開發(fā)的管理,需求說明管理 (1)需求來源 (2)需求形式化 (3)需求跟蹤矩陣 需求驗(yàn)證管理 (1)編寫測(cè)試計(jì)劃與測(cè)試用例; (2)編寫系統(tǒng)驗(yàn)收標(biāo)準(zhǔn); (3)通過需求評(píng)審; (4)需求評(píng)審的誤區(qū)。,問題: 怎樣構(gòu)造需求跟蹤矩陣?,回答:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)信息安全態(tài)勢(shì)感知指南
- 文庫發(fā)布:互聯(lián)網(wǎng)技術(shù)
- 路燈工程施工組織設(shè)計(jì)
- 2025年氫燃料電池催化劑安全性評(píng)估與標(biāo)準(zhǔn)制定報(bào)告
- 2025年工業(yè)廢水處理設(shè)備市場(chǎng)需求五年預(yù)測(cè)報(bào)告
- 2026及未來5年中國智能化αβ表面污染檢測(cè)儀行業(yè)市場(chǎng)供需態(tài)勢(shì)及發(fā)展趨向研判報(bào)告
- 2026年金融智能投顧平臺(tái)報(bào)告及未來十年財(cái)富管理報(bào)告
- 安全與管理課件
- 東莞市公安局沙田分局2025年公開招聘警務(wù)輔助人員備考題庫(第8期)及答案詳解一套
- 2025-2030中國康養(yǎng)地產(chǎn)行業(yè)發(fā)展形勢(shì)及前景規(guī)劃分析研究報(bào)告
- 2025赤峰市敖漢旗就業(yè)服務(wù)中心招聘第一批公益性崗位人員112人(公共基礎(chǔ)知識(shí))測(cè)試題附答案解析
- 2025年農(nóng)業(yè)產(chǎn)業(yè)鏈現(xiàn)代化發(fā)展優(yōu)化計(jì)劃書可行性研究報(bào)告
- 餐廚收運(yùn)駕駛員安全培訓(xùn)課件
- 村委會(huì)工作人員招聘面試常見問題及解答
- 學(xué)校6S管理培訓(xùn)
- 中小學(xué)英語銜接教學(xué)策略
- DB15-T 4031-2025 建設(shè)項(xiàng)目水資源論證表編制導(dǎo)則
- 抖店客服培訓(xùn)知識(shí)課件
- 2025年國家開放大學(xué)(電大)《政治學(xué)原理》期末考試備考題庫及答案解析
- 《北京市科學(xué)技術(shù)獎(jiǎng)勵(lì)辦法》及其實(shí)施細(xì)則的解讀
- 2025年全國中考真題匯編專題11:議論文閱讀【含答案】
評(píng)論
0/150
提交評(píng)論