軟件工程-第3章需求分析_第1頁
軟件工程-第3章需求分析_第2頁
軟件工程-第3章需求分析_第3頁
軟件工程-第3章需求分析_第4頁
軟件工程-第3章需求分析_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程與軟件開發(fā)工具軟件工程與軟件開發(fā)工具第第3章章 需求分析需求分析 3.13.1需求分析概述需求分析概述 3.23.2數(shù)據(jù)流圖數(shù)據(jù)流圖 3.33.3數(shù)據(jù)字典數(shù)據(jù)字典 3.43.4加工邏輯描述工具加工邏輯描述工具 3.53.5結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法 3.63.6復(fù)審復(fù)審 3.73.7需求分析人員需求分析人員 3.1.2 需求類型1. 按內(nèi)容分類 軟件需求代表系統(tǒng)的綜合要求,包括以下幾種類型:(1) 系統(tǒng)功能需求 系統(tǒng)功能需求指根據(jù)系統(tǒng)所能實(shí)現(xiàn)的功能要求,對(duì)于每一類功能或者有時(shí)對(duì)于每一個(gè)功能,需要弄清輸入、加工和輸出等需求。(2) 系統(tǒng)性能需求 按照系統(tǒng)的性能要求分類。例如聯(lián)機(jī)系統(tǒng)的響

2、應(yīng)時(shí)間、系統(tǒng)需要的存儲(chǔ)容量、后援存儲(chǔ)器、重新啟動(dòng)、安全性和可靠性等方面的要求。3.1.2 需求類型(2)(3) 系統(tǒng)運(yùn)行需求 這類要求集中表現(xiàn)為對(duì)系統(tǒng)運(yùn)行時(shí)所處的環(huán)境、使用的資源、安全保密和用戶界面的要求。如支持系統(tǒng)運(yùn)行的硬件和軟件是什么,采取哪種數(shù)據(jù)庫管理系統(tǒng),需要什么樣的外存儲(chǔ)器和數(shù)據(jù)通信接口。 (4) 未來可能出現(xiàn)的問題 就是把不屬于當(dāng)前系統(tǒng)開發(fā)范圍的問題都明確地列出來,因?yàn)閷砗芸赡軙?huì)提出這些問題。這些問題主要是為了系統(tǒng)將來的擴(kuò)充和修改做準(zhǔn)備,當(dāng)以后需要時(shí)就可以很容易地進(jìn)行擴(kuò)展和修改了。3.1.2 需求類型(3)2. 2. 按用戶的期望分類按用戶的期望分類(1) 正常需求 用戶陳述的針

3、對(duì)系統(tǒng)的目標(biāo)。(2) 期望需求 隱式的需求,可能由于是非?;A(chǔ)的而用戶沒有顯示的陳述,如人機(jī)交互的容易性、整體的操作正確性和可靠性,以及軟件安裝的容易性。(3) 興奮需求 在用戶的期望范圍之外,如果實(shí)現(xiàn)將令人愉快和出乎意料。3.1.2 需求類型(4)3. 按必要性分類(1) 強(qiáng)制的需求 是指除非軟件與這些需求一致,則該軟件是不可接受的 (2) 希望的需求 是指這些需求將增進(jìn)軟件產(chǎn)品功能,但是如果缺乏的話也不是不可接受 (3) 任選的需求 是指這個(gè)功能可有可無3.1.3 需求特性(1) 正確性 需求規(guī)格說明書中的功能、行為、性能描述必須與用戶對(duì)目標(biāo)軟件產(chǎn)品的期望相吻合。(2) 無歧義性 對(duì)于用戶

4、、分析人員、設(shè)計(jì)人員和測(cè)試人員而言,需求規(guī)格說明書中的任何語法單位只能有唯一的語義解釋。確保無歧義性的一種有效措施是在需求規(guī)格說明書中使用標(biāo)準(zhǔn)化術(shù)語,并對(duì)術(shù)語的語義進(jìn)行顯式的、統(tǒng)一的解釋。(3) 完整性 需求規(guī)格說明書不能遺漏任何用戶需求,具體地說,目標(biāo)軟件產(chǎn)品的所有功能、行為、行為約束以及它在所有可能情況下的預(yù)期行為,均應(yīng)完整地包含在需求規(guī)格說明書中。(4) 可驗(yàn)證性 對(duì)于規(guī)格說明書中的每一個(gè)需求,均應(yīng)存在技術(shù)和經(jīng)濟(jì)上可行的手段進(jìn)行驗(yàn)證和確認(rèn)。3.1.3 需求特性(2)(5) 一致性 需求規(guī)格說明書的各部分之間不能相互矛盾。這些矛盾可以表現(xiàn)為術(shù)語使用方面的沖突,功能和行為方面的沖突,以及時(shí)序

5、方面的前后不一致。(6) 可理解性 追求上述目標(biāo)不應(yīng)妨礙需求規(guī)格說明書對(duì)于用戶、設(shè)計(jì)人員和測(cè)試人員的易理解性。特別是對(duì)于非計(jì)算機(jī)專業(yè)的用戶而言,不宜在說明書中使用太多的專業(yè)化詞匯。(7) 可修改性 需求規(guī)格說明書的格式和組織方式應(yīng)保證能夠比較容易地接納后續(xù)的增刪和修改,并使修改后的說明書能夠較好地保持其他各項(xiàng)屬性。(8) 可追蹤性 需求規(guī)格說明書必須將分析后獲得的每項(xiàng)需求與用戶的原始需求項(xiàng)清晰地聯(lián)系起來,并為后續(xù)開發(fā)和其他文檔引用這些需求項(xiàng)提供便利。關(guān)于需求分析關(guān)于需求分析如何看待需求如何看待需求 理解需求和功能的區(qū)別 需求是需要分析的 需求一般不專一,是會(huì)變的 (要注意應(yīng)變) (1)積極的溝

6、通。及時(shí)了解變化,并進(jìn)行變更控制管理。 (2)在系統(tǒng)的架構(gòu)設(shè)計(jì)上,為變化做準(zhǔn)備。面向?qū)ο笠埠?、面向服?wù)也好、三層也好、四層也好,我們?yōu)槭裁窗汛a分開層次,為什么提供那么多抽象的接口?都是為了應(yīng)對(duì)變化,為了我們?cè)谶@個(gè)需求像云彩一樣變化的環(huán)境中能夠適應(yīng)。 保持溝通渠道的暢通 需求分析的一般性技術(shù)為了克服困難,更有效地開展需求分析工作,為了克服困難,更有效地開展需求分析工作,軟件系統(tǒng)分析人員必須掌握一些基本的軟件系統(tǒng)分析人員必須掌握一些基本的需求分需求分析技術(shù)析技術(shù),主要包括:,主要包括: 初步需求獲取技術(shù);初步需求獲取技術(shù); 需求建模技術(shù);需求建模技術(shù); 快速原型技術(shù);快速原型技術(shù); 問題的分解與

