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

下載本文檔

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

文檔簡介

1、第四章軟件需求(2)1軟件工程 - 2013 - 第四章 軟件需求第四章內(nèi)容概要軟件需求概述軟件需求過程軟件需求的表達(dá)方法2軟件工程 - 2013 - 第四章 軟件需求軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法3軟件工程 - 2013 - 第四章 軟件需求需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的 “做什么” 的問題系統(tǒng)模型4軟件工程 - 2013 - 第四章 軟件需求通常軟件開發(fā)項(xiàng)目是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。目標(biāo)系統(tǒng)的具體物理模型是由它的邏輯模型經(jīng)實(shí)例化,即具體到某個(gè)業(yè)務(wù)領(lǐng)域而得到的。導(dǎo)出目標(biāo)系統(tǒng)

2、的邏輯模型的過程中,對系統(tǒng)進(jìn)行建模有著不可替代的作用。系統(tǒng)模型5軟件工程 - 2013 - 第四章 軟件需求在需求分析階段創(chuàng)建模型的作用模型幫助分析員理解系統(tǒng)的信息、功能和行為,因此,使得需求分析任務(wù)更容易、更系統(tǒng);模型是評審的焦點(diǎn),因此,也成為確定規(guī)約的完整性、一致性和精確性的關(guān)鍵;模型是設(shè)計(jì)的基礎(chǔ)。系統(tǒng)模型6軟件工程 - 2013 - 第四章 軟件需求系統(tǒng)模型:描述系統(tǒng)的某個(gè)特殊方面,是自然語言描述的補(bǔ)充需求定義和系統(tǒng)模型通常同時(shí)開發(fā);系統(tǒng)某一方面的需求間相互關(guān)系的統(tǒng)一表達(dá);常??煽醋魇切枨笠?guī)約的具體化,視開發(fā)方對系統(tǒng)模型的重視程度和開發(fā)任務(wù)的分配情況而定。系統(tǒng)模型本質(zhì):開發(fā)方根據(jù)從應(yīng)用域

3、中提取的需求,以自己的形式表達(dá)的理解。系統(tǒng)模型7軟件工程 - 2013 - 第四章 軟件需求系統(tǒng)模型的分類:行為模型:這個(gè)概念包括系統(tǒng)的所有過程層面的內(nèi)容。功能模型:描述數(shù)據(jù)的功能轉(zhuǎn)換。有兩種方式。其一,數(shù)據(jù)被認(rèn)為在功能處理元素間流動(dòng),如數(shù)據(jù)流圖(DFD)。其二,領(lǐng)域?qū)嶓w被建模成對象,通過事件觸發(fā)相應(yīng)的服務(wù)來處理數(shù)據(jù)元素,如面向?qū)ο蠓椒ā?dòng)態(tài)模型:描述與時(shí)間有關(guān)的變化。結(jié)構(gòu)模型(靜態(tài)模型):描述系統(tǒng)的實(shí)體結(jié)構(gòu)。系統(tǒng)模型8軟件工程 - 2013 - 第四章 軟件需求軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法9軟件工程 - 2013 - 第四

4、章 軟件需求最基本形式自然語言描述因可能存在二義性,所以應(yīng)在合適情況下選用合適的符號進(jìn)行精確描述。靜態(tài)描述實(shí)體關(guān)系圖(ER圖)數(shù)據(jù)抽象對象模型需求的表達(dá)形式10軟件工程 - 2013 - 第四章 軟件需求動(dòng)態(tài)描述判定表狀態(tài)遷移圖時(shí)序圖Petri網(wǎng)層次技術(shù)Warnier圖需求的表達(dá)形式11軟件工程 - 2013 - 第四章 軟件需求系統(tǒng)的需求規(guī)格說明通??梢杂米匀徽Z言來敘述,但是用自然語言描述往往會(huì)出現(xiàn)歧義性;為了直觀地分析系統(tǒng)的動(dòng)作,從特定的視點(diǎn)出發(fā)描述系統(tǒng)的行為,需要采用動(dòng)態(tài)分析的方法。系統(tǒng)的動(dòng)態(tài)分析12軟件工程 - 2013 - 第四章 軟件需求狀態(tài)遷移圖時(shí)序圖Petri網(wǎng)最常用的動(dòng)態(tài)分析

5、方法13軟件工程 - 2013 - 第四章 軟件需求狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應(yīng)外部的信號進(jìn)行推移的一種圖形表示。 圓圈“”表示可得到的系統(tǒng)狀態(tài); 箭頭“”表示從一種狀態(tài)向另一種狀態(tài)的遷移。箭頭上要標(biāo)明導(dǎo)致遷移的信號的或事件的名字;狀態(tài)遷移圖所表示的關(guān)系還可以用表格形式表達(dá),稱之為狀態(tài)遷移表。狀態(tài)遷移圖14軟件工程 - 2013 - 第四章 軟件需求狀態(tài)遷移圖狀態(tài)遷移圖和與其等價(jià)的狀態(tài)遷移表示例15軟件工程 - 2013 - 第四章 軟件需求如何設(shè)置系統(tǒng)的狀態(tài),需要根據(jù)分析的目標(biāo)和表達(dá)的目的而定。例如,操作系統(tǒng)中根據(jù)調(diào)度的要求需要設(shè)置進(jìn)程的狀態(tài),當(dāng)有多個(gè)申請占用CPU運(yùn)行的進(jìn)程時(shí),有關(guān)C

