實用軟件工程課件第4章_第1頁
實用軟件工程課件第4章_第2頁
實用軟件工程課件第4章_第3頁
實用軟件工程課件第4章_第4頁
實用軟件工程課件第4章_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實用軟件工程(第4版)課件4美麗的北師大珠海分校(4)麗澤湖畔的學(xué)生宿舍與食堂-趙池龍攝第4章 軟 件 需 求 軟件需求分析或軟件需求獲取,它既是軟件開發(fā)中的老問題,又包含著許多新思想、新方法、新技術(shù)。需求獲取是否徹底與成功,直接關(guān)系到軟件開發(fā)的成敗。因為需求分析文檔,是軟件開發(fā)與軟件管理的第一根基線。本章首先介紹需求分析中的基本概念,以及需求分析的任務(wù)、目的、方法,然后介紹需求分析的各種技巧、藝術(shù)、描述工具及需求管理過程。 本章對讀者的要求 要求具體內(nèi)容了解 1)需求分析的輸入與輸出 2)需求獲取的難點 3)用戶、顧客、客戶的概念 4)不符合項、基線、里程碑、軟件產(chǎn)品的概念 5)信息系統(tǒng)需求

2、、網(wǎng)絡(luò)游戲軟件需求的概念 6)需求報告和需求分析規(guī)格說明書的差異 理解 1)需求分析的目的 2)需求分析的重要性 3)三種需求分析方法的描述工具 4)需求管理方法 關(guān)注 1)需求分析的任務(wù) 2)需求分析的方法4.1 需求分析基本概念 1需求分析定義1997年,IEEE軟件工程標(biāo)準(zhǔn)詞匯表中定義需求為:(1).用戶解決問題或達(dá)到目標(biāo)所需的條件或能力(Capability)。(2).系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其它正式規(guī)定文檔所需具有的條件或能力。 (3).一種反映上面(1)或(2)所描述的條件或能力的文檔說明。 需求分析分為兩個階段,需求獲取階段和需求規(guī)約階段。需求關(guān)心的是系統(tǒng)目標(biāo)而不是

3、系統(tǒng)實現(xiàn)。需求可以分為兩大類,功能性需求和非功能性需求,前者定義了系統(tǒng)做什么,后者定了系統(tǒng)工作時的特性。 2需求分析為什么重要需求分析特別重要。這是因為: (1).許多大型應(yīng)用系統(tǒng)的失敗,最后均歸結(jié)到需求分析:要么獲取需求的方法不當(dāng),使得需求分析不到位或不徹底,導(dǎo)致開發(fā)者反復(fù)多次地進(jìn)行需求分析,致使設(shè)計、編碼、測試無法順利進(jìn)行;要么客戶配合不好,導(dǎo)致客戶對需求不確認(rèn),或客戶需求不斷變化,同樣致使設(shè)計、編碼、測試無法順利進(jìn)行。(2).用戶需求報告既是軟件生命周期中的第一個里程碑,又是客戶、軟件開發(fā)人員、軟件測試人員和項目管理人員四者共同工作的基線,是項目Alpha測試和Beta測試的準(zhǔn)則,是供方

4、交付產(chǎn)品和需方驗收產(chǎn)品的依據(jù)。 (3).需求分析要占用整個軟件開發(fā)時間或工作量的30%左右。(4).需求獲取中的錯誤,屬于軟件開發(fā)中的早期錯誤,將給項目成功帶來極大風(fēng)險,因為這些錯誤會在后續(xù)的設(shè)計和實現(xiàn)中進(jìn)行發(fā)散式的傳播。根據(jù)以上四項原因,IT企業(yè)的高層經(jīng)理,對需求分析特別重視,常常派經(jīng)驗最豐富的人員去作項目需求。 3需求獲取為什么難(1).用戶需求具有動態(tài)性,即需求的不穩(wěn)定性:在整個軟件生命周期內(nèi),應(yīng)用軟件的需求會隨著時間的進(jìn)展而有所變化。個別用戶,甚至是朝三暮四地變化。(2).用戶需求具有模糊性:由于用戶的素質(zhì)不是很高,業(yè)務(wù)流程不很規(guī)范,所以需求表達(dá)不很清楚也不夠明確。(3).開發(fā)者和用戶

5、要對需求達(dá)成完全一致的認(rèn)識,用戶要在需求報告上簽字。(4).中國的國有企業(yè)正處在變動期(體制改革與企業(yè)重組),中國的民營企業(yè)正處在成長期(發(fā)展壯大與不完全成熟)。 4. 用戶需求報告與需求分析規(guī)格說明書用戶需求報告是站在用戶的角度、使用他們可以看懂的語言寫的,內(nèi)容是有關(guān)系統(tǒng)的運行環(huán)境、業(yè)務(wù)流程、業(yè)務(wù)功能、業(yè)務(wù)性能和業(yè)務(wù)接口等。它是需求分析階段產(chǎn)生的第一份重要的文檔,表達(dá)了用戶全面的、系統(tǒng)的、準(zhǔn)確的、并且用戶確認(rèn)的需求,它是用戶、項目開發(fā)者、項目測試者和項目管理者四方共同工作的基礎(chǔ),是用戶測試和驗收目標(biāo)的依據(jù),是作為軟件開發(fā)機(jī)構(gòu)和用戶之間一份事實上的技術(shù)合同書,是軟件生命周期中的第一根基線。 需

6、求分析規(guī)格說明書是站在開發(fā)者的角度、使用開發(fā)者的語言寫的,目的是作為概要設(shè)計和詳細(xì)設(shè)計的依據(jù),內(nèi)容是系統(tǒng)的業(yè)務(wù)模型、功能模型、數(shù)據(jù)模型和接口模型的進(jìn)一步定量描述。它是需求分析階段產(chǎn)生的第二份重要的文檔。與用戶需求報告不同的是,需求分析規(guī)格說明書不但以一種一致的、無二義的方式準(zhǔn)確的表達(dá)用戶的需求,而且增加了一些對設(shè)計者非常有用的信息(如模型、實體、屬性、方法、關(guān)系、主鍵、外鍵、算法等等),它是項目開發(fā)者、項目測試者和項目管理者三方共同工作的技術(shù)基礎(chǔ),是項目開發(fā)者下一步進(jìn)行設(shè)計和編碼的依據(jù)。 5需求獲取與需求規(guī)約所謂需求獲取,就是開發(fā)者與用戶共同提取并共同確認(rèn)需求。在需求獲取過程中,人們將“劃分、

7、抽象和投影”三要素,作為需求獲取的三原則。(1).劃分,就是捕獲問題空間的“整體/部分”關(guān)系;(2).抽象,就是捕獲問題空間的“一般/特殊”或“一般/特例”關(guān)系;(3).投影,就是捕獲問題空間的多維“視圖”。所謂需求規(guī)約,就是對獲取并確認(rèn)的需求進(jìn)行定義與分析,并且解決需求中存在的二義性和不一致性,最后以一種系統(tǒng)化的文檔形式,準(zhǔn)確地表達(dá)用戶的需求,形成所謂的需求分析規(guī)格說明書。 6. 需求驗證需求驗證就是對軟件需求分析規(guī)格說明書加以驗證。需求驗證要從以下方面進(jìn)行:正確性,無二義性,完整性,可驗證性,一致性,可量化性,可理解性,可修改性,唯一性,可跟蹤性,設(shè)計無關(guān)性。無二義性就是要去掉模棱兩可的內(nèi)