7、抽象;問題的分解與抽象; 多視點(diǎn)分析技術(shù)等。多視點(diǎn)分析技術(shù)等。初步需求獲取技術(shù)原因:原因:在分析階段的初期,由于分析人員和用在分析階段的初期,由于分析人員和用戶的共同知識(shí)領(lǐng)域可能不多,致使分析人員對(duì)戶的共同知識(shí)領(lǐng)域可能不多,致使分析人員對(duì)問題往往知之不多,而用戶對(duì)目標(biāo)軟件的要求問題往往知之不多,而用戶對(duì)目標(biāo)軟件的要求及對(duì)要求的描述常常是零亂而模糊的,從而會(huì)及對(duì)要求的描述常常是零亂而模糊的,從而會(huì)造成相互交流和相互理解上的困難。造成相互交流和相互理解上的困難。為了克服困難,獲取初步需求,可以采用如下為了克服困難,獲取初步需求,可以采用如下的的技術(shù)手段:技術(shù)手段: 訪談與會(huì)議;訪談與會(huì)議; 觀察用

8、戶工作流程;觀察用戶工作流程; 分析人員和用戶組成聯(lián)合小組。分析人員和用戶組成聯(lián)合小組。1訪談與會(huì)議分析人員采用個(gè)別訪談或小組會(huì)議的形式與用戶進(jìn)分析人員采用個(gè)別訪談或小組會(huì)議的形式與用戶進(jìn)行初步交流。在訪談和會(huì)議之前,分析人員根據(jù)對(duì)行初步交流。在訪談和會(huì)議之前,分析人員根據(jù)對(duì)問題的初步描述精心準(zhǔn)備問題的初步描述精心準(zhǔn)備一系列問題一系列問題,通過用戶對(duì),通過用戶對(duì)問題的回答或互相商討來逐步理解用戶的需求。問題的回答或互相商討來逐步理解用戶的需求。準(zhǔn)備問題的原則有:準(zhǔn)備問題的原則有:首先應(yīng)搞清一般性、整體性問題,然后再涉及細(xì)節(jié)首先應(yīng)搞清一般性、整體性問題,然后再涉及細(xì)節(jié)問題。問題。在組織問題時(shí)要盡

9、量做到客觀、公證,不應(yīng)限制用在組織問題時(shí)要盡量做到客觀、公證,不應(yīng)限制用戶的自由發(fā)揮。戶的自由發(fā)揮。所提問題匯總后應(yīng)能反映應(yīng)用問題及其子問題的全所提問題匯總后應(yīng)能反映應(yīng)用問題及其子問題的全貌、并且不要過分詳細(xì)。貌、并且不要過分詳細(xì)。2觀察用戶工作流程通過實(shí)際觀察用戶的手工操作過程來提通過實(shí)際觀察用戶的手工操作過程來提取新系統(tǒng)的初步用戶需求。取新系統(tǒng)的初步用戶需求。第一手資料第一手資料軟件開發(fā)和應(yīng)用的經(jīng)驗(yàn)軟件開發(fā)和應(yīng)用的經(jīng)驗(yàn)發(fā)現(xiàn)不合理的用戶需求、提出用戶發(fā)現(xiàn)不合理的用戶需求、提出用戶還沒有意識(shí)到的潛在的但卻很有價(jià)還沒有意識(shí)到的潛在的但卻很有價(jià)值的用戶需求值的用戶需求獲得用戶滿意的分析結(jié)果獲得用戶

10、滿意的分析結(jié)果觀察手工操作過程觀察手工操作過程3用戶和開發(fā)人員共同組成聯(lián)合小組目的:目的:為加強(qiáng)信息溝通、減少誤解和避免產(chǎn)生遺漏、為加強(qiáng)信息溝通、減少誤解和避免產(chǎn)生遺漏、充分調(diào)動(dòng)用戶的積極性。充分調(diào)動(dòng)用戶的積極性。方法:方法:建立由開發(fā)方和用戶方共同組成的聯(lián)合小組。建立由開發(fā)方和用戶方共同組成的聯(lián)合小組。聯(lián)合小組成員:聯(lián)合小組成員:雙方的分析人員雙方的分析人員 專門的記錄員專門的記錄員 負(fù)責(zé)會(huì)議議程的人員負(fù)責(zé)會(huì)議議程的人員 資料員資料員 另外:制定小組的規(guī)章制度和計(jì)劃,選定一種易于另外:制定小組的規(guī)章制度和計(jì)劃,選定一種易于理解、簡(jiǎn)潔、精確的表示機(jī)制作為雙方的共同語言,理解、簡(jiǎn)潔、精確的表示機(jī)

11、制作為雙方的共同語言,比如采用帶文字說明的流程圖等。比如采用帶文字說明的流程圖等?!纠窟@里以“家庭保安系統(tǒng)”為例,簡(jiǎn)要說明初步需求的獲取過程。假設(shè)用戶的原始需求描述如下: 根據(jù)家庭保安市場(chǎng)的增長(zhǎng)趨勢(shì),我根據(jù)家庭保安市場(chǎng)的增長(zhǎng)趨勢(shì),我們希望建立一種基于微處理器的家們希望建立一種基于微處理器的家庭保安系統(tǒng),它能夠識(shí)別異常事件庭保安系統(tǒng),它能夠識(shí)別異常事件并采取相應(yīng)的報(bào)警措施。這些并采取相應(yīng)的報(bào)警措施。這些異常異常事件有:非法進(jìn)入、火災(zāi)、水淹事件有:非法進(jìn)入、火災(zāi)、水淹,等等。當(dāng)傳感器一旦探測(cè)出相應(yīng)的等等。當(dāng)傳感器一旦探測(cè)出相應(yīng)的異常事件時(shí),系統(tǒng)應(yīng)異常事件時(shí),系統(tǒng)應(yīng)自動(dòng)用電話向自動(dòng)用電話向監(jiān)控中心

12、報(bào)警監(jiān)控中心報(bào)警。此外,系統(tǒng)應(yīng)允許。此外,系統(tǒng)應(yīng)允許戶主對(duì)其行為實(shí)施程序式控制戶主對(duì)其行為實(shí)施程序式控制?!纠繛檫M(jìn)行初步的需求分析,這里采用開發(fā)方和用戶方組為進(jìn)行初步的需求分析,這里采用開發(fā)方和用戶方組成聯(lián)合小組的方法。為此,聯(lián)合小組成聯(lián)合小組的方法。為此,聯(lián)合小組應(yīng)制定工作制度應(yīng)制定工作制度:每次會(huì)議開始前必須有確定的議程,小組成員必須針每次會(huì)議開始前必須有確定的議程,小組成員必須針對(duì)議程進(jìn)行充分準(zhǔn)備并應(yīng)形成文字。對(duì)議程進(jìn)行充分準(zhǔn)備并應(yīng)形成文字。聯(lián)合小組會(huì)議聯(lián)合小組會(huì)議首先應(yīng)明確問題的范圍、問題與環(huán)境的首先應(yīng)明確問題的范圍、問題與環(huán)境的關(guān)系,并就開發(fā)軟件產(chǎn)品的必要性達(dá)成共識(shí)。關(guān)系,并就開發(fā)