6、PU分配的進(jìn)程的狀態(tài)就可以用下圖表示:狀態(tài)遷移圖16軟件工程 - 2013 - 第四章 軟件需求可得到的狀態(tài)就緒,運(yùn)行,等待 就緒(Ready):等待分配CPU 運(yùn)行(Running):正在CPU上做處理 等待(Wait):放棄CPU生成的事件t1,t2, t3, t4t1:因I/O等事件發(fā)生而要求中斷t2:中斷事件已處理t3:分配CPUt4:已用完分配的CPU時(shí)間狀態(tài)遷移圖17軟件工程 - 2013 - 第四章 軟件需求狀態(tài)之間的關(guān)系能夠直觀地捕捉到,可以檢查所有可能的狀態(tài)是否都已納入到圖中,是否存在不必要的狀態(tài)等。由于狀態(tài)遷移圖的單純性,能夠機(jī)械地分析許多情況,可很容易地建立分析工具,回答

7、諸如“指定事件序列P、狀態(tài)A和B,可以因?yàn)镻從A向B遷移嗎?”、“找出經(jīng)過所有狀態(tài)的事件序列”之類的問題。狀態(tài)遷移圖的優(yōu)點(diǎn)18軟件工程 - 2013 - 第四章 軟件需求在系統(tǒng)分析中,時(shí)序圖用于對比在系統(tǒng)中處理事件的時(shí)序和相應(yīng)的處理時(shí)間在下圖中, 對于事件e,功能1功能3的處理時(shí)間總計(jì)為 (T1T2T3),其中功能間切換時(shí)間為0時(shí)序圖19軟件工程 - 2013 - 第四章 軟件需求采用擴(kuò)充時(shí)序圖可表示進(jìn)程間的通信流, 用于分析幾個(gè) 事件的交錯(cuò)現(xiàn)象。如右圖,C1與C2,R1與R2是交錯(cuò)的。因此,可以做如下分析:“HOST1 在等待C1的回答R1期間要能接收從HOST2發(fā)出的命令C2?!睍r(shí)序圖20

8、軟件工程 - 2013 - 第四章 軟件需求Petri網(wǎng)最早是作為表達(dá)異步系統(tǒng)的控制規(guī)則的圖形表示法提出來的,現(xiàn)在已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開發(fā)中,它適用于描述與分析相互獨(dú)立、協(xié)同操作的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)。Petri網(wǎng)21軟件工程 - 2013 - 第四章 軟件需求Petri網(wǎng)簡稱PNG (Petri Net Graph),是一種有向圖,它有兩種結(jié)點(diǎn):位置( place ):符號為“”,它用來表示系統(tǒng)的狀態(tài)。轉(zhuǎn)移( transition ):符號為“” 或“”,它用來表示系統(tǒng)中的事件。圖中的有向邊表示對轉(zhuǎn)移的輸入,或由轉(zhuǎn)移的輸出:“”表示事件發(fā)生的前提,即對轉(zhuǎn)移(事件)的輸

9、入,“”表示事件的結(jié)果,即由轉(zhuǎn)移(事件)的輸出。Petri網(wǎng)22軟件工程 - 2013 - 第四章 軟件需求稱轉(zhuǎn)移的啟動(dòng)為激發(fā)或開火(fire),它是轉(zhuǎn)移的輸出;只有當(dāng)作為輸入的所有位置的條件都滿足時(shí)才能引起激發(fā):Petri網(wǎng)23軟件工程 - 2013 - 第四章 軟件需求標(biāo)記,或稱令牌(token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志Petri網(wǎng)24軟件工程 - 2013 - 第四章 軟件需求25軟件工程 - 2013 - 第四章 軟件需求26軟件工程 - 2013 - 第四章 軟件需求 處理兩個(gè)進(jìn)程的同步問題27軟件工程 - 2013 - 第四章 軟件需求28軟件工程 - 2013 - 第四

10、章 軟件需求軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法29軟件工程 - 2013 - 第四章 軟件需求結(jié)構(gòu)化分析方法最初由Douglas Ross提出,由DeMarco推廣,由Ward和Mellor以及后來的Hatley和Pirbhai擴(kuò)充,形成了今天的結(jié)構(gòu)化分析方法的框架。結(jié)構(gòu)化分析方法30軟件工程 - 2013 - 第四章 軟件需求結(jié)構(gòu)化分析方法的分析模型數(shù)據(jù)字典實(shí)體關(guān)系圖數(shù)據(jù)流圖狀態(tài)變遷圖數(shù)據(jù)對象描述加工規(guī)格說明控制規(guī)格說明31軟件工程 - 2013 - 第四章 軟件需求核心:數(shù)據(jù)字典實(shí)體關(guān)系圖(ERD):描述數(shù)據(jù)對象和對象之間的關(guān)

11、系數(shù)據(jù)建模數(shù)據(jù)流圖(DFD):描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對數(shù)據(jù)流進(jìn)行變換的功能(子功能)功能建模狀態(tài)變遷圖(STD):描述系統(tǒng)對外部事件如何響應(yīng),如何動(dòng)作行為建模結(jié)構(gòu)化分析方法的分析模型32軟件工程 - 2013 - 第四章 軟件需求面向數(shù)據(jù)流進(jìn)行需求分析的方法。傳統(tǒng)結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析。具體來說,傳統(tǒng)結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。傳統(tǒng)結(jié)構(gòu)化分析方法33軟件工程 - 2013 - 第四章 軟件需求傳統(tǒng)結(jié)構(gòu)化分析方法使用工具: 數(shù)據(jù)流圖(Data F

12、low Diagram) 數(shù)據(jù)詞典(Data Dictionary) Warnier圖 結(jié)構(gòu)化英語 判定表與判定樹傳統(tǒng)結(jié)構(gòu)化分析方法34軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖(DFD)的符號或數(shù)據(jù)的源點(diǎn)/終點(diǎn)或變換數(shù)據(jù)的處理/加工/變換或數(shù)據(jù)存儲(文件)數(shù)據(jù)流35軟件工程 - 2013 - 第四章 軟件需求源點(diǎn)和終點(diǎn)源點(diǎn)和終點(diǎn)是系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。源點(diǎn)和終點(diǎn)是為了幫助理解系統(tǒng)接口而引入的。加工/變換對數(shù)據(jù)進(jìn)行處理的單元。在分層數(shù)據(jù)流圖中,要對加工進(jìn)行編號,以便于管理。加工也要選取適當(dāng)?shù)拿?,以提高?shù)據(jù)流圖的易讀性。DFD的符號36軟件工程 - 2013 -