8、容??沈炞C性就是要具有可測試性,即需求是具體的、可測試的??闪炕跃褪切枨蟮墓δ芘c性能要數(shù)字化,例如服務(wù)器的功能與性能指標(biāo)、并發(fā)用戶數(shù)目、平均響應(yīng)時間。唯一性就是每項需求給一個唯一標(biāo)識,以便于需求跟蹤與配置管理。 7. 需求是一個迭代過程由于人們對客觀事物的認(rèn)識不斷深化,所以需求過程是一個迭代過程,每次迭代提供更高質(zhì)量和更詳細(xì)內(nèi)容的軟件需求。這種迭代會給項目帶來一定的風(fēng)險,上一次迭代的設(shè)計實現(xiàn)可能會因為需求不足而被推翻。但是,軟件分析師應(yīng)根據(jù)項目計劃,在給定的資源條件下得到盡可能高質(zhì)量的需求。 8. 軟件需求的三個層次軟件需求包括三個不同層次:高層領(lǐng)導(dǎo)的戰(zhàn)略決策需求、中層管理的查詢統(tǒng)計需求、基

9、層人員的實時操作需求。這個上中下三層需求,構(gòu)成一個需求金字塔。需求分析規(guī)格說明書還應(yīng)包括非功能需求,它描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等,包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和合約;外部界面的具體細(xì)節(jié);性能要求;設(shè)計或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。 9需求分析的目的、重點與難點 需求分析的重點是:通過弄清業(yè)務(wù)流程和數(shù)據(jù)流程的手段,達(dá)到與客戶共同確定業(yè)務(wù)模型、功能模型、性能模型、接口模型的目標(biāo)。通過評審,與客戶達(dá)成完全一致的理解,讓客戶確認(rèn),在需求報告上簽字,這是需求分析的根本目的。需求分析的難點是:在系統(tǒng)的功能、性能和接口方面,開發(fā)者與客戶達(dá)成完全一致的需求,讓客戶最終簽字確認(rèn),并保證在項目驗收前,

10、需求相對穩(wěn)定不變。萬一需求有點變化,雙方必須履行“需求變更管理程序”,而變更管理程序在簽訂合同時已經(jīng)做了規(guī)定。 4.2 需求分析的任務(wù) 根據(jù)信息系統(tǒng)的定義與內(nèi)容,信息系統(tǒng)的需求分析是最難的,也最具有代表性,為此,我們通過“圖書館信息系統(tǒng)”的例子,來說明需求分析所需要完成的任務(wù),是再好不過的了。最后,本節(jié)還簡單介紹網(wǎng)絡(luò)游戲軟件對需求分析的要求。第1項任務(wù):畫出目標(biāo)系統(tǒng)的組織結(jié)構(gòu)圖,列出各部門的崗位角色表,即組織機(jī)構(gòu)模型,如圖4-2至表4-4所示。 序 號單 位 名 稱單 位 職 責(zé)1館長室全館業(yè)務(wù)的組織領(lǐng)導(dǎo),全館信息的查詢2采編部圖書的采購、分編3藏書部圖書的入庫、保存、遷移、出庫4借書處圖書的

11、借書、還書5閱覽室雜志和書報的開架閱覽與借還管理6讀者服務(wù)部讀者信息管理、讀者網(wǎng)上圖書查詢崗 位 編 號崗 位 名 稱所 在 部 門崗 位 職 責(zé)相關(guān)的業(yè)務(wù)1011采購員采編部 圖書采購、進(jìn)貨合同的簽訂、出版社的選擇進(jìn)貨、合同管理1012分編員采編部 圖書分編協(xié)助入庫第2項任務(wù):畫出目標(biāo)系統(tǒng)的業(yè)務(wù)操作流程圖,即業(yè)務(wù)模型。它包括物流、資金流、信息流,重點是業(yè)務(wù)操作的流水步驟。業(yè)務(wù)流程圖的畫法多種多樣,各軟件組織可根據(jù)自身的習(xí)慣和特點,制定一套圖形規(guī)則,在本組織內(nèi)統(tǒng)一遵守。業(yè)務(wù)流程圖的制作工具,可以是微軟的Word , Visio。所謂“直式業(yè)務(wù)流程圖”,就是用圖的橫向坐標(biāo)表示企業(yè)的部門崗位,用圖

12、的縱向坐標(biāo)表示企業(yè)的作業(yè)流程,用圖4-3的圖標(biāo)畫出企業(yè)的業(yè)務(wù)流程。 第3項任務(wù):畫出目標(biāo)系統(tǒng)的數(shù)據(jù)流圖DFD,即單據(jù)和報表的流圖,掌握業(yè)務(wù)規(guī)則,獲得初步數(shù)據(jù)模型(真正的數(shù)據(jù)模型是E -R圖加上相應(yīng)的數(shù)據(jù)字典)。數(shù)據(jù)流圖中要突出單據(jù)流,分清不同單據(jù)之間的先后流動次序,以及同一單據(jù)中的不同數(shù)據(jù)項的先后流動次序。數(shù)據(jù)流圖的畫法多種多樣,各軟件組織可根據(jù)自身的習(xí)慣和特點,制定一套圖形規(guī)則,在本組織內(nèi)統(tǒng)一遵守。數(shù)據(jù)流圖的制作工具,可以是微軟的桌面辦公工具Office(Word , Visio),也可以是Power Designer中的數(shù)據(jù)流圖繪制工具Process Analyst。 完整的數(shù)據(jù)流圖還包括

13、定義數(shù)據(jù)字典。數(shù)據(jù)字典是指對數(shù)據(jù)流圖中出現(xiàn)的數(shù)據(jù)源、數(shù)據(jù)潭、數(shù)據(jù)加工、數(shù)據(jù)流向、單據(jù)、報表等數(shù)據(jù)名字進(jìn)行定義與解釋。對于所有的單據(jù)或報表,均要收集并整理。將單據(jù)或報表的名稱、用途、使用單位、制作單位、頻率、高峰時流量,及每個數(shù)據(jù)項的名稱、類型、長度、精度、算法等,都要全部列出,形成原始單據(jù)和輸出報表的表格。對每一張單據(jù)或報表,都必須用兩張表格來描述,其中第一張表格描述單據(jù)或報表的公共信息,即單據(jù)或報表的“頭尾”信息。第二張表格描述單據(jù)或報表的數(shù)據(jù)項信息,即單據(jù)或報表的“體”。 單 據(jù) 名 稱用 途使用單位制作單位頻 率高峰時數(shù)據(jù)流量序 號數(shù)據(jù)項中文名數(shù)據(jù)項英文名數(shù)據(jù)項類型、長度、精度數(shù)據(jù)項算法

14、123第4項任務(wù):列出目標(biāo)系統(tǒng)的功能點列表,即功能模型。(注:有時將性能模型、界面模型和接口模型的內(nèi)容都合并到功能模型之中。)功能模型也可以用Use Case圖表示,也可以用功能點列表描述?!皥D書館信息系統(tǒng)”的功能點列表,如表4-7所示。其中“系統(tǒng)響應(yīng)”這一項,表示將來的目標(biāo)系統(tǒng)所要做的工作。需要指出,功能列表不是唯一,也沒有標(biāo)準(zhǔn)答案。 編號功能名稱使用部門使用崗位功能描述輸入系統(tǒng)響應(yīng)輸出1圖書入庫信息錄入分編室分編員給圖書分類編號,并錄入系統(tǒng)圖書編號、條形碼、書名、作者、譯者、ISBN、出版社、價格、所放位置、現(xiàn)存量、庫存總量、入庫日期、操作員、內(nèi)容簡介、借閱次數(shù)、是否注銷錄入到圖書信息表完

