軟件工程課件第3章-需求分析((第六版)(張海潘編著)_第1頁(yè)
軟件工程課件第3章-需求分析((第六版)(張海潘編著)_第2頁(yè)
軟件工程課件第3章-需求分析((第六版)(張海潘編著)_第3頁(yè)
軟件工程課件第3章-需求分析((第六版)(張海潘編著)_第4頁(yè)
軟件工程課件第3章-需求分析((第六版)(張海潘編著)_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 3.1 需求分析的任務(wù)需求分析的任務(wù) 3.2 與用戶溝通獲取需求的方法與用戶溝通獲取需求的方法 3.3 分析建模與規(guī)格說(shuō)明分析建模與規(guī)格說(shuō)明 3.4 實(shí)體實(shí)體-聯(lián)系圖聯(lián)系圖 3.5 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化 3.6 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖 3.7 其他圖形工具其他圖形工具 3.8 驗(yàn)證軟件需求驗(yàn)證軟件需求第第3章章 需求分析需求分析三個(gè)時(shí)期:三個(gè)時(shí)期: 八個(gè)階段:八個(gè)階段:軟件生命周期軟件生命周期軟件定義軟件定義軟件開發(fā)軟件開發(fā)軟件維護(hù)軟件維護(hù)問(wèn)題定義問(wèn)題定義可行性研究可行性研究需求分析需求分析概要設(shè)計(jì)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試編碼和單元測(cè)試綜合測(cè)試綜合測(cè)試運(yùn)行維護(hù)運(yùn)行維護(hù)系統(tǒng)設(shè)計(jì)系統(tǒng)

2、設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn)第第3章章 需求分析需求分析需求分析的需求分析的意義意義 軟件需求的深入理解是軟件開發(fā)工作獲得軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論我們把設(shè)計(jì)和編碼做得如成功的前提條件,不論我們把設(shè)計(jì)和編碼做得如何出色,不能真正滿足用戶需求的程序只會(huì)令用何出色,不能真正滿足用戶需求的程序只會(huì)令用戶失望,給開發(fā)帶來(lái)煩惱。戶失望,給開發(fā)帶來(lái)煩惱。需求分析的任務(wù):需求分析的任務(wù):n需求分析是軟件定義時(shí)期的最后一個(gè)階段,它需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確地回答的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么系統(tǒng)必須做什么?”這個(gè)問(wèn)題。這個(gè)問(wèn)題。n確定系統(tǒng)必須完成哪些

3、工作,也就是對(duì)目標(biāo)系確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。n系統(tǒng)分析員應(yīng)該寫出軟件需求規(guī)格說(shuō)明書,以系統(tǒng)分析員應(yīng)該寫出軟件需求規(guī)格說(shuō)明書,以書面形式準(zhǔn)確地描述軟件需求。書面形式準(zhǔn)確地描述軟件需求。 n需求:需求:正在構(gòu)建的系統(tǒng)必須符合的事務(wù)。正在構(gòu)建的系統(tǒng)必須符合的事務(wù)。n需求管理:需求管理:是一種獲取、組織并記錄系統(tǒng)需求是一種獲取、組織并記錄系統(tǒng)需求的系統(tǒng)化方案以及一個(gè)使客戶與項(xiàng)目團(tuán)隊(duì)不斷的系統(tǒng)化方案以及一個(gè)使客戶與項(xiàng)目團(tuán)隊(duì)不斷變更的系統(tǒng)需求達(dá)成并保持一致的過(guò)程。變更的系統(tǒng)需求達(dá)成并保持一致的過(guò)程。n傳統(tǒng)需求分析:傳統(tǒng)

4、需求分析:強(qiáng)調(diào)需求的記錄,以一成不變強(qiáng)調(diào)需求的記錄,以一成不變的觀點(diǎn)對(duì)待需求,不重視需求實(shí)現(xiàn)與維護(hù)。的觀點(diǎn)對(duì)待需求,不重視需求實(shí)現(xiàn)與維護(hù)。n現(xiàn)代需求過(guò)程:現(xiàn)代需求過(guò)程:包括需求的獲取、分析、處理、包括需求的獲取、分析、處理、驗(yàn)證、實(shí)現(xiàn)和全過(guò)程的需求管理。需求管理覆驗(yàn)證、實(shí)現(xiàn)和全過(guò)程的需求管理。需求管理覆蓋軟件工程的整個(gè)過(guò)程。蓋軟件工程的整個(gè)過(guò)程。傳統(tǒng)與現(xiàn)代需求方法的比較:傳統(tǒng)與現(xiàn)代需求方法的比較: 需求管理過(guò)程需求管理過(guò)程需求管理功能需求管理功能需求管理思想方法需求管理思想方法傳統(tǒng)傳統(tǒng)局限于需求分局限于需求分析這一個(gè)階段析這一個(gè)階段注重具體的需注重具體的需求分析方法求分析方法一成不變的觀點(diǎn),一

5、成不變的觀點(diǎn),注重注重“描述描述”的方的方法和過(guò)程,是純技法和過(guò)程,是純技術(shù)性的轉(zhuǎn)換術(shù)性的轉(zhuǎn)換現(xiàn)代現(xiàn)代全過(guò)程的,注全過(guò)程的,注重整個(gè)產(chǎn)品過(guò)重整個(gè)產(chǎn)品過(guò)程的全部程的全部功能范圍更廣,功能范圍更廣,包括獲取、分包括獲取、分析、處理、驗(yàn)析、處理、驗(yàn)證、實(shí)現(xiàn)和全證、實(shí)現(xiàn)和全過(guò)程的需求管過(guò)程的需求管理理注重需求實(shí)現(xiàn)與維注重需求實(shí)現(xiàn)與維護(hù)過(guò)程,處理不斷護(hù)過(guò)程,處理不斷變更的系統(tǒng)需求變更的系統(tǒng)需求需求管理存在的問(wèn)題:需求管理存在的問(wèn)題:n范圍問(wèn)題:系統(tǒng)目標(biāo)、邊界未被良好定義,用范圍問(wèn)題:系統(tǒng)目標(biāo)、邊界未被良好定義,用戶和開發(fā)團(tuán)隊(duì)理解不一致。戶和開發(fā)團(tuán)隊(duì)理解不一致。n理解問(wèn)題:用戶不能完全了解自己需要什么,理

6、解問(wèn)題:用戶不能完全了解自己需要什么,對(duì)系統(tǒng)能力、局限更加不清楚;工程師不理解對(duì)系統(tǒng)能力、局限更加不清楚;工程師不理解用戶的問(wèn)題域和應(yīng)用環(huán)境。用戶的問(wèn)題域和應(yīng)用環(huán)境。n易變問(wèn)題:需求隨時(shí)間發(fā)生變化。易變問(wèn)題:需求隨時(shí)間發(fā)生變化。需求獲取是如此之難需求工程:需求工程:n20世紀(jì)世紀(jì)80年代中期,形成了軟件工程的子領(lǐng)年代中期,形成了軟件工程的子領(lǐng)域域需求工程。需求工程。n進(jìn)入進(jìn)入20世紀(jì)世紀(jì)90年代后,需求工程稱為軟件界研年代后,需求工程稱為軟件界研究的重點(diǎn)之一。究的重點(diǎn)之一。nalan davis 把需求工程定義為把需求工程定義為“直到(但不包直到(但不包括)把軟件分解為實(shí)際架構(gòu)構(gòu)件之前的所有活

7、括)把軟件分解為實(shí)際架構(gòu)構(gòu)件之前的所有活動(dòng)動(dòng)”。需求工程的階段劃分:需求工程的階段劃分:需求分析方法遵守的原則n必須理解并描述問(wèn)題的信息域,建立數(shù)據(jù)模型。必須理解并描述問(wèn)題的信息域,建立數(shù)據(jù)模型。n必須定義軟件應(yīng)完成的功能,建立功能模型。必須定義軟件應(yīng)完成的功能,建立功能模型。n必須描述作為外部事件結(jié)果的軟件行為,建立行為必須描述作為外部事件結(jié)果的軟件行為,建立行為模型。模型。n必須對(duì)描述信息、功能和行為的建模進(jìn)行分解,用必須對(duì)描述信息、功能和行為的建模進(jìn)行分解,用層次的方法展示細(xì)節(jié)。層次的方法展示細(xì)節(jié)。3.1 需求分析的任務(wù)需求分析的任務(wù) n確定對(duì)系統(tǒng)的綜合要求確定對(duì)系統(tǒng)的綜合要求 -功能需

8、求、性能需求、可靠性和可用性需求、出錯(cuò)處理需求、功能需求、性能需求、可靠性和可用性需求、出錯(cuò)處理需求、接口需求、約束、接口需求、約束、 逆向需求、將來(lái)可能提出的要求。逆向需求、將來(lái)可能提出的要求。 n分析系統(tǒng)的數(shù)據(jù)要求分析系統(tǒng)的數(shù)據(jù)要求 n導(dǎo)出系統(tǒng)的邏輯模型導(dǎo)出系統(tǒng)的邏輯模型 n修正系統(tǒng)開發(fā)計(jì)劃修正系統(tǒng)開發(fā)計(jì)劃 3.1.1 確定對(duì)系統(tǒng)的綜合要求確定對(duì)系統(tǒng)的綜合要求 1. 功能需求功能需求2. 性能需求性能需求3. 可靠性和可用性需求可靠性和可用性需求4. 出錯(cuò)處理需求出錯(cuò)處理需求5. 接口需求接口需求6. 約束約束7. 逆向需求逆向需求8. 將來(lái)可能提出的要求將來(lái)可能提出的要求3.1.2 分析

9、系統(tǒng)的數(shù)據(jù)要求分析系統(tǒng)的數(shù)據(jù)要求n建立數(shù)據(jù)模型建立數(shù)據(jù)模型er圖圖 n描繪數(shù)據(jù)結(jié)構(gòu)描繪數(shù)據(jù)結(jié)構(gòu)層次方框圖和層次方框圖和warnier圖圖 n數(shù)據(jù)結(jié)構(gòu)規(guī)范化數(shù)據(jù)結(jié)構(gòu)規(guī)范化 3.1.3 導(dǎo)出系統(tǒng)的邏輯模型導(dǎo)出系統(tǒng)的邏輯模型 n綜合上述兩項(xiàng)分析的結(jié)果可以導(dǎo)出系統(tǒng)的詳細(xì)綜合上述兩項(xiàng)分析的結(jié)果可以導(dǎo)出系統(tǒng)的詳細(xì)的邏輯模型,通常用的邏輯模型,通常用數(shù)據(jù)流圖數(shù)據(jù)流圖、實(shí)體實(shí)體-聯(lián)系圖聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典數(shù)據(jù)字典和和主要的處理算法主要的處理算法描述描述這個(gè)邏輯模型。這個(gè)邏輯模型。 n根據(jù)在分析過(guò)程中獲得的對(duì)系統(tǒng)的更深入更具根據(jù)在分析過(guò)程中獲得的對(duì)系統(tǒng)的更深入更具體的了解,可以比較準(zhǔn)確地估計(jì)系

10、統(tǒng)的成本和體的了解,可以比較準(zhǔn)確地估計(jì)系統(tǒng)的成本和進(jìn)度,修正以前制定的開發(fā)計(jì)劃。進(jìn)度,修正以前制定的開發(fā)計(jì)劃。 3.1.4 修正系統(tǒng)開發(fā)計(jì)劃修正系統(tǒng)開發(fā)計(jì)劃 3.2 與用戶溝通獲取需求的方法與用戶溝通獲取需求的方法n訪談訪談 n面向數(shù)據(jù)流自頂向下求精面向數(shù)據(jù)流自頂向下求精n簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù) n快速建立軟件原型快速建立軟件原型 需求的獲取n需求獲取是開發(fā)人員與客戶或用戶一起對(duì)應(yīng)用領(lǐng)需求獲取是開發(fā)人員與客戶或用戶一起對(duì)應(yīng)用領(lǐng)域進(jìn)行調(diào)查研究,收集系統(tǒng)需求的過(guò)程域進(jìn)行調(diào)查研究,收集系統(tǒng)需求的過(guò)程n需求分析是將獲取到的需求準(zhǔn)確的理解、求精,需求分析是將獲取到的需求準(zhǔn)確的理解、

11、求精,并將其轉(zhuǎn)化為完整的需求定義(包括建模),進(jìn)并將其轉(zhuǎn)化為完整的需求定義(包括建模),進(jìn)而生成需求規(guī)約的過(guò)程。而生成需求規(guī)約的過(guò)程。n需求獲取和分析有一定的難度,因?yàn)椋盒枨螳@取和分析有一定的難度,因?yàn)椋?1)項(xiàng)目相關(guān)人員通常并不真正知道希望計(jì)算機(jī)項(xiàng)目相關(guān)人員通常并不真正知道希望計(jì)算機(jī)做什么,讓他們清晰的表達(dá)出做什么,讓他們清晰的表達(dá)出需求的獲取 2) 項(xiàng)目相關(guān)人員用自己的語(yǔ)言表達(dá)需求,這些項(xiàng)目相關(guān)人員用自己的語(yǔ)言表達(dá)需求,這些語(yǔ)言包含很多工作中的專業(yè)術(shù)語(yǔ)和專業(yè)知識(shí)。系統(tǒng)分語(yǔ)言包含很多工作中的專業(yè)術(shù)語(yǔ)和專業(yè)知識(shí)。系統(tǒng)分析員沒(méi)有這些知識(shí)和經(jīng)驗(yàn),而他們又必須了解這些需析員沒(méi)有這些知識(shí)和經(jīng)驗(yàn),而他們