13、 第四章 軟件需求數(shù)據(jù)流由一組數(shù)據(jù)項(xiàng)組成。例如,數(shù)據(jù)流“訂票單”由姓名、住址、電話、航班號、日期、始點(diǎn)、終點(diǎn)等數(shù)據(jù)項(xiàng)組成;數(shù)據(jù)流“航班”由航班號、日期和姓名等數(shù)據(jù)項(xiàng)組成數(shù)據(jù)流可以從加工流向加工,如“航班”、“費(fèi)用”;可以從源點(diǎn)流向加工,或從加工流向終點(diǎn);可以從加工流向數(shù)據(jù)存儲或從數(shù)據(jù)存儲流向加工DFD的符號37軟件工程 - 2013 - 第四章 軟件需求文件用來暫時(shí)存儲數(shù)據(jù)的。如果加工要讀文件,則數(shù)據(jù)流的方向是從文件到加工;如果加工要寫文件,則數(shù)據(jù)流的方向是從加工到文件;如果加工既要讀文件又要寫文件,則數(shù)據(jù)流的方向是雙向的DFD的符號38軟件工程 - 2013 - 第四章 軟件需求旅行社旅客預(yù)

14、定機(jī)票機(jī)票準(zhǔn)備記帳航班目錄記帳文件訂票單航班費(fèi)用帳單機(jī)票DFD的符號39軟件工程 - 2013 - 第四章 軟件需求描述銀行取款過程的數(shù)據(jù)流圖40軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系41軟件工程 - 2013 - 第四章 軟件需求為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng)。數(shù)據(jù)流圖的層次結(jié)構(gòu)42軟件工程 - 2013 - 第四章 軟件需求自頂向下逐層畫數(shù)據(jù)流圖的步驟首先建立頂層的數(shù)據(jù)流圖(基本系統(tǒng)模型),其中只含有一個(gè)代表目標(biāo)軟件系統(tǒng)整體處理

15、功能的轉(zhuǎn)換。根據(jù)軟件系統(tǒng)與外部環(huán)境的關(guān)系確定頂層數(shù)據(jù)流圖中的外部實(shí)體以及它們與軟件系統(tǒng)之間的數(shù)據(jù)流。 43軟件工程 - 2013 - 第四章 軟件需求自頂向下逐層畫數(shù)據(jù)流圖的步驟外部實(shí)體外部實(shí)體外部實(shí)體外部實(shí)體軟件系統(tǒng)輸入數(shù)據(jù)流輸入數(shù)據(jù)流輸出數(shù)據(jù)流輸出數(shù)據(jù)流。基本系統(tǒng)模型(0級圖)44軟件工程 - 2013 - 第四章 軟件需求旅行社旅客飛機(jī)訂票系統(tǒng)訂票單機(jī)票帳單45軟件工程 - 2013 - 第四章 軟件需求畫系統(tǒng)的內(nèi)部:將頂層圖中的處理分解成若干個(gè)處理,并用數(shù)據(jù)流將這些處理連接起來,使得頂層圖中的輸入數(shù)據(jù)流經(jīng)一連串的加工處理后變換成頂層圖中的輸出數(shù)據(jù)流。這張圖稱為1層數(shù)據(jù)流圖。又稱為系統(tǒng)功

16、能級數(shù)據(jù)流圖。 畫處理的內(nèi)部:把每一個(gè)處理看作一個(gè)小系統(tǒng),該處理的輸入輸出數(shù)據(jù)流看成小系統(tǒng)的輸入輸出數(shù)據(jù)流,于是可以用畫1層圖同樣的方法畫出每個(gè)處理的DFD子圖。對第3步分解出來的DFD子圖中的每個(gè)處理重復(fù)第3步的分解,直至圖中尚未分解的處理都足夠簡單為止。到此得到了一套分層的數(shù)據(jù)流圖。 自頂向下逐層畫數(shù)據(jù)流圖的步驟46軟件工程 - 2013 - 第四章 軟件需求分層的數(shù)據(jù)流圖源點(diǎn)1源點(diǎn)2終點(diǎn)2終點(diǎn)1G頂層0層132一層圖號11.11.23.43.12.22.12.33.23.3圖號2圖號347軟件工程 - 2013 - 第四章 軟件需求為分層數(shù)據(jù)流圖和加工編號的原則:(1)子圖的圖號就是分解

17、的父圖中加工的編號(2)子圖中的加工的編號是由子圖號、小數(shù)點(diǎn),局部順序號組成二層圖號3.3圖號2.2圖號3.12.2.12.2.23.3.13.3.33.3.23.1.23.1.1分層的數(shù)據(jù)流圖48軟件工程 - 2013 - 第四章 軟件需求分層的數(shù)據(jù)流圖49軟件工程 - 2013 - 第四章 軟件需求在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng),也被稱為0層圖。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)。底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層。中間層流圖則表示對其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。分層的數(shù)據(jù)流圖50軟件工程 - 201