15、成圖書的入庫2讀者信息錄入借閱處管理員錄入讀者基礎(chǔ)信息讀者編號、姓名、性別、出生年月、證件名稱、證件號碼、電話、登記日期、借書卡條形碼、操作員、是否掛失、借閱次數(shù)、網(wǎng)上注冊姓名、網(wǎng)上注冊口令、是否注銷錄入到讀者信息表打印并制作讀者“借書卡”3圖書借閱信息錄入借閱處管理員錄入讀者借閱圖書信息圖書編號、讀者編號、借閱日期、應(yīng)還日期、續(xù)借次數(shù)、押金、操作員錄入到圖書借閱信息表,該圖書的“現(xiàn)存量”減1從書架上取書,將圖書交給讀者4圖書歸還信息錄入借閱處管理員錄入讀者歸還圖書信息圖書編號、讀者編號、歸還日期、退還押金、操作員錄入到圖書歸還信息表,該圖書的“現(xiàn)存量”加1圖書上架5圖書罰款信息錄入借閱處管理

16、員錄入讀者罰款圖書信息圖書編號、讀者編號、罰款日期、應(yīng)罰金額、實收金額、是否交款、操作員錄入到圖書罰款信息表打印罰款收據(jù),收點現(xiàn)金6圖書注銷信息錄入分編室分編員錄入注銷圖書信息圖書編號、注銷數(shù)量、注銷日期、操作員錄入到圖書注銷信息表打印圖書注銷信息,并請館長簽字7查詢讀者信息借閱處管理員錄入讀者信息讀者編號按“讀者編號”在讀者信息表和罰款信息表中查詢該讀者信息顯示“讀者編號、姓名、電話、罰款次數(shù)”8查詢圖書信息借閱處管理員錄入查詢圖書信息圖書名稱/作者姓名按照輸入的組合條件,在“圖書信息表”中檢索該圖書顯示“圖書名稱、作者姓名、借閱情況、內(nèi)容簡介”9讀者網(wǎng)上注冊網(wǎng)上讀者網(wǎng)上讀者錄入讀者網(wǎng)上注冊

17、信息網(wǎng)上注冊姓名、網(wǎng)上注冊口令、讀者編號將“網(wǎng)上注冊姓名、網(wǎng)上注冊口令”存入到讀者信息表中顯示“注冊成功”或“注冊失敗”訂購單頭:訂購單編號、訂購金額、訂購日期、驗收日期、出版社地址、出版社電話、操作員10讀者網(wǎng)上登陸網(wǎng)上讀者網(wǎng)上讀者錄入讀者網(wǎng)上登陸信息網(wǎng)上注冊姓名、網(wǎng)上注冊口令核對“網(wǎng)上注冊姓名、網(wǎng)上注冊口令”顯示“登陸成功”或“登陸失敗”11讀者網(wǎng)上查詢圖書信息網(wǎng)上讀者網(wǎng)上讀者錄入讀者網(wǎng)上查詢圖書信息圖書名稱/作者姓名按照輸入的組合條件,在“圖書信息表”中檢索該圖書顯示“圖書名稱、作者姓名、借閱情況、內(nèi)容簡介”12圖書訂購采購部采購員錄入訂購圖書信息訂購明細(xì):征訂編號、訂購數(shù)量、訂購單價錄

18、入到圖書訂購單頭和訂購明細(xì)兩張信息表打印訂購單,館長簽字確認(rèn),郵寄出版社13圖書借還統(tǒng)計館長辦公室館長統(tǒng)計圖書資源的利用情況統(tǒng)計起止日期統(tǒng)計前100本熱門圖書的借閱情況、后100本冷門圖書的借閱情況、全部圖書的平均借閱情況顯示“前100本熱門圖書的借閱情況、后100本冷門圖書的借閱情況、圖書的平均借閱情況”14補(bǔ)辦借書卡借閱處管理員作廢原借書卡并補(bǔ)辦新借書卡錄入讀者姓名、工作證名稱、工作證號碼在讀者信息表中查詢到讀者的基本信息,作廢舊借書卡號打印并制作讀者新的“借書卡”第5項任務(wù):列出系統(tǒng)的性能點列表,即性能模型?!皥D書館信息系統(tǒng)”的性能點列表,如表4-8所示。其中“系統(tǒng)響應(yīng)”這一項,表示將來

19、的目標(biāo)系統(tǒng)所要做的工作。需要指出,性能列表不是唯一,也沒有標(biāo)準(zhǔn)答案。 編號性能名稱使用部門使用崗位性能描述輸入系統(tǒng)響應(yīng)輸出1讀者網(wǎng)上查詢圖書信息響應(yīng)時間網(wǎng)上讀者網(wǎng)上讀者查某本書小于1秒圖書名稱/作者姓名按照輸入的組合條件,進(jìn)行模糊查詢顯示“圖書名稱、作者姓名、是否借出、內(nèi)容簡介”2后臺查詢讀者信息響應(yīng)時間圖書館借閱部借閱操作員查某位讀者信息小于1秒讀者姓名、編號按照輸入的組合條件,進(jìn)行查詢顯示“讀者姓名、編號、身份證號、電話、借書信息、超期借書信息、罰款次數(shù)”3后臺查詢圖書信息響應(yīng)時間圖書館借閱部借閱操作員查某本書小于1秒圖書名稱/作者姓名按照輸入的組合條件,進(jìn)行模糊查詢顯示“圖書名稱、作者姓

20、名、借閱情況、內(nèi)容簡介”第6項任務(wù):列出目標(biāo)系統(tǒng)的接口列表,即接口模型?!皥D書館信息系統(tǒng)”的接口點列表,如表4-9所示。需要指出,接口列表不是唯一,也沒有標(biāo)準(zhǔn)答案。 (1) 憑證記錄參數(shù):憑證編號、日期、單據(jù)張數(shù)、借方合計、貸方合計;(1) 憑證記錄格式:憑證編號、憑證狀態(tài)、會計期間、憑證字號、日期、單據(jù)張數(shù)、審核、過賬、制單、過賬狀態(tài)、借方合計、貸方合計;編號接口名稱接口規(guī)范接口標(biāo)準(zhǔn)入口參數(shù)出口參數(shù)傳輸速率1與財務(wù)系統(tǒng)接口財務(wù)系統(tǒng)規(guī)定的接口規(guī)范記賬憑證與分錄的具體格式(2) 分錄記錄參數(shù):憑證編號、日期、借方、貸方、數(shù)量、單價、摘要。(2) 分錄記錄格式:分錄編號、憑證編號、摘要、科目代碼、

21、結(jié)算號、結(jié)算日期、結(jié)算方式、借方、貸方、數(shù)量、單價。一張憑證一次處理傳送第7項任務(wù):確定目標(biāo)系統(tǒng)的運行環(huán)境,即環(huán)境模型。運行環(huán)境包括:核心計算機(jī)及網(wǎng)絡(luò)資源(系統(tǒng)軟件、硬件和初始化數(shù)據(jù))的配置計劃、采購計劃、安裝調(diào)試進(jìn)度、人員培訓(xùn)計劃等內(nèi)容。請設(shè)計出“圖書館信息系統(tǒng)”的運行環(huán)境。第8項任務(wù):目標(biāo)系統(tǒng)的界面約定,即界面模型。界面設(shè)計的原則是:方便、簡潔、美觀、一致。整個目標(biāo)系統(tǒng)的界面風(fēng)格定義要統(tǒng)一,某些功能模塊的特殊界面要說明。例如,輸入設(shè)備:鍵盤、鼠標(biāo)、條碼掃描器、掃描儀等;輸出設(shè)備:顯示器、打印機(jī)、光盤刻錄機(jī)、磁帶機(jī)、音箱等;顯示風(fēng)格:圖形界面、字符界面、IE界面等;顯示方式:1024768,