12、又必須了解這些需求。求。 3 3)不同的項(xiàng)目相關(guān)人員有不同的需求,可能以)不同的項(xiàng)目相關(guān)人員有不同的需求,可能以不同的方式表達(dá),分析人員必須發(fā)現(xiàn)所有潛在的需求不同的方式表達(dá),分析人員必須發(fā)現(xiàn)所有潛在的需求資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處。資源,而且能發(fā)現(xiàn)這些需求的相容或沖突之處。 4 4)經(jīng)濟(jì)和業(yè)務(wù)環(huán)境決定了分析是動(dòng)態(tài)的,需求)經(jīng)濟(jì)和業(yè)務(wù)環(huán)境決定了分析是動(dòng)態(tài)的,需求在分析過(guò)程中會(huì)發(fā)生變更。個(gè)別需求的重要程度會(huì)改在分析過(guò)程中會(huì)發(fā)生變更。個(gè)別需求的重要程度會(huì)改變,新的需求會(huì)從新的項(xiàng)目相關(guān)人員那里得到。變,新的需求會(huì)從新的項(xiàng)目相關(guān)人員那里得到。需求分析綜合癥需求分析綜合癥解決方案解決方案需求

13、誘導(dǎo)的方法:需求誘導(dǎo)的方法:3.2.1 訪談訪談1. 正式訪談?wù)皆L談n系統(tǒng)分析員將提出一些事先準(zhǔn)備好的具體問(wèn)題。系統(tǒng)分析員將提出一些事先準(zhǔn)備好的具體問(wèn)題。2. 非正式訪談非正式訪談n分析員將提出一些用戶可以自由回答的開放性問(wèn)題,分析員將提出一些用戶可以自由回答的開放性問(wèn)題,以鼓勵(lì)被訪問(wèn)人員說(shuō)出自己的想法。以鼓勵(lì)被訪問(wèn)人員說(shuō)出自己的想法。3. 調(diào)查表調(diào)查表n經(jīng)過(guò)仔細(xì)考慮寫出的書面回答可能比被訪者對(duì)問(wèn)題的經(jīng)過(guò)仔細(xì)考慮寫出的書面回答可能比被訪者對(duì)問(wèn)題的口頭回答更準(zhǔn)確。口頭回答更準(zhǔn)確。4. 情景分析技術(shù)情景分析技術(shù)n對(duì)用戶將來(lái)使用目標(biāo)系統(tǒng)解決某個(gè)具體問(wèn)題的對(duì)用戶將來(lái)使用目標(biāo)系統(tǒng)解決某個(gè)具體問(wèn)題的方法