18、3 - 第四章 軟件需求數(shù)據(jù)流圖中的主要圖形元素:數(shù)據(jù)加工(數(shù)據(jù)變換),圖中“2”為加工編號數(shù)據(jù)源點(diǎn)(source)或匯點(diǎn)(sink)數(shù)據(jù)流數(shù)據(jù)存儲文件數(shù)據(jù)流圖常用的另一套圖形元素51軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖示例:學(xué)校選課系統(tǒng)52軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖示例:學(xué)校選課系統(tǒng)53軟件工程 - 2013 - 第四章 軟件需求一家工廠的采購部每天需要一張定貨報(bào)表,報(bào)表按零件編號排序,列出所有需要再次定貨的零件。對于需要訂貨的零件列出其零件編號、零件名稱、定貨數(shù)量、目前價(jià)格、主要供應(yīng)者、次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端

19、把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫存量少于臨界值時(shí)就應(yīng)該再次定貨。例1:定貨系統(tǒng)54軟件工程 - 2013 - 第四章 軟件需求第一步確定系統(tǒng)的源點(diǎn)和終點(diǎn)倉庫管理員是數(shù)據(jù)的源點(diǎn);采購員是數(shù)據(jù)的終點(diǎn)。處理(加工)應(yīng)該完成定貨系統(tǒng)這樣一個(gè)功能。數(shù)據(jù)流事務(wù)需從倉庫送到系統(tǒng)中,顯然事務(wù)是一個(gè)數(shù)據(jù)流;系統(tǒng)要把定貨報(bào)表送給采購部,定貨報(bào)表也是一個(gè)數(shù)據(jù)流。例1:定貨系統(tǒng)55軟件工程 - 2013 - 第四章 軟件需求定貨系統(tǒng)基本數(shù)據(jù)流圖例1:定貨系統(tǒng)倉庫管理員事務(wù)定貨系統(tǒng)定貨報(bào)表采購員定貨系統(tǒng)的基本系統(tǒng)模型56軟件工程 - 2013 - 第四章 軟件需求 第二步將處理(加工)定貨系統(tǒng)進(jìn)行功能分解成事務(wù)處理

20、和產(chǎn)生報(bào)表兩部分;考慮有關(guān)數(shù)據(jù)存儲問題,題中涉及到存儲的信息有:庫存清單、定貨信息;例1:定貨系統(tǒng)57軟件工程 - 2013 - 第四章 軟件需求源點(diǎn)/終點(diǎn)處理采購員倉庫管理員產(chǎn)生報(bào)表處理事務(wù)數(shù)據(jù)流數(shù)據(jù)存儲定貨報(bào)表 零件編號 零件名稱 定貨數(shù)量 目前價(jià)格 主要供應(yīng)者 次要供應(yīng)者事務(wù) 零件編號 事務(wù)類型 數(shù)量定貨信息 (同定貨報(bào)表)庫存清單 零件編號 庫存量 庫存量臨界值58軟件工程 - 2013 - 第四章 軟件需求例1:定貨系統(tǒng)定貨系統(tǒng)功能級數(shù)據(jù)流圖定貨報(bào)表采購員倉庫管理員事務(wù)1處理事務(wù)庫存清單D1 庫存清單D2 定貨信息定貨信息2產(chǎn)生報(bào)表定貨信息 定貨系統(tǒng)的功能級數(shù)據(jù)流圖59軟件工程 -

21、2013 - 第四章 軟件需求第三步將事務(wù)處理進(jìn)一步分解為接收事務(wù)、更新庫存清單、處理定貨三部分。畫出事務(wù)處理功能分解后的數(shù)據(jù)流圖。例1:定貨系統(tǒng)60軟件工程 - 2013 - 第四章 軟件需求例1:定貨系統(tǒng) 把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖倉庫管理員事務(wù)1.1接收事務(wù)庫存清單D1 庫存清單事務(wù)1.2更新庫存清單定貨信息D2 定貨信息定貨報(bào)表采購員2產(chǎn)生報(bào)表1.3處理定貨定貨信息庫存信息61軟件工程 - 2013 - 第四章 軟件需求由捐助者向基金會(huì)提出捐助請求,經(jīng)身份確認(rèn)后被接受,對捐助人進(jìn)行登記并授予捐助證書,捐款存入銀行。由教育單位提出用款申請,在進(jìn)行相應(yīng)的合法性校驗(yàn)和核對相應(yīng)的捐

22、款儲備后做出支出。每月給基金會(huì)的理事會(huì)一份財(cái)政狀況報(bào)表,列出本月的收入和支出情況和資金余額。例2:教育基金會(huì)的捐助資金管理系統(tǒng)62軟件工程 - 2013 - 第四章 軟件需求例2:教育基金會(huì)的捐助資金管理系統(tǒng)捐助者教育單位理事會(huì)資金管理系統(tǒng)捐款請求財(cái)政報(bào)表用款請求基金會(huì)資金管理系統(tǒng)的頂層數(shù)據(jù)流圖63軟件工程 - 2013 - 第四章 軟件需求例2:教育基金會(huì)的捐助資金管理系統(tǒng)理事會(huì)財(cái)政報(bào)表捐助者捐款請求教育單位用款請求D1收支狀況支出處理2收入處理1功能級數(shù)據(jù)流圖產(chǎn)生報(bào)表364軟件工程 - 2013 - 第四章 軟件需求經(jīng)過細(xì)化的功能級數(shù)據(jù)流圖捐助者教育單位接受請求1.1產(chǎn)生報(bào)表3支出批準(zhǔn)2.

23、3登記收入1.3合法性檢查2.2接受請求2.1合法性檢 查1.2理事會(huì)D3教育單位信息D2捐助者信息捐款請求捐款要求請求用款用款合法支出合法捐助D1收支狀況財(cái)務(wù)報(bào)告要求65軟件工程 - 2013 - 第四章 軟件需求例3:商店業(yè)務(wù)處理系統(tǒng)66軟件工程 - 2013 - 第四章 軟件需求這個(gè)數(shù)據(jù)流圖只是一個(gè)高層的系統(tǒng)邏輯模型,它反映了目標(biāo)系統(tǒng)要實(shí)現(xiàn)的功能。數(shù)據(jù)流圖繪制步驟: 首先確定系統(tǒng)的輸入和輸出; 根據(jù)商店業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程;例3:商店業(yè)務(wù)處理系統(tǒng)67軟件工程 - 2013 - 第四章 軟件需求 經(jīng)過分析,商店業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有銷售、采購、會(huì)計(jì)三大項(xiàng)。主要

