![軟件工程課件:第4章 軟件需求2_第1頁(yè)](http://file4.renrendoc.com/view/89b4b1ca178bba3da93a1dcac1fb2c4d/89b4b1ca178bba3da93a1dcac1fb2c4d1.gif)
![軟件工程課件:第4章 軟件需求2_第2頁(yè)](http://file4.renrendoc.com/view/89b4b1ca178bba3da93a1dcac1fb2c4d/89b4b1ca178bba3da93a1dcac1fb2c4d2.gif)
![軟件工程課件:第4章 軟件需求2_第3頁(yè)](http://file4.renrendoc.com/view/89b4b1ca178bba3da93a1dcac1fb2c4d/89b4b1ca178bba3da93a1dcac1fb2c4d3.gif)
![軟件工程課件:第4章 軟件需求2_第4頁(yè)](http://file4.renrendoc.com/view/89b4b1ca178bba3da93a1dcac1fb2c4d/89b4b1ca178bba3da93a1dcac1fb2c4d4.gif)
![軟件工程課件:第4章 軟件需求2_第5頁(yè)](http://file4.renrendoc.com/view/89b4b1ca178bba3da93a1dcac1fb2c4d/89b4b1ca178bba3da93a1dcac1fb2c4d5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章軟件需求(2)1軟件工程 - 2013 - 第四章 軟件需求第四章內(nèi)容概要軟件需求概述軟件需求過(guò)程軟件需求的表達(dá)方法2軟件工程 - 2013 - 第四章 軟件需求軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫(kù)需求的表達(dá)方法3軟件工程 - 2013 - 第四章 軟件需求需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的 “做什么” 的問(wèn)題系統(tǒng)模型4軟件工程 - 2013 - 第四章 軟件需求通常軟件開(kāi)發(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、的邏輯模型的過(guò)程中,對(duì)系統(tǒng)進(jìn)行建模有著不可替代的作用。系統(tǒng)模型5軟件工程 - 2013 - 第四章 軟件需求在需求分析階段創(chuàng)建模型的作用模型幫助分析員理解系統(tǒng)的信息、功能和行為,因此,使得需求分析任務(wù)更容易、更系統(tǒng);模型是評(píng)審的焦點(diǎn),因此,也成為確定規(guī)約的完整性、一致性和精確性的關(guān)鍵;模型是設(shè)計(jì)的基礎(chǔ)。系統(tǒng)模型6軟件工程 - 2013 - 第四章 軟件需求系統(tǒng)模型:描述系統(tǒng)的某個(gè)特殊方面,是自然語(yǔ)言描述的補(bǔ)充需求定義和系統(tǒng)模型通常同時(shí)開(kāi)發(fā);系統(tǒng)某一方面的需求間相互關(guān)系的統(tǒng)一表達(dá);常常可看作是需求規(guī)約的具體化,視開(kāi)發(fā)方對(duì)系統(tǒng)模型的重視程度和開(kāi)發(fā)任務(wù)的分配情況而定。系統(tǒng)模型本質(zhì):開(kāi)發(fā)方根據(jù)從應(yīng)用域
3、中提取的需求,以自己的形式表達(dá)的理解。系統(tǒng)模型7軟件工程 - 2013 - 第四章 軟件需求系統(tǒng)模型的分類(lèi):行為模型:這個(gè)概念包括系統(tǒng)的所有過(guò)程層面的內(nèi)容。功能模型:描述數(shù)據(jù)的功能轉(zhuǎn)換。有兩種方式。其一,數(shù)據(jù)被認(rèn)為在功能處理元素間流動(dòng),如數(shù)據(jù)流圖(DFD)。其二,領(lǐng)域?qū)嶓w被建模成對(duì)象,通過(guò)事件觸發(fā)相應(yīng)的服務(wù)來(lái)處理數(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ù)庫(kù)需求的表達(dá)方法9軟件工程 - 2013 - 第四
4、章 軟件需求最基本形式自然語(yǔ)言描述因可能存在二義性,所以應(yīng)在合適情況下選用合適的符號(hào)進(jìn)行精確描述。靜態(tài)描述實(shí)體關(guān)系圖(ER圖)數(shù)據(jù)抽象對(duì)象模型需求的表達(dá)形式10軟件工程 - 2013 - 第四章 軟件需求動(dòng)態(tài)描述判定表狀態(tài)遷移圖時(shí)序圖Petri網(wǎng)層次技術(shù)Warnier圖需求的表達(dá)形式11軟件工程 - 2013 - 第四章 軟件需求系統(tǒng)的需求規(guī)格說(shuō)明通??梢杂米匀徽Z(yǔ)言來(lái)敘述,但是用自然語(yǔ)言描述往往會(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)外部的信號(hào)進(jìn)行推移的一種圖形表示。 圓圈“”表示可得到的系統(tǒng)狀態(tài); 箭頭“”表示從一種狀態(tài)向另一種狀態(tài)的遷移。箭頭上要標(biāo)明導(dǎo)致遷移的信號(hào)的或事件的名字;狀態(tài)遷移圖所表示的關(guān)系還可以用表格形式表達(dá),稱(chēng)之為狀態(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è)申請(qǐng)占用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)過(guò)所有狀態(tài)的事件序列”之類(lèi)的問(wèn)題。狀態(tài)遷移圖的優(yōu)點(diǎn)18軟件工程 - 2013 - 第四章 軟件需求在系統(tǒng)分析中,時(shí)序圖用于對(duì)比在系統(tǒng)中處理事件的時(shí)序和相應(yīng)的處理時(shí)間在下圖中, 對(duì)于事件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ī)則的圖形表示法提出來(lái)的,現(xiàn)在已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開(kāi)發(fā)中,它適用于描述與分析相互獨(dú)立、協(xié)同操作的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)。Petri網(wǎng)21軟件工程 - 2013 - 第四章 軟件需求Petri網(wǎng)簡(jiǎn)稱(chēng)PNG (Petri Net Graph),是一種有向圖,它有兩種結(jié)點(diǎn):位置( place ):符號(hào)為“”,它用來(lái)表示系統(tǒng)的狀態(tài)。轉(zhuǎn)移( transition ):符號(hào)為“” 或“”,它用來(lái)表示系統(tǒng)中的事件。圖中的有向邊表示對(duì)轉(zhuǎn)移的輸入,或由轉(zhuǎn)移的輸出:“”表示事件發(fā)生的前提,即對(duì)轉(zhuǎn)移(事件)的輸
9、入,“”表示事件的結(jié)果,即由轉(zhuǎn)移(事件)的輸出。Petri網(wǎng)22軟件工程 - 2013 - 第四章 軟件需求稱(chēng)轉(zhuǎn)移的啟動(dòng)為激發(fā)或開(kāi)火(fire),它是轉(zhuǎn)移的輸出;只有當(dāng)作為輸入的所有位置的條件都滿(mǎn)足時(shí)才能引起激發(fā):Petri網(wǎng)23軟件工程 - 2013 - 第四章 軟件需求標(biāo)記,或稱(chēng)令牌(token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志Petri網(wǎng)24軟件工程 - 2013 - 第四章 軟件需求25軟件工程 - 2013 - 第四章 軟件需求26軟件工程 - 2013 - 第四章 軟件需求 處理兩個(gè)進(jìn)程的同步問(wè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ù)庫(kù)需求的表達(dá)方法29軟件工程 - 2013 - 第四章 軟件需求結(jié)構(gòu)化分析方法最初由Douglas Ross提出,由DeMarco推廣,由Ward和Mellor以及后來(lái)的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ù)對(duì)象描述加工規(guī)格說(shuō)明控制規(guī)格說(shuō)明31軟件工程 - 2013 - 第四章 軟件需求核心:數(shù)據(jù)字典實(shí)體關(guān)系圖(ERD):描述數(shù)據(jù)對(duì)象和對(duì)象之間的關(guān)
11、系數(shù)據(jù)建模數(shù)據(jù)流圖(DFD):描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能(子功能)功能建模狀態(tài)變遷圖(STD):描述系統(tǒng)對(duì)外部事件如何響應(yīng),如何動(dòng)作行為建模結(jié)構(gòu)化分析方法的分析模型32軟件工程 - 2013 - 第四章 軟件需求面向數(shù)據(jù)流進(jìn)行需求分析的方法。傳統(tǒng)結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類(lèi)型軟件的需求分析。具體來(lái)說(shuō),傳統(tǒng)結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿(mǎ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)化英語(yǔ) 判定表與判定樹(shù)傳統(tǒng)結(jié)構(gòu)化分析方法34軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖(DFD)的符號(hào)或數(shù)據(jù)的源點(diǎn)/終點(diǎn)或變換數(shù)據(jù)的處理/加工/變換或數(shù)據(jù)存儲(chǔ)(文件)數(shù)據(jù)流35軟件工程 - 2013 - 第四章 軟件需求源點(diǎn)和終點(diǎn)源點(diǎn)和終點(diǎn)是系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。源點(diǎn)和終點(diǎn)是為了幫助理解系統(tǒng)接口而引入的。加工/變換對(duì)數(shù)據(jù)進(jìn)行處理的單元。在分層數(shù)據(jù)流圖中,要對(duì)加工進(jìn)行編號(hào),以便于管理。加工也要選取適當(dāng)?shù)拿?,以提高?shù)據(jù)流圖的易讀性。DFD的符號(hào)36軟件工程 - 2013 -
13、 第四章 軟件需求數(shù)據(jù)流由一組數(shù)據(jù)項(xiàng)組成。例如,數(shù)據(jù)流“訂票單”由姓名、住址、電話、航班號(hào)、日期、始點(diǎn)、終點(diǎn)等數(shù)據(jù)項(xiàng)組成;數(shù)據(jù)流“航班”由航班號(hào)、日期和姓名等數(shù)據(jù)項(xiàng)組成數(shù)據(jù)流可以從加工流向加工,如“航班”、“費(fèi)用”;可以從源點(diǎn)流向加工,或從加工流向終點(diǎn);可以從加工流向數(shù)據(jù)存儲(chǔ)或從數(shù)據(jù)存儲(chǔ)流向加工DFD的符號(hào)37軟件工程 - 2013 - 第四章 軟件需求文件用來(lái)暫時(shí)存儲(chǔ)數(shù)據(jù)的。如果加工要讀文件,則數(shù)據(jù)流的方向是從文件到加工;如果加工要寫(xiě)文件,則數(shù)據(jù)流的方向是從加工到文件;如果加工既要讀文件又要寫(xiě)文件,則數(shù)據(jù)流的方向是雙向的DFD的符號(hào)38軟件工程 - 2013 - 第四章 軟件需求旅行社旅客預(yù)
14、定機(jī)票機(jī)票準(zhǔn)備記帳航班目錄記帳文件訂票單航班費(fèi)用帳單機(jī)票DFD的符號(hào)39軟件工程 - 2013 - 第四章 軟件需求描述銀行取款過(guò)程的數(shù)據(jù)流圖40軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系41軟件工程 - 2013 - 第四章 軟件需求為了表達(dá)數(shù)據(jù)處理過(guò)程的數(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 - 第四章 軟件需求自頂向下逐層畫(huà)數(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 - 第四章 軟件需求自頂向下逐層畫(huà)數(shù)據(jù)流圖的步驟外部實(shí)體外部實(shí)體外部實(shí)體外部實(shí)體軟件系統(tǒng)輸入數(shù)據(jù)流輸入數(shù)據(jù)流輸出數(shù)據(jù)流輸出數(shù)據(jù)流。基本系統(tǒng)模型(0級(jí)圖)44軟件工程 - 2013 - 第四章 軟件需求旅行社旅客飛機(jī)訂票系統(tǒng)訂票單機(jī)票帳單45軟件工程 - 2013 - 第四章 軟件需求畫(huà)系統(tǒng)的內(nèi)部:將頂層圖中的處理分解成若干個(gè)處理,并用數(shù)據(jù)流將這些處理連接起來(lái),使得頂層圖中的輸入數(shù)據(jù)流經(jīng)一連串的加工處理后變換成頂層圖中的輸出數(shù)據(jù)流。這張圖稱(chēng)為1層數(shù)據(jù)流圖。又稱(chēng)為系統(tǒng)功
16、能級(jí)數(shù)據(jù)流圖。 畫(huà)處理的內(nèi)部:把每一個(gè)處理看作一個(gè)小系統(tǒng),該處理的輸入輸出數(shù)據(jù)流看成小系統(tǒng)的輸入輸出數(shù)據(jù)流,于是可以用畫(huà)1層圖同樣的方法畫(huà)出每個(gè)處理的DFD子圖。對(duì)第3步分解出來(lái)的DFD子圖中的每個(gè)處理重復(fù)第3步的分解,直至圖中尚未分解的處理都足夠簡(jiǎn)單為止。到此得到了一套分層的數(shù)據(jù)流圖。 自頂向下逐層畫(huà)數(shù)據(jù)流圖的步驟46軟件工程 - 2013 - 第四章 軟件需求分層的數(shù)據(jù)流圖源點(diǎn)1源點(diǎn)2終點(diǎn)2終點(diǎn)1G頂層0層132一層圖號(hào)11.11.23.43.12.22.12.33.23.3圖號(hào)2圖號(hào)347軟件工程 - 2013 - 第四章 軟件需求為分層數(shù)據(jù)流圖和加工編號(hào)的原則:(1)子圖的圖號(hào)就是分解
17、的父圖中加工的編號(hào)(2)子圖中的加工的編號(hào)是由子圖號(hào)、小數(shù)點(diǎn),局部順序號(hào)組成二層圖號(hào)3.3圖號(hào)2.2圖號(hào)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è)加工,它代表被開(kāi)發(fā)系統(tǒng),也被稱(chēng)為0層圖。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)。底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層。中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。分層的數(shù)據(jù)流圖50軟件工程 - 201
18、3 - 第四章 軟件需求數(shù)據(jù)流圖中的主要圖形元素:數(shù)據(jù)加工(數(shù)據(jù)變換),圖中“2”為加工編號(hào)數(shù)據(jù)源點(diǎn)(source)或匯點(diǎn)(sink)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件數(shù)據(jù)流圖常用的另一套圖形元素51軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖示例:學(xué)校選課系統(tǒng)52軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖示例:學(xué)校選課系統(tǒng)53軟件工程 - 2013 - 第四章 軟件需求一家工廠的采購(gòu)部每天需要一張定貨報(bào)表,報(bào)表按零件編號(hào)排序,列出所有需要再次定貨的零件。對(duì)于需要訂貨的零件列出其零件編號(hào)、零件名稱(chēng)、定貨數(shù)量、目前價(jià)格、主要供應(yīng)者、次要供應(yīng)者。零件入庫(kù)或出庫(kù)稱(chēng)為事務(wù),通過(guò)放在倉(cāng)庫(kù)中的CRT終端
19、把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫(kù)存量少于臨界值時(shí)就應(yīng)該再次定貨。例1:定貨系統(tǒng)54軟件工程 - 2013 - 第四章 軟件需求第一步確定系統(tǒng)的源點(diǎn)和終點(diǎn)倉(cāng)庫(kù)管理員是數(shù)據(jù)的源點(diǎn);采購(gòu)員是數(shù)據(jù)的終點(diǎn)。處理(加工)應(yīng)該完成定貨系統(tǒng)這樣一個(gè)功能。數(shù)據(jù)流事務(wù)需從倉(cāng)庫(kù)送到系統(tǒng)中,顯然事務(wù)是一個(gè)數(shù)據(jù)流;系統(tǒng)要把定貨報(bào)表送給采購(gòu)部,定貨報(bào)表也是一個(gè)數(shù)據(jù)流。例1:定貨系統(tǒng)55軟件工程 - 2013 - 第四章 軟件需求定貨系統(tǒng)基本數(shù)據(jù)流圖例1:定貨系統(tǒng)倉(cāng)庫(kù)管理員事務(wù)定貨系統(tǒng)定貨報(bào)表采購(gòu)員定貨系統(tǒng)的基本系統(tǒng)模型56軟件工程 - 2013 - 第四章 軟件需求 第二步將處理(加工)定貨系統(tǒng)進(jìn)行功能分解成事務(wù)處理
20、和產(chǎn)生報(bào)表兩部分;考慮有關(guān)數(shù)據(jù)存儲(chǔ)問(wèn)題,題中涉及到存儲(chǔ)的信息有:庫(kù)存清單、定貨信息;例1:定貨系統(tǒng)57軟件工程 - 2013 - 第四章 軟件需求源點(diǎn)/終點(diǎn)處理采購(gòu)員倉(cāng)庫(kù)管理員產(chǎn)生報(bào)表處理事務(wù)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)定貨報(bào)表 零件編號(hào) 零件名稱(chēng) 定貨數(shù)量 目前價(jià)格 主要供應(yīng)者 次要供應(yīng)者事務(wù) 零件編號(hào) 事務(wù)類(lèi)型 數(shù)量定貨信息 (同定貨報(bào)表)庫(kù)存清單 零件編號(hào) 庫(kù)存量 庫(kù)存量臨界值58軟件工程 - 2013 - 第四章 軟件需求例1:定貨系統(tǒng)定貨系統(tǒng)功能級(jí)數(shù)據(jù)流圖定貨報(bào)表采購(gòu)員倉(cāng)庫(kù)管理員事務(wù)1處理事務(wù)庫(kù)存清單D1 庫(kù)存清單D2 定貨信息定貨信息2產(chǎn)生報(bào)表定貨信息 定貨系統(tǒng)的功能級(jí)數(shù)據(jù)流圖59軟件工程 -
21、2013 - 第四章 軟件需求第三步將事務(wù)處理進(jìn)一步分解為接收事務(wù)、更新庫(kù)存清單、處理定貨三部分。畫(huà)出事務(wù)處理功能分解后的數(shù)據(jù)流圖。例1:定貨系統(tǒng)60軟件工程 - 2013 - 第四章 軟件需求例1:定貨系統(tǒng) 把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖倉(cāng)庫(kù)管理員事務(wù)1.1接收事務(wù)庫(kù)存清單D1 庫(kù)存清單事務(wù)1.2更新庫(kù)存清單定貨信息D2 定貨信息定貨報(bào)表采購(gòu)員2產(chǎn)生報(bào)表1.3處理定貨定貨信息庫(kù)存信息61軟件工程 - 2013 - 第四章 軟件需求由捐助者向基金會(huì)提出捐助請(qǐng)求,經(jīng)身份確認(rèn)后被接受,對(duì)捐助人進(jìn)行登記并授予捐助證書(shū),捐款存入銀行。由教育單位提出用款申請(qǐng),在進(jìn)行相應(yīng)的合法性校驗(yàn)和核對(duì)相應(yīng)的捐
22、款儲(chǔ)備后做出支出。每月給基金會(huì)的理事會(huì)一份財(cái)政狀況報(bào)表,列出本月的收入和支出情況和資金余額。例2:教育基金會(huì)的捐助資金管理系統(tǒng)62軟件工程 - 2013 - 第四章 軟件需求例2:教育基金會(huì)的捐助資金管理系統(tǒng)捐助者教育單位理事會(huì)資金管理系統(tǒng)捐款請(qǐng)求財(cái)政報(bào)表用款請(qǐng)求基金會(huì)資金管理系統(tǒng)的頂層數(shù)據(jù)流圖63軟件工程 - 2013 - 第四章 軟件需求例2:教育基金會(huì)的捐助資金管理系統(tǒng)理事會(huì)財(cái)政報(bào)表捐助者捐款請(qǐng)求教育單位用款請(qǐng)求D1收支狀況支出處理2收入處理1功能級(jí)數(shù)據(jù)流圖產(chǎn)生報(bào)表364軟件工程 - 2013 - 第四章 軟件需求經(jīng)過(guò)細(xì)化的功能級(jí)數(shù)據(jù)流圖捐助者教育單位接受請(qǐng)求1.1產(chǎn)生報(bào)表3支出批準(zhǔn)2.
23、3登記收入1.3合法性檢查2.2接受請(qǐng)求2.1合法性檢 查1.2理事會(huì)D3教育單位信息D2捐助者信息捐款請(qǐng)求捐款要求請(qǐng)求用款用款合法支出合法捐助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ù),畫(huà)出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程;例3:商店業(yè)務(wù)處理系統(tǒng)67軟件工程 - 2013 - 第四章 軟件需求 經(jīng)過(guò)分析,商店業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有銷(xiāo)售、采購(gòu)、會(huì)計(jì)三大項(xiàng)。主要
24、數(shù)據(jù)流輸入的源點(diǎn)和輸出終點(diǎn)是顧客和供應(yīng)商; 然后從輸入端開(kāi)始,根據(jù)商店業(yè)務(wù)工作流程,畫(huà)出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫(huà)到輸出端,得到第一層數(shù)據(jù)流圖:例3:商店業(yè)務(wù)處理系統(tǒng)68軟件工程 - 2013 - 第四章 軟件需求第一層數(shù)據(jù)流圖69軟件工程 - 2013 - 第四章 軟件需求加細(xì)每一個(gè)加工框銷(xiāo)售細(xì)化70軟件工程 - 2013 - 第四章 軟件需求加細(xì)每一個(gè)加工框采購(gòu)細(xì)化71軟件工程 - 2013 - 第四章 軟件需求畫(huà)數(shù)據(jù)流圖不是畫(huà)流程圖父圖和子圖的平衡問(wèn)題局部文件的問(wèn)題分解的深度和層次問(wèn)題命名問(wèn)題畫(huà)數(shù)據(jù)流圖需要注意的幾個(gè)問(wèn)題72軟件工程 - 2013 - 第四章 軟件需求父圖和子圖的平衡問(wèn)
25、題12435763.13.23.33.43.63.5ACBYEXWVFDGHDFGH73軟件工程 - 2013 - 第四章 軟件需求父圖和子圖的平衡問(wèn)題12344.44.34.24.1AGCBFDEEHLFG1323.13.2考生成績(jī)錄取通知書(shū)考生姓名準(zhǔn)考證號(hào)通訊地址考生成績(jī)74軟件工程 - 2013 - 第四章 軟件需求文件(數(shù)據(jù)存儲(chǔ))總是局部于分層數(shù)據(jù)流圖的某一層或某幾層,所以數(shù)據(jù)流圖中引入的文件都是局部文件;當(dāng)數(shù)據(jù)存儲(chǔ)的第一次出現(xiàn)時(shí)只與一個(gè)加工發(fā)生關(guān)系,不成為加工間的接口關(guān)系時(shí),沒(méi)有必要把它在DFD中表示出來(lái),而應(yīng)作為這一加工本身的一部分。局部文件的問(wèn)題12.1322.242.3ABCA
26、BCDEGFFED75軟件工程 - 2013 - 第四章 軟件需求一個(gè)加工的分解最好不要超過(guò)7(9)個(gè)子加工。超過(guò)七個(gè)時(shí),可以用增加層次,減少子加工數(shù)的方法。分解在邏輯上應(yīng)合理、自然,不能硬性分割。也就是說(shuō),要根據(jù)問(wèn)題的邏輯特性進(jìn)行分解。在保證數(shù)據(jù)流的易理解的前提下,盡量減少分解層次。這樣可以減少層次的界面。分解要均勻。即在一張數(shù)據(jù)流圖中,不要有這樣的情況:有些加工已是基本加工,另一些加工還要分解好幾層,但絕對(duì)均勻不可能,不要相差太大。分解的深度和層次問(wèn)題76軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流命名名字應(yīng)代表整個(gè)數(shù)據(jù)流(有時(shí)也會(huì)把現(xiàn)實(shí)環(huán)境中傳遞的一組數(shù)據(jù)中最重要的那個(gè)數(shù)據(jù)的名字作
27、為數(shù)據(jù)流的名字)命名問(wèn)題考生成績(jī)分類(lèi)后的考生成績(jī)錄取分類(lèi)77軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流命名(續(xù))現(xiàn)實(shí)環(huán)境中,傳遞的一些表格、單據(jù)的名字可以直接作為數(shù)據(jù)流的名字。命名問(wèn)題車(chē)間調(diào)度全廠統(tǒng)計(jì)生產(chǎn)報(bào)表統(tǒng)計(jì)表日?qǐng)?bào)表月報(bào)表78軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流命名(續(xù))不要使用空洞的、缺乏具體含義的名字;不要把控制流作為數(shù)據(jù)流;如果在為某個(gè)數(shù)據(jù)流命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD。命名問(wèn)題錄取分類(lèi)取下一個(gè)考生成績(jī)79軟件工程 - 2013 - 第四章 軟件需求加工(處理)命名頂層的加工名可以是軟件項(xiàng)目的名字;不要使用空洞的、缺乏具體含義的名
28、字;通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類(lèi)習(xí)慣的“由表及里”的思考過(guò)程;如果在為某個(gè)加工命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD;命名問(wèn)題80軟件工程 - 2013 - 第四章 軟件需求加工(處理)命名(續(xù))加工的名字最好由一個(gè)謂語(yǔ)動(dòng)詞加上一個(gè)賓語(yǔ)組成。如“計(jì)算運(yùn)費(fèi)”、“準(zhǔn)備機(jī)票”。也可以把賓語(yǔ)和謂語(yǔ)動(dòng)詞顛倒書(shū)寫(xiě)。如“運(yùn)費(fèi)計(jì)算”、“機(jī)票準(zhǔn)備”;名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能;通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。命名問(wèn)題81軟件工程 - 20
29、13 - 第四章 軟件需求作為交流信息的工具作為分析和設(shè)計(jì)的工具用數(shù)據(jù)流圖輔助物理系統(tǒng)的設(shè)計(jì)時(shí),以圖中不同處理的定時(shí)要求為指南,能夠在數(shù)據(jù)流圖上畫(huà)出許多組自動(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)化邊界的方法暗示以批量方式更新庫(kù)存清單數(shù)據(jù)流圖的用途83軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖的用途另一種劃分自動(dòng)化邊界的方法建議以聯(lián)機(jī)方式更新庫(kù)存清單84軟件工程 - 2013 - 第四章 軟件需求對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被
30、命名的圖形元素,在數(shù)據(jù)詞典中作為一個(gè)詞條加以定義,使得每個(gè)圖形元素都有確切解釋。數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求。詞條描述 對(duì)于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素,均加以定義,其內(nèi)容有: 圖形元素名字、別名或編號(hào),分類(lè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ù)流名說(shuō)明:簡(jiǎn)要介紹作用即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來(lái)源:來(lái)自何方數(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ù)元素名類(lèi)型:數(shù)字(離散值,連續(xù)值),文字(編碼類(lèi)型)長(zhǎng)度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):(2)數(shù)據(jù)元素詞條描述87軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)文件是數(shù)據(jù)結(jié)構(gòu)保存的地方。本類(lèi)詞條應(yīng)有以下內(nèi)容:數(shù)據(jù)文件名簡(jiǎn)述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式:順序,直接,關(guān)鍵碼存取頻率:(3)數(shù)據(jù)文件詞條描述88軟件工程 - 2013 - 第四章 軟件需求加工到后來(lái)就是一段程序,它的表達(dá)方式有判定表、判定樹(shù)、結(jié)構(gòu)化
32、英語(yǔ)等,在一個(gè)詞條中全部描述有困難。主要內(nèi)容有:加工名加工編號(hào):反映該加工的層次簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡(jiǎn)述加工程序,加工順序(4)加工邏輯詞條描述89軟件工程 - 2013 - 第四章 軟件需求對(duì)于數(shù)據(jù)處理系統(tǒng)來(lái)說(shuō),源點(diǎn)和匯點(diǎn)應(yīng)比較少,否則就會(huì)缺少獨(dú)立性,人機(jī)界面太復(fù)雜,這時(shí)應(yīng)考慮減少以提高系統(tǒng)獨(dú)立性。這類(lèi)詞條應(yīng)包括:名稱(chēng):外部實(shí)體名簡(jiǎn)要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:(5)源點(diǎn)及匯(終)點(diǎn)詞條描述90軟件工程 - 2013 - 第四章 軟件需求常用的描述數(shù)據(jù)結(jié)構(gòu)的方式有:定義式:自頂向下,逐級(jí)給出定義式,直到最后給出基本數(shù)據(jù)元素為止。Warnier
33、圖:用樹(shù)形結(jié)構(gòu)來(lái)描繪數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)詞典數(shù)據(jù)結(jié)構(gòu)的描述91軟件工程 - 2013 - 第四章 軟件需求符號(hào) 含義 舉例 “被定義為” 與 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可有可無(wú)“.” 基本數(shù)據(jù)元素 x = “a”,x是取值為a的元素 . 連結(jié)符 x = 1.9,x可取1到9中任一值數(shù)據(jù)詞典的定義式中出現(xiàn)的符號(hào)92軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)結(jié)構(gòu)的描述示例存折格
34、式93軟件工程 - 2013 - 第四章 軟件需求存折戶(hù)名所號(hào)帳號(hào)開(kāi)戶(hù)日性質(zhì)(印密)1存取行50戶(hù)名2字母24所號(hào)“001”.“999” 注:三位數(shù)字帳號(hào)“00000001”.“99999999” 注:八位數(shù)字開(kāi)戶(hù)日年月日性質(zhì)“1”.“6” 注:“1”表示普通戶(hù),“5”表示工資戶(hù)等印密“0” 注:印密在存折上不顯示存取行日期(摘要)支出存入余額操作復(fù)核94軟件工程 - 2013 - 第四章 軟件需求Warnier圖示例報(bào)紙專(zhuān)欄的數(shù)據(jù)層次結(jié)構(gòu)報(bào)紙頭版部分社論部分副刊部分頭條新聞國(guó)內(nèi)新聞本地新聞社論(1,1)讀者來(lái)信(1,3)體育新聞商業(yè)新聞廣告專(zhuān)欄(1,3)諷刺漫畫(huà)(0,1)副刊部分體育新聞商業(yè)
35、新聞廣告地區(qū)隊(duì)職業(yè)隊(duì)拳擊經(jīng)營(yíng)簡(jiǎn)訊雇員簡(jiǎn)訊招生招聘求助一般新聞95軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)流圖中每個(gè)加工框上只有簡(jiǎn)單的加工名,數(shù)據(jù)詞典中關(guān)于加工的信息也不能表達(dá)加工的全部?jī)?nèi)容;隨著逐層細(xì)化,加工邏輯越來(lái)越具體,到最底一層,可以詳細(xì)到可實(shí)現(xiàn)的程度,這時(shí)的加工稱(chēng)為基本加工;如果能寫(xiě)出每個(gè)基本加工的全部詳細(xì)邏輯功能,再自底向上綜合,就能完成全部加工;數(shù)據(jù)流圖的加工邏輯說(shuō)明96軟件工程 - 2013 - 第四章 軟件需求對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明;基本加工邏輯說(shuō)明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則;加工邏輯說(shuō)明必須描述實(shí)現(xiàn)加工的
36、策略而不是實(shí)現(xiàn)加工的細(xì)節(jié);加工邏輯說(shuō)明中包含的信息應(yīng)是充足的、完備的、有用的、無(wú)冗余的。數(shù)據(jù)流圖的加工邏輯說(shuō)明97軟件工程 - 2013 - 第四章 軟件需求 結(jié)構(gòu)化英語(yǔ)(Structured English) 判定表(Decision Table) 判定樹(shù)(Decision Tree)用于寫(xiě)加工邏輯說(shuō)明的工具98軟件工程 - 2013 - 第四章 軟件需求是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言。結(jié)構(gòu)化英語(yǔ)的詞匯表由 英語(yǔ)命令動(dòng)詞 數(shù)據(jù)詞典中定義的名字 有限的自定義詞 邏輯關(guān)系詞 IF_THEN_ELSE、 CASE_OF 、 WHILE_DO、 REPEAT_UNTIL等組成結(jié)構(gòu)化英語(yǔ)99
37、軟件工程 - 2013 - 第四章 軟件需求語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)來(lái)表示。其基本控制結(jié)構(gòu)有三種:簡(jiǎn)單陳述句結(jié)構(gòu):避免復(fù)合語(yǔ)句;重復(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)化英語(yǔ)(Structured English)100軟件工程 - 2013 - 第四章 軟件需求if 發(fā)貨單金額超過(guò)$500 then if 欠款超過(guò)了60天 then 在償還欠款前不予批準(zhǔn) else (欠款未超期) 發(fā)批準(zhǔn)書(shū),發(fā)貨單 else (發(fā)貨單金額未超過(guò)$500) if 欠款超過(guò)60天 then 發(fā)
38、批準(zhǔn)書(shū),發(fā)貨單及賒欠報(bào)告 else (欠款未超期) 發(fā)批準(zhǔn)書(shū),發(fā)貨單 商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”101軟件工程 - 2013 - 第四章 軟件需求如果數(shù)據(jù)流圖的加工需要依賴(lài)于多個(gè)邏輯條件的取值,使用判定表來(lái)描述比較合適。判定表(Decision Table)102軟件工程 - 2013 - 第四章 軟件需求商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”103軟件工程 - 2013 - 第四章 軟件需求判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)候它比判定表更直觀。檢查發(fā)貨單金額$500金額$500欠款60天不發(fā)出批準(zhǔn)書(shū)欠款60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單 欠款60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單及賒欠報(bào)告 欠款60天發(fā)出批
39、準(zhǔn)書(shū)、發(fā)貨單判定樹(shù)(Decision Tree)104軟件工程 - 2013 - 第四章 軟件需求軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法常用的分析方法及符號(hào)系統(tǒng)傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫(kù)需求的表達(dá)方法105軟件工程 - 2013 - 第四章 軟件需求在數(shù)據(jù)詞典中,強(qiáng)調(diào)對(duì)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的邏輯設(shè)計(jì),并用數(shù)據(jù)結(jié)構(gòu)表達(dá)數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系。但任何一個(gè)軟件系統(tǒng)都可能有成千上萬(wàn)個(gè)數(shù)據(jù)項(xiàng),僅僅描述這些數(shù)據(jù)項(xiàng)是不夠的,更重要的是如何把它們以最優(yōu)的方式組織起來(lái),以滿(mǎn)足系統(tǒng)對(duì)數(shù)據(jù)的要求。數(shù)據(jù)及數(shù)據(jù)庫(kù)需求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ù)庫(kù)的基本概念107軟件工程 - 2013 - 第四章 軟件需求現(xiàn)實(shí)世界是存在于人們頭腦之外的客觀世界,現(xiàn)實(shí)世界中的事物可分成對(duì)象和性質(zhì)兩大類(lèi)。對(duì)象可以是人、是物,還可以是實(shí)際的東西或概念的東西,例如,大學(xué)、城市等。對(duì)象還可以指事物與事物間的聯(lián)系。性質(zhì)則是指事物的性質(zhì)或特征。有關(guān)數(shù)據(jù)庫(kù)的基本概念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ù)庫(kù)的基本概念109軟件工程 - 2013 - 第四章 軟件需求5元組中每一元素是學(xué)生的某一屬性的屬性值。他們對(duì)應(yīng)的屬性集合是:(學(xué)號(hào), 姓名, 性別, 年齡, 專(zhuān)業(yè))這些屬性集合表征了“學(xué)生”實(shí)體的類(lèi)型,叫做實(shí)體型。同一類(lèi)型的實(shí)體的集合叫做實(shí)體集。數(shù)據(jù)世界則是信息世界中信息的數(shù)據(jù)化,現(xiàn)實(shí)世界中的事物及其聯(lián)系在數(shù)據(jù)世界中用數(shù)據(jù)模型描述。有關(guān)數(shù)據(jù)庫(kù)的基本概念110軟件工程 - 2013 - 第四章 軟件需求描述每一實(shí)體的數(shù)據(jù)稱(chēng)為記錄,描述屬性的數(shù)據(jù)叫做數(shù)據(jù)項(xiàng)或字段
42、。與實(shí)體集相對(duì)應(yīng)的稱(chēng)為文件。例如,學(xué)生文件就由多個(gè)記錄組成,這些記錄放在一起構(gòu)成一個(gè)二維表。表中每一橫排叫做一個(gè)記錄或元組,每一縱列叫做一個(gè)屬性。有關(guān)數(shù)據(jù)庫(kù)的基本概念111軟件工程 - 2013 - 第四章 軟件需求有關(guān)數(shù)據(jù)庫(kù)的基本概念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ù)類(lèi)型和數(shù)據(jù)長(zhǎng)度。若干同類(lèi)型的記錄構(gòu)成文件。為了對(duì)文件中的記錄有效組織和存取,通常指定一個(gè)數(shù)據(jù)項(xiàng)進(jìn)行區(qū)別,這個(gè)數(shù)據(jù)項(xiàng)叫做關(guān)鍵字。有關(guān)數(shù)據(jù)庫(kù)的基本概念113軟
43、件工程 - 2013 - 第四章 軟件需求在需求分析階段進(jìn)行數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)過(guò)程中,使用E-R圖,可定義一 個(gè)實(shí)體模型。實(shí)體模型是現(xiàn)實(shí)世界的純表示,它不涉及數(shù)據(jù)世界的數(shù)據(jù)結(jié)構(gòu)、存取路徑、存取效率等問(wèn)題。因此,它可以轉(zhuǎn)換成數(shù)據(jù)庫(kù)中的數(shù)據(jù)模型。E-R方法和實(shí)體模型114軟件工程 - 2013 - 第四章 軟件需求數(shù)據(jù)可以按相應(yīng)數(shù)據(jù)模型進(jìn)行組織。E-R圖中表示實(shí)體聯(lián)系的符號(hào)如下:E-R方法和實(shí)體模型115軟件工程 - 2013 - 第四章 軟件需求在E-R圖中,每個(gè)方框表示實(shí)體型或?qū)傩裕娇蛑g的連線表示實(shí)體之間,或?qū)嶓w與屬性之間的聯(lián)系。出現(xiàn)在連線上的短豎線可以看成是“1”,而圓圈隱含表示“0”。例如
44、,在教學(xué)管理中,一個(gè)教師可以教授零門(mén)、一門(mén)或多門(mén)課程,每位學(xué)生也需要學(xué)習(xí)幾門(mén)課程。因此,教學(xué)管理中涉及的對(duì)象(實(shí)體型)有學(xué)生、教師和課程。E-R方法和實(shí)體模型116軟件工程 - 2013 - 第四章 軟件需求用E-R圖描述它們之間的聯(lián)系,得下圖。其中,學(xué)生與課程是多對(duì)多的聯(lián)系,而教師與課程的聯(lián)系是一對(duì)零或多。E-R方法和實(shí)體模型117軟件工程 - 2013 - 第四章 軟件需求進(jìn)一步,要確定屬性。例如,學(xué)生具有學(xué)號(hào)、姓名、性別、年齡、專(zhuān)業(yè)(其它略)等屬性;課程具有課程號(hào)、課程名、學(xué)分、學(xué)時(shí)數(shù)等屬性;教師具有職工號(hào)、姓名、年齡、職稱(chēng)等屬性。此外,學(xué)生通過(guò)學(xué)號(hào)、分?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)用而不是面向存儲(chǔ)的結(jié)構(gòu)。為了便于數(shù)據(jù)庫(kù)的設(shè)計(jì),常常要對(duì)這種結(jié)構(gòu)做一些簡(jiǎn)化,其中最常見(jiàn)的一種方法就是規(guī)范化技術(shù)。數(shù)據(jù)結(jié)構(gòu)的規(guī)范化120軟件工程 - 2013 - 第四章 軟件需求“規(guī)范化”將數(shù)據(jù)的邏輯結(jié)構(gòu)歸結(jié)為滿(mǎn)足一定條件的二維表(關(guān)系)。 表格中每個(gè)信息項(xiàng)必須是一個(gè)不可分割的數(shù)據(jù)項(xiàng),不可是組項(xiàng)。 表格中每一列 (列表示屬性)中所有信息項(xiàng)必須是同一類(lèi)型,
46、各列的名字 (屬性名) 互異,列的次序任意。 表格中各行 (行表示元組) 互不相同,行的次序任意。數(shù)據(jù)結(jié)構(gòu)的規(guī)范化121軟件工程 - 2013 - 第四章 軟件需求不滿(mǎn)足上述要求的二維表或關(guān)系,叫做非規(guī)范化關(guān)系。對(duì)于非規(guī)范化的關(guān)系,必須將它規(guī)范化,即利用更單純、更規(guī)則的關(guān)系來(lái)代替原來(lái)的關(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è)簡(jiǎn)單的數(shù)或字符串,而不是一個(gè)組項(xiàng)或重復(fù)組;方便操作。使數(shù)據(jù)的插入、刪除與修改操作可行并方便;使關(guān)系模式更靈活,易于實(shí)現(xiàn)接近自然語(yǔ)言的查詢(xún)方式。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)塑料鏡片拋光劑市場(chǎng)調(diào)查研究報(bào)告
- 2025年輕紡機(jī)械襯套項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國(guó)雙軸玻璃鋼管纏繞機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)包銅箱數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)計(jì)算機(jī)數(shù)據(jù)信號(hào)電涌保護(hù)器市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)牙膏蠟市場(chǎng)調(diào)查研究報(bào)告
- 創(chuàng)意產(chǎn)業(yè)對(duì)城市社區(qū)的影響和改造考核試卷
- 保險(xiǎn)客戶(hù)忠誠(chéng)度提升考核試卷
- 公路客運(yùn)企業(yè)服務(wù)質(zhì)量持續(xù)改進(jìn)策略考核試卷
- 廣播電視設(shè)備用光發(fā)射與接收模塊考核試卷
- 2024年湖南省普通高中學(xué)業(yè)水平考試政治試卷(含答案)
- 零售企業(yè)加盟管理手冊(cè)
- 設(shè)備維保的維修流程與指導(dǎo)手冊(cè)
- 招標(biāo)代理服務(wù)的關(guān)鍵流程與難點(diǎn)解析
- GB/T 5465.2-2023電氣設(shè)備用圖形符號(hào)第2部分:圖形符號(hào)
- 材料預(yù)定協(xié)議
- 2023年河北省中考數(shù)學(xué)試卷(含解析)
- 《學(xué)習(xí)的本質(zhì)》讀書(shū)會(huì)活動(dòng)
- 高氨血癥護(hù)理課件
- 物流營(yíng)銷(xiāo)(第四版) 課件 胡延華 第3、4章 物流目標(biāo)客戶(hù)選擇、物流服務(wù)項(xiàng)目開(kāi)發(fā)
- 《石油化工電氣自動(dòng)化系統(tǒng)設(shè)計(jì)規(guī)范》
評(píng)論
0/150
提交評(píng)論