22、640480等;輸出格式:顯示布局、打印格式等。 第9項任務(wù):對目標(biāo)系統(tǒng)的開發(fā)工期、費用、開發(fā)進(jìn)度、系統(tǒng)風(fēng)險等問題進(jìn)行分析與評估。對于一般企事業(yè)單位的信息系統(tǒng)需求分析,完成好上述任務(wù),并與用戶達(dá)成全面共識,通過評審,得到用戶簽字確認(rèn),就算成功了。但是,上述任務(wù)不是教條,不能完全生搬硬套,而要根據(jù)具體問題具體分析,活學(xué)活用,舉一反三。例如,對于特殊的系統(tǒng),除了上述任務(wù)之外,可能還要增加其他任務(wù),項目經(jīng)理和系統(tǒng)分析師要嚴(yán)把關(guān)口,分析徹底、實事求是、靈活掌握。 【例4-1】介紹網(wǎng)絡(luò)游戲軟件需求分析的任務(wù)。一款網(wǎng)絡(luò)游戲軟件項目的確立,是建立在各種各樣的需求上面的,這種需求往往來自于大量玩家的實際需求,

23、或者是出于公司自身發(fā)展和實力,其中大量玩家的實際需求最為重要。面對擁有不同知識和理解層面的游戲玩家,項目負(fù)責(zé)人對玩家需求的理解程度,在很大程度上決定了此類游戲項目的開發(fā)成敗。如何更好地了解、分析、明確玩家需求,并且能夠準(zhǔn)確、清晰地以文檔的形式表達(dá)給項目開發(fā)成員,保證開發(fā)過程按照滿足玩家需求為目的,是游戲項目管理者需要面對的問題。 游戲需求分析相對來說比其他項目復(fù)雜,除了技術(shù)上的分析外,還要考慮市場方面的因素,對所有這些因素的分析,往往不是某一個專業(yè)工作人員可以勝任的。游戲?qū)儆趦?nèi)容產(chǎn)業(yè),除涉及到多個不同技術(shù)領(lǐng)域外,還涉及到多個藝術(shù)領(lǐng)域,其復(fù)雜程度可想而知。網(wǎng)絡(luò)游戲需求分析規(guī)格說明書,至少應(yīng)該包含

24、以下內(nèi)容: 1. 游戲背景、類型、基本功能;2. 游戲玩家的主界面;3. 游戲運行的軟硬件環(huán)境;4. 游戲系統(tǒng)機(jī)制的定義;5. 游戲系統(tǒng)的創(chuàng)新特性;6. 確定游戲運營維護(hù)的要求;7. 確定游戲服務(wù)器架設(shè)和帶寬要求;8. 游戲總體風(fēng)格及美術(shù)效果標(biāo)準(zhǔn);9. 游戲等級及技能、物品、任務(wù)、場景等的大概數(shù)量; 10. 開發(fā)管理及任務(wù)分配;11. 各種游戲特殊效果及其數(shù)量;12. 項目完成的時間及進(jìn)度。在網(wǎng)絡(luò)游戲項目的需求分析中,主要是由項目負(fù)責(zé)人來確定對玩家需求的理解程度,而玩家調(diào)查和市場調(diào)研等需求分析活動的目的,就是幫助項目負(fù)責(zé)人加深對玩家需求的理解,以便于日后在項目開發(fā)過程中,作為開發(fā)成員的依據(jù)和借

25、鑒。隨著網(wǎng)絡(luò)游戲投入的加大,精細(xì)的需求分析也就越來越重要,一次成功的需求分析,不僅需要項目負(fù)責(zé)人甚至是玩家等所有項目相關(guān)人員的共同努力,還和公司的能力范圍有一定關(guān)系。 4.3 需求分析方法 1面向流程分析需求分析是面向流程的,而流程是動態(tài)的、實時的。系統(tǒng)的功能、性能、接口、界面都是在流程中動態(tài)實時地反映出來。在所有的流程(物流、人流、資金流、信息流、單據(jù)流、報表流、數(shù)據(jù)流)中,數(shù)據(jù)流最重要,也最有代表性。因為在計算機(jī)網(wǎng)絡(luò)系統(tǒng)內(nèi),一切流程都表現(xiàn)為數(shù)據(jù)流。所以,面向流程分析,實質(zhì)上是面向數(shù)據(jù)流程分析,或面向數(shù)據(jù)分析。計算機(jī)網(wǎng)絡(luò)只認(rèn)識數(shù)據(jù),其他所有的信息必須轉(zhuǎn)化為數(shù)據(jù)之后才能流動。 2找出元數(shù)據(jù)元數(shù)

26、據(jù)的分析與識別,是需求分析的主要議題。元數(shù)據(jù)是組織數(shù)據(jù)的數(shù)據(jù)。通俗地講,元數(shù)據(jù)就是信息系統(tǒng)中實體名及其屬性名的集合,或者說就是基表的表名與字段名的集合。由此可見,所謂實體,就是一組相關(guān)元數(shù)據(jù)的集合。元數(shù)據(jù)分析的出發(fā)點是業(yè)務(wù)模型和功能模型,落腳點是系統(tǒng)中的實體及其屬性。元數(shù)據(jù)蘊(yùn)藏在信息系統(tǒng)的單據(jù)中,單據(jù)名稱及其內(nèi)部的數(shù)據(jù)項名稱,一般就是元數(shù)據(jù)。需求分析的技巧之一,是分析與識別元數(shù)據(jù),而不是基礎(chǔ)數(shù)據(jù)。 【例4-2】 在人力資源系統(tǒng)中,“員工的基本情況”是一個實體名,而員工的“編號、姓名、性別、年齡、學(xué)歷、住址、電話、電子信箱、業(yè)務(wù)特長”等則是屬性名,這些名詞統(tǒng)稱為人事系統(tǒng)的元數(shù)據(jù)。而某一員工的具體

27、信息,不是元數(shù)據(jù),例如,“8008,張開,男,30歲,大學(xué)本科,北京王麻子胡同東一條8號,66268866, ,軟件開發(fā)”,則是被上述元數(shù)據(jù)所組織好的一條記錄(該實體的一個實例),稱為人事系統(tǒng)中的基礎(chǔ)數(shù)據(jù)。 3找出中間數(shù)據(jù)中間數(shù)據(jù)蘊(yùn)藏在信息系統(tǒng)的輸出報表中,報表名稱及其內(nèi)部的數(shù)據(jù)項名稱,一般就是中間數(shù)據(jù)。【例4-4】 人力資源系統(tǒng)中有一張統(tǒng)計報表,如表4-10所示。其中“部門名稱,員工人數(shù),男性人數(shù),本科以上人數(shù),30歲以下人數(shù),”,這些名詞稱為中間數(shù)據(jù),而“市場部,25,16,21,23”,這些數(shù)據(jù)稱為統(tǒng)計數(shù)據(jù)。中間數(shù)據(jù)是組織統(tǒng)計數(shù)據(jù)的數(shù)據(jù),描述統(tǒng)計數(shù)據(jù)的數(shù)據(jù),關(guān)于統(tǒng)計數(shù)據(jù)的數(shù)據(jù)。需求分析的