13、軟件產(chǎn)品的必要性達(dá)成共識(shí)。小組負(fù)責(zé)人要求小組負(fù)責(zé)人要求每位參加者每位參加者根據(jù)負(fù)責(zé)的范圍列出應(yīng)用根據(jù)負(fù)責(zé)的范圍列出應(yīng)用問題及環(huán)境中有關(guān)的對(duì)象、對(duì)象的操作及對(duì)象間的關(guān)問題及環(huán)境中有關(guān)的對(duì)象、對(duì)象的操作及對(duì)象間的關(guān)系。系。 如:如:市場(chǎng)營(yíng)銷人員列出控制面板、電話機(jī)、監(jiān)控中心市場(chǎng)營(yíng)銷人員列出控制面板、電話機(jī)、監(jiān)控中心等對(duì)象和用戶編程控制、電話撥號(hào)、報(bào)警等操作;等對(duì)象和用戶編程控制、電話撥號(hào)、報(bào)警等操作; 負(fù)責(zé)傳感器的用戶可能列舉煙霧傳感器、門窗監(jiān)負(fù)責(zé)傳感器的用戶可能列舉煙霧傳感器、門窗監(jiān)視器、警報(bào)器等對(duì)象。視器、警報(bào)器等對(duì)象?!纠繉?duì)這些列舉的對(duì)象和操作將對(duì)這些列舉的對(duì)象和操作進(jìn)行更詳細(xì)的討論進(jìn)行

14、更詳細(xì)的討論和描述和描述,比如,詳細(xì)地描述接收傳感器事件、,比如,詳細(xì)地描述接收傳感器事件、用戶編程控制、電話報(bào)警等操作等。用戶編程控制、電話報(bào)警等操作等。用戶用戶可能提出一些約束條件。比如,造價(jià)不應(yīng)可能提出一些約束條件。比如,造價(jià)不應(yīng)超過超過30003000元,對(duì)傳感器事件的響應(yīng)時(shí)間不得元,對(duì)傳感器事件的響應(yīng)時(shí)間不得超過超過1 1秒,事件必須按優(yōu)先級(jí)順序進(jìn)行處理等秒,事件必須按優(yōu)先級(jí)順序進(jìn)行處理等等。等。小組負(fù)責(zé)人應(yīng)對(duì)這些小組負(fù)責(zé)人應(yīng)對(duì)這些信息加以整理信息加以整理并形成文檔,并形成文檔,該文檔應(yīng)能反映該文檔應(yīng)能反映“家庭保安系統(tǒng)家庭保安系統(tǒng)”的全貌。的全貌。【例】根據(jù)根據(jù)“家庭保安系統(tǒng)家庭保

15、安系統(tǒng)”的特點(diǎn),的特點(diǎn),將聯(lián)合小組分將聯(lián)合小組分成兩個(gè)小組成兩個(gè)小組,并行處理用戶編程控制和傳感器,并行處理用戶編程控制和傳感器檢測(cè)兩個(gè)子系統(tǒng),以便使子問題的軟件需求進(jìn)檢測(cè)兩個(gè)子系統(tǒng),以便使子問題的軟件需求進(jìn)一步細(xì)化,這時(shí)可能又會(huì)增加新對(duì)象、新操作、一步細(xì)化,這時(shí)可能又會(huì)增加新對(duì)象、新操作、新約束條件。在子系統(tǒng)的需求基本明確并形成新約束條件。在子系統(tǒng)的需求基本明確并形成文檔后,還應(yīng)就子系統(tǒng)的整合及需求驗(yàn)證標(biāo)準(zhǔn)文檔后,還應(yīng)就子系統(tǒng)的整合及需求驗(yàn)證標(biāo)準(zhǔn)等進(jìn)行初步的討論。等進(jìn)行初步的討論。初步需求分析應(yīng)初步需求分析應(yīng)形成結(jié)論性文檔形成結(jié)論性文檔。比如,經(jīng)過。比如,經(jīng)過初步的需求分析,初步的需求分析,

16、“家庭保安系統(tǒng)家庭保安系統(tǒng)”的部分初的部分初步需求文檔如下:步需求文檔如下:【例】 “家庭保安系統(tǒng)家庭保安系統(tǒng)”的軟件允許用戶在安裝時(shí)進(jìn)行系統(tǒng)配的軟件允許用戶在安裝時(shí)進(jìn)行系統(tǒng)配置,實(shí)施對(duì)傳感器的監(jiān)控并通過控制面板與戶主進(jìn)行信置,實(shí)施對(duì)傳感器的監(jiān)控并通過控制面板與戶主進(jìn)行信息交互。息交互。 系統(tǒng)開機(jī)后,軟件系統(tǒng)負(fù)責(zé)顯示系統(tǒng)當(dāng)前的工作系統(tǒng)開機(jī)后,軟件系統(tǒng)負(fù)責(zé)顯示系統(tǒng)當(dāng)前的工作狀態(tài),接收并處理戶主的命令。狀態(tài),接收并處理戶主的命令。 當(dāng)系統(tǒng)處于配置狀態(tài),軟件系統(tǒng)允許戶主進(jìn)行配置操當(dāng)系統(tǒng)處于配置狀態(tài),軟件系統(tǒng)允許戶主進(jìn)行配置操作。作。配置操作包括:指定每一傳感器的種類和編號(hào);配置操作包括:指定每一傳感

17、器的種類和編號(hào); 設(shè)置開、關(guān)機(jī)密碼;設(shè)置開、關(guān)機(jī)密碼; 指定報(bào)警電話號(hào)碼;指定報(bào)警電話號(hào)碼; 指定報(bào)警延遲和電話重?fù)苎舆t時(shí)間指定報(bào)警延遲和電話重?fù)苎舆t時(shí)間(以秒為單位)。(以秒為單位)。 當(dāng)系統(tǒng)處于監(jiān)視狀態(tài)時(shí),軟件系統(tǒng)即開始對(duì)所當(dāng)系統(tǒng)處于監(jiān)視狀態(tài)時(shí),軟件系統(tǒng)即開始對(duì)所有傳感器實(shí)施監(jiān)控。當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)有傳感器實(shí)施監(jiān)控。當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判別是否出現(xiàn)異常事件,如果是,則經(jīng)過指定的據(jù)后,判別是否出現(xiàn)異常事件,如果是,則經(jīng)過指定的延遲時(shí)間即開始撥報(bào)警電話號(hào)碼,撥號(hào)操作將按照重?fù)苎舆t時(shí)間即開始撥報(bào)警電話號(hào)碼,撥號(hào)操作將按照重?fù)苎舆t反復(fù)進(jìn)行,直至電話接通。此時(shí)軟件系統(tǒng)負(fù)責(zé)