14、和結(jié)果進(jìn)行分析。方法和結(jié)果進(jìn)行分析。情景分析技術(shù)的用處:情景分析技術(shù)的用處:n能在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便能在某種程度上演示目標(biāo)系統(tǒng)的行為,從而便于用戶理解,而且還可能進(jìn)一步揭示出一些分于用戶理解,而且還可能進(jìn)一步揭示出一些分析員目前還不知道的需求。析員目前還不知道的需求。n能保證用戶在需求分析過(guò)程中始終扮演一個(gè)積能保證用戶在需求分析過(guò)程中始終扮演一個(gè)積極主動(dòng)的角色。讓用戶起積極主動(dòng)的作用對(duì)需極主動(dòng)的角色。讓用戶起積極主動(dòng)的作用對(duì)需求分析工作獲得成功是至關(guān)重要的。求分析工作獲得成功是至關(guān)重要的。3.2.2 面向數(shù)據(jù)流自頂向下求精面向數(shù)據(jù)流自頂向下求精 1. 分析追蹤數(shù)據(jù)流圖分析追蹤

15、數(shù)據(jù)流圖n需求分析的目標(biāo)之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到需求分析的目標(biāo)之一就是把數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)定義到元素級(jí),通常從數(shù)據(jù)流圖的輸出端著手分析。元素級(jí),通常從數(shù)據(jù)流圖的輸出端著手分析。2. 用戶復(fù)查用戶復(fù)查n必須請(qǐng)用戶對(duì)上述分析過(guò)程中得出的結(jié)果仔細(xì)地復(fù)查。必須請(qǐng)用戶對(duì)上述分析過(guò)程中得出的結(jié)果仔細(xì)地復(fù)查。復(fù)查過(guò)程驗(yàn)證了已知的元素,補(bǔ)充了未知的元素,填復(fù)查過(guò)程驗(yàn)證了已知的元素,補(bǔ)充了未知的元素,填補(bǔ)了文檔中的空白。補(bǔ)了文檔中的空白。n隨著分析過(guò)程的進(jìn)展,經(jīng)過(guò)問(wèn)題和解答的反復(fù)循環(huán),隨著分析過(guò)程的進(jìn)展,經(jīng)過(guò)問(wèn)題和解答的反復(fù)循環(huán),分析員越來(lái)越深入具體地定義了目標(biāo)系統(tǒng),最終得到分析員越來(lái)越深入具體地定義了目

16、標(biāo)系統(tǒng),最終得到對(duì)系統(tǒng)數(shù)據(jù)和功能要求的滿意了解。對(duì)系統(tǒng)數(shù)據(jù)和功能要求的滿意了解。 面向數(shù)據(jù)流自頂向下求精過(guò)程面向數(shù)據(jù)流自頂向下求精過(guò)程3.2.3 簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)n簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)是一種簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)是一種面向團(tuán)隊(duì)面向團(tuán)隊(duì)的需的需求收集法。求收集法。n這種方法提倡用戶與開發(fā)者密切合作,共同標(biāo)這種方法提倡用戶與開發(fā)者密切合作,共同標(biāo)識(shí)問(wèn)題,提出解決方案要素,商討不同方案并識(shí)問(wèn)題,提出解決方案要素,商討不同方案并指定基本需求。指定基本需求。 分析需求的典型過(guò)程如下:分析需求的典型過(guò)程如下:1. 初步訪談,準(zhǔn)備會(huì)議初步訪談,準(zhǔn)備會(huì)議n首先進(jìn)行初步的訪談,初步

17、確定待解決的問(wèn)題首先進(jìn)行初步的訪談,初步確定待解決的問(wèn)題的范圍和解決方案。的范圍和解決方案。n然后開發(fā)者和用戶分別寫出然后開發(fā)者和用戶分別寫出“產(chǎn)品需求產(chǎn)品需求”。選。選定會(huì)議的時(shí)間和地點(diǎn),并選舉協(xié)調(diào)人。定會(huì)議的時(shí)間和地點(diǎn),并選舉協(xié)調(diào)人。2. 會(huì)前審查需求,確定列表會(huì)前審查需求,確定列表n要求每位與會(huì)者在開會(huì)的前幾天認(rèn)真審查產(chǎn)品要求每位與會(huì)者在開會(huì)的前幾天認(rèn)真審查產(chǎn)品需求,并且列出對(duì)象、操作這些對(duì)象或與這些需求,并且列出對(duì)象、操作這些對(duì)象或與這些對(duì)象交互的服務(wù)、約束條件和性能標(biāo)準(zhǔn)。對(duì)象交互的服務(wù)、約束條件和性能標(biāo)準(zhǔn)。3. 會(huì)上討論列表,創(chuàng)建組合列表會(huì)上討論列表,創(chuàng)建組合列表n每位與會(huì)者展示列表