24、數(shù)據(jù)流輸入的源點(diǎn)和輸出終點(diǎn)是顧客和供應(yīng)商; 然后從輸入端開始,根據(jù)商店業(yè)務(wù)工作流程,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第一層數(shù)據(jù)流圖:例3:商店業(yè)務(wù)處理系統(tǒng)68軟件工程 - 2013 - 第四章 軟件需求第一層數(shù)據(jù)流圖69軟件工程 - 2013 - 第四章 軟件需求加細(xì)每一個(gè)加工框銷售細(xì)化70軟件工程 - 2013 - 第四章 軟件需求加細(xì)每一個(gè)加工框采購細(xì)化71軟件工程 - 2013 - 第四章 軟件需求畫數(shù)據(jù)流圖不是畫流程圖父圖和子圖的平衡問題局部文件的問題分解的深度和層次問題命名問題畫數(shù)據(jù)流圖需要注意的幾個(gè)問題72軟件工程 - 2013 - 第四章 軟件需求父圖和子圖的平衡問

25、題12435763.13.23.33.43.63.5ACBYEXWVFDGHDFGH73軟件工程 - 2013 - 第四章 軟件需求父圖和子圖的平衡問題12344.44.34.24.1AGCBFDEEHLFG1323.13.2考生成績錄取通知書考生姓名準(zhǔn)考證號通訊地址考生成績74軟件工程 - 2013 - 第四章 軟件需求文件(數(shù)據(jù)存儲)總是局部于分層數(shù)據(jù)流圖的某一層或某幾層,所以數(shù)據(jù)流圖中引入的文件都是局部文件;當(dāng)數(shù)據(jù)存儲的第一次出現(xiàn)時(shí)只與一個(gè)加工發(fā)生關(guān)系,不成為加工間的接口關(guān)系時(shí),沒有必要把它在DFD中表示出來,而應(yīng)作為這一加工本身的一部分。局部文件的問題12.1322.242.3ABCA

26、BCDEGFFED75軟件工程 - 2013 - 第四章 軟件需求一個(gè)加工的分解最好不要超過7(9)個(gè)子加工。超過七個(gè)時(shí),可以用增加層次,減少子加工數(shù)的方法。分解在邏輯上應(yīng)合理、自然,不能硬性分割。也就是說,要根據(jù)問題的邏輯特性進(jìn)行分解。在保證數(shù)據(jù)流的易理解的前提下,盡量減少分解層次。這樣可以減少層次的界面。分解要均勻。即在一張數(shù)據(jù)流圖中,不要有這樣的情況:有些加工已是基本加工,另一些加工還要分解好幾層,但絕對均勻不可能,不要相差太大。分解的深度和層次問題76軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流命名名字應(yīng)代表整個(gè)數(shù)據(jù)流(有時(shí)也會(huì)把現(xiàn)實(shí)環(huán)境中傳遞的一組數(shù)據(jù)中最重要的那個(gè)數(shù)據(jù)的名字作

27、為數(shù)據(jù)流的名字)命名問題考生成績分類后的考生成績錄取分類77軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流命名(續(xù))現(xiàn)實(shí)環(huán)境中,傳遞的一些表格、單據(jù)的名字可以直接作為數(shù)據(jù)流的名字。命名問題車間調(diào)度全廠統(tǒng)計(jì)生產(chǎn)報(bào)表統(tǒng)計(jì)表日報(bào)表月報(bào)表78軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流命名(續(xù))不要使用空洞的、缺乏具體含義的名字;不要把控制流作為數(shù)據(jù)流;如果在為某個(gè)數(shù)據(jù)流命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD。命名問題錄取分類取下一個(gè)考生成績79軟件工程 - 2013 - 第四章 軟件需求加工(處理)命名頂層的加工名可以是軟件項(xiàng)目的名字;不要使用空洞的、缺乏具體含義的名

28、字;通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過程;如果在為某個(gè)加工命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD;命名問題80軟件工程 - 2013 - 第四章 軟件需求加工(處理)命名(續(xù))加工的名字最好由一個(gè)謂語動(dòng)詞加上一個(gè)賓語組成。如“計(jì)算運(yùn)費(fèi)”、“準(zhǔn)備機(jī)票”。也可以把賓語和謂語動(dòng)詞顛倒書寫。如“運(yùn)費(fèi)計(jì)算”、“機(jī)票準(zhǔn)備”;名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能;通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。命名問題81軟件工程 - 20

29、13 - 第四章 軟件需求作為交流信息的工具作為分析和設(shè)計(jì)的工具用數(shù)據(jù)流圖輔助物理系統(tǒng)的設(shè)計(jì)時(shí),以圖中不同處理的定時(shí)要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動(dòng)化邊界,每組自動(dòng)化邊界可能意味著一個(gè)不同的物理系統(tǒng),因此可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實(shí)現(xiàn)可以從數(shù)據(jù)流圖出發(fā)映射出軟件結(jié)構(gòu)數(shù)據(jù)流圖的用途82軟件工程 - 2013 - 第四章 軟件需求這種劃分自動(dòng)化邊界的方法暗示以批量方式更新庫存清單數(shù)據(jù)流圖的用途83軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖的用途另一種劃分自動(dòng)化邊界的方法建議以聯(lián)機(jī)方式更新庫存清單84軟件工程 - 2013 - 第四章 軟件需求對于數(shù)據(jù)流圖中出現(xiàn)的所有被