18、向監(jiān)延遲反復(fù)進(jìn)行,直至電話接通。此時(shí)軟件系統(tǒng)負(fù)責(zé)向監(jiān)控中心報(bào)告異常事件發(fā)生的地點(diǎn)、時(shí)間和性質(zhì)。控中心報(bào)告異常事件發(fā)生的地點(diǎn)、時(shí)間和性質(zhì)?!纠?以上文檔沒有包括約束條件、測(cè)試標(biāo)準(zhǔn)等方以上文檔沒有包括約束條件、測(cè)試標(biāo)準(zhǔn)等方面的內(nèi)容。面的內(nèi)容。初步需求文檔將是后續(xù)詳細(xì)需求分析的基礎(chǔ)。初步需求文檔將是后續(xù)詳細(xì)需求分析的基礎(chǔ)。在此基礎(chǔ)上,就可以采用某種需求分析方法進(jìn)在此基礎(chǔ)上,就可以采用某種需求分析方法進(jìn)行詳細(xì)的需求分析。行詳細(xì)的需求分析。分別介紹幾種詳細(xì)的需求分析方法和其中最重分別介紹幾種詳細(xì)的需求分析方法和其中最重要的需求建模技術(shù),它們是:要的需求建模技術(shù),它們是: “面向數(shù)據(jù)流的需求分析方法面向

19、數(shù)據(jù)流的需求分析方法”; “面向數(shù)據(jù)的需求分析方法面向數(shù)據(jù)的需求分析方法”; “面向?qū)ο蟮男枨蠓治龇椒嫦驅(qū)ο蟮男枨蠓治龇椒ā?。需求建模技術(shù)為了使用戶需求逐步精細(xì)化、完全化、一致化,為了使用戶需求逐步精細(xì)化、完全化、一致化,通常采用通常采用需求建模技術(shù)需求建模技術(shù),即,即用建立目標(biāo)軟件系用建立目標(biāo)軟件系統(tǒng)模型的方法統(tǒng)模型的方法來刻畫軟件系統(tǒng)中的信息、處理來刻畫軟件系統(tǒng)中的信息、處理功能和外部行為。功能和外部行為。通常,分析人員選定一種分析方法,通常,分析人員選定一種分析方法,并用該方并用該方法中的一些圖形記號(hào)分別表示信息流、處理功法中的一些圖形記號(hào)分別表示信息流、處理功能和系統(tǒng)行為,并利用受限

20、制的自然語言給出能和系統(tǒng)行為,并利用受限制的自然語言給出用戶需求的描述。用戶需求的描述。這種模型的表示機(jī)制還應(yīng)具這種模型的表示機(jī)制還應(yīng)具有良好的結(jié)構(gòu)化能力,以便處理大型問題的按有良好的結(jié)構(gòu)化能力,以便處理大型問題的按層次分解的問題。層次分解的問題。軟件需求分析的過程,實(shí)際上是軟件模型的建軟件需求分析的過程,實(shí)際上是軟件模型的建造和不斷完善的過程。造和不斷完善的過程。需求建模的步驟在分析的初期,分析人員通過訪談、會(huì)議、實(shí)際觀在分析的初期,分析人員通過訪談、會(huì)議、實(shí)際觀 察、分析現(xiàn)有系統(tǒng)等方法察、分析現(xiàn)有系統(tǒng)等方法獲取初步的用戶需求獲取初步的用戶需求。分析人員根據(jù)選定的一種分析方法,在初步用戶需分

21、析人員根據(jù)選定的一種分析方法,在初步用戶需 求的基礎(chǔ)上求的基礎(chǔ)上構(gòu)筑初步的模型構(gòu)筑初步的模型作為開發(fā)方和用戶相互作為開發(fā)方和用戶相互 溝通的表示機(jī)制。溝通的表示機(jī)制。分析人員在用戶的密切配合下,利用選定的分析方分析人員在用戶的密切配合下,利用選定的分析方 法法不斷地對(duì)模型進(jìn)行精細(xì)化、一致化、完全化,不斷地對(duì)模型進(jìn)行精細(xì)化、一致化、完全化,直直 至獲得滿意的用戶需求為止。至獲得滿意的用戶需求為止。在分析階段構(gòu)筑的模型在分析階段構(gòu)筑的模型不應(yīng)涉及軟件實(shí)現(xiàn)的細(xì)節(jié)不應(yīng)涉及軟件實(shí)現(xiàn)的細(xì)節(jié),以,以免分散分析人員的注意力、限制軟件設(shè)計(jì)人員為提高免分散分析人員的注意力、限制軟件設(shè)計(jì)人員為提高軟件質(zhì)量和效率而選

22、擇實(shí)現(xiàn)方法的自由度。軟件質(zhì)量和效率而選擇實(shí)現(xiàn)方法的自由度。需求分析結(jié)束時(shí)確立的需求分析結(jié)束時(shí)確立的軟件模型是生成需求規(guī)格說明軟件模型是生成需求規(guī)格說明的依據(jù),也是軟件設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ)的依據(jù),也是軟件設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ)??焖僭图夹g(shù) 如果按照傳統(tǒng)的軟件開發(fā)方法,需要經(jīng)過漫長(zhǎng)的如果按照傳統(tǒng)的軟件開發(fā)方法,需要經(jīng)過漫長(zhǎng)的開發(fā)時(shí)間之后用戶才能看到目標(biāo)軟件的最初版本。開發(fā)時(shí)間之后用戶才能看到目標(biāo)軟件的最初版本。此時(shí)用戶常常會(huì)提出許多修改意見,有時(shí)甚至全盤此時(shí)用戶常常會(huì)提出許多修改意見,有時(shí)甚至全盤否定,導(dǎo)致開發(fā)失敗。否定,導(dǎo)致開發(fā)失敗。為了降低開發(fā)風(fēng)險(xiǎn),在需求為了降低開發(fā)風(fēng)險(xiǎn),在需求分析階段常常采用快速原

23、型技術(shù)。分析階段常常采用快速原型技術(shù)。 1 1快速原型技術(shù)的基本思想快速原型技術(shù)的基本思想 在軟件開發(fā)的早期,在軟件開發(fā)的早期,快速開發(fā)一個(gè)目標(biāo)軟件系統(tǒng)快速開發(fā)一個(gè)目標(biāo)軟件系統(tǒng)的原型的原型,讓用戶對(duì)其進(jìn)行評(píng)價(jià)并提出修改意見,然,讓用戶對(duì)其進(jìn)行評(píng)價(jià)并提出修改意見,然后開發(fā)人員根據(jù)用戶的意見對(duì)原型進(jìn)行改進(jìn)。當(dāng)原后開發(fā)人員根據(jù)用戶的意見對(duì)原型進(jìn)行改進(jìn)。當(dāng)原型幾經(jīng)改進(jìn)最終確認(rèn)后,它將直接進(jìn)化成軟件產(chǎn)品,型幾經(jīng)改進(jìn)最終確認(rèn)后,它將直接進(jìn)化成軟件產(chǎn)品,或者由軟件設(shè)計(jì)、編碼人員按照模型所確立的外部或者由軟件設(shè)計(jì)、編碼人員按照模型所確立的外部特征去實(shí)現(xiàn)軟件產(chǎn)品。特征去實(shí)現(xiàn)軟件產(chǎn)品。2采用快速原型技術(shù)的具體步驟