18、供大家討論。大家共同創(chuàng)建一每位與會(huì)者展示列表供大家討論。大家共同創(chuàng)建一張組合列表。由協(xié)調(diào)人主持討論這些列表。張組合列表。由協(xié)調(diào)人主持討論這些列表。4. 分組制定小型規(guī)格說(shuō)明分組制定小型規(guī)格說(shuō)明n與會(huì)者分成更小的小組,為每張列表中的項(xiàng)目制定與會(huì)者分成更小的小組,為每張列表中的項(xiàng)目制定小型規(guī)格說(shuō)明。每個(gè)小組都向全體與會(huì)者展示他們小型規(guī)格說(shuō)明。每個(gè)小組都向全體與會(huì)者展示他們制定的小型規(guī)格說(shuō)明,供大家討論。制定的小型規(guī)格說(shuō)明,供大家討論。5. 制定確認(rèn)標(biāo)準(zhǔn),起草需求規(guī)格說(shuō)明書制定確認(rèn)標(biāo)準(zhǔn),起草需求規(guī)格說(shuō)明書n每個(gè)與會(huì)者都制定出產(chǎn)品的一整套確認(rèn)標(biāo)準(zhǔn),并提每個(gè)與會(huì)者都制定出產(chǎn)品的一整套確認(rèn)標(biāo)準(zhǔn),并提交會(huì)議

19、討論,以創(chuàng)建出意見(jiàn)一致的確認(rèn)標(biāo)準(zhǔn)。交會(huì)議討論,以創(chuàng)建出意見(jiàn)一致的確認(rèn)標(biāo)準(zhǔn)。n最后,起草完整的軟件需求規(guī)格說(shuō)明書。最后,起草完整的軟件需求規(guī)格說(shuō)明書。簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)的優(yōu)點(diǎn):簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)的優(yōu)點(diǎn):n開發(fā)者與用戶不分彼此,齊心協(xié)力,密切合作;開發(fā)者與用戶不分彼此,齊心協(xié)力,密切合作;n即時(shí)討論并求精;即時(shí)討論并求精;n有能導(dǎo)出規(guī)格說(shuō)明的具體步驟。有能導(dǎo)出規(guī)格說(shuō)明的具體步驟。 3.2.4 快速建立軟件原型快速建立軟件原型 n快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大快速建立軟件原型是最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)。的需求分析技術(shù)。n快速原型就是快速建立起來(lái)的旨在演示目標(biāo)系快速原型就

20、是快速建立起來(lái)的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行的程序。統(tǒng)主要功能的可運(yùn)行的程序。n構(gòu)建原型的要點(diǎn)是,它應(yīng)該實(shí)現(xiàn)用戶看得見(jiàn)的構(gòu)建原型的要點(diǎn)是,它應(yīng)該實(shí)現(xiàn)用戶看得見(jiàn)的功能,省略目標(biāo)系統(tǒng)的功能,省略目標(biāo)系統(tǒng)的“隱含隱含”功能。功能??焖僭偷奶匦裕嚎焖僭偷奶匦裕簄“快速快速”??焖僭偷哪康氖潜M快向用戶提供??焖僭偷哪康氖潜M快向用戶提供一個(gè)可在計(jì)算機(jī)上運(yùn)行的目標(biāo)系統(tǒng)的模型。因一個(gè)可在計(jì)算機(jī)上運(yùn)行的目標(biāo)系統(tǒng)的模型。因此,原型的某些缺陷是可以忽略的。此,原型的某些缺陷是可以忽略的。n“容易修改容易修改”。如果原型的第一版不是用戶所。如果原型的第一版不是用戶所需要的,就必須根據(jù)用戶的意見(jiàn)迅速地修改它

21、,需要的,就必須根據(jù)用戶的意見(jiàn)迅速地修改它,構(gòu)建出原型的第二版,以更好地滿足用戶需求。構(gòu)建出原型的第二版,以更好地滿足用戶需求。如果修改耗時(shí)過(guò)多,勢(shì)必延誤軟件開發(fā)時(shí)間。如果修改耗時(shí)過(guò)多,勢(shì)必延誤軟件開發(fā)時(shí)間。 快速原型通常使用下述快速原型通常使用下述3種方法和工具:種方法和工具:(1) 第四代技術(shù)(第四代技術(shù)(4gl)n第四代技術(shù)包括眾多數(shù)據(jù)庫(kù)查詢(如第四代技術(shù)包括眾多數(shù)據(jù)庫(kù)查詢(如sql)和)和報(bào)表語(yǔ)言(如報(bào)表語(yǔ)言(如adf)、程序和應(yīng)用系統(tǒng)生成器)、程序和應(yīng)用系統(tǒng)生成器(如(如power builder和和oracle的應(yīng)用開發(fā)環(huán)境)的應(yīng)用開發(fā)環(huán)境)以及其他非常高級(jí)的非過(guò)程語(yǔ)言。以及其他非

22、常高級(jí)的非過(guò)程語(yǔ)言。n第四代技術(shù)使得軟件工程師能夠快速地生成可第四代技術(shù)使得軟件工程師能夠快速地生成可執(zhí)行的代碼,它們是較理想的快速原型工具。執(zhí)行的代碼,它們是較理想的快速原型工具。 第四代技術(shù)特點(diǎn):第四代技術(shù)特點(diǎn):n簡(jiǎn)單易學(xué),用戶界面良好,面向問(wèn)題、非過(guò)程化程度簡(jiǎn)單易學(xué),用戶界面良好,面向問(wèn)題、非過(guò)程化程度高,用戶只需告知系統(tǒng)做什么,而無(wú)需說(shuō)明怎么做。高,用戶只需告知系統(tǒng)做什么,而無(wú)需說(shuō)明怎么做。用用4gl編程使用的代碼量較少,并可成數(shù)量級(jí)地提高編程使用的代碼量較少,并可成數(shù)量級(jí)地提高軟件生產(chǎn)率。軟件生產(chǎn)率。程序設(shè)計(jì)語(yǔ)言劃代:程序設(shè)計(jì)語(yǔ)言劃代:n1gl是匯編語(yǔ)言;是匯編語(yǔ)言;n2gl是高級(jí)程

23、序設(shè)計(jì)語(yǔ)言,如是高級(jí)程序設(shè)計(jì)語(yǔ)言,如fortran,algol,basic,lisp等;等;n3gl是增強(qiáng)性的高級(jí)程序設(shè)計(jì)語(yǔ)言,如是增強(qiáng)性的高級(jí)程序設(shè)計(jì)語(yǔ)言,如pascal,algol68,fortran77等;等;n4gl是按計(jì)算機(jī)科學(xué)理論指導(dǎo)設(shè)計(jì)出來(lái)的結(jié)構(gòu)化語(yǔ)言,是按計(jì)算機(jī)科學(xué)理論指導(dǎo)設(shè)計(jì)出來(lái)的結(jié)構(gòu)化語(yǔ)言,如如ada,modula2,smalltalk80,java,vb,vc,vf等。等。 (2) 可重用的軟件構(gòu)件可重用的軟件構(gòu)件n另外一種快速構(gòu)建原型的方法,是使用一組已另外一種快速構(gòu)建原型的方法,是使用一組已有的軟件構(gòu)件有的軟件構(gòu)件(也稱為組件也稱為組件)來(lái)裝配來(lái)裝配(而不是從頭而不是

24、從頭構(gòu)造構(gòu)造)原型。原型。n軟件構(gòu)件可以是數(shù)據(jù)結(jié)構(gòu)軟件構(gòu)件可以是數(shù)據(jù)結(jié)構(gòu)(或數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)),或軟件,或軟件體系結(jié)構(gòu)構(gòu)件體系結(jié)構(gòu)構(gòu)件(即程序即程序),或過(guò)程構(gòu)件,或過(guò)程構(gòu)件(即模塊即模塊)。(3) 形式化規(guī)格說(shuō)明和原型環(huán)境形式化規(guī)格說(shuō)明和原型環(huán)境n非形式化方法:自然語(yǔ)言描述非形式化方法:自然語(yǔ)言描述n半形式化方法:數(shù)據(jù)流圖或?qū)嶓w半形式化方法:數(shù)據(jù)流圖或?qū)嶓w-聯(lián)系圖聯(lián)系圖n形式化方法:基于數(shù)學(xué)的技術(shù)形式化方法:基于數(shù)學(xué)的技術(shù) 3.3 分析建模與規(guī)格說(shuō)明分析建模與規(guī)格說(shuō)明3.3.1 分析建模分析建模n模型:模型:就是為了理解事物而對(duì)事物做出的一種就是為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一