30、命名的圖形元素,在數(shù)據(jù)詞典中作為一個(gè)詞條加以定義,使得每個(gè)圖形元素都有確切解釋。數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求。詞條描述 對于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素,均加以定義,其內(nèi)容有: 圖形元素名字、別名或編號,分類,描述,定義,位置,其它,等。數(shù)據(jù)詞典(DD)85軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑。一個(gè)數(shù)據(jù)流詞條應(yīng)有以下幾項(xiàng)內(nèi)容:數(shù)據(jù)流名說明:簡要介紹作用即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來源:來自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)每個(gè)數(shù)據(jù)量的流通量:數(shù)據(jù)量,流通量(1)數(shù)據(jù)流詞條描述86軟件工程 - 2013 - 第四章 軟

31、件需求DFD中每個(gè)數(shù)據(jù)結(jié)構(gòu)都是由數(shù)據(jù)元素構(gòu)成的,數(shù)據(jù)元素是數(shù)據(jù)處理中最小的、不可再分的單位,它直接反映事物的某一特征,其描述需要以下信息:數(shù)據(jù)元素名類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)長度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):(2)數(shù)據(jù)元素詞條描述87軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)文件是數(shù)據(jù)結(jié)構(gòu)保存的地方。本類詞條應(yīng)有以下內(nèi)容:數(shù)據(jù)文件名簡述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲方式:順序,直接,關(guān)鍵碼存取頻率:(3)數(shù)據(jù)文件詞條描述88軟件工程 - 2013 - 第四章 軟件需求加工到后來就是一段程序,它的表達(dá)方式有判定表、判定樹、結(jié)構(gòu)化

32、英語等,在一個(gè)詞條中全部描述有困難。主要內(nèi)容有:加工名加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡述加工程序,加工順序(4)加工邏輯詞條描述89軟件工程 - 2013 - 第四章 軟件需求對于數(shù)據(jù)處理系統(tǒng)來說,源點(diǎn)和匯點(diǎn)應(yīng)比較少,否則就會(huì)缺少獨(dú)立性,人機(jī)界面太復(fù)雜,這時(shí)應(yīng)考慮減少以提高系統(tǒng)獨(dú)立性。這類詞條應(yīng)包括:名稱:外部實(shí)體名簡要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:(5)源點(diǎn)及匯(終)點(diǎn)詞條描述90軟件工程 - 2013 - 第四章 軟件需求常用的描述數(shù)據(jù)結(jié)構(gòu)的方式有:定義式:自頂向下,逐級給出定義式,直到最后給出基本數(shù)據(jù)元素為止。Warnier

33、圖:用樹形結(jié)構(gòu)來描繪數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)詞典數(shù)據(jù)結(jié)構(gòu)的描述91軟件工程 - 2013 - 第四章 軟件需求符號 含義 舉例 “被定義為” 與 x=ab,x由a和b組成. , . 或 x=a , b, x由a或由b組成.|. 或 x=a |b, x由a或由b組成 . 重復(fù) x = a, x由0個(gè)或多個(gè)a組成 m.n 重復(fù) x = 3a8,x由3到8個(gè)a組成(.) 可選 x =(a),在x中a可有可無“.” 基本數(shù)據(jù)元素 x = “a”,x是取值為a的元素 . 連結(jié)符 x = 1.9,x可取1到9中任一值數(shù)據(jù)詞典的定義式中出現(xiàn)的符號92軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)結(jié)構(gòu)的描述示例存折格

34、式93軟件工程 - 2013 - 第四章 軟件需求存折戶名所號帳號開戶日性質(zhì)(印密)1存取行50戶名2字母24所號“001”.“999” 注:三位數(shù)字帳號“00000001”.“99999999” 注:八位數(shù)字開戶日年月日性質(zhì)“1”.“6” 注:“1”表示普通戶,“5”表示工資戶等印密“0” 注:印密在存折上不顯示存取行日期(摘要)支出存入余額操作復(fù)核94軟件工程 - 2013 - 第四章 軟件需求Warnier圖示例報(bào)紙專欄的數(shù)據(jù)層次結(jié)構(gòu)報(bào)紙頭版部分社論部分副刊部分頭條新聞國內(nèi)新聞本地新聞社論(1,1)讀者來信(1,3)體育新聞商業(yè)新聞廣告專欄(1,3)諷刺漫畫(0,1)副刊部分體育新聞商業(yè)

35、新聞廣告地區(qū)隊(duì)職業(yè)隊(duì)拳擊經(jīng)營簡訊雇員簡訊招生招聘求助一般新聞95軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖中每個(gè)加工框上只有簡單的加工名,數(shù)據(jù)詞典中關(guān)于加工的信息也不能表達(dá)加工的全部內(nèi)容;隨著逐層細(xì)化,加工邏輯越來越具體,到最底一層,可以詳細(xì)到可實(shí)現(xiàn)的程度,這時(shí)的加工稱為基本加工;如果能寫出每個(gè)基本加工的全部詳細(xì)邏輯功能,再自底向上綜合,就能完成全部加工;數(shù)據(jù)流圖的加工邏輯說明96軟件工程 - 2013 - 第四章 軟件需求對數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說明;基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則;加工邏輯說明必須描述實(shí)現(xiàn)加工的