24、采用一種分析方法生成一個(gè)軟件系統(tǒng)或其中所關(guān)心部分采用一種分析方法生成一個(gè)軟件系統(tǒng)或其中所關(guān)心部分的簡(jiǎn)化需求規(guī)格說明。的簡(jiǎn)化需求規(guī)格說明。對(duì)該規(guī)格說明進(jìn)行評(píng)審?fù)ㄟ^后,立即生成設(shè)計(jì)規(guī)格說明。對(duì)該規(guī)格說明進(jìn)行評(píng)審?fù)ㄟ^后,立即生成設(shè)計(jì)規(guī)格說明。為了快速生成原型,這種設(shè)計(jì)為了快速生成原型,這種設(shè)計(jì)僅注重所關(guān)心的問題僅注重所關(guān)心的問題,如,如軟件的總體結(jié)構(gòu)、用戶界面和數(shù)據(jù)設(shè)計(jì)、或者某個(gè)復(fù)雜軟件的總體結(jié)構(gòu)、用戶界面和數(shù)據(jù)設(shè)計(jì)、或者某個(gè)復(fù)雜的算法等等,不注重過程內(nèi)部的控制流設(shè)計(jì)。的算法等等,不注重過程內(nèi)部的控制流設(shè)計(jì)。使用可重用軟部件、用戶界面自動(dòng)生成器等工具使用可重用軟部件、用戶界面自動(dòng)生成器等工具快速生快

25、速生成可運(yùn)行的軟件原型并通過測(cè)試成可運(yùn)行的軟件原型并通過測(cè)試。將原型提交給將原型提交給用戶進(jìn)行評(píng)價(jià)用戶進(jìn)行評(píng)價(jià),以便征求改進(jìn)意見。,以便征求改進(jìn)意見。上述過程上述過程反復(fù)迭代反復(fù)迭代,直至用戶完全滿意。此時(shí)的原型已,直至用戶完全滿意。此時(shí)的原型已完全、準(zhǔn)確地反映了目標(biāo)軟件在所關(guān)心方面的需求,可完全、準(zhǔn)確地反映了目標(biāo)軟件在所關(guān)心方面的需求,可作為需求規(guī)格說明的一部分而成為軟件設(shè)計(jì)的基礎(chǔ)。作為需求規(guī)格說明的一部分而成為軟件設(shè)計(jì)的基礎(chǔ)。3快速原型技術(shù)的適用場(chǎng)合該技術(shù)特別適合于軟件產(chǎn)品要求大量的該技術(shù)特別適合于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計(jì)一

26、些復(fù)雜的算法等場(chǎng)合,目前的絕設(shè)計(jì)一些復(fù)雜的算法等場(chǎng)合,目前的絕大多數(shù)軟件都適合于快速原型技術(shù)。大多數(shù)軟件都適合于快速原型技術(shù)。除非由于問題相當(dāng)復(fù)雜,致使開發(fā)快速除非由于問題相當(dāng)復(fù)雜,致使開發(fā)快速原型可以獲得的支持太少、所冒的風(fēng)險(xiǎn)原型可以獲得的支持太少、所冒的風(fēng)險(xiǎn)太大時(shí),就不易采用。但對(duì)于其中的某太大時(shí),就不易采用。但對(duì)于其中的某些子問題,尤其是用戶界面,還可采用些子問題,尤其是用戶界面,還可采用快速原型技術(shù)進(jìn)行部分分析??焖僭图夹g(shù)進(jìn)行部分分析。問題分解與抽象、多視點(diǎn)分析技術(shù)問題分解技術(shù)問題分解技術(shù) 分析人員常常采用一種問題分解的技術(shù)。分析人員常常采用一種問題分解的技術(shù)。即將一個(gè)即將一個(gè)大型復(fù)

27、雜的問題分解為若干個(gè)子問題,然后對(duì)每一個(gè)大型復(fù)雜的問題分解為若干個(gè)子問題,然后對(duì)每一個(gè)子問題逐個(gè)進(jìn)行分析,再自底向上綜合成整個(gè)問題的子問題逐個(gè)進(jìn)行分析,再自底向上綜合成整個(gè)問題的分析結(jié)果。分析結(jié)果。這種分解可以逐級(jí)進(jìn)行,直至子問題的規(guī)這種分解可以逐級(jí)進(jìn)行,直至子問題的規(guī)模降到合適的程度。模降到合適的程度。問題抽象技術(shù)問題抽象技術(shù) 分析人員在分析過程中要善于分析人員在分析過程中要善于從諸多的特殊問題中從諸多的特殊問題中抽象出一般的問題,首先關(guān)注一般問題的解決途徑,抽象出一般的問題,首先關(guān)注一般問題的解決途徑,再用其指導(dǎo)特殊問題的求解。再用其指導(dǎo)特殊問題的求解。在抽象的過程中,還要在抽象的過程中,

28、還要注意用戶的描述所處的抽象級(jí)別的不同,以便建立清注意用戶的描述所處的抽象級(jí)別的不同,以便建立清晰的思路。晰的思路。問題分解與抽象、多視點(diǎn)分析技術(shù) 比如,在比如,在“家庭保安系統(tǒng)家庭保安系統(tǒng)”中,用戶可能提出中,用戶可能提出“系統(tǒng)狀態(tài)顯示系統(tǒng)狀態(tài)顯示”、“用戶編制程序時(shí)的系統(tǒng)外部用戶編制程序時(shí)的系統(tǒng)外部行為行為”等的需求。分析人員則應(yīng)在等的需求。分析人員則應(yīng)在“用戶界面用戶界面”這這一抽象級(jí)別上統(tǒng)一地規(guī)劃軟件系統(tǒng)與用戶的交互行一抽象級(jí)別上統(tǒng)一地規(guī)劃軟件系統(tǒng)與用戶的交互行為??梢?,在不同的抽象級(jí)別上去分析不同層次的為??梢?,在不同的抽象級(jí)別上去分析不同層次的問題,也是解決復(fù)雜問題的一個(gè)重要方法,

29、它可以問題,也是解決復(fù)雜問題的一個(gè)重要方法,它可以避免不一致性,減少分析的工作量。避免不一致性,減少分析的工作量。多視點(diǎn)分析技術(shù):多視點(diǎn)分析技術(shù): 為了獲得全面的需求分析結(jié)果,防止遺漏,有必要為了獲得全面的需求分析結(jié)果,防止遺漏,有必要從各個(gè)視點(diǎn)分別對(duì)問題進(jìn)行理解與分析,然后綜合從各個(gè)視點(diǎn)分別對(duì)問題進(jìn)行理解與分析,然后綜合成全面的理解。成全面的理解。分析人員可以就系統(tǒng)視點(diǎn)與用戶視分析人員可以就系統(tǒng)視點(diǎn)與用戶視點(diǎn)、信息視點(diǎn)、功能視點(diǎn)與行為視點(diǎn)等多個(gè)視點(diǎn)分點(diǎn)、信息視點(diǎn)、功能視點(diǎn)與行為視點(diǎn)等多個(gè)視點(diǎn)分別進(jìn)行分析,以確保需求分析的完全性。別進(jìn)行分析,以確保需求分析的完全性。需求規(guī)格說明與評(píng)審需求分析的