25、種無(wú)歧義的書面描述。通抽象,是對(duì)事物的一種無(wú)歧義的書面描述。通常,模型由一組圖形符號(hào)和組織這些符號(hào)的規(guī)常,模型由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。則組成。n結(jié)構(gòu)化分析過(guò)程:結(jié)構(gòu)化分析過(guò)程:實(shí)質(zhì)上是一種創(chuàng)建模型的活實(shí)質(zhì)上是一種創(chuàng)建模型的活動(dòng)。系統(tǒng)分析員從不同角度抽象出目標(biāo)系統(tǒng)的動(dòng)。系統(tǒng)分析員從不同角度抽象出目標(biāo)系統(tǒng)的特性,使用精確的表示方法構(gòu)造系統(tǒng)的模型,特性,使用精確的表示方法構(gòu)造系統(tǒng)的模型,驗(yàn)證模型是否滿足用戶對(duì)目標(biāo)系統(tǒng)的需求,并驗(yàn)證模型是否滿足用戶對(duì)目標(biāo)系統(tǒng)的需求,并在設(shè)計(jì)過(guò)程中逐漸把和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加進(jìn)模在設(shè)計(jì)過(guò)程中逐漸把和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加進(jìn)模型中,直至最終用程序?qū)崿F(xiàn)模型。型中,直至

26、最終用程序?qū)崿F(xiàn)模型。 分析模型的結(jié)構(gòu)分析模型的結(jié)構(gòu)n需求分析過(guò)程需求分析過(guò)程應(yīng)該建立應(yīng)該建立3種模種模型,分別是:型,分別是:q數(shù)據(jù)模型數(shù)據(jù)模型q功能模型功能模型q行為模型行為模型 n數(shù)據(jù)字典:數(shù)據(jù)字典:是分析模型的核心,它描述軟件使是分析模型的核心,它描述軟件使用或產(chǎn)生的所有數(shù)據(jù)對(duì)象。用或產(chǎn)生的所有數(shù)據(jù)對(duì)象。n實(shí)體實(shí)體-聯(lián)系圖:聯(lián)系圖:描繪數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間描繪數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系,是用于建立數(shù)據(jù)模型的圖形。的關(guān)系,是用于建立數(shù)據(jù)模型的圖形。n數(shù)據(jù)流圖:數(shù)據(jù)流圖:描繪當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動(dòng)時(shí)被描繪當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動(dòng)時(shí)被變換的邏輯過(guò)程,指明系統(tǒng)具有的變換數(shù)據(jù)的變換的邏輯過(guò)程,指

27、明系統(tǒng)具有的變換數(shù)據(jù)的功能,因此,數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)。功能,因此,數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)。n狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱為狀態(tài)圖簡(jiǎn)稱為狀態(tài)圖):指明了作為外部指明了作為外部事件結(jié)果的系統(tǒng)行為。為此,狀態(tài)轉(zhuǎn)換圖描繪事件結(jié)果的系統(tǒng)行為。為此,狀態(tài)轉(zhuǎn)換圖描繪了系統(tǒng)的各種行為模式了系統(tǒng)的各種行為模式(稱為稱為“狀態(tài)狀態(tài)”)和在不和在不同狀態(tài)間轉(zhuǎn)換的方式。狀態(tài)轉(zhuǎn)換圖是行為建模同狀態(tài)間轉(zhuǎn)換的方式。狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。的基礎(chǔ)。 3.3.2 軟件需求規(guī)格說(shuō)明軟件需求規(guī)格說(shuō)明 n通過(guò)需求分析除了創(chuàng)建分析模型之外,還應(yīng)該通過(guò)需求分析除了創(chuàng)建分析模型之外,還應(yīng)該寫出軟件需求規(guī)格說(shuō)明書,它是需求

28、分析階段寫出軟件需求規(guī)格說(shuō)明書,它是需求分析階段得出的最主要的文檔。得出的最主要的文檔。n通常用自然語(yǔ)言完整、準(zhǔn)確、具體地描述系統(tǒng)通常用自然語(yǔ)言完整、準(zhǔn)確、具體地描述系統(tǒng)的數(shù)據(jù)要求、功能需求、性能需求、可靠性和的數(shù)據(jù)要求、功能需求、性能需求、可靠性和可用性要求、出錯(cuò)處理需求、接口需求、約束、可用性要求、出錯(cuò)處理需求、接口需求、約束、逆向需求以及將來(lái)可能提出的要求。逆向需求以及將來(lái)可能提出的要求。 我國(guó)定義了我國(guó)定義了gb856d-1988國(guó)家標(biāo)準(zhǔn),給出了需求規(guī)格說(shuō)國(guó)家標(biāo)準(zhǔn),給出了需求規(guī)格說(shuō)明的內(nèi)容框架:明的內(nèi)容框架:1 引言引言 1.1 編寫目的編寫目的 1.2 項(xiàng)目背景(單位和其他系統(tǒng)項(xiàng)目背

29、景(單位和其他系統(tǒng)的關(guān)系)的關(guān)系) 1.3 定義(專門術(shù)語(yǔ)和縮寫詞)定義(專門術(shù)語(yǔ)和縮寫詞)2 任務(wù)概述任務(wù)概述 2.1 目標(biāo)目標(biāo) 2.2 運(yùn)行環(huán)境運(yùn)行環(huán)境 2.3 條件限制條件限制3 數(shù)據(jù)描述數(shù)據(jù)描述 3.1 靜態(tài)數(shù)據(jù)靜態(tài)數(shù)據(jù) 3.2 動(dòng)態(tài)數(shù)據(jù)動(dòng)態(tài)數(shù)據(jù) 3.3 數(shù)據(jù)庫(kù)描述數(shù)據(jù)庫(kù)描述 3.4 數(shù)據(jù)字典數(shù)據(jù)字典 3.5 數(shù)據(jù)采集數(shù)據(jù)采集4 功能需求功能需求 4.1 功能劃分功能劃分 4.2 功能描述功能描述5 性能需求性能需求 5.1 數(shù)據(jù)精確度數(shù)據(jù)精確度 5.2 時(shí)間特性時(shí)間特性 5.3 適應(yīng)性適應(yīng)性6 運(yùn)行需求運(yùn)行需求 6.1 用戶界面用戶界面 6.2 硬件接口硬件接口 6.3 軟件接口軟件