28、技巧之二,是分析與識別中間數(shù)據(jù),而不是統(tǒng)計數(shù)據(jù)。 部 門 名 稱員 工 人 數(shù)男 性 人 數(shù)本科以上人數(shù)30歲以下人數(shù).市場部25162123開發(fā)部88678266銷售部353231194找出元數(shù)據(jù)與中間數(shù)據(jù)之間的關(guān)系 元數(shù)據(jù)對應(yīng)原始單據(jù),中間數(shù)據(jù)對應(yīng)查詢、統(tǒng)計、報表。元數(shù)據(jù)將原始單據(jù)中錄入的數(shù)據(jù)組織起來變成基表中的記錄,這些記錄稱為基礎(chǔ)數(shù)據(jù)。中間數(shù)據(jù)將統(tǒng)計報表中輸出的數(shù)據(jù)組織起來變成中間表中的記錄,這些記錄稱為統(tǒng)計數(shù)據(jù)。中間表中的記錄是由基表中的記錄派生出來的,為了簡單起見,我們說“中間數(shù)據(jù)是由元數(shù)據(jù)派生出來的”,這種派生就是算法分析。在需求分析中,弄清由元數(shù)據(jù)到中間數(shù)據(jù)之間的演變關(guān)系,對需

29、求分析的成敗至關(guān)重要,這是需求分析的技巧之三。 5找出單據(jù)中的流程需求分析的技巧之四,是找出單據(jù)中的流程。單據(jù)中有如下三個流程。(1)該單據(jù)的上游是什么?例如,若要錄入“單據(jù)2”,必須先錄入“單據(jù)1”,否則“單據(jù)2”就錄入不進(jìn)去。那么“單據(jù)1”就是“單據(jù)2”的上游?!纠?-5】 在人力資源系統(tǒng)中,“個人簡歷”和“員工基本情況”都是一個單據(jù)(實體),“個人簡歷”的上游就是“員工基本情況”,只有先錄入“員工基本情況”,“個人簡歷”才能錄入。在信息系統(tǒng)中,一般都要先錄入父表(主表)中的記錄,然后再錄入子表(又稱明細(xì)表)中的記錄。 (2)同一個單據(jù)內(nèi)部的數(shù)據(jù)項之間,也存在一個先后次序問題?!纠?-6】

30、 家電出庫單中的數(shù)據(jù)項“制單人,審核人,批準(zhǔn)人”之間的錄入次序,也有一個先后問題。制單人必須第一個錄入,審核人必須是第二個確認(rèn),批準(zhǔn)人只能是第三個確認(rèn)。而且規(guī)定:只有批準(zhǔn)人確認(rèn)之后,該單據(jù)才能生效,電視機(jī)才能出庫,信息系統(tǒng)才能向后臺數(shù)據(jù)庫服務(wù)器提交這條記錄。否則倉庫中的家電早就丟光了。(3)該單據(jù)的下游是什么?是錄入“單據(jù)3”呢?還是打印“報表A”呢?還是當(dāng)日單據(jù)匯總處理呢?這個問題要明確。否則,操作員就可能誤操作。 6三種需求分析方法業(yè)界存在三種需求分析方法:面向功能分析、面向?qū)ο蠓治觥⒚嫦驍?shù)據(jù)分析。(1)面向功能分析,它是將軟件需求當(dāng)作一棵倒栽的功能樹,樹根在上,樹枝與樹葉在下,每個節(jié)點都

31、是一項具體的功能,從上到下,功能由粗到細(xì),樹根是總功能,樹枝是分功能,樹葉是細(xì)功能,整棵樹就是一個信息系統(tǒng)的全部功能樹。功能分析體現(xiàn)了“自頂向下、逐步求精”的思想,適合于“結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化編程、結(jié)構(gòu)化測試、結(jié)構(gòu)化組裝、結(jié)構(gòu)化維護(hù)”的傳統(tǒng)式軟件工程思想。 (2)面向?qū)ο蠓治觯瑢嵸|(zhì)上是面向類分析,它也從系統(tǒng)的基本功能入手,或從與系統(tǒng)有關(guān)的人和事入手,將所有的功能需求找出來,然后將每項功能對應(yīng)一個對象集(類),分析每個對象集的屬性、方法及包裝方式,最后歸并相同對象集,刪除冗余屬性,用以類及類之間的關(guān)聯(lián)來表示用戶所有需求。Rational Rose用Use case(稱為“用況”或“用例

32、”,表示與系統(tǒng)有關(guān)的人、設(shè)備或外界子系統(tǒng)的一組交互動作序列)來進(jìn)行需求分析,所有的Use case集合,就是系統(tǒng)的需求。 (3)面向數(shù)據(jù)分析,就是面向元數(shù)據(jù)和中間數(shù)據(jù)分析,只要將這兩類數(shù)據(jù)及其之間的關(guān)系分析透了,對開發(fā)者來說,主要目的就達(dá)到了。三種需求分析方法的對比情況,如表4-11所示。以上三種需求分析方法,各自適用于不同的目標(biāo)系統(tǒng)。但是,三種分析方法都離不開面向流程分析這根總線:功能、對象、數(shù)據(jù)都是在流程中產(chǎn)生的,又都是為流程服務(wù)的。 需求分析方法名稱目 的點 評適 用 范 圍面向功能需求分析為了獲得功能模型簡單明了系統(tǒng)軟件和應(yīng)用軟件面向?qū)ο笮枨蠓治鰹榱双@得對象模型復(fù)雜抽象系統(tǒng)軟件和應(yīng)用軟

33、件面向數(shù)據(jù)需求分析為了獲得數(shù)據(jù)模型抓住本質(zhì)以關(guān)系數(shù)據(jù)庫為平臺的信息系統(tǒng)7分析與設(shè)計要同時考慮無論是哪一種分析方法,在分析師心靈深處既要弄清目標(biāo)系統(tǒng)是什么,又要為目標(biāo)系統(tǒng)怎么設(shè)計做充分準(zhǔn)備。那種在分析師心靈深處只考慮目標(biāo)系統(tǒng)是什么、而不考慮目標(biāo)系統(tǒng)怎么做的需求分析觀點,是片面的、表面的、過時的、不可取的。有經(jīng)驗的分析師,常常是一邊搞需求分析,一邊思考今后怎么去設(shè)計實現(xiàn)。一旦發(fā)現(xiàn)設(shè)計實現(xiàn)中將會出現(xiàn)問題,立即進(jìn)一步需求分析。因為許多問題在分析“目標(biāo)系統(tǒng)是什么”時發(fā)現(xiàn)不了,只有考慮“目標(biāo)系統(tǒng)怎么做”時才能暴露。 8需求分析藝術(shù)需求分析還有許多藝術(shù),作為系統(tǒng)分析師(分析員),要在實踐中不斷提高自己,增長

34、才干,修煉自身,形成獨特的分析藝術(shù)。下面介紹常用的幾點藝術(shù)。(1)軟件分析師可以通過原型系統(tǒng)來表達(dá)對軟件需求的理解,從中也可以獲取新需求。(2)需求分析是雙打項目。 (3)宏觀上和微觀上都要以流程為主。(4)不能偏聽偏信。同一個業(yè)務(wù)流程,要有兩個以上的懂業(yè)務(wù)人員介紹,而且要經(jīng)得起推敲,要經(jīng)過優(yōu)化過濾處理,要被業(yè)務(wù)主管確認(rèn)。 (5)需求金字塔。企事業(yè)單位是個金字塔結(jié)構(gòu),上面小,下面大,需求也是個金字塔結(jié)構(gòu)。決策層提出宏觀上的統(tǒng)計、查詢、決策需求,管理層提出業(yè)務(wù)管理和作業(yè)控制需求,操作層提出錄入、修改、提交、處理、打印、界面、傳輸、通信、時間與速度等方面的操作需求。(6)匯報兩三次。在需求分析中,