30、主要階段性產(chǎn)品是需求規(guī)格說明書。它必需求分析的主要階段性產(chǎn)品是需求規(guī)格說明書。它必須通過需求評(píng)審后才能生效,這是一個(gè)重要的里程碑。須通過需求評(píng)審后才能生效,這是一個(gè)重要的里程碑。4.3.1 4.3.1 需求規(guī)格說明書的作用與內(nèi)容需求規(guī)格說明書的作用與內(nèi)容1. 1. 需求規(guī)格說明書的作用需求規(guī)格說明書的作用主要主要有:有:1 1)它是軟件設(shè)計(jì)人員進(jìn)行設(shè)計(jì)和編碼的)它是軟件設(shè)計(jì)人員進(jìn)行設(shè)計(jì)和編碼的出發(fā)點(diǎn)和基礎(chǔ);出發(fā)點(diǎn)和基礎(chǔ);2 2)它是對(duì)目標(biāo)軟件產(chǎn)品進(jìn)行)它是對(duì)目標(biāo)軟件產(chǎn)品進(jìn)行驗(yàn)收測(cè)試的依據(jù)驗(yàn)收測(cè)試的依據(jù)。這就要。這就要求需求規(guī)格說明書中的各項(xiàng)需求都應(yīng)該是可測(cè)試的;求需求規(guī)格說明書中的各項(xiàng)需求都應(yīng)

31、該是可測(cè)試的;3 3)它起到軟件開發(fā)方和客戶(或用戶)方之間的一份)它起到軟件開發(fā)方和客戶(或用戶)方之間的一份合同的作用合同的作用。需求規(guī)格說明書的作用與內(nèi)容2. 2. 需求規(guī)格說明書中的內(nèi)容需求規(guī)格說明書中的內(nèi)容q應(yīng)主要包括應(yīng)主要包括功能與行為的需求描述功能與行為的需求描述和非和非行為需求描行為需求描述。述。功能與行為需求的分析與描述方法將在以后幾章中功能與行為需求的分析與描述方法將在以后幾章中根據(jù)不同的需求建模方法分別介紹。根據(jù)不同的需求建模方法分別介紹。非行為需求是指目標(biāo)軟件系統(tǒng)在工作時(shí)應(yīng)具備的屬非行為需求是指目標(biāo)軟件系統(tǒng)在工作時(shí)應(yīng)具備的屬性,主要有運(yùn)行效率、可靠性、安全性、可維護(hù)性、

32、性,主要有運(yùn)行效率、可靠性、安全性、可維護(hù)性、可移植性等等??梢浦残缘鹊?。在需求規(guī)格說明書中不應(yīng)包括如人員需求、成本預(yù)在需求規(guī)格說明書中不應(yīng)包括如人員需求、成本預(yù)算、進(jìn)度計(jì)劃、質(zhì)量保證計(jì)劃等內(nèi)容,以便使其簡(jiǎn)算、進(jìn)度計(jì)劃、質(zhì)量保證計(jì)劃等內(nèi)容,以便使其簡(jiǎn)潔、目標(biāo)明確。潔、目標(biāo)明確。需求規(guī)格說明書的基本格式框架目錄目錄1 1 引言引言 1.1 1.1 本說明的編寫目的本說明的編寫目的 1.2 1.2 軟件產(chǎn)品的作用范圍軟件產(chǎn)品的作用范圍 1.3 1.3 定義、同義詞與縮寫定義、同義詞與縮寫 1.4 1.4 參考文獻(xiàn)參考文獻(xiàn)2 2 概述概述 2.1 2.1 產(chǎn)品與其環(huán)境間的關(guān)系產(chǎn)品與其環(huán)境間的關(guān)系 2

33、.2 2.2 功能概述功能概述 2.3 2.3 用戶特征用戶特征 2.4 2.4 約束條件約束條件 2.5 2.5 假設(shè)與前提條件假設(shè)與前提條件需求規(guī)格說明書的基本格式框架3 3功能或行為需求功能或行為需求 3.1 3.1 功能或行為需求功能或行為需求1 1:1 1)引言)引言 2 2)輸入)輸入 3 3)處理過程描述)處理過程描述 4 4)輸出)輸出 3.2 3.2 功能或行為需求功能或行為需求2 2:1 1)引言)引言 2 2)輸入)輸入 3 3)處理過程描述)處理過程描述 4 4)輸出)輸出 3.n 3.n 功能或行為需求功能或行為需求n: 4n: 4)輸出)輸出需求規(guī)格說明書的基本格式

34、框架4 4外部界面需求外部界面需求 4.1 4.1 用戶界面用戶界面 4.2 4.2 硬件界面硬件界面 4.3 4.3 軟件界面軟件界面5 5性能需求性能需求 5.1 5.1 精度精度 5.2 5.2 時(shí)間特征時(shí)間特征 5.3 5.3 靈活性靈活性6 6設(shè)計(jì)約束設(shè)計(jì)約束 6.1 6.1 標(biāo)準(zhǔn)化約束標(biāo)準(zhǔn)化約束 6.2 6.2 硬件約束硬件約束 需求規(guī)格說明書的基本格式框架7 7其他需求其他需求 7.1 7.1 數(shù)據(jù)庫需求數(shù)據(jù)庫需求 7.2 7.2 用戶操作需求用戶操作需求 7.3 7.3 工作場(chǎng)地需求工作場(chǎng)地需求8 8軟件產(chǎn)品屬性軟件產(chǎn)品屬性 8.1 8.1 可用性可用性 8.2 8.2 安全性

35、安全性 8.3 8.3 可維護(hù)性可維護(hù)性 8.4 8.4 可移植性可移植性附錄附錄索引索引需求評(píng)審軟件系統(tǒng)中的錯(cuò)誤約有軟件系統(tǒng)中的錯(cuò)誤約有15%15%來源于需求分析中的錯(cuò)來源于需求分析中的錯(cuò)誤。而在維護(hù)階段去改正這部分錯(cuò)誤是相當(dāng)困難的。誤。而在維護(hù)階段去改正這部分錯(cuò)誤是相當(dāng)困難的。為了及時(shí)發(fā)現(xiàn)并糾正這類錯(cuò)誤,必須對(duì)需求規(guī)格說為了及時(shí)發(fā)現(xiàn)并糾正這類錯(cuò)誤,必須對(duì)需求規(guī)格說明書進(jìn)行評(píng)審,即需求評(píng)審。明書進(jìn)行評(píng)審,即需求評(píng)審。1. 1. 評(píng)審標(biāo)準(zhǔn)(按照重要性的次序)評(píng)審標(biāo)準(zhǔn)(按照重要性的次序)1 1)正確性。指需求規(guī)格說明書中的每一項(xiàng)功能、行)正確性。指需求規(guī)格說明書中的每一項(xiàng)功能、行為、性能的描述都