30、接口 6.4 故障處理故障處理7 其他需求其他需求(檢測(cè)或驗(yàn)收標(biāo)準(zhǔn)、可用性、可(檢測(cè)或驗(yàn)收標(biāo)準(zhǔn)、可用性、可維護(hù)性、可移植性、安全保密性)維護(hù)性、可移植性、安全保密性)練習(xí)題:習(xí)題練習(xí)題:習(xí)題3.3,畫數(shù)據(jù)流圖,畫數(shù)據(jù)流圖銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:n儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話或電話號(hào)碼號(hào)碼)、身份證號(hào)碼、存款類型、存款日期、到期、身份證號(hào)碼、存款類型、存款日期、到期日期、利率及密碼日期、利率及密碼(可選可選)等

31、信息,并印出存單給等信息,并印出存單給儲(chǔ)戶;儲(chǔ)戶;n如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。頂層數(shù)據(jù)流圖頂層數(shù)據(jù)流圖頂層數(shù)據(jù)流圖頂層數(shù)據(jù)流圖功能級(jí)數(shù)據(jù)流圖功能級(jí)數(shù)據(jù)流圖細(xì)化的數(shù)據(jù)流圖細(xì)化的數(shù)據(jù)流圖3.4 實(shí)體實(shí)體-聯(lián)系圖聯(lián)系圖n概念性數(shù)據(jù)模型是一種面向問(wèn)題的數(shù)據(jù)模型,概念性數(shù)據(jù)模型是一種面向問(wèn)題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型。它描述是按照用戶的觀點(diǎn)對(duì)數(shù)據(jù)建立的模型。它描述了從用戶角度看到

32、的數(shù)據(jù),它反映了用戶的現(xiàn)了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實(shí)環(huán)境,且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無(wú)關(guān)。實(shí)環(huán)境,且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無(wú)關(guān)。n數(shù)據(jù)模型中包含數(shù)據(jù)模型中包含3種相互關(guān)聯(lián)的信息:種相互關(guān)聯(lián)的信息:q數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象q數(shù)據(jù)對(duì)象的數(shù)據(jù)對(duì)象的屬性屬性q數(shù)據(jù)對(duì)象彼此間相互連接的數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系關(guān)系 3.4.1 數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象 n數(shù)據(jù)對(duì)象:數(shù)據(jù)對(duì)象:是對(duì)軟件必須理解的復(fù)合信息的抽是對(duì)軟件必須理解的復(fù)合信息的抽象。復(fù)合信息是指具有一系列不同性質(zhì)或?qū)傩韵蟆?fù)合信息是指具有一系列不同性質(zhì)或?qū)傩缘氖挛?,僅有單個(gè)值的事物不是數(shù)據(jù)對(duì)象。的事物,僅有單個(gè)值的事物不是數(shù)據(jù)對(duì)象。n數(shù)據(jù)對(duì)象可

33、以是數(shù)據(jù)對(duì)象可以是外部實(shí)體外部實(shí)體、事物事物、行為行為、事件事件、角色角色、單位單位、地點(diǎn)地點(diǎn)或或結(jié)構(gòu)結(jié)構(gòu)等。等。n數(shù)據(jù)對(duì)象彼此間是有關(guān)聯(lián)的。數(shù)據(jù)對(duì)象彼此間是有關(guān)聯(lián)的。 3.4.2 屬性屬性n屬性:屬性:定義了數(shù)據(jù)對(duì)象的性質(zhì)。必須把一個(gè)或定義了數(shù)據(jù)對(duì)象的性質(zhì)。必須把一個(gè)或多個(gè)屬性定義為多個(gè)屬性定義為“標(biāo)識(shí)符標(biāo)識(shí)符” 。n根據(jù)對(duì)問(wèn)題的理解來(lái)確定特定數(shù)據(jù)對(duì)象的合適根據(jù)對(duì)問(wèn)題的理解來(lái)確定特定數(shù)據(jù)對(duì)象的合適的屬性。的屬性。 3.4.3 聯(lián)系聯(lián)系n聯(lián)系:聯(lián)系:數(shù)據(jù)對(duì)象彼此之間相互連接的方式稱為數(shù)據(jù)對(duì)象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。聯(lián)系,也稱為關(guān)系。n聯(lián)系可分為以下聯(lián)系可分為以下3種類型:種

34、類型:q一對(duì)一聯(lián)系一對(duì)一聯(lián)系(1 1)q一對(duì)多聯(lián)系一對(duì)多聯(lián)系(1 n)q多對(duì)多聯(lián)系多對(duì)多聯(lián)系(m n)n聯(lián)系也可能有屬性。聯(lián)系也可能有屬性。3.4.4 實(shí)體實(shí)體-聯(lián)系圖的符號(hào)聯(lián)系圖的符號(hào)er圖中包含:圖中包含:n實(shí)體實(shí)體(即數(shù)據(jù)對(duì)象即數(shù)據(jù)對(duì)象),用矩形框表示;,用矩形框表示;n關(guān)系,用連接相關(guān)實(shí)體的菱形框表示;關(guān)系,用連接相關(guān)實(shí)體的菱形框表示;n屬性,用橢圓形或圓角矩形表示,并用直線把屬性,用橢圓形或圓角矩形表示,并用直線把實(shí)體實(shí)體(或關(guān)系或關(guān)系)與其屬性連接起來(lái)。與其屬性連接起來(lái)。例例1:某校教學(xué)管理系統(tǒng)的某校教學(xué)管理系統(tǒng)的er圖圖er圖的優(yōu)點(diǎn):圖的優(yōu)點(diǎn):n比較接近人的習(xí)慣思維方式;比較接近