35、一般要向用戶進(jìn)行兩三次匯報,公開征求決策層、管理層和操作層的意見。(7)要與用戶交朋友。要記住用戶的姓名、職務(wù)、職稱、特長、愛好、脾氣、特點。要交心談心,要講信譽(yù),要尊重人,要誠懇待人。 9提取需求技術(shù)(1) 會談在與用戶的會談過程中,軟件分析師應(yīng)積極地進(jìn)行引導(dǎo),使用戶能談出他們的需求。(2) 場景軟件分析師為每個用戶任務(wù)設(shè)計一個場景,以提問的方式提取需求。場景通常以用例圖來表示。(3) 原型用戶有時在原型系統(tǒng)中更容易表達(dá)自己的需求。原型技術(shù)有很多,從界面示意圖到快速搭建的原型系統(tǒng)。(4) 實地觀察10提取對象、屬性和方法的技術(shù)在面向?qū)ο蟮男枨蠓治鲋?,如何提取對?準(zhǔn)確說是對象集或類)呢?或者

36、說,對象在哪里?屬性在哪里?方法在哪里?回答是:因為“對象”是“名詞或名詞短語”,所以要到需求分析的重要名詞或名詞短語集合中去發(fā)現(xiàn)有用的“對象”;因為“屬性”是“形容詞或服務(wù)性名詞”,所以要到需求分析的主要形容詞集合或服務(wù)性名詞集合中去發(fā)現(xiàn)對象的“屬性”;因為“方法”是“動詞”,所以要到需求分析的主要動詞中去發(fā)現(xiàn)“方法”。 4.4 需求描述工具4.4.1 描述工具概述 需求分析就是建立問題域的概念模型。建立概念模型是為了幫助我們更好地理解問題域,而不是提供一個初始的解決方案。概念模型由來自問題域的實體組成,反映它們在現(xiàn)實現(xiàn)世中的各種關(guān)系。需求分析描述工具由文字?jǐn)⑹雠c圖表說明兩部分組成,圖形與表

37、格屬于一種世界性的技術(shù)語言,在需求分析文檔中多用圖表語言,少用自然語言。 需求分析中的概念模型,是站在用戶的立場上,開發(fā)者用一些軟件工具,來表述用戶對目標(biāo)系統(tǒng)的功能、性能、接口和界面的需求。這些工具包括用用例圖、數(shù)據(jù)流圖、狀態(tài)模型圖、用戶交互圖、對象模型圖、實體關(guān)系圖(E-R圖),以及功能需求列表、性能需求列表、接口需求列表、界面需求列表等。需求分析選擇哪種軟件描述工具,不僅決定于項目組采用何種軟件開發(fā)方法,而且取決于問題域的本質(zhì)特征。 面向過程的方法,一般采用數(shù)據(jù)流圖、加工說明、數(shù)據(jù)字典來描述需求;面向元數(shù)據(jù)的方法,一般采用實體關(guān)系圖來描述需求;面向?qū)ο蟮姆椒?,一般采用UML語言來描述需求;

38、對于實時系統(tǒng),它對數(shù)據(jù)流圖和狀態(tài)模型圖的要求高;對管理信息系統(tǒng),它對實體關(guān)系圖的要求高;對于Windows圖形界面下的網(wǎng)站開發(fā)與網(wǎng)絡(luò)游戲制作,它對UML語言中的有關(guān)圖形要求高。 關(guān)于功能需求列表、性能需求列表、接口需求列表、界面需求列表和“直式業(yè)務(wù)流程圖”,在前面的“需求分析的任務(wù)”中,已經(jīng)做了介紹,在此就不再說明了。下面將要介紹的需求分析描述工具有:(1)實體關(guān)系圖。(2)數(shù)據(jù)流圖。(3)用例圖。(4)活動圖。 4.4.2 面向元數(shù)據(jù)的需求描述工具 實體關(guān)系圖又叫E-R圖或?qū)嶓w-聯(lián)系模型,它是在調(diào)查分析用戶的需求之后,把用戶對數(shù)據(jù)的需求用實體聯(lián)系模型表達(dá)出來,明確描述應(yīng)用系統(tǒng)的概念結(jié)構(gòu)數(shù)據(jù)模

39、型。構(gòu)造E-R模型,要分析與確定應(yīng)用系統(tǒng)中的實體集、實體之間的聯(lián)系及實體或聯(lián)系的屬性等要素。概念數(shù)據(jù)庫模型的實質(zhì),就是分析和梳理現(xiàn)實中的數(shù)據(jù)及其數(shù)據(jù)聯(lián)系,為建立數(shù)據(jù)庫設(shè)計打好基礎(chǔ)。 圖4-5表示圖書館信息系統(tǒng)的實體聯(lián)系模型。主要實體是“圖書”和“讀者”,這兩個實體之間的關(guān)系是圖書借閱和圖書歸還,因為一個復(fù)雜關(guān)系也是一個實體,所以用“圖書借閱”和“圖書歸還”這兩個實體來表示這兩個復(fù)雜關(guān)系。另外,極少數(shù)讀者可能有違規(guī)行為,所以需要增設(shè)一個“罰款”實體。由于圖書館的圖書,來自于對外的采購,每一次采購都要有訂購單,而且一張訂購單上可以同時訂購一個出版社的多種圖書,所以要用“訂購單頭”和“訂購單明細(xì)”兩

40、個實體來描述。 需要指出的是:不同的軟件分析師,對于同一個圖書館信息系統(tǒng),所設(shè)計出來的實體-聯(lián)系圖,可能大同小異,也可能各不相同。因為對于同一個信息系統(tǒng),實體-聯(lián)系圖不存在唯一的標(biāo)準(zhǔn)答案。實體-聯(lián)系模型既是表達(dá)用戶需求的工具,又是數(shù)據(jù)庫概念設(shè)計的工具。在需求分析中,它叫做實體-聯(lián)系模型,在數(shù)據(jù)庫設(shè)計中,它叫做概念數(shù)據(jù)模型CDM。實體-聯(lián)系模型的每個實體、每個屬性、每個關(guān)系、每個操作方法,都要用數(shù)據(jù)字典詳盡定義。 4.4.3 面向過程的需求描述工具 面向過程分析也稱結(jié)構(gòu)化分析,結(jié)構(gòu)化分析采用“自頂向下,由外到內(nèi),逐層分解”的分析思想,即將一個復(fù)雜的系統(tǒng)逐層分解成許多簡單的基本加工,當(dāng)信息“流”過

41、系統(tǒng)時,被系統(tǒng)進(jìn)行加工變換。面向過程分析方法常用的需求建模工具是:數(shù)據(jù)流圖DFD(Data Flow Diagram),以用表示數(shù)據(jù)的流向及對數(shù)據(jù)的加工處理;數(shù)據(jù)字典DD(Data Dictionary),用以定義DFD圖中的各種條目,如信息源、信息潭、加工、文件、數(shù)據(jù)流連線。 1. 數(shù)據(jù)流圖DFD先畫出的頂層數(shù)據(jù)流圖,它高度抽象地反映了系統(tǒng)的全貌,準(zhǔn)確地描述了系統(tǒng)與外界的數(shù)據(jù)聯(lián)系和系統(tǒng)的范圍。再逐層畫出的底層數(shù)據(jù)流圖,具體地描述上層系統(tǒng)的細(xì)節(jié)。還需要使用加工說明,來具體描述每個加工的處理過程和方法;用數(shù)據(jù)字典說明每個數(shù)據(jù)流的組成、每個數(shù)據(jù)文件的內(nèi)容以及每個數(shù)據(jù)項的定義等。加工說明、數(shù)據(jù)字典作