36、是正確的、合理的,并能滿足用為、性能的描述都是正確的、合理的,并能滿足用戶的期望。戶的期望。2 2)無歧義性。指規(guī)格說明書中的每個(gè)需求陳述都只)無歧義性。指規(guī)格說明書中的每個(gè)需求陳述都只有唯一的解釋。要避免產(chǎn)生歧義性,就應(yīng)使用標(biāo)準(zhǔn)有唯一的解釋。要避免產(chǎn)生歧義性,就應(yīng)使用標(biāo)準(zhǔn)化術(shù)語,并對(duì)術(shù)語的語義進(jìn)行統(tǒng)一的解釋?;g(shù)語,并對(duì)術(shù)語的語義進(jìn)行統(tǒng)一的解釋。1. 評(píng)審標(biāo)準(zhǔn)(按照重要性的次序)3 3)完全性。指不遺漏任何用戶需求。即需求規(guī))完全性。指不遺漏任何用戶需求。即需求規(guī)格說明書中包括了所有的功能、行為、性能約格說明書中包括了所有的功能、行為、性能約束等。束等。4 4)可驗(yàn)證性。指需求規(guī)格說明書中的

37、每一項(xiàng)需)可驗(yàn)證性。指需求規(guī)格說明書中的每一項(xiàng)需求都是可以檢驗(yàn)的。求都是可以檢驗(yàn)的。5 5)一致性。指陳述的需求之間不存在矛盾之處。)一致性。指陳述的需求之間不存在矛盾之處。6 6)可理解性。指規(guī)格說明應(yīng)盡量簡(jiǎn)潔、明確,)可理解性。指規(guī)格說明應(yīng)盡量簡(jiǎn)潔、明確,便于分析人員、客戶(用戶)、設(shè)計(jì)人員、測(cè)便于分析人員、客戶(用戶)、設(shè)計(jì)人員、測(cè)試人員和維護(hù)人員的理解。因此,應(yīng)盡量減少試人員和維護(hù)人員的理解。因此,應(yīng)盡量減少專業(yè)化的詞匯。專業(yè)化的詞匯。 1. 評(píng)審標(biāo)準(zhǔn)(按照重要性的次序)7 7)可修改性。指需求規(guī)格說明書的框架結(jié)構(gòu)應(yīng)能)可修改性。指需求規(guī)格說明書的框架結(jié)構(gòu)應(yīng)能比較容易地實(shí)現(xiàn)對(duì)其可能進(jìn)行

38、的增補(bǔ)、刪除和修比較容易地實(shí)現(xiàn)對(duì)其可能進(jìn)行的增補(bǔ)、刪除和修改,并能保持總體結(jié)構(gòu)不變。改,并能保持總體結(jié)構(gòu)不變。8 8)可追蹤性。指規(guī)格說明可向前追蹤,即其中的)可追蹤性。指規(guī)格說明可向前追蹤,即其中的每一項(xiàng)需求與用戶的原始需求項(xiàng)清晰地聯(lián)系起來;每一項(xiàng)需求與用戶的原始需求項(xiàng)清晰地聯(lián)系起來;也可向后追蹤,即為后續(xù)開發(fā)和其他文檔引用這也可向后追蹤,即為后續(xù)開發(fā)和其他文檔引用這些需求項(xiàng)提供了依據(jù)。些需求項(xiàng)提供了依據(jù)。2. 需求評(píng)審過程 需求評(píng)審過程應(yīng)采用召開正式評(píng)審會(huì)議的形式需求評(píng)審過程應(yīng)采用召開正式評(píng)審會(huì)議的形式。 參加的人員應(yīng)當(dāng)有用戶、系統(tǒng)分析員、系統(tǒng)設(shè)計(jì)人參加的人員應(yīng)當(dāng)有用戶、系統(tǒng)分析員、系統(tǒng)設(shè)

39、計(jì)人員等。在評(píng)審會(huì)上,分析人員應(yīng)說明軟件產(chǎn)品的總體員等。在評(píng)審會(huì)上,分析人員應(yīng)說明軟件產(chǎn)品的總體目標(biāo),也就是介紹需求規(guī)格說明書中的主要內(nèi)容。之目標(biāo),也就是介紹需求規(guī)格說明書中的主要內(nèi)容。之后,與會(huì)人員對(duì)說明書的核心部分后,與會(huì)人員對(duì)說明書的核心部分需求模型進(jìn)行需求模型進(jìn)行評(píng)估。并按照上述的評(píng)審標(biāo)準(zhǔn)逐一進(jìn)行審查,最后確評(píng)估。并按照上述的評(píng)審標(biāo)準(zhǔn)逐一進(jìn)行審查,最后確認(rèn)其是否具有良好的品質(zhì)、是否構(gòu)成以后開發(fā)的良好認(rèn)其是否具有良好的品質(zhì)、是否構(gòu)成以后開發(fā)的良好的基礎(chǔ)。如果在評(píng)審過程中發(fā)現(xiàn)說明書中存在錯(cuò)誤或的基礎(chǔ)。如果在評(píng)審過程中發(fā)現(xiàn)說明書中存在錯(cuò)誤或遺漏,應(yīng)責(zé)承分析人員返工,并再行評(píng)審。需求評(píng)審遺漏,

40、應(yīng)責(zé)承分析人員返工,并再行評(píng)審。需求評(píng)審也可采用先進(jìn)行技術(shù)評(píng)審,再進(jìn)行管理復(fù)審的方法進(jìn)也可采用先進(jìn)行技術(shù)評(píng)審,再進(jìn)行管理復(fù)審的方法進(jìn)行。管理復(fù)審應(yīng)有開發(fā)方和客戶方(或用戶方)管理行。管理復(fù)審應(yīng)有開發(fā)方和客戶方(或用戶方)管理部門負(fù)責(zé)人參加,復(fù)審?fù)ㄟ^后,雙方應(yīng)簽訂正式的合部門負(fù)責(zé)人參加,復(fù)審?fù)ㄟ^后,雙方應(yīng)簽訂正式的合同。同。1.1. 分析系統(tǒng)的數(shù)據(jù)要求分析系統(tǒng)的數(shù)據(jù)要求 數(shù)據(jù)的源點(diǎn)/終點(diǎn):是指在系統(tǒng)以外的事物或人 加工處理:表示對(duì)數(shù)據(jù)的處理功能 數(shù)據(jù)存儲(chǔ):表示對(duì)數(shù)據(jù)存儲(chǔ)的邏輯描述,它可以是數(shù)據(jù)庫文件或任何其他形式的數(shù)據(jù)組織。 數(shù)據(jù)流:表示數(shù)據(jù)在系統(tǒng)中流動(dòng)的方向。 或或或數(shù)據(jù)的源點(diǎn)/終點(diǎn)加工/處理