35、人的習(xí)慣思維方式;n用簡(jiǎn)單的圖形符號(hào)表達(dá)系統(tǒng)分析員對(duì)問(wèn)題域的理解,用簡(jiǎn)單的圖形符號(hào)表達(dá)系統(tǒng)分析員對(duì)問(wèn)題域的理解,用戶也容易理解,可以作為用戶與分析員之間有效的用戶也容易理解,可以作為用戶與分析員之間有效的交流工具。交流工具。 數(shù)據(jù)建模工具:數(shù)據(jù)建模工具:以自動(dòng)化的方式創(chuàng)建以自動(dòng)化的方式創(chuàng)建er圖、數(shù)據(jù)字典圖、數(shù)據(jù)字典及相關(guān)模型。及相關(guān)模型。qallfusion erwin 輔助設(shè)計(jì)數(shù)據(jù)庫(kù)、數(shù)據(jù)對(duì)象、結(jié)構(gòu)、關(guān)鍵輔助設(shè)計(jì)數(shù)據(jù)庫(kù)、數(shù)據(jù)對(duì)象、結(jié)構(gòu)、關(guān)鍵元素元素qer/studio 支持實(shí)體支持實(shí)體-關(guān)系建模關(guān)系建模qoracle designer 建模、應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)設(shè)計(jì)建模、應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)設(shè)計(jì)q

36、meta scope 圖形化顯示數(shù)據(jù)圖形化顯示數(shù)據(jù)qmodel sphere visible analyst 模型可視化分析模型可視化分析例例2:習(xí)題習(xí)題3.3,銀行儲(chǔ)蓄系統(tǒng)的,銀行儲(chǔ)蓄系統(tǒng)的er圖圖 銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:n儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng)儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址,如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼或電話號(hào)碼)、身份證號(hào)碼、存款類型、存款、身份證號(hào)碼、存款類型、存款日期、到期日期、利率及密碼日期、到期日期、利率及密碼(可選可選)等信息,等信息,并印

37、出存單給儲(chǔ)戶;并印出存單給儲(chǔ)戶;n如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼核對(duì)儲(chǔ)戶密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。銀行儲(chǔ)蓄系統(tǒng)的銀行儲(chǔ)蓄系統(tǒng)的er圖圖 3.5 數(shù)據(jù)規(guī)范化數(shù)據(jù)規(guī)范化n數(shù)據(jù)結(jié)構(gòu)規(guī)范化:數(shù)據(jù)結(jié)構(gòu)規(guī)范化:軟件系統(tǒng)經(jīng)常使用各種長(zhǎng)期軟件系統(tǒng)經(jīng)常使用各種長(zhǎng)期保存的信息,這些信息通常以一定方式組織并保存的信息,這些信息通常以一定方式組織并存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中,為減少數(shù)據(jù)冗余,避存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中,為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異常或刪除異

38、常,簡(jiǎn)化修改數(shù)據(jù)的免出現(xiàn)插入異常或刪除異常,簡(jiǎn)化修改數(shù)據(jù)的過(guò)程,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。過(guò)程,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。 n范式:范式:通常用通常用“范式范式(normal forms)”定義消除定義消除數(shù)據(jù)冗余的程度。第一范式數(shù)據(jù)冗余的程度。第一范式(1 nf)數(shù)據(jù)冗余程數(shù)據(jù)冗余程度最大,第五范式度最大,第五范式(5 nf)數(shù)據(jù)冗余程度最小。數(shù)據(jù)冗余程度最小。q范式級(jí)別越高,存儲(chǔ)同樣數(shù)據(jù)需要分解成更多張范式級(jí)別越高,存儲(chǔ)同樣數(shù)據(jù)需要分解成更多張表,因此,表,因此,“存儲(chǔ)自身存儲(chǔ)自身”過(guò)程越復(fù)雜。過(guò)程越復(fù)雜。q隨著范式級(jí)別的提高,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與基于問(wèn)隨著范式級(jí)別的提高,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與基于

39、問(wèn)題域的結(jié)構(gòu)間的匹配程度也隨之下降,因此,在題域的結(jié)構(gòu)間的匹配程度也隨之下降,因此,在需求變化時(shí)數(shù)據(jù)的穩(wěn)定性較差。需求變化時(shí)數(shù)據(jù)的穩(wěn)定性較差。q范式級(jí)別提高則需要訪問(wèn)的表增多,因此性能范式級(jí)別提高則需要訪問(wèn)的表增多,因此性能(速速度度)將下降。將下降。第一、第二和第三范式的定義:第一、第二和第三范式的定義:n第一范式,每個(gè)屬性值都必須是原子值,即僅第一范式,每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值而不含內(nèi)部結(jié)構(gòu)。僅是一個(gè)簡(jiǎn)單值而不含內(nèi)部結(jié)構(gòu)。n第二范式,滿足第一范式條件,而且每個(gè)非關(guān)第二范式,滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵而

40、不是由關(guān)鍵字的一部分來(lái)決定字的一部分來(lái)決定)。n第三范式,符合第二范式的條件,每個(gè)非關(guān)鍵第三范式,符合第二范式的條件,每個(gè)非關(guān)鍵字屬性都僅由關(guān)鍵字決定,而且一個(gè)非關(guān)鍵字字屬性都僅由關(guān)鍵字決定,而且一個(gè)非關(guān)鍵字屬性不能僅僅是對(duì)另一個(gè)非關(guān)鍵字屬性的進(jìn)一屬性不能僅僅是對(duì)另一個(gè)非關(guān)鍵字屬性的進(jìn)一步描述步描述(即一個(gè)非關(guān)鍵字屬性值不依賴于另一即一個(gè)非關(guān)鍵字屬性值不依賴于另一個(gè)非關(guān)鍵字屬性值個(gè)非關(guān)鍵字屬性值)。 3.6 狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖n狀態(tài)轉(zhuǎn)換圖:狀態(tài)轉(zhuǎn)換圖:通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。n狀態(tài)圖還指明了作

41、為特定事件的結(jié)果系統(tǒng)將做狀態(tài)圖還指明了作為特定事件的結(jié)果系統(tǒng)將做哪些動(dòng)作哪些動(dòng)作(例如,處理數(shù)據(jù)例如,處理數(shù)據(jù))。 3.6.1 狀態(tài)狀態(tài) n狀態(tài):狀態(tài):是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。的響應(yīng)方式。n狀態(tài)主要有:狀態(tài)主要有:q初態(tài)初態(tài)(即初始狀態(tài)即初始狀態(tài)),只能有,只能有1個(gè)個(gè)q終態(tài)終態(tài)(即最終狀態(tài)即最終狀態(tài)),可以有,可以有0至多個(gè)至多個(gè)q中間狀態(tài)中間狀態(tài)n狀態(tài)圖分類:狀態(tài)圖分類:q表示系統(tǒng)循環(huán)運(yùn)行過(guò)程,通常不關(guān)心循環(huán)是怎樣啟動(dòng)的。表示系統(tǒng)循