42、為輔助手段,共同給出了數(shù)據(jù)流圖中每個元素的精確定義。數(shù)據(jù)流圖的描述符號主要只有四種:數(shù)據(jù)源或數(shù)據(jù)潭、數(shù)據(jù)流動的連線、數(shù)據(jù)加工或處理泡、輸入或輸出文件,如表4-12所示。名稱圖例說明信息源或信息潭表示信息源或信息潭,即數(shù)據(jù)流的起點或終點加工或處理表示對流到此處的數(shù)據(jù)進(jìn)行加工或處理,即對數(shù)據(jù)的算法分析與科學(xué)計算輸入文件/輸出文件表示輸入文件或輸出文件,說明加工或處理之前的輸入文件,記錄加工或處理之后的輸出文件數(shù)據(jù)流連線表示數(shù)據(jù)流的流動方向數(shù)據(jù)流圖運用圖形方式描述系統(tǒng)內(nèi)部的數(shù)據(jù)流程,形象而準(zhǔn)確地表達(dá)了系統(tǒng)的各處理環(huán)節(jié)以及各環(huán)節(jié)之間的數(shù)據(jù)聯(lián)系,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具。數(shù)據(jù)流圖運用加工、文件

43、、數(shù)據(jù)流線等圖形來反映系統(tǒng)的邏輯功能及其內(nèi)部的數(shù)據(jù)聯(lián)系。信息系統(tǒng)的數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu):變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu),結(jié)構(gòu)化設(shè)計方法提出了變換分析和事務(wù)分析兩種導(dǎo)出初始模塊結(jié)構(gòu)圖的基本方法。若要了解詳細(xì)情況,請在網(wǎng)上搜索或參閱其它軟件工程書籍。但是,本書作者認(rèn)為:變換分析和事務(wù)分析已經(jīng)過時。 數(shù)據(jù)流圖中的每一個基本加工,即不需再進(jìn)一步分解的加工,都必須有一個加工說明,其他加工則不必都作說明。因為基本加工及加工間的數(shù)據(jù)說明清楚了,那么其父圖中的對應(yīng)加工也就清楚了。根據(jù)DFD的分解情況逐層畫出DFD,在畫每張DFD時,應(yīng)該遵循下述準(zhǔn)則:(1).將所有的輸入/出數(shù)據(jù)流用一連串加工連接起來。一般可以從輸

44、入端開始,逐步到輸出端。(2).應(yīng)集中精力找出數(shù)據(jù)流。如發(fā)現(xiàn)有一組數(shù)據(jù),且用戶將其作為一個整體來處理時,則把這組數(shù)據(jù)作為一個輸入流,否則應(yīng)視為不同的數(shù)據(jù)流。 (3).在找到數(shù)據(jù)流后,標(biāo)識該數(shù)據(jù)流,然后分析該數(shù)據(jù)流的組成成分及來去方向,并將其與加工連接。在加工被標(biāo)識后,再繼續(xù)尋找其他的數(shù)據(jù)流。(4).當(dāng)加工需要用到共享和暫存數(shù)據(jù)時,設(shè)置文件及其標(biāo)識。(5).分析加工的內(nèi)部,如果加工還比較抽象或其內(nèi)部還有數(shù)據(jù)流,則需將該加工進(jìn)一步分解,直至到達(dá)底層圖。(6).為所有的數(shù)據(jù)流命名,為所有加工命名編號。編號的方法如下:對于子圖的圖號,通常是父圖中相應(yīng)被分解加工的編號,加工編號圖號+小數(shù)點+局部順序號。

45、(7).由于頂層DFD(0層圖)只有一張,只有一個加工,該加工不用編號。加工編號應(yīng)從第一層開始,順序編號為1,2,3, 在畫DFD時還應(yīng)注意如下情況:(1).畫圖時只考慮如何描述實際情況,不要急于考慮系統(tǒng)應(yīng)如何啟動,如何工作,如何結(jié)束等與時間序列相關(guān)的問題。(2).畫圖時可暫不考慮一些例外情況,如出錯處理等。(3).畫圖的過程是一個重復(fù)的過程,一次性成功可能性較小,需要不斷地修改和完善。為便于理解。自然語言具有表達(dá)內(nèi)容豐富,但用于描述加工又容易有不夠簡潔,因此不適宜直接用于描述加工說明;用形式語言來描述,雖然表達(dá)精確簡練,但專業(yè)性強(qiáng),不易被用戶理解。所以,加工說明常常用結(jié)構(gòu)化語言、判定樹和判定

46、表來描述。 若加工中既包含了順序執(zhí)行的動作,又包含了判斷或循環(huán)邏輯時,使用結(jié)構(gòu)化語言最好;對于一個不太復(fù)雜的判斷邏輯,或判斷很復(fù)雜但在與用戶討論時,使用判斷樹最好;對于復(fù)雜的判斷邏輯,條件多、條件組合與判斷結(jié)果也多時,使用判定表最好。也可以交叉使用,互為補(bǔ)充,以充分發(fā)揮各自的長處。目的只有一個:表達(dá)簡潔、精確、清晰、可讀性和容易理解。 2. 數(shù)據(jù)詞典DDDFD雖然描述了數(shù)據(jù)在系統(tǒng)中的流向和加工的分解,但不能體現(xiàn)數(shù)據(jù)流和加工的具體含義。數(shù)據(jù)詞典DD就是用于描述數(shù)據(jù)的具體含義和加工的說明。所謂數(shù)據(jù)詞典DD,就是由DFD中所有元素的“嚴(yán)格定義”組成。其作用就是為DFD中出現(xiàn)的每個元素提供詳細(xì)的說明,

47、即DFD中出現(xiàn)的每個數(shù)據(jù)流名、文件名和加工名都在數(shù)據(jù)詞典中有一個條目以定義相應(yīng)的含義。當(dāng)需要查看DFD中某個元素的含義時,可借助于數(shù)據(jù)詞典。數(shù)據(jù)詞典中的條目類型如下: (1).數(shù)據(jù)流條目:用于定義數(shù)據(jù)流。 (2).文件條目:用于定義文件。 (3).加工條目:用于說明加工。 由于數(shù)據(jù)流圖DFD及其數(shù)據(jù)字典DD,是需求分析中的早期工具,時至今天,除了在面向過程的實時控制系統(tǒng)中還采用之外,其他領(lǐng)域就很少采用了。 *4.4.4 面向?qū)ο蟮男枨竺枋龉ぞ?面向?qū)ο笮枨蠓治龅拿枋龉ぞ?,主要有統(tǒng)一建模語言UML中的用例圖、類圖、順序圖和活動圖。1用例圖在統(tǒng)一建模語言UML中,用例圖又叫做用況圖,有時又稱為Us

48、e Case圖。它用于定義系統(tǒng)的行為,展示角色(系統(tǒng)的外部實體,即參入者)與用例(系統(tǒng)執(zhí)行的服務(wù))之間的相互作用。用例圖是需求和系統(tǒng)行為設(shè)計的高層模型,它以圖形化的方式描述外部實體對系統(tǒng)功能的感知。用例圖從用戶的角度來組織需求,每個用例描述一個特定的任務(wù),其圖例如表4-13所示。 名稱圖例說明角色actor代表與系統(tǒng)交互的實體。角色可以用戶、其它系統(tǒng)或者硬件設(shè)備。在用例圖中以小人表示。下圖中“圖書管理員”、“讀者”和“系統(tǒng)管理員”是與系統(tǒng)進(jìn)行交互的角色用例use case定義了系統(tǒng)執(zhí)行的一系列活動,產(chǎn)生一個對特定角色可觀測的結(jié)果。在用例圖中,用例以橢圓表示?!耙幌盗械幕顒印笨梢允窍到y(tǒng)執(zhí)行的功能