36、策略而不是實(shí)現(xiàn)加工的細(xì)節(jié);加工邏輯說明中包含的信息應(yīng)是充足的、完備的、有用的、無冗余的。數(shù)據(jù)流圖的加工邏輯說明97軟件工程 - 2013 - 第四章 軟件需求 結(jié)構(gòu)化英語(Structured English) 判定表(Decision Table) 判定樹(Decision Tree)用于寫加工邏輯說明的工具98軟件工程 - 2013 - 第四章 軟件需求是一種介于自然語言和形式化語言之間的語言。結(jié)構(gòu)化英語的詞匯表由 英語命令動(dòng)詞 數(shù)據(jù)詞典中定義的名字 有限的自定義詞 邏輯關(guān)系詞 IF_THEN_ELSE、 CASE_OF 、 WHILE_DO、 REPEAT_UNTIL等組成結(jié)構(gòu)化英語99

37、軟件工程 - 2013 - 第四章 軟件需求語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語言短語來表示。其基本控制結(jié)構(gòu)有三種:簡單陳述句結(jié)構(gòu):避免復(fù)合語句;重復(fù)結(jié)構(gòu):while_do 或 repeat_until 結(jié)構(gòu)判定結(jié)構(gòu):if_then_else 或 case_of 結(jié)構(gòu)結(jié)構(gòu)化英語(Structured English)100軟件工程 - 2013 - 第四章 軟件需求if 發(fā)貨單金額超過$500 then if 欠款超過了60天 then 在償還欠款前不予批準(zhǔn) else (欠款未超期) 發(fā)批準(zhǔn)書,發(fā)貨單 else (發(fā)貨單金額未超過$500) if 欠款超過60天 then 發(fā)

38、批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告 else (欠款未超期) 發(fā)批準(zhǔn)書,發(fā)貨單 商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”101軟件工程 - 2013 - 第四章 軟件需求如果數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,使用判定表來描述比較合適。判定表(Decision Table)102軟件工程 - 2013 - 第四章 軟件需求商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”103軟件工程 - 2013 - 第四章 軟件需求判定樹也是用來表達(dá)加工邏輯的一種工具。有時(shí)候它比判定表更直觀。檢查發(fā)貨單金額$500金額$500欠款60天不發(fā)出批準(zhǔn)書欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單 欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單及賒欠報(bào)告 欠款60天發(fā)出批

39、準(zhǔn)書、發(fā)貨單判定樹(Decision Tree)104軟件工程 - 2013 - 第四章 軟件需求軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法常用的分析方法及符號系統(tǒng)傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法105軟件工程 - 2013 - 第四章 軟件需求在數(shù)據(jù)詞典中,強(qiáng)調(diào)對數(shù)據(jù)存儲結(jié)構(gòu)的邏輯設(shè)計(jì),并用數(shù)據(jù)結(jié)構(gòu)表達(dá)數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系。但任何一個(gè)軟件系統(tǒng)都可能有成千上萬個(gè)數(shù)據(jù)項(xiàng),僅僅描述這些數(shù)據(jù)項(xiàng)是不夠的,更重要的是如何把它們以最優(yōu)的方式組織起來,以滿足系統(tǒng)對數(shù)據(jù)的要求。數(shù)據(jù)及數(shù)據(jù)庫需求106軟件工程 - 2013 - 第四章 軟件需求在軟件系統(tǒng)中需要處理的數(shù)據(jù)是現(xiàn)實(shí)世界中存在的

40、事物及其聯(lián)系的反映。人們通常將與數(shù)據(jù)處理有關(guān)的的領(lǐng)域分為三個(gè)世界:現(xiàn)實(shí)世界信息世界數(shù)據(jù)世界有關(guān)數(shù)據(jù)庫的基本概念107軟件工程 - 2013 - 第四章 軟件需求現(xiàn)實(shí)世界是存在于人們頭腦之外的客觀世界,現(xiàn)實(shí)世界中的事物可分成對象和性質(zhì)兩大類。對象可以是人、是物,還可以是實(shí)際的東西或概念的東西,例如,大學(xué)、城市等。對象還可以指事物與事物間的聯(lián)系。性質(zhì)則是指事物的性質(zhì)或特征。有關(guān)數(shù)據(jù)庫的基本概念108軟件工程 - 2013 - 第四章 軟件需求信息世界也叫做觀念世界,是現(xiàn)實(shí)世界在人們頭腦中的反映??陀^世界中的事物在信息世界中叫做實(shí)體,反映事物之間聯(lián)系的叫做實(shí)體模型。實(shí)體是由若干屬性的屬性值組成。屬性

41、是實(shí)體某一方面的特征,相應(yīng)于事物的性質(zhì)。例如,一個(gè)學(xué)生實(shí)體是如下的一個(gè)5元組:( 951149, 袁秋慧, 女, 19, 軟件)有關(guān)數(shù)據(jù)庫的基本概念109軟件工程 - 2013 - 第四章 軟件需求5元組中每一元素是學(xué)生的某一屬性的屬性值。他們對應(yīng)的屬性集合是:(學(xué)號, 姓名, 性別, 年齡, 專業(yè))這些屬性集合表征了“學(xué)生”實(shí)體的類型,叫做實(shí)體型。同一類型的實(shí)體的集合叫做實(shí)體集。數(shù)據(jù)世界則是信息世界中信息的數(shù)據(jù)化,現(xiàn)實(shí)世界中的事物及其聯(lián)系在數(shù)據(jù)世界中用數(shù)據(jù)模型描述。有關(guān)數(shù)據(jù)庫的基本概念110軟件工程 - 2013 - 第四章 軟件需求描述每一實(shí)體的數(shù)據(jù)稱為記錄,描述屬性的數(shù)據(jù)叫做數(shù)據(jù)項(xiàng)或字段