42、環(huán)運(yùn)行過(guò)程,通常不關(guān)心循環(huán)是怎樣啟動(dòng)的。q表示系統(tǒng)單程生命期,需要標(biāo)明初始狀態(tài)和最終狀態(tài)。表示系統(tǒng)單程生命期,需要標(biāo)明初始狀態(tài)和最終狀態(tài)。3.6.2 事件事件n事件:事件:是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起系統(tǒng)做動(dòng)作或引起系統(tǒng)做動(dòng)作或(和和)從一個(gè)狀態(tài)轉(zhuǎn)換到另一從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象。簡(jiǎn)而言之,事件就個(gè)狀態(tài)的外界事件的抽象。簡(jiǎn)而言之,事件就是引起系統(tǒng)做動(dòng)作或是引起系統(tǒng)做動(dòng)作或(和和)轉(zhuǎn)換狀態(tài)的控制信息。轉(zhuǎn)換狀態(tài)的控制信息。 3.6.3 符號(hào)符號(hào)n初態(tài):用實(shí)心圓表示;初態(tài):用實(shí)心圓表示;n終態(tài):用一對(duì)同心圓終態(tài):用一對(duì)同心圓(內(nèi)圓為實(shí)心圓

43、內(nèi)圓為實(shí)心圓)表示;表示;n中間狀態(tài):用圓角矩形表示,分成上、中、下中間狀態(tài):用圓角矩形表示,分成上、中、下3部分。部分。q上面部分上面部分-為狀態(tài)的名稱;為狀態(tài)的名稱;q中間部分中間部分-為狀態(tài)變量的名字和值;為狀態(tài)變量的名字和值;q下面部分下面部分-是活動(dòng)表。是活動(dòng)表。 n帶箭頭的連線:稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)帶箭頭的連線:稱為狀態(tài)轉(zhuǎn)換,箭頭指明了轉(zhuǎn)換方向。換方向。 狀態(tài)圖中使用的主要符號(hào)狀態(tài)圖中使用的主要符號(hào)活動(dòng)表的語(yǔ)法格式:活動(dòng)表的語(yǔ)法格式: 事件名事件名(參數(shù)表參數(shù)表)/動(dòng)作表達(dá)式動(dòng)作表達(dá)式n“事件名事件名”可以是任何事件的名稱。可以是任何事件的名稱。n常用的常用的3種標(biāo)準(zhǔn)事件:種

44、標(biāo)準(zhǔn)事件:qentry事件指定進(jìn)入該狀態(tài)的動(dòng)作;事件指定進(jìn)入該狀態(tài)的動(dòng)作;qexit事件指定退出該狀態(tài)的動(dòng)作;事件指定退出該狀態(tài)的動(dòng)作;qdo事件則指定在該狀態(tài)下的動(dòng)作。事件則指定在該狀態(tài)下的動(dòng)作。n需要時(shí)可以為事件指定參數(shù)表?;顒?dòng)表中的動(dòng)需要時(shí)可以為事件指定參數(shù)表?;顒?dòng)表中的動(dòng)作表達(dá)式描述應(yīng)做的具體動(dòng)作。作表達(dá)式描述應(yīng)做的具體動(dòng)作。 事件表達(dá)式的語(yǔ)法:事件表達(dá)式的語(yǔ)法: 事件說(shuō)明守衛(wèi)條件動(dòng)作表達(dá)式事件說(shuō)明守衛(wèi)條件動(dòng)作表達(dá)式n事件說(shuō)明的語(yǔ)法為:事件名事件說(shuō)明的語(yǔ)法為:事件名(參數(shù)表參數(shù)表)。n守衛(wèi)條件是一個(gè)布爾表達(dá)式。如果同時(shí)使用事守衛(wèi)條件是一個(gè)布爾表達(dá)式。如果同時(shí)使用事件說(shuō)明和守衛(wèi)條件,則當(dāng)

45、且僅當(dāng)事件發(fā)生且布件說(shuō)明和守衛(wèi)條件,則當(dāng)且僅當(dāng)事件發(fā)生且布爾表達(dá)式為真時(shí),狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有爾表達(dá)式為真時(shí),狀態(tài)轉(zhuǎn)換才發(fā)生。如果只有守衛(wèi)條件沒(méi)有事件說(shuō)明,則只要守衛(wèi)條件為真守衛(wèi)條件沒(méi)有事件說(shuō)明,則只要守衛(wèi)條件為真狀態(tài)轉(zhuǎn)換就發(fā)生。狀態(tài)轉(zhuǎn)換就發(fā)生。n動(dòng)作表達(dá)式是一個(gè)過(guò)程表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開動(dòng)作表達(dá)式是一個(gè)過(guò)程表達(dá)式,當(dāng)狀態(tài)轉(zhuǎn)換開始時(shí)執(zhí)行該表達(dá)式。始時(shí)執(zhí)行該表達(dá)式。 3.6.4 例子例子例例1:電話系統(tǒng)電話系統(tǒng)例例2:銀行儲(chǔ)蓄系統(tǒng)銀行儲(chǔ)蓄系統(tǒng)存款過(guò)程的狀態(tài)圖存款過(guò)程的狀態(tài)圖例例2:銀行儲(chǔ)蓄系統(tǒng)銀行儲(chǔ)蓄系統(tǒng)取款過(guò)程的狀態(tài)圖取款過(guò)程的狀態(tài)圖3.7 其他圖形工具其他圖形工具3.7.1 層次方框圖層次

46、方框圖n層次方框圖:層次方框圖:用樹形結(jié)構(gòu)的一系列多層次的矩用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。n樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表樹形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu);完整的數(shù)據(jù)結(jié)構(gòu);n下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集;下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集;n最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素元素(不能再分割的元素不能再分割的元素)。某計(jì)算機(jī)公司的全部產(chǎn)品的層次方框圖某計(jì)算機(jī)公司的全部產(chǎn)品的層次方框圖3.7.2 warnier圖圖nwarnier圖:圖:和層次方框圖類似,和層次方

47、框圖類似,warnier圖圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。層次方框圖提供了更豐富的描繪手段。n特點(diǎn):特點(diǎn):用用warnier圖可以表明信息的邏輯組織,圖可以表明信息的邏輯組織,也可以表示特定信息在某一類信息中是有條件也可以表示特定信息在某一類信息中是有條件地出現(xiàn)的。因?yàn)橹貜?fù)和條件約束是說(shuō)明軟件處地出現(xiàn)的。因?yàn)橹貜?fù)和條件約束是說(shuō)明軟件處理過(guò)程的基礎(chǔ),所以很容易把理過(guò)程的基礎(chǔ),所以很容易把warnier圖轉(zhuǎn)變圖轉(zhuǎn)變成軟件設(shè)計(jì)的工具。成軟件設(shè)計(jì)的工具。 軟件產(chǎn)品的軟件產(chǎn)品的warnier圖圖3.7.3 ipo圖圖nipo圖:圖:是輸入、處理、輸出圖的簡(jiǎn)稱,它是是輸入、處理、輸出圖的簡(jiǎn)稱,它是美國(guó)美國(guó)ibm公司發(fā)展完善起來(lái)的一種圖形工具,公司發(fā)展完善起來(lái)的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的處理和輸能夠方便地描繪輸入數(shù)據(jù)、對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論