49、、數(shù)學(xué)計算、或其它產(chǎn)生一個結(jié)果的內(nèi)部過程?;顒邮窃有缘?,即要么完整的執(zhí)行,要么全不執(zhí)行。活動的原子性可以決定用例的粒度。用例必須向角色提供反饋。下圖中“用戶管理”、“圖書管理”、“借還登記”等表示用例關(guān)聯(lián)association表示用戶和用例之間的交互關(guān)系。用實線表示依賴用例與用例之間的依賴關(guān)系。用帶箭頭的虛線表示。用例之間的依賴關(guān)系,可以依賴關(guān)系,可以用原型進(jìn)行語義擴(kuò)展,例如、等。用例模型可以在不同層次上建立,從而可以具有不同的粒度。圖4-6是圖書館信息系統(tǒng)頂層的用例圖,可根據(jù)需要進(jìn)行分解。圖4-7是圖書館信息系統(tǒng)對“借還登記”用例進(jìn)行分解的底層用例圖。用例模型除了繪制用例圖外,還要對用例進(jìn)

50、行描述。用例描述可以是文字性的,也可以用活動圖進(jìn)行說明。文字性的用例描述模板如圖4-8所示。以“借書登記”為例,其具體的用例描述,如下圖4-9所示。 用例編號:(用例編號)用例名稱:(用例名稱)用例描述:(用例描述)前置條件:(描述用例執(zhí)行前必須滿足的條件)后置條件:(描述用例執(zhí)行結(jié)束后將執(zhí)行的內(nèi)容)活動步驟:(描述常規(guī)條件下,系統(tǒng)執(zhí)行的步驟)步驟1步驟2步驟3擴(kuò)展點:(描述其它情況下,系統(tǒng)執(zhí)行的步驟)2a. 擴(kuò)展步驟2a2a1. 擴(kuò)展步驟2a1異常處理:(描述在異常情況下可能出現(xiàn)的場景)用例編號:3.1用例名稱:借書登記用例描述:圖書管理員對讀者借閱的圖書進(jìn)行登記。讀者借閱圖書的數(shù)量不能超過

51、規(guī)定的數(shù)量。如果讀者有過期未還的圖書,不能借閱新圖書。前置條件:讀者請求借閱登記。后置條件:讀者取得借閱的圖書。活動步驟: 讀者請求借閱圖書。檢查讀者的狀態(tài)。檢查圖書的狀態(tài)。標(biāo)記圖書為借出狀態(tài)。讀者獲取圖書。擴(kuò)展點: 2a. 如果用戶借閱數(shù)量超過規(guī)定數(shù)量,或者有逾期未還的圖書,則用例終止。3a. 如果借閱的圖書不存在,則用例終止。異常處理: 無2類圖由用例圖4-10可以畫出類圖,如圖4-11所示。類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。由類圖可以畫出概念數(shù)據(jù)模型E-R圖,如圖4-12所示。為了全面而準(zhǔn)確地說明用戶需求,有時還需要利用順序圖和活動圖。順序圖又叫時序圖,順序圖是顯示對象之間發(fā)送的消息的時間順序?;?/p>

52、動圖用于描述系統(tǒng)行為。在需求階段,可以配合用例圖說明復(fù)雜的交互過程。 4.5 需求過程管理 1. 需求過程管理的任務(wù)與內(nèi)容需求過程管理的中心任務(wù),是保證軟件項目或產(chǎn)品滿足客戶在軟件功能、性能、接口三個方面的需求。在開發(fā)過程中,經(jīng)常會碰到客戶不明確的需求及頻繁的需求變更,正確地對待并處理這種情況,可以保證軟件產(chǎn)品在預(yù)計的進(jìn)度和成本范圍內(nèi)提交。需求過程管理的目標(biāo),是管理和控制需求,維護(hù)軟件計劃、產(chǎn)品和活動與需求的一致性,并保證需求在軟件項目中得到實現(xiàn)。 按照“五個面向理論”,需求過程管理是面向需求過程的,需求過程管理主要包括需求確認(rèn)、需求評審、需求跟蹤和需求變更活動。 (1).非技術(shù)需求,一般在協(xié)

53、議、條件和合同條款中描述,包括提交的產(chǎn)品、提交的日期和里程碑等內(nèi)容。(2)技術(shù)需求,描述系統(tǒng)的軟件功能、性能、接口、設(shè)計約束、編程語言和界面需求等多方面內(nèi)容。(3).需求跟蹤矩陣,是在充分了解技術(shù)需求的基礎(chǔ)上編制的。需求跟蹤矩陣的建立,使項目經(jīng)理能夠跟蹤每一項需求的實現(xiàn)狀態(tài)。 需求評審的對象是需求確認(rèn)的結(jié)果,包括技術(shù)需求文檔、非技術(shù)需求文檔和需求跟蹤矩陣。評審的主要目的在于:(1)確定分配的軟件功能、性能、接口需求,用軟件來實現(xiàn)是可行的、適當(dāng)?shù)?。?)軟件功能、性能、接口需求被清晰、正確地描述。(3)軟件功能、性能、接口需求是一致的、相互不矛盾。(4)軟件功能、性能、接口需求是可測試的。評審的

54、結(jié)束,標(biāo)志著與客戶協(xié)商確認(rèn)需求過程的結(jié)束。通過高級管理者批準(zhǔn)的需求文檔,應(yīng)置于軟件基線庫中,進(jìn)行配置管理和控制,作為軟件項目策劃的主要輸入。 需求跟蹤是需求過程管理的一項重要內(nèi)容。需求跟蹤的主要內(nèi)容是跟蹤不符合項的改正情況。需求跟蹤的主要意義在于,獲得需求目前的實現(xiàn)狀態(tài),確保用戶所有的需求都得到滿足。可靠的跟蹤信息可為需求變更、系統(tǒng)維護(hù)、關(guān)鍵成員離開、系統(tǒng)再設(shè)計和類似系統(tǒng)設(shè)計等很多方面,提供參考和指導(dǎo),并可以減少風(fēng)險和提高項目成功。表4-15就是一個簡單易行的需求跟蹤矩陣。 用戶需求點測試用例用例執(zhí)行狀態(tài)概要設(shè)計詳細(xì)設(shè)計程序代碼單元測試集成測試用戶驗收功能需求1已產(chǎn)生已執(zhí)行已覆蓋已覆蓋已覆蓋已通過已通過功能需求2已產(chǎn)生已執(zhí)行已覆蓋已覆蓋已覆蓋已通過未通過性能需求1已產(chǎn)生已執(zhí)行已覆蓋已覆蓋已覆蓋已通過未通過性能需求2已產(chǎn)生接口需求1已產(chǎn)生已執(zhí)行已覆蓋已覆蓋已覆蓋已通過未通過接口需求2已產(chǎn)生2對需求文檔進(jìn)行同行評審需求文檔經(jīng)過確認(rèn)和驗證后才能生效。經(jīng)過需求確認(rèn),保證需求文檔是可理解的、一致的和完整的。不同的涉眾,包括客戶、同行專家和開發(fā)人員,應(yīng)對文檔進(jìn)行評審和確認(rèn)。驗證方式就是需求評審。邀請相關(guān)的評審人員閱讀需求文檔,找出其中的錯誤,不正確的假設(shè),表達(dá)不清的地方,以及與標(biāo)準(zhǔn)不符的地方。評審成員應(yīng)包括客戶代表,最好為他

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論