41、數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流TTTTTTABABABCBCBCCCAAA*+輸入A和B變換成C輸入A或B,或者A和B變換成C只有輸入A或只有B,變換成C(A、B不能同時(shí)輸入)輸入A變換成B和C輸入A變換B或C,或者A和B輸入A變換成B或C,但不能變換成B和CCB教材管理系統(tǒng)的數(shù)據(jù)流圖教材管理系統(tǒng)的數(shù)據(jù)流圖 采購(gòu)會(huì)計(jì)學(xué)生供書商訂單發(fā)單票/收據(jù)訂書通知到書通知訂書單發(fā)書單暫存訂單采購(gòu)訂單應(yīng)收款總帳應(yīng)付款銷售歷史庫存銷售付款收款單付款證憑付款單付款收據(jù)3.3數(shù)據(jù)字典DD 數(shù)據(jù)流圖描述系統(tǒng)的邏輯模型,但它不可能表達(dá)一個(gè)系統(tǒng)的全部邏輯特性,特別是有關(guān)數(shù)據(jù)的詳細(xì)內(nèi)容。 數(shù)據(jù)字典恰恰彌補(bǔ)了數(shù)據(jù)流圖在這個(gè)方面的不足,它專門

42、記錄有關(guān)數(shù)據(jù)方面的信息,作為對(duì)數(shù)據(jù)流圖的補(bǔ)充和解釋。 數(shù)據(jù)流圖和數(shù)據(jù)詞典共同構(gòu)成全面描述軟件需求說明書的核心。3.3.1定義方法定義方法 數(shù)據(jù)字典要對(duì)數(shù)據(jù)流圖中出現(xiàn)的所有名字進(jìn)行定義。 同日常使用的詞典一樣,為了便于查閱,詞典中的所有條目都要按一定的次序排列起來,也可采用卡片的形式,以供開發(fā)與維護(hù)人員方便地使用。3.3.1定義方法定義方法(2)數(shù)據(jù)流定義中常用的符號(hào)含義如下: =表示“被定義為”; + 表示“和”,連接兩個(gè)或多個(gè)分量; .|. 表示“選擇”,即可選擇方括號(hào)中的一項(xiàng),用“|”作為各項(xiàng)的分割符; ( ) 表示“可選”,即括號(hào)內(nèi)的項(xiàng)可選可不選; mn表示“重復(fù)”,n為重復(fù)次數(shù)的上限,

43、m為重復(fù)次數(shù)的下限,如重復(fù)次數(shù)沒有限定可不標(biāo)出上下限。也可以利用上下標(biāo)表示。6.數(shù)據(jù)結(jié)構(gòu)的描述 x x = = a ab b.,. .,. 或或 .|.|. x x = = a a, ,b b ,x x = = a a| |b b . . 或或 m.nm.n x x = = a a , x x = 3 = 3a a88(.) (.) x x = ( = (a a) )“.”“.” x x = “ = “a a” . . x x = 1.9 = 1.9練習(xí)練習(xí): 畫出和存折操作有關(guān)的基本的數(shù)據(jù)流圖 定義各種類型的數(shù)據(jù)字典詞條3.4 加工邏輯描述工具 對(duì)于某些復(fù)雜的加工,只用文字說明則存在許多含糊

44、不清之處。此時(shí),可借助一些加工邏輯描述工具來清楚地表達(dá)。 常用的加工邏輯描述工具有結(jié)構(gòu)化語言、判斷表、判斷樹和IPO圖等。 BEGIN 輸入用戶賬號(hào)和口令 IF 輸入空的帳號(hào)或口令 THEN BEGIN提示錯(cuò)誤中斷登錄 END 驗(yàn)證帳號(hào)、口令 IF 非合法用戶 OR 權(quán)限=“禁止” THEN BEGIN 提示錯(cuò)誤 中斷登錄 END 初試化運(yùn)行環(huán)境n數(shù)據(jù)庫事務(wù)操作邏輯數(shù)據(jù)庫事務(wù)操作邏輯2. 判定表 判定表也是一種表達(dá)加工邏輯的工具。 在某些數(shù)據(jù)處理中,某數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,就是說完成這一加工的動(dòng)作是由于某一組條件取值的組合而引發(fā)的。這時(shí)使用判定表來描述比較合適。2. 判定

45、表的組成 條件:列出一組條件的對(duì)象; 條件取值:列出各種可能的條件取值組合; 操作:列出所有的操作; 操作條目:列出對(duì)應(yīng)的條件組合下所選的操作。判定表的一般結(jié)構(gòu) 條件1條件1取值條件1取值條件2條件2取值條件2取值操作1操作1取值操作1取值操作2操作2取值操作2取值建立判定表的步驟 列出與一個(gè)具體加工 (或過程)有關(guān)的所有處理 列出過程執(zhí)行期間的所有條件(或所有判斷) 將特定條件取值組合與特定的處理相匹配,消去不可能發(fā)生的條件取值組合 將右部每一縱列規(guī)定為一個(gè)處理規(guī)則,即對(duì)于某一條件取值組合將有什么動(dòng)作畢業(yè)證、學(xué)位證書授予判定表畢業(yè)證、學(xué)位證書授予判定表 12345沒有未通過的必修課程YNNN

46、N未通過的必修課程學(xué)分總數(shù)小于等于12YNNYY通過的課程學(xué)分?jǐn)?shù)大于等于30YYNYN授予畢業(yè)證書授予結(jié)業(yè)證書授予肄業(yè)證書不授予任何證書 判定樹是判定表的變種,它能清晰地表達(dá)復(fù)雜的條件組合與所對(duì)應(yīng)的操作之間的關(guān)系。 判定樹的優(yōu)點(diǎn)在于它含義清楚,易于理解和使用,比判定表更加直觀。 計(jì) 算 折 扣量79月,12月16月,10、11月訂票量50:15%訂票量50:30%訂票量=50:20% 輸入/處理/輸出圖 描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系 輸入數(shù)據(jù)左邊框 對(duì)數(shù)據(jù)的處理中間框,隱含執(zhí)行順序 輸出數(shù)據(jù)右邊框成績(jī)單輸出IPO統(tǒng)計(jì)要求各類課程成績(jī)查詢條件統(tǒng)計(jì)成績(jī)成績(jī)錄入成績(jī)查詢各類統(tǒng)計(jì)報(bào)表成績(jī)記錄查詢結(jié)果3.5.1數(shù)據(jù)流圖的分層3.5.1數(shù)據(jù)流圖的分層(2)012.12.21.31.11.23.23.13.332頂層第一層第二層容易出現(xiàn)的問題 0層DFD概念不清,包含多個(gè)加工,往往忽略數(shù)據(jù)存儲(chǔ),過于簡(jiǎn)單,不能夠建立完整抽象模型 數(shù)據(jù)流

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論