42、。與實(shí)體集相對應(yīng)的稱為文件。例如,學(xué)生文件就由多個(gè)記錄組成,這些記錄放在一起構(gòu)成一個(gè)二維表。表中每一橫排叫做一個(gè)記錄或元組,每一縱列叫做一個(gè)屬性。有關(guān)數(shù)據(jù)庫的基本概念111軟件工程 - 2013 - 第四章 軟件需求有關(guān)數(shù)據(jù)庫的基本概念112軟件工程 - 2013 - 第四章 軟件需求記錄由數(shù)據(jù)項(xiàng)組成,正如實(shí)體由若干屬性的屬性值組成一樣。一般數(shù)據(jù)項(xiàng)沿用屬性名。用做屬性名時(shí)表示觀念信息,用做數(shù)據(jù)項(xiàng)名時(shí)表示數(shù)據(jù)信息。每個(gè)數(shù)據(jù)項(xiàng)包括兩個(gè)特征:即數(shù)據(jù)類型和數(shù)據(jù)長度。若干同類型的記錄構(gòu)成文件。為了對文件中的記錄有效組織和存取,通常指定一個(gè)數(shù)據(jù)項(xiàng)進(jìn)行區(qū)別,這個(gè)數(shù)據(jù)項(xiàng)叫做關(guān)鍵字。有關(guān)數(shù)據(jù)庫的基本概念113軟

43、件工程 - 2013 - 第四章 軟件需求在需求分析階段進(jìn)行數(shù)據(jù)庫邏輯設(shè)計(jì)過程中,使用E-R圖,可定義一 個(gè)實(shí)體模型。實(shí)體模型是現(xiàn)實(shí)世界的純表示,它不涉及數(shù)據(jù)世界的數(shù)據(jù)結(jié)構(gòu)、存取路徑、存取效率等問題。因此,它可以轉(zhuǎn)換成數(shù)據(jù)庫中的數(shù)據(jù)模型。E-R方法和實(shí)體模型114軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)可以按相應(yīng)數(shù)據(jù)模型進(jìn)行組織。E-R圖中表示實(shí)體聯(lián)系的符號如下:E-R方法和實(shí)體模型115軟件工程 - 2013 - 第四章 軟件需求在E-R圖中,每個(gè)方框表示實(shí)體型或?qū)傩?,方框之間的連線表示實(shí)體之間,或?qū)嶓w與屬性之間的聯(lián)系。出現(xiàn)在連線上的短豎線可以看成是“1”,而圓圈隱含表示“0”。例如

44、,在教學(xué)管理中,一個(gè)教師可以教授零門、一門或多門課程,每位學(xué)生也需要學(xué)習(xí)幾門課程。因此,教學(xué)管理中涉及的對象(實(shí)體型)有學(xué)生、教師和課程。E-R方法和實(shí)體模型116軟件工程 - 2013 - 第四章 軟件需求用E-R圖描述它們之間的聯(lián)系,得下圖。其中,學(xué)生與課程是多對多的聯(lián)系,而教師與課程的聯(lián)系是一對零或多。E-R方法和實(shí)體模型117軟件工程 - 2013 - 第四章 軟件需求進(jìn)一步,要確定屬性。例如,學(xué)生具有學(xué)號、姓名、性別、年齡、專業(yè)(其它略)等屬性;課程具有課程號、課程名、學(xué)分、學(xué)時(shí)數(shù)等屬性;教師具有職工號、姓名、年齡、職稱等屬性。此外,學(xué)生通過學(xué)號、分?jǐn)?shù)與課程發(fā)生聯(lián)系。如此可得教學(xué)實(shí)體

45、模型。E-R方法和實(shí)體模型118軟件工程 - 2013 - 第四章 軟件需求E-R方法和實(shí)體模型教學(xué)實(shí)體模型119軟件工程 - 2013 - 第四章 軟件需求信息域分析需要確定數(shù)據(jù)的內(nèi)容,每個(gè)數(shù)據(jù)項(xiàng)要用表格列出,最后組織成文件的邏輯結(jié)構(gòu),即面向應(yīng)用而不是面向存儲的結(jié)構(gòu)。為了便于數(shù)據(jù)庫的設(shè)計(jì),常常要對這種結(jié)構(gòu)做一些簡化,其中最常見的一種方法就是規(guī)范化技術(shù)。數(shù)據(jù)結(jié)構(gòu)的規(guī)范化120軟件工程 - 2013 - 第四章 軟件需求“規(guī)范化”將數(shù)據(jù)的邏輯結(jié)構(gòu)歸結(jié)為滿足一定條件的二維表(關(guān)系)。 表格中每個(gè)信息項(xiàng)必須是一個(gè)不可分割的數(shù)據(jù)項(xiàng),不可是組項(xiàng)。 表格中每一列 (列表示屬性)中所有信息項(xiàng)必須是同一類型,

46、各列的名字 (屬性名) 互異,列的次序任意。 表格中各行 (行表示元組) 互不相同,行的次序任意。數(shù)據(jù)結(jié)構(gòu)的規(guī)范化121軟件工程 - 2013 - 第四章 軟件需求不滿足上述要求的二維表或關(guān)系,叫做非規(guī)范化關(guān)系。對于非規(guī)范化的關(guān)系,必須將它規(guī)范化,即利用更單純、更規(guī)則的關(guān)系來代替原來的關(guān)系。規(guī)范化的目的是:消除數(shù)據(jù)冗余,即消除表格中數(shù)據(jù)的重復(fù);消除多義性,使關(guān)系中的屬性含義清楚、單一;數(shù)據(jù)結(jié)構(gòu)的規(guī)范化122軟件工程 - 2013 - 第四章 軟件需求使關(guān)系的“概念”單一化,讓每個(gè)數(shù)據(jù)項(xiàng)只是一個(gè)簡單的數(shù)或字符串,而不是一個(gè)組項(xiàng)或重復(fù)組;方便操作。使數(shù)據(jù)的插入、刪除與修改操作可行并方便;使關(guān)系模式更靈活,易于實(shí)現(xiàn)接近自然語言的查詢方式。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論