CH3-需求分析-經(jīng)典軟件工程-教學(xué)課件_第1頁(yè)
CH3-需求分析-經(jīng)典軟件工程-教學(xué)課件_第2頁(yè)
CH3-需求分析-經(jīng)典軟件工程-教學(xué)課件_第3頁(yè)
CH3-需求分析-經(jīng)典軟件工程-教學(xué)課件_第4頁(yè)
CH3-需求分析-經(jīng)典軟件工程-教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩213頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程---需求分析1軟件工程---需求分析1軟件生存周期可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)集成測(cè)試確認(rèn)測(cè)試使用與維護(hù)退役軟件定義軟件開(kāi)發(fā)軟件使用與維護(hù)軟件生命周期2軟件生存周期可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)集成測(cè)試第3章需求分析開(kāi)發(fā)一個(gè)軟件系統(tǒng)前,必須了解用戶(hù)的期望和要求--->軟件需求--->需求分析過(guò)程

重要性:軟件開(kāi)發(fā)的基礎(chǔ)和前提最終目標(biāo)軟件系統(tǒng)驗(yàn)收的標(biāo)準(zhǔn)避免或者盡早剔除早期的錯(cuò)誤需求分析3第3章需求分析開(kāi)發(fā)一個(gè)軟件系統(tǒng)前,必須了解用戶(hù)的期望和第3章需求分析需求分析4第3章需求分析需求分析4

困難:片面性,不完全模糊性,不準(zhǔn)確不一致性,歧義等等因此必須使用系統(tǒng)的方法、借助于一系列行之有效的技術(shù)和工具進(jìn)行需求分析需求分析需求分析應(yīng)用系統(tǒng)復(fù)雜,龐大5困難:片面性,不完全模糊性,不準(zhǔn)確不一致性,歧需求分析需求分析需求分析的任務(wù):

準(zhǔn)確的回答“系統(tǒng)必須做什么?”仍然回答“What”,而不是“How”,但更細(xì)致、精確(合同的擬定)6需求分析需求分析需求分析的任務(wù):

準(zhǔn)確的回答“系統(tǒng)必須做分析方法都遵守下述準(zhǔn)則盡管目前有許多不同的用于需求分析的結(jié)構(gòu)化分析方法,但是,所有這些分析方法都遵守下述準(zhǔn)則:(1)必須理解并描述問(wèn)題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型。(2)必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型。(3)必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型。(4)必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。7分析方法都遵守下述準(zhǔn)則盡管目前有許多不同的用于需求分§1.需求分析的任務(wù)1、確定對(duì)系統(tǒng)的綜合要求⑴功能要求(functionalrequirements):系統(tǒng)必須做什么?⑵性能要求(performance

requirements):做得怎樣?例:responsetime,memory,back-upmemory,security,……⑶運(yùn)行要求(operationalrequirements):運(yùn)行環(huán)境、軟硬件配置等。⑷未來(lái)可能的擴(kuò)充要求(possibleevolution):§1.需求分析的任務(wù)8§1.需求分析的任務(wù)1、確定對(duì)系統(tǒng)的綜合要求§1.需求分(5)可靠性和可用性需求(6)出錯(cuò)處理與安全需求(7)接口需求(8)約束因素等9(5)可靠性和可用性需求9§1.需求分析的任務(wù)2、分析數(shù)據(jù)(系統(tǒng)的數(shù)據(jù)要求)⑴建立概念模型(conceptualmodels):E-RDiagram⑵形象描繪數(shù)據(jù)結(jié)構(gòu):DataHierarchy,WarnierDiagram,IPO⑶數(shù)據(jù)結(jié)構(gòu)規(guī)范化(Normalization)3、導(dǎo)出邏輯模型:抽取其“做什么”的本質(zhì)

4、修正計(jì)劃:重估成本、進(jìn)度等10§1.需求分析的任務(wù)2、分析數(shù)據(jù)(系統(tǒng)的數(shù)據(jù)要求)3、導(dǎo)出§1.需求分析的任務(wù)5、開(kāi)發(fā)原型系統(tǒng)(Prototyping)檢驗(yàn)方案的正確性系統(tǒng)是否滿(mǎn)足需求“樣機(jī)試用”CDG系統(tǒng)原型是對(duì)系統(tǒng)的主要功能和行為的直觀描述11§1.需求分析的任務(wù)5、開(kāi)發(fā)原型系統(tǒng)(Prototypin§2.需求分析的步驟§2.需求分析的步驟12§2.需求分析的步驟§2.需求分析的步驟12§2.需求分析的步驟1、調(diào)查研究(1)沿?cái)?shù)據(jù)流圖回溯:數(shù)據(jù)流圖的輸出端是系統(tǒng)的最終目的。向回確定每個(gè)數(shù)據(jù)元素的來(lái)源,可加細(xì)數(shù)據(jù)流圖及數(shù)據(jù)字典,并將相關(guān)算法記錄在IPO圖中。(2)用戶(hù)復(fù)查§2.需求分析的步驟基本思想:“自頂向下,逐步求精”,抽象和分解13§2.需求分析的步驟1、調(diào)查研究§2.需求分析的步驟§2.需求分析的步驟2、分析與綜合(1)問(wèn)題的具體分析:細(xì)化數(shù)據(jù)流圖

加細(xì)前后的I/O須相同。

分解到須考慮具體實(shí)現(xiàn)的代碼時(shí)即可仃止(2)方案的綜合§2.需求分析的步驟14§2.需求分析的步驟2、分析與綜合§2.需求分析的步驟3、修正計(jì)劃:成本和進(jìn)度的更準(zhǔn)確估計(jì)4、書(shū)寫(xiě)文檔:《需求規(guī)格說(shuō)明書(shū)》不需分解有補(bǔ)充修正無(wú)補(bǔ)充修正分析追蹤數(shù)據(jù)流圖用戶(hù)復(fù)查細(xì)化數(shù)據(jù)流圖需要分解§2.需求分析的步驟§2.需求分析的步驟153、修正計(jì)劃:成本和進(jìn)度的更準(zhǔn)確估計(jì)不需分解有補(bǔ)充無(wú)補(bǔ)充修正需求規(guī)格說(shuō)明書(shū)封面:

文檔編號(hào):

版本號(hào):

文檔名稱(chēng):項(xiàng)目名稱(chēng):項(xiàng)目負(fù)責(zé)人:

年月日編寫(xiě):核對(duì):審核:批準(zhǔn):開(kāi)發(fā)單位:

16需求規(guī)格說(shuō)明書(shū)封面:需求規(guī)格說(shuō)明書(shū)內(nèi)容:⑴系統(tǒng)規(guī)格說(shuō)明:

系統(tǒng)概貌功能要求

性能要求運(yùn)行要求

可能增加的要求DFD

IPO⑵數(shù)據(jù)要求:

DD

Hierarchy或WarnierDiagram⑶用戶(hù)系統(tǒng)描述——初步用戶(hù)手冊(cè):從用戶(hù)的觀點(diǎn)考慮系統(tǒng)

系統(tǒng)功能、性能

使用與步驟等⑷修正的開(kāi)發(fā)計(jì)劃:

成本估計(jì)資源使用計(jì)劃

進(jìn)度計(jì)劃17需求規(guī)格說(shuō)明書(shū)⑴系統(tǒng)規(guī)格說(shuō)明:⑵數(shù)據(jù)要求:⑶用戶(hù)系統(tǒng)描述5需求評(píng)審任務(wù):多方人員一起對(duì)SRS進(jìn)行復(fù)核和評(píng)審,以確保SRS全面、準(zhǔn)確、一致地反映用戶(hù)需求原則:支持各方(用戶(hù),需求分析人員、設(shè)計(jì)人員)共同參與評(píng)審工作§2.需求分析的步驟185需求評(píng)審任務(wù):多方人員一起對(duì)SRS進(jìn)行復(fù)核和評(píng)審,抽象(模型化)源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形式說(shuō)明,模型的構(gòu)造與預(yù)測(cè)實(shí)驗(yàn)分析結(jié)果分析.在為可能的算法數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)等構(gòu)造模型時(shí)使用此過(guò)程.抽象的結(jié)果是概念符號(hào)模型抽象(模型化)源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形模型(model)模型:現(xiàn)實(shí)世界某些重要方面的表示。有時(shí)我們使用術(shù)語(yǔ)“抽象”來(lái)表示模型,因?yàn)槲覀儚默F(xiàn)實(shí)世界中抽象出對(duì)我們特別有用的東西。模型(model)模型:現(xiàn)實(shí)世界某些重要方面的表示。需求分析的步驟當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實(shí)例化怎么做做什么當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)需求定義需求分析的步驟當(dāng)前目標(biāo)物理邏輯邏輯物理模型化抽象化具體化實(shí)例邏輯模型和物理模型

模型是對(duì)對(duì)象系統(tǒng)的形式化的特征抽象,概括性或近似地表示;

構(gòu)造模型的過(guò)程是一個(gè)抽象、分析的過(guò)程。對(duì)象系統(tǒng)模型系統(tǒng)抽象(映射)模型應(yīng)用模型構(gòu)造的過(guò)程邏輯模型和物理模型對(duì)象模型抽象(映射)模型應(yīng)用模型

邏輯模型物理模型

(本質(zhì)模型、概念模型)

(實(shí)施模型、技術(shù)模型)現(xiàn)行系統(tǒng)目標(biāo)系統(tǒng)描述重要的業(yè)務(wù)功能,無(wú)論系統(tǒng)是如何實(shí)施的。描述現(xiàn)實(shí)系統(tǒng)是如何在物理上實(shí)現(xiàn)的。描述新系統(tǒng)的主要業(yè)務(wù)功能和用戶(hù)新的需求,無(wú)論系統(tǒng)應(yīng)如何實(shí)施。描述新系統(tǒng)是如何實(shí)施的(包括技術(shù))。邏輯模型物理模型現(xiàn)目描述重要的業(yè)務(wù)§3基于數(shù)據(jù)流的分析方法§3.1數(shù)據(jù)流圖(DataFlowDiagram)§3.2畫(huà)數(shù)據(jù)流圖的原則§3.3數(shù)據(jù)字典(DataDictionary)§3.4基于數(shù)據(jù)流的分析方法24§3基于數(shù)據(jù)流的分析方法§3.1數(shù)據(jù)流圖(DataF§3.1數(shù)據(jù)流圖(DataFlowDiagram)數(shù)據(jù)流圖(DFD)是一種描述數(shù)據(jù)以及對(duì)數(shù)據(jù)進(jìn)行加工轉(zhuǎn)換的圖形工具一個(gè)DFD主要由以下四個(gè)部分組成:數(shù)據(jù)流加工(轉(zhuǎn)換)外部實(shí)體數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流名稱(chēng)轉(zhuǎn)換名稱(chēng)外部實(shí)體名稱(chēng)數(shù)據(jù)存儲(chǔ)名稱(chēng)§3數(shù)據(jù)流圖25§3.1數(shù)據(jù)流圖(DataFlowDiagram)數(shù)據(jù)§3.2畫(huà)數(shù)據(jù)流圖的原則先找系統(tǒng)數(shù)據(jù)的輸入輸出點(diǎn),畫(huà)出外部實(shí)體§3數(shù)據(jù)流圖確定外部實(shí)體的輸入輸出數(shù)據(jù)流由源點(diǎn)外部實(shí)體的數(shù)據(jù)流出發(fā),逐漸進(jìn)行加工,完成整個(gè)數(shù)據(jù)流圖一張圖的處理超過(guò)5~9個(gè)時(shí),應(yīng)該進(jìn)行分層,把最基本的系統(tǒng)功能做為第0層,從第1層開(kāi)始對(duì)每個(gè)模塊的功能進(jìn)行細(xì)化26§3.2畫(huà)數(shù)據(jù)流圖的原則先找系統(tǒng)數(shù)據(jù)的輸入輸出點(diǎn),畫(huà)出外部數(shù)據(jù)流圖例子訂票員訂票員預(yù)定機(jī)票準(zhǔn)備機(jī)票記帳訂票單航班目錄航班號(hào)

航班費(fèi)用帳單機(jī)票記帳數(shù)據(jù)庫(kù)帳目§3數(shù)據(jù)流圖27數(shù)據(jù)流圖例子訂票員訂票員預(yù)定準(zhǔn)備記帳訂票單航班目錄航班號(hào)§3.3數(shù)據(jù)字典(DataDictionary)面向數(shù)據(jù)流分析需要引進(jìn)數(shù)據(jù)字典(DD)DD以一種準(zhǔn)確、簡(jiǎn)潔的方式對(duì)DFD中數(shù)據(jù)流、外部實(shí)體、數(shù)據(jù)存儲(chǔ)作說(shuō)明DD對(duì)DFD中的六類(lèi)元素進(jìn)行定義說(shuō)明,按照元素不同,其中的數(shù)據(jù)條目?jī)?nèi)容也不相同數(shù)據(jù)流數(shù)據(jù)項(xiàng)(數(shù)據(jù)元素)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)處理邏輯(基本加工)外部實(shí)體§4數(shù)據(jù)字典28§3.3數(shù)據(jù)字典(DataDictionary)面向數(shù)數(shù)據(jù)字典例子:(數(shù)據(jù)流)數(shù)據(jù)流名稱(chēng):訂票單別名:無(wú)

來(lái)源:訂票員去向:定票

數(shù)據(jù)流量:200份/天組成:編號(hào)+姓名+年齡+身份證號(hào)+電話號(hào)碼+訂票日期+ 目的地……§4數(shù)據(jù)字典29數(shù)據(jù)字典例子:(數(shù)據(jù)流)數(shù)據(jù)流名稱(chēng):訂票單§4數(shù)據(jù)數(shù)據(jù)字典例子:(數(shù)據(jù)項(xiàng))數(shù)據(jù)項(xiàng)名稱(chēng):航班號(hào)

別名:HBH

數(shù)據(jù)類(lèi)型:字符串長(zhǎng)度:16位

取值范圍及含義:

第1位:進(jìn)口/國(guó)產(chǎn)第2-4位:類(lèi)別第5-7位:規(guī)格第8-11位:源機(jī)場(chǎng)編號(hào)第12-15位:目的機(jī)場(chǎng)編號(hào)……§4數(shù)據(jù)字典30數(shù)據(jù)字典例子:(數(shù)據(jù)項(xiàng))數(shù)據(jù)項(xiàng)名稱(chēng):航班號(hào)§4數(shù)據(jù)數(shù)據(jù)字典例子:(數(shù)據(jù)存儲(chǔ))數(shù)據(jù)存儲(chǔ)名稱(chēng):航班目錄

別名:無(wú)

來(lái)源:無(wú)去向:定票

組成:航班號(hào)+飛行日期+載客量+出發(fā)地+目的地+票價(jià)-組織方式:索引文件,以航班號(hào)為關(guān)鍵字……§4數(shù)據(jù)字典31數(shù)據(jù)字典例子:(數(shù)據(jù)存儲(chǔ))數(shù)據(jù)存儲(chǔ)名稱(chēng):航班目錄§4數(shù)據(jù)字典例子:(處理邏輯)數(shù)據(jù)加工名稱(chēng):定票

別名:無(wú)

輸入:訂票單輸出:航班、費(fèi)用

激發(fā)條件:接受到訂票單處理邏輯:

if單據(jù)=訂票單 thenif單據(jù)是否過(guò)期 then是否有該航班,是否有機(jī)票……§4數(shù)據(jù)字典32數(shù)據(jù)字典例子:(處理邏輯)數(shù)據(jù)加工名稱(chēng):定票§4數(shù)§3.4基于數(shù)據(jù)流的分析方法DFD是系統(tǒng)中各處理子功能以及它們之間數(shù)據(jù)流動(dòng)的圖形表示--刻劃系統(tǒng)功能和行為DFD為描述和建模的工具和手段如何利用DFD進(jìn)行需求分析,描述用戶(hù)需求?§5基于數(shù)據(jù)流的分析方法33§3.4基于數(shù)據(jù)流的分析方法DFD是系統(tǒng)中各處理子功能數(shù)據(jù)流圖數(shù)據(jù)流圖中的主要圖形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源點(diǎn)或終點(diǎn)(外部實(shí)體)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件34數(shù)據(jù)流圖數(shù)據(jù)流圖中的主要圖形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源面向數(shù)據(jù)流分析方法運(yùn)用了抽象和分解的技術(shù).提供一些經(jīng)驗(yàn)知識(shí)和規(guī)則以指導(dǎo)需求分析基于數(shù)據(jù)流的分析方法§5基于數(shù)據(jù)流的分析方法35面向數(shù)據(jù)流分析方法運(yùn)用了抽象和分解的技術(shù).提供一些經(jīng)驗(yàn)知識(shí)和數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系36數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系36數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(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)37數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采分層的數(shù)據(jù)流圖38分層的數(shù)據(jù)流圖38在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。39在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng)。領(lǐng)書(shū)單

進(jìn)書(shū)通知

購(gòu)書(shū)單

缺書(shū)單

DFD練習(xí)—售書(shū)系統(tǒng)學(xué)生教材購(gòu)銷(xiāo)系統(tǒng)書(shū)庫(kù)保管員40領(lǐng)書(shū)單進(jìn)書(shū)通知購(gòu)書(shū)單領(lǐng)書(shū)單進(jìn)書(shū)通知

進(jìn)書(shū)通知

購(gòu)書(shū)單缺書(shū)單

案例I:DFD練習(xí)—售書(shū)系統(tǒng)

1銷(xiāo)售

2采購(gòu)書(shū)庫(kù)保管員

學(xué)生F1教材存量表

F2缺書(shū)登記表

41領(lǐng)書(shū)單進(jìn)書(shū)通知進(jìn)書(shū)通案例II:工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖42案例II:工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖42圖4.6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖43圖4.6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖43圖4.7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計(jì)算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖44圖4.7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖44圖4.8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖45圖4.8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖45案例分析III應(yīng)用問(wèn)題:家庭保安系統(tǒng)46案例分析III應(yīng)用問(wèn)題:家庭保安系統(tǒng)46步驟1:建立頂級(jí)DFD根據(jù)問(wèn)題域與外部環(huán)境之間的相互關(guān)系定義問(wèn)題域的邊界,即問(wèn)題域與外界環(huán)境之間的輸入和輸出關(guān)系

-->最高抽象層次§5基于數(shù)據(jù)流的分析方法47步驟1:建立頂級(jí)DFD根據(jù)問(wèn)題域與外部環(huán)境之間的相互關(guān)系步驟2:自頂向下,功能分解自頂向下、逐步求精對(duì)頂級(jí)數(shù)據(jù)流圖進(jìn)行精化,生成下一級(jí)數(shù)據(jù)流圖對(duì)用戶(hù)的需求描述進(jìn)行語(yǔ)法分析動(dòng)詞構(gòu)成潛在的處理功能遵循“強(qiáng)內(nèi)聚,松耦合”原則名詞或名詞短語(yǔ)構(gòu)成潛在數(shù)據(jù)流、數(shù)據(jù)源和外部實(shí)體基于數(shù)據(jù)流的分析方法48步驟2:自頂向下,功能分解自頂向下、逐步求精對(duì)頂級(jí)數(shù)據(jù)流圖案例分析:頂級(jí)DFD基于數(shù)據(jù)流的分析方法49案例分析:頂級(jí)DFD基于數(shù)據(jù)流的分析方法49案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理顯示器警報(bào)器電話機(jī)警報(bào)類(lèi)別顯示信息電話撥號(hào)音頻傳感信息用戶(hù)命令傳感信息§5基于數(shù)據(jù)流的分析方法50案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理案例分析:二級(jí)DFD基于數(shù)據(jù)流的分析方法51案例分析:二級(jí)DFD基于數(shù)據(jù)流的分析方法51案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理顯示器警報(bào)器電話機(jī)警報(bào)類(lèi)別顯示信息電話撥號(hào)音頻傳感信息用戶(hù)命令傳感信息基于數(shù)據(jù)流的分析方法52案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命令配置信息庫(kù)配置信息啟動(dòng)/停止命令運(yùn)行控制信息顯示運(yùn)行信息配置信息口令設(shè)置口令核對(duì)有效口令口令信息§5基于數(shù)據(jù)流的分析方法53案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命在分解、精化過(guò)程中,把生成的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、外部實(shí)體在數(shù)據(jù)字典中加以定義,對(duì)底層轉(zhuǎn)換在小說(shuō)明中作出描述步驟2:自頂向下,功能分解§5基于數(shù)據(jù)流的分析方法54在分解、精化過(guò)程中,把生成的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、外部實(shí)體在數(shù)據(jù)案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命令配置信息庫(kù)配置信息啟動(dòng)/停止命令運(yùn)行控制信息顯示運(yùn)行信息配置信息口令設(shè)置口令核對(duì)有效口令口令信息§5基于數(shù)據(jù)流的分析方法55案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):有效口令

名字和別名:有效口令數(shù)據(jù)類(lèi)型:字符串限制:長(zhǎng)度為4個(gè)字節(jié)相關(guān)的轉(zhuǎn)換列表:運(yùn)行控制,口令核對(duì)…….§5基于數(shù)據(jù)流的分析方法56數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):有效口令§5基于數(shù)據(jù)流的分析方法56案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命令配置信息庫(kù)配置信息啟動(dòng)/停止命令運(yùn)行控制信息顯示運(yùn)行信息配置信息口令設(shè)置口令核對(duì)有效口令口令信息§5基于數(shù)據(jù)流的分析方法57案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命小說(shuō)明處理邏輯名稱(chēng):運(yùn)行控制功能If是停止命令Then向信息顯示提供停止運(yùn)行信息停止系統(tǒng)運(yùn)行Else 向信息顯示提供啟動(dòng)運(yùn)行信息啟動(dòng)系統(tǒng)運(yùn)行EndIf設(shè)計(jì)約束……...§5基于數(shù)據(jù)流的分析方法58小說(shuō)明處理邏輯名稱(chēng):運(yùn)行控制§5基于數(shù)據(jù)流的分析方法58數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):定單別名:無(wú)數(shù)據(jù)類(lèi)型:日期+產(chǎn)品+數(shù)量+……作為輸出流的轉(zhuǎn)換列表:作為輸入流的轉(zhuǎn)換列表:使用說(shuō)明:必須給出各個(gè)數(shù)據(jù)項(xiàng) 解釋性說(shuō)明:無(wú)缺省值:日期=當(dāng)日日期……59數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):定單59數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求詞條描述——對(duì)于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素,均加以定義,其內(nèi)容有:名字,別名或編號(hào),分類(lèi),描述,定義,位置,其它,等60數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求6(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:說(shuō)明:簡(jiǎn)要介紹作用即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來(lái)源:來(lái)自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量61(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:61(2)數(shù)據(jù)元素詞條描述數(shù)據(jù)元素名:類(lèi)型:數(shù)字(離散值,連續(xù)值),文字(編碼類(lèi)型)長(zhǎng)度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):62(2)數(shù)據(jù)元素詞條描述數(shù)據(jù)元素名:62(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:簡(jiǎn)述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式:順序,直接,關(guān)鍵碼存取頻率:63(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:63(4)加工邏輯詞條描述加工名:加工編號(hào):反映該加工的層次簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡(jiǎn)述加工程序,加工順序64(4)加工邏輯詞條描述加工名:64(5)源點(diǎn)及匯(終)點(diǎn)詞條描述名稱(chēng):外部實(shí)體名簡(jiǎn)要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:65(5)源點(diǎn)及匯(終)點(diǎn)詞條描述名稱(chēng):外部實(shí)體名65數(shù)據(jù)結(jié)構(gòu)的描述

符號(hào)

含義

舉例=被定義為+與

x=a+b[...,...]或[...|...]或

x=[a,b],x=[a|b]{...}或m{...}n重復(fù)

x={a},x=3{a}8(...)可選

x=(a)“...”基本數(shù)據(jù)元素

x=“a”.. 連結(jié)符

x=1..966數(shù)據(jù)結(jié)構(gòu)的描述符號(hào) 含義 存折格式67存折格式67存折=戶(hù)名+所號(hào)+帳號(hào)+開(kāi)戶(hù)日+性質(zhì)+(印密)+1{存取行}50戶(hù)名=2{字母}24所號(hào)=“001”..“999”帳號(hào)=“00000001”..“99999999”開(kāi)戶(hù)日=年+月+日性質(zhì)=“1”..“6”注:“1”表示普通戶(hù),“5”表示工資戶(hù)等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核68存折=戶(hù)名+所號(hào)+帳號(hào)+開(kāi)戶(hù)日+性質(zhì)+(印密)+1{存取行}13:07:422-5北京某高??捎玫碾娫捥?hào)碼有以下幾類(lèi):校內(nèi)電話號(hào)碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類(lèi),撥校外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位區(qū)碼再撥8位電話號(hào)碼(第1位不是0)。請(qǐng)用定義數(shù)據(jù)字典的方法,定義上述的電話號(hào)碼。作業(yè)及解答(第3章)6913:07:422-5北京某高??捎玫碾娫捥?hào)碼有以下幾類(lèi):13:07:42電話號(hào)碼=[校內(nèi)電話號(hào)碼|校外電話號(hào)碼]校內(nèi)電話號(hào)碼=非零數(shù)字+3位數(shù)字//后面繼續(xù)定義校外電話號(hào)碼=[本市號(hào)碼|外地號(hào)碼]本市號(hào)碼=數(shù)字零+8位數(shù)字外地號(hào)碼=數(shù)字零+3位數(shù)字+8位數(shù)字非零數(shù)字=[1|2|3|4|5|6|7|8|9]數(shù)字零=03位數(shù)字=3{數(shù)字}3//3至3個(gè)數(shù)字8位數(shù)字=非零數(shù)字+7位數(shù)字7位數(shù)字=7{數(shù)字}7數(shù)字=[0|1|2|3|4|5|6|7|8|9]作業(yè)及解答(第3章)7013:07:42電話號(hào)碼=[校內(nèi)電話號(hào)碼|校外電話號(hào)碼]作業(yè)13:07:423-3銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:儲(chǔ)戶(hù)填寫(xiě)的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼)、身份證號(hào)碼、存款類(lèi)型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲(chǔ)戶(hù);如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶(hù)密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶(hù)。

請(qǐng)用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實(shí)體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象。作業(yè)及解答(第3章)7113:07:423-3銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下13:07:42作業(yè)及解答(第3章)作業(yè)及解答(第3章)7213:07:42作業(yè)及解答(第3章)作業(yè)及解答(第3章)7213:07:427313:07:427313:07:42作業(yè)及解答(第3章)7413:07:42作業(yè)及解答(第3章)7413:07:42ER模型本問(wèn)題中共有兩類(lèi)實(shí)體,分別是“儲(chǔ)戶(hù)”和“儲(chǔ)蓄所”,在它們之間存在“存取款”關(guān)系。因?yàn)橐晃粌?chǔ)戶(hù)可以在多家儲(chǔ)蓄所存取款,一家儲(chǔ)蓄所擁有多位儲(chǔ)戶(hù),所以“存取款”是多對(duì)多(M:N)關(guān)系。儲(chǔ)戶(hù)的屬性主要有姓名、住址、電話號(hào)碼和身份證號(hào)碼,儲(chǔ)蓄所的屬性主要是名稱(chēng)、地址和電話號(hào)碼,而數(shù)額、類(lèi)型、到期日期、利率和密碼則是關(guān)系類(lèi)型存取款的屬性。作業(yè)及解答(第3章)7513:07:42ER模型作業(yè)及解答(第3章)7513:07:42作業(yè)及解答(第3章)7613:07:42作業(yè)及解答(第3章)76

對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明基本加工邏輯說(shuō)明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則加工邏輯說(shuō)明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)加工邏輯說(shuō)明中包含的信息應(yīng)是充足的,完備的,有用的,無(wú)冗余的基本加工邏輯說(shuō)明77對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明基本用于寫(xiě)加工邏輯說(shuō)明的工具結(jié)構(gòu)化英語(yǔ)判定表判定樹(shù)78用于寫(xiě)加工邏輯說(shuō)明的工具結(jié)構(gòu)化英語(yǔ)78(1)結(jié)構(gòu)化英語(yǔ)結(jié)構(gòu)化英語(yǔ)的詞匯表由英語(yǔ)命令動(dòng)詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等組成。79(1)結(jié)構(gòu)化英語(yǔ)結(jié)構(gòu)化英語(yǔ)的詞匯表由79是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言語(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);80是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言80商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$500then

if欠款超過(guò)了60天then在償還欠款前不予批準(zhǔn)

else

(欠款未超期)發(fā)批準(zhǔn)書(shū),發(fā)貨單

else

(發(fā)貨單金額未超過(guò)$500)

if欠款超過(guò)60天then發(fā)批準(zhǔn)書(shū),發(fā)貨單及賒欠報(bào)告else

(欠款未超期)發(fā)批準(zhǔn)書(shū),發(fā)貨單

81商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$500(2)判定表如果數(shù)據(jù)流圖的加工需要依賴(lài)于多個(gè)邏輯條件的取值,使用判定表來(lái)描述比較合適82(2)判定表如果數(shù)據(jù)流圖的加工需要依賴(lài)于多個(gè)邏輯條件的取值,以“檢查發(fā)貨單”為例83以“檢查發(fā)貨單”為例838484(3)判定樹(shù)判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它比判定表更直觀。檢查發(fā)貨單金額>$500金額$500欠款>60天不發(fā)出批準(zhǔn)書(shū)欠款60天發(fā)貨單發(fā)出批準(zhǔn)書(shū)、欠款>60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單及賒欠報(bào)告欠款60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單85(3)判定樹(shù)判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它比§4分析階段所用圖形一、實(shí)體-關(guān)系圖數(shù)據(jù)建模時(shí)經(jīng)常使用數(shù)據(jù)對(duì)象屬性聯(lián)系:一對(duì)一,一對(duì)多,多對(duì)多數(shù)據(jù)規(guī)范化理論:1NF、2NF、3NF86§4分析階段所用圖形一、實(shí)體-關(guān)系圖86二、狀態(tài)轉(zhuǎn)換圖作用:狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱(chēng)為狀態(tài)圖)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了作為特定事件的結(jié)果系統(tǒng)將做哪些動(dòng)作(例如,處理數(shù)據(jù))。因此,狀態(tài)圖提供了行為建模機(jī)制(動(dòng)態(tài)建模)87二、狀態(tài)轉(zhuǎn)換圖作用:872.狀態(tài)狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。系統(tǒng)對(duì)事件的響應(yīng),既可以是做一個(gè)(或一系列)動(dòng)作,也可以是僅僅改變系統(tǒng)本身的狀態(tài),還可以是既改變狀態(tài)又做動(dòng)作。在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài)。在一張狀態(tài)圖中只能有一個(gè)初態(tài),而終態(tài)則可以有0至多個(gè)882.狀態(tài)883.事件事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起系統(tǒng)做動(dòng)作或(和)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象。例如,內(nèi)部時(shí)鐘表明某個(gè)規(guī)定的時(shí)間段已經(jīng)過(guò)去,用戶(hù)移動(dòng)或點(diǎn)擊鼠標(biāo)等都是事件。簡(jiǎn)而言之,事件就是引起系統(tǒng)做動(dòng)作或(和)轉(zhuǎn)換狀態(tài)的控制信息。格式:事件/動(dòng)作表達(dá)式標(biāo)準(zhǔn)事件:entry(進(jìn)入一狀態(tài)時(shí)),exit(退出時(shí)),do(指定動(dòng)作)893.事件事件是在某個(gè)特定時(shí)刻發(fā)生的事情圖3.3狀態(tài)圖中使用的主要符號(hào)9090三、其它圖形工具層次方框圖層次方框圖用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹(shù)形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。例如,描繪一家計(jì)算機(jī)公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可以用圖3.5中的層次方框圖表示。91三、其它圖形工具層次方框圖91圖3.5層次方框圖的一個(gè)例子92922.Warnier圖932.Warnier圖933.IPO圖IPO圖是輸入、處理、輸出圖的簡(jiǎn)稱(chēng),它是美國(guó)IBM公司發(fā)展完善起來(lái)的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。943.IPO圖949595需求分析階段的工作結(jié)果是開(kāi)發(fā)軟件系統(tǒng)的重要基礎(chǔ),大量統(tǒng)計(jì)數(shù)字表明,軟件系統(tǒng)中15%的錯(cuò)誤起源于錯(cuò)誤的需求。為了提高軟件質(zhì)量,確保軟件開(kāi)發(fā)成功,降低軟件開(kāi)發(fā)成本,一旦對(duì)目標(biāo)系統(tǒng)提出一組要求之后,必須嚴(yán)格驗(yàn)證這些需求的正確性。一般說(shuō)來(lái),應(yīng)該從下述4個(gè)方面進(jìn)行驗(yàn)證:3.8驗(yàn)證軟件需求

3.8.1從哪些方面驗(yàn)證軟件需求的正確性96需求分析階段的工作結(jié)果是開(kāi)發(fā)軟件系統(tǒng)的重要基礎(chǔ),大量統(tǒng)計(jì)數(shù)字(1)一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2)完整性:需求必須是完整的,規(guī)格說(shuō)明書(shū)應(yīng)該包括用戶(hù)需要的每一個(gè)功能或性能。(3)現(xiàn)實(shí)性:指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。對(duì)硬件技術(shù)的進(jìn)步可以做些預(yù)測(cè),對(duì)軟件技術(shù)的進(jìn)步則很難做出預(yù)測(cè),只能從現(xiàn)有技術(shù)水平出發(fā)判斷需求的現(xiàn)實(shí)性。(4)有效性:必須證明需求是正確有效的,確實(shí)能解決用戶(hù)面對(duì)的問(wèn)題。97(1)一致性:所有需求必須是一致的,任何一條需求不能和其他1.驗(yàn)證需求的一致性當(dāng)需求分析的結(jié)果是用自然語(yǔ)言書(shū)寫(xiě)的時(shí)候,除了靠人工技術(shù)審查驗(yàn)證軟件系統(tǒng)規(guī)格說(shuō)明書(shū)的正確性之外,目前還沒(méi)有其他更好的“測(cè)試”方法。但是,這種非形式化的規(guī)格說(shuō)明書(shū)是難于驗(yàn)證的,特別在目標(biāo)系統(tǒng)規(guī)模龐大、規(guī)格說(shuō)明書(shū)篇幅很長(zhǎng)的時(shí)候,人工審查的效果是沒(méi)有保證的,冗余、遺漏和不一致等問(wèn)題可能沒(méi)被發(fā)現(xiàn)而繼續(xù)保留下來(lái),以致軟件開(kāi)發(fā)工作不能在正確的基礎(chǔ)上順利進(jìn)行。3.8.2驗(yàn)證軟件需求的方法981.驗(yàn)證需求的一致性3.8.2驗(yàn)證軟件需求的方法98為了克服上述困難,人們提出了形式化的描述軟件需求的方法。當(dāng)軟件需求規(guī)格說(shuō)明書(shū)是用形式化的需求陳述語(yǔ)言書(shū)寫(xiě)的時(shí)候,可以用軟件工具驗(yàn)證需求的一致性(見(jiàn)3.8.3節(jié)),從而能有效地保證軟件需求的一致性。2.驗(yàn)證需求的現(xiàn)實(shí)性為了驗(yàn)證需求的現(xiàn)實(shí)性,分析員應(yīng)該參照以往開(kāi)發(fā)類(lèi)似系統(tǒng)的經(jīng)驗(yàn),分析用現(xiàn)有的軟、硬件技術(shù)實(shí)現(xiàn)目標(biāo)系統(tǒng)的可能性。必要的時(shí)候應(yīng)該采用仿真或性能模擬技術(shù),輔助分析軟件需求規(guī)格說(shuō)明書(shū)的現(xiàn)實(shí)性。99為了克服上述困難,人們提出了形式化的描述軟件需求的方法。當(dāng)軟3.驗(yàn)證需求的完整性和有效性只有目標(biāo)系統(tǒng)的用戶(hù)才真正知道軟件需求規(guī)格說(shuō)明書(shū)是否完整、準(zhǔn)確地描述了他們的需求。因此,檢驗(yàn)需求的完整性,特別是證明系統(tǒng)確實(shí)滿(mǎn)足用戶(hù)的實(shí)際需要(即,需求的有效性),只有在用戶(hù)的密切合作下才能完成。然而許多用戶(hù)并不能清楚地認(rèn)識(shí)到他們的需要(特別在要開(kāi)發(fā)的系統(tǒng)是全新的,以前沒(méi)有使用類(lèi)似系統(tǒng)的經(jīng)驗(yàn)時(shí),情況更是如此),不能有效地比較陳述需求的語(yǔ)句和實(shí)際需要的功能。只有當(dāng)他們有某種工作著的軟件系統(tǒng)可以實(shí)際使用和評(píng)價(jià)時(shí),才能完整確切地提出他們的需要。1003.驗(yàn)證需求的完整性和有效性100理想的做法是先根據(jù)需求分析的結(jié)果開(kāi)發(fā)出一個(gè)軟件系統(tǒng),請(qǐng)用戶(hù)試用一段時(shí)間以便能認(rèn)識(shí)到他們的實(shí)際需要是什么,在此基礎(chǔ)上再寫(xiě)出正式的“正確的”規(guī)格說(shuō)明書(shū)。但是,這種做法將使軟件成本增加一倍,因此實(shí)際上幾乎不可能采用這種方法。使用原型系統(tǒng)是一個(gè)比較現(xiàn)實(shí)的替代方法,開(kāi)發(fā)原型系統(tǒng)所需要的成本和時(shí)間可以大大少于開(kāi)發(fā)實(shí)際系統(tǒng)所需要的。用戶(hù)通過(guò)試用原型系統(tǒng),也能獲得許多寶貴的經(jīng)驗(yàn),從而可以提出更符合實(shí)際的要求。101理想的做法是先根據(jù)需求分析的結(jié)果開(kāi)發(fā)出一個(gè)軟件系統(tǒng),請(qǐng)用戶(hù)試使用原型系統(tǒng)的目的,通常是顯示目標(biāo)系統(tǒng)的主要功能而不是性能。為了達(dá)到這個(gè)目的可以使用本章3.2.4小節(jié)介紹的方法快速建立原型系統(tǒng),并且可以適當(dāng)降低對(duì)接口、可靠性和程序質(zhì)量的要求,此外還可以省掉許多文檔資料方面的工作,從而可以大大降低原型系統(tǒng)的開(kāi)發(fā)成本。102使用原型系統(tǒng)的目的,通常是顯示目標(biāo)系統(tǒng)的主要功能而不是性能。為了更有效地保證軟件需求的正確性,特別是為了保證需求的一致性,需要有適當(dāng)?shù)能浖ぞ咧С中枨蠓治龉ぷ?。這類(lèi)軟件工具應(yīng)該滿(mǎn)足下列要求:(1)必須有形式化的語(yǔ)法(或表),因此可以用計(jì)算機(jī)自動(dòng)處理使用這種語(yǔ)法說(shuō)明的內(nèi)容;(2)使用這個(gè)軟件工具能夠?qū)С鲈敿?xì)的文檔;(3)必須提供分析(測(cè)試)規(guī)格說(shuō)明書(shū)的不一致性和冗余性的手段,并且應(yīng)該能夠產(chǎn)生一組報(bào)告指明對(duì)完整性分析的結(jié)果;3.8.3用于需求分析的軟件工具103為了更有效地保證軟件需求的正確性,特別是為了保證需求的一致性(4)使用這個(gè)軟件工具之后,應(yīng)該能夠改進(jìn)通信狀況。作為需求工程方法學(xué)的一部分,在1977年設(shè)計(jì)完成了RSL(需求陳述語(yǔ)言)。RSL中的語(yǔ)句是計(jì)算機(jī)可以處理的,處理以后把從這些語(yǔ)句中得到的信息集中存放在一個(gè)稱(chēng)為ASSM(抽象系統(tǒng)語(yǔ)義模型)的數(shù)據(jù)庫(kù)中。有一組軟件工具處理ASSM數(shù)據(jù)庫(kù)中的信息以產(chǎn)生出用PASCAL語(yǔ)言書(shū)寫(xiě)的模擬程序,從而可以檢驗(yàn)需求的一致性、完整性和現(xiàn)實(shí)性。104(4)使用這個(gè)軟件工具之后,應(yīng)該能夠改進(jìn)通信狀況。1041977年美國(guó)密執(zhí)安大學(xué)開(kāi)發(fā)了PSL/PSA(問(wèn)題陳述語(yǔ)言/問(wèn)題陳述分析程序)系統(tǒng)。這個(gè)系統(tǒng)是CADSAT(計(jì)算機(jī)輔助設(shè)計(jì)和規(guī)格說(shuō)明分析工具)的一部分,它的基本結(jié)構(gòu)類(lèi)似于RSL。其中PSL是用來(lái)描述系統(tǒng)的形式語(yǔ)言,PSA是處理PSL描述的分析程序。用PSL描述的系統(tǒng)屬性放在一個(gè)數(shù)據(jù)庫(kù)中。一旦建立起數(shù)據(jù)庫(kù)之后即可增加信息、刪除信息或修改信息,并且保持信息的一致性。PSA對(duì)數(shù)據(jù)庫(kù)進(jìn)行處理以產(chǎn)生各種報(bào)告,測(cè)試不一致性或遺漏,并且生成文檔資料。1051977年美國(guó)密執(zhí)安大學(xué)開(kāi)發(fā)了PSL/PSA(問(wèn)題陳述語(yǔ)言/PSL/PSA系統(tǒng)的功能主要有下述4種:(1)描述任何應(yīng)用領(lǐng)域的信息系統(tǒng);(2)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)保存對(duì)該信息系統(tǒng)的描述符;(3)對(duì)描述符施加增加、刪除和更改等操作;(4)產(chǎn)生格式化的文檔和關(guān)于規(guī)格說(shuō)明書(shū)的各種分析報(bào)告。PSL/PSA系統(tǒng)用描述符從系統(tǒng)信息流、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)導(dǎo)出、系統(tǒng)規(guī)模、系統(tǒng)動(dòng)態(tài)、系統(tǒng)性質(zhì)和項(xiàng)目管理等8個(gè)方面描述信息系統(tǒng)。106PSL/PSA系統(tǒng)的功能主要有下述4種:106一旦用PSL對(duì)系統(tǒng)做了完整描述,就可以調(diào)用PSA產(chǎn)生一組分析報(bào)告,其中包括所有修改規(guī)格說(shuō)明數(shù)據(jù)庫(kù)的記錄,用各種形式描述數(shù)據(jù)庫(kù)信息的參照?qǐng)?bào)告(包括圖形形式的描述),關(guān)于項(xiàng)目管理信息的總結(jié)報(bào)告,以及評(píng)價(jià)數(shù)據(jù)庫(kù)特性的分析報(bào)告。借助PSL/PSA系統(tǒng)可以邊對(duì)目標(biāo)系統(tǒng)進(jìn)行自頂向下的逐層分解,邊將需求分析過(guò)程中遇到的數(shù)據(jù)流、文件、處理等對(duì)象用PSL描述出來(lái)并輸入到PSL/PSA系統(tǒng)中。PSA將對(duì)輸入信息作一致性和完整性檢查,并且保存這些描述信息。107一旦用PSL對(duì)系統(tǒng)做了完整描述,就可以調(diào)用PSA產(chǎn)生一組分析PSL/PSA系統(tǒng)的主要優(yōu)點(diǎn)是它改進(jìn)了文檔質(zhì)量,能保證文檔具有完整性、一致性和無(wú)二義性,從而可以減少管理和維護(hù)的費(fèi)用。數(shù)據(jù)存放在數(shù)據(jù)庫(kù)中,便于增加、刪除和更改,這也是它的一個(gè)優(yōu)點(diǎn)。108PSL/PSA系統(tǒng)的主要優(yōu)點(diǎn)是它改進(jìn)了文檔質(zhì)量,能保證文檔具小結(jié)

需求分析是軟件工程中最重要的一個(gè)環(huán)節(jié)需求分析的主要工作是做調(diào)查研究,詳細(xì)、準(zhǔn)確的解決系統(tǒng)做什么的問(wèn)題需求分析的結(jié)果要產(chǎn)生一份詳盡的需求規(guī)格說(shuō)明書(shū),包括系統(tǒng)詳細(xì)的數(shù)據(jù)流圖和數(shù)據(jù)字典需求分析109小結(jié)需求分析是軟件工程中最重要的一個(gè)環(huán)節(jié)需求分析的主要軟件工程---需求分析110軟件工程---需求分析1軟件生存周期可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)集成測(cè)試確認(rèn)測(cè)試使用與維護(hù)退役軟件定義軟件開(kāi)發(fā)軟件使用與維護(hù)軟件生命周期111軟件生存周期可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)集成測(cè)試第3章需求分析開(kāi)發(fā)一個(gè)軟件系統(tǒng)前,必須了解用戶(hù)的期望和要求--->軟件需求--->需求分析過(guò)程

重要性:軟件開(kāi)發(fā)的基礎(chǔ)和前提最終目標(biāo)軟件系統(tǒng)驗(yàn)收的標(biāo)準(zhǔn)避免或者盡早剔除早期的錯(cuò)誤需求分析112第3章需求分析開(kāi)發(fā)一個(gè)軟件系統(tǒng)前,必須了解用戶(hù)的期望和第3章需求分析需求分析113第3章需求分析需求分析4

困難:片面性,不完全模糊性,不準(zhǔn)確不一致性,歧義等等因此必須使用系統(tǒng)的方法、借助于一系列行之有效的技術(shù)和工具進(jìn)行需求分析需求分析需求分析應(yīng)用系統(tǒng)復(fù)雜,龐大114困難:片面性,不完全模糊性,不準(zhǔn)確不一致性,歧需求分析需求分析需求分析的任務(wù):

準(zhǔn)確的回答“系統(tǒng)必須做什么?”仍然回答“What”,而不是“How”,但更細(xì)致、精確(合同的擬定)115需求分析需求分析需求分析的任務(wù):

準(zhǔn)確的回答“系統(tǒng)必須做分析方法都遵守下述準(zhǔn)則盡管目前有許多不同的用于需求分析的結(jié)構(gòu)化分析方法,但是,所有這些分析方法都遵守下述準(zhǔn)則:(1)必須理解并描述問(wèn)題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型。(2)必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型。(3)必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型。(4)必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。116分析方法都遵守下述準(zhǔn)則盡管目前有許多不同的用于需求分§1.需求分析的任務(wù)1、確定對(duì)系統(tǒng)的綜合要求⑴功能要求(functionalrequirements):系統(tǒng)必須做什么?⑵性能要求(performance

requirements):做得怎樣?例:responsetime,memory,back-upmemory,security,……⑶運(yùn)行要求(operationalrequirements):運(yùn)行環(huán)境、軟硬件配置等。⑷未來(lái)可能的擴(kuò)充要求(possibleevolution):§1.需求分析的任務(wù)117§1.需求分析的任務(wù)1、確定對(duì)系統(tǒng)的綜合要求§1.需求分(5)可靠性和可用性需求(6)出錯(cuò)處理與安全需求(7)接口需求(8)約束因素等118(5)可靠性和可用性需求9§1.需求分析的任務(wù)2、分析數(shù)據(jù)(系統(tǒng)的數(shù)據(jù)要求)⑴建立概念模型(conceptualmodels):E-RDiagram⑵形象描繪數(shù)據(jù)結(jié)構(gòu):DataHierarchy,WarnierDiagram,IPO⑶數(shù)據(jù)結(jié)構(gòu)規(guī)范化(Normalization)3、導(dǎo)出邏輯模型:抽取其“做什么”的本質(zhì)

4、修正計(jì)劃:重估成本、進(jìn)度等119§1.需求分析的任務(wù)2、分析數(shù)據(jù)(系統(tǒng)的數(shù)據(jù)要求)3、導(dǎo)出§1.需求分析的任務(wù)5、開(kāi)發(fā)原型系統(tǒng)(Prototyping)檢驗(yàn)方案的正確性系統(tǒng)是否滿(mǎn)足需求“樣機(jī)試用”CDG系統(tǒng)原型是對(duì)系統(tǒng)的主要功能和行為的直觀描述120§1.需求分析的任務(wù)5、開(kāi)發(fā)原型系統(tǒng)(Prototypin§2.需求分析的步驟§2.需求分析的步驟121§2.需求分析的步驟§2.需求分析的步驟12§2.需求分析的步驟1、調(diào)查研究(1)沿?cái)?shù)據(jù)流圖回溯:數(shù)據(jù)流圖的輸出端是系統(tǒng)的最終目的。向回確定每個(gè)數(shù)據(jù)元素的來(lái)源,可加細(xì)數(shù)據(jù)流圖及數(shù)據(jù)字典,并將相關(guān)算法記錄在IPO圖中。(2)用戶(hù)復(fù)查§2.需求分析的步驟基本思想:“自頂向下,逐步求精”,抽象和分解122§2.需求分析的步驟1、調(diào)查研究§2.需求分析的步驟§2.需求分析的步驟2、分析與綜合(1)問(wèn)題的具體分析:細(xì)化數(shù)據(jù)流圖

加細(xì)前后的I/O須相同。

分解到須考慮具體實(shí)現(xiàn)的代碼時(shí)即可仃止(2)方案的綜合§2.需求分析的步驟123§2.需求分析的步驟2、分析與綜合§2.需求分析的步驟3、修正計(jì)劃:成本和進(jìn)度的更準(zhǔn)確估計(jì)4、書(shū)寫(xiě)文檔:《需求規(guī)格說(shuō)明書(shū)》不需分解有補(bǔ)充修正無(wú)補(bǔ)充修正分析追蹤數(shù)據(jù)流圖用戶(hù)復(fù)查細(xì)化數(shù)據(jù)流圖需要分解§2.需求分析的步驟§2.需求分析的步驟1243、修正計(jì)劃:成本和進(jìn)度的更準(zhǔn)確估計(jì)不需分解有補(bǔ)充無(wú)補(bǔ)充修正需求規(guī)格說(shuō)明書(shū)封面:

文檔編號(hào):

版本號(hào):

文檔名稱(chēng):項(xiàng)目名稱(chēng):項(xiàng)目負(fù)責(zé)人:

年月日編寫(xiě):核對(duì):審核:批準(zhǔn):開(kāi)發(fā)單位:

125需求規(guī)格說(shuō)明書(shū)封面:需求規(guī)格說(shuō)明書(shū)內(nèi)容:⑴系統(tǒng)規(guī)格說(shuō)明:

系統(tǒng)概貌功能要求

性能要求運(yùn)行要求

可能增加的要求DFD

IPO⑵數(shù)據(jù)要求:

DD

Hierarchy或WarnierDiagram⑶用戶(hù)系統(tǒng)描述——初步用戶(hù)手冊(cè):從用戶(hù)的觀點(diǎn)考慮系統(tǒng)

系統(tǒng)功能、性能

使用與步驟等⑷修正的開(kāi)發(fā)計(jì)劃:

成本估計(jì)資源使用計(jì)劃

進(jìn)度計(jì)劃126需求規(guī)格說(shuō)明書(shū)⑴系統(tǒng)規(guī)格說(shuō)明:⑵數(shù)據(jù)要求:⑶用戶(hù)系統(tǒng)描述5需求評(píng)審任務(wù):多方人員一起對(duì)SRS進(jìn)行復(fù)核和評(píng)審,以確保SRS全面、準(zhǔn)確、一致地反映用戶(hù)需求原則:支持各方(用戶(hù),需求分析人員、設(shè)計(jì)人員)共同參與評(píng)審工作§2.需求分析的步驟1275需求評(píng)審任務(wù):多方人員一起對(duì)SRS進(jìn)行復(fù)核和評(píng)審,抽象(模型化)源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形式說(shuō)明,模型的構(gòu)造與預(yù)測(cè)實(shí)驗(yàn)分析結(jié)果分析.在為可能的算法數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)等構(gòu)造模型時(shí)使用此過(guò)程.抽象的結(jié)果是概念符號(hào)模型抽象(模型化)源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形模型(model)模型:現(xiàn)實(shí)世界某些重要方面的表示。有時(shí)我們使用術(shù)語(yǔ)“抽象”來(lái)表示模型,因?yàn)槲覀儚默F(xiàn)實(shí)世界中抽象出對(duì)我們特別有用的東西。模型(model)模型:現(xiàn)實(shí)世界某些重要方面的表示。需求分析的步驟當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實(shí)例化怎么做做什么當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)需求定義需求分析的步驟當(dāng)前目標(biāo)物理邏輯邏輯物理模型化抽象化具體化實(shí)例邏輯模型和物理模型

模型是對(duì)對(duì)象系統(tǒng)的形式化的特征抽象,概括性或近似地表示;

構(gòu)造模型的過(guò)程是一個(gè)抽象、分析的過(guò)程。對(duì)象系統(tǒng)模型系統(tǒng)抽象(映射)模型應(yīng)用模型構(gòu)造的過(guò)程邏輯模型和物理模型對(duì)象模型抽象(映射)模型應(yīng)用模型

邏輯模型物理模型

(本質(zhì)模型、概念模型)

(實(shí)施模型、技術(shù)模型)現(xiàn)行系統(tǒng)目標(biāo)系統(tǒng)描述重要的業(yè)務(wù)功能,無(wú)論系統(tǒng)是如何實(shí)施的。描述現(xiàn)實(shí)系統(tǒng)是如何在物理上實(shí)現(xiàn)的。描述新系統(tǒng)的主要業(yè)務(wù)功能和用戶(hù)新的需求,無(wú)論系統(tǒng)應(yīng)如何實(shí)施。描述新系統(tǒng)是如何實(shí)施的(包括技術(shù))。邏輯模型物理模型現(xiàn)目描述重要的業(yè)務(wù)§3基于數(shù)據(jù)流的分析方法§3.1數(shù)據(jù)流圖(DataFlowDiagram)§3.2畫(huà)數(shù)據(jù)流圖的原則§3.3數(shù)據(jù)字典(DataDictionary)§3.4基于數(shù)據(jù)流的分析方法133§3基于數(shù)據(jù)流的分析方法§3.1數(shù)據(jù)流圖(DataF§3.1數(shù)據(jù)流圖(DataFlowDiagram)數(shù)據(jù)流圖(DFD)是一種描述數(shù)據(jù)以及對(duì)數(shù)據(jù)進(jìn)行加工轉(zhuǎn)換的圖形工具一個(gè)DFD主要由以下四個(gè)部分組成:數(shù)據(jù)流加工(轉(zhuǎn)換)外部實(shí)體數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流名稱(chēng)轉(zhuǎn)換名稱(chēng)外部實(shí)體名稱(chēng)數(shù)據(jù)存儲(chǔ)名稱(chēng)§3數(shù)據(jù)流圖134§3.1數(shù)據(jù)流圖(DataFlowDiagram)數(shù)據(jù)§3.2畫(huà)數(shù)據(jù)流圖的原則先找系統(tǒng)數(shù)據(jù)的輸入輸出點(diǎn),畫(huà)出外部實(shí)體§3數(shù)據(jù)流圖確定外部實(shí)體的輸入輸出數(shù)據(jù)流由源點(diǎn)外部實(shí)體的數(shù)據(jù)流出發(fā),逐漸進(jìn)行加工,完成整個(gè)數(shù)據(jù)流圖一張圖的處理超過(guò)5~9個(gè)時(shí),應(yīng)該進(jìn)行分層,把最基本的系統(tǒng)功能做為第0層,從第1層開(kāi)始對(duì)每個(gè)模塊的功能進(jìn)行細(xì)化135§3.2畫(huà)數(shù)據(jù)流圖的原則先找系統(tǒng)數(shù)據(jù)的輸入輸出點(diǎn),畫(huà)出外部數(shù)據(jù)流圖例子訂票員訂票員預(yù)定機(jī)票準(zhǔn)備機(jī)票記帳訂票單航班目錄航班號(hào)

航班費(fèi)用帳單機(jī)票記帳數(shù)據(jù)庫(kù)帳目§3數(shù)據(jù)流圖136數(shù)據(jù)流圖例子訂票員訂票員預(yù)定準(zhǔn)備記帳訂票單航班目錄航班號(hào)§3.3數(shù)據(jù)字典(DataDictionary)面向數(shù)據(jù)流分析需要引進(jìn)數(shù)據(jù)字典(DD)DD以一種準(zhǔn)確、簡(jiǎn)潔的方式對(duì)DFD中數(shù)據(jù)流、外部實(shí)體、數(shù)據(jù)存儲(chǔ)作說(shuō)明DD對(duì)DFD中的六類(lèi)元素進(jìn)行定義說(shuō)明,按照元素不同,其中的數(shù)據(jù)條目?jī)?nèi)容也不相同數(shù)據(jù)流數(shù)據(jù)項(xiàng)(數(shù)據(jù)元素)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)處理邏輯(基本加工)外部實(shí)體§4數(shù)據(jù)字典137§3.3數(shù)據(jù)字典(DataDictionary)面向數(shù)數(shù)據(jù)字典例子:(數(shù)據(jù)流)數(shù)據(jù)流名稱(chēng):訂票單別名:無(wú)

來(lái)源:訂票員去向:定票

數(shù)據(jù)流量:200份/天組成:編號(hào)+姓名+年齡+身份證號(hào)+電話號(hào)碼+訂票日期+ 目的地……§4數(shù)據(jù)字典138數(shù)據(jù)字典例子:(數(shù)據(jù)流)數(shù)據(jù)流名稱(chēng):訂票單§4數(shù)據(jù)數(shù)據(jù)字典例子:(數(shù)據(jù)項(xiàng))數(shù)據(jù)項(xiàng)名稱(chēng):航班號(hào)

別名:HBH

數(shù)據(jù)類(lèi)型:字符串長(zhǎng)度:16位

取值范圍及含義:

第1位:進(jìn)口/國(guó)產(chǎn)第2-4位:類(lèi)別第5-7位:規(guī)格第8-11位:源機(jī)場(chǎng)編號(hào)第12-15位:目的機(jī)場(chǎng)編號(hào)……§4數(shù)據(jù)字典139數(shù)據(jù)字典例子:(數(shù)據(jù)項(xiàng))數(shù)據(jù)項(xiàng)名稱(chēng):航班號(hào)§4數(shù)據(jù)數(shù)據(jù)字典例子:(數(shù)據(jù)存儲(chǔ))數(shù)據(jù)存儲(chǔ)名稱(chēng):航班目錄

別名:無(wú)

來(lái)源:無(wú)去向:定票

組成:航班號(hào)+飛行日期+載客量+出發(fā)地+目的地+票價(jià)-組織方式:索引文件,以航班號(hào)為關(guān)鍵字……§4數(shù)據(jù)字典140數(shù)據(jù)字典例子:(數(shù)據(jù)存儲(chǔ))數(shù)據(jù)存儲(chǔ)名稱(chēng):航班目錄§4數(shù)據(jù)字典例子:(處理邏輯)數(shù)據(jù)加工名稱(chēng):定票

別名:無(wú)

輸入:訂票單輸出:航班、費(fèi)用

激發(fā)條件:接受到訂票單處理邏輯:

if單據(jù)=訂票單 thenif單據(jù)是否過(guò)期 then是否有該航班,是否有機(jī)票……§4數(shù)據(jù)字典141數(shù)據(jù)字典例子:(處理邏輯)數(shù)據(jù)加工名稱(chēng):定票§4數(shù)§3.4基于數(shù)據(jù)流的分析方法DFD是系統(tǒng)中各處理子功能以及它們之間數(shù)據(jù)流動(dòng)的圖形表示--刻劃系統(tǒng)功能和行為DFD為描述和建模的工具和手段如何利用DFD進(jìn)行需求分析,描述用戶(hù)需求?§5基于數(shù)據(jù)流的分析方法142§3.4基于數(shù)據(jù)流的分析方法DFD是系統(tǒng)中各處理子功能數(shù)據(jù)流圖數(shù)據(jù)流圖中的主要圖形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源點(diǎn)或終點(diǎn)(外部實(shí)體)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件143數(shù)據(jù)流圖數(shù)據(jù)流圖中的主要圖形元素?cái)?shù)據(jù)加工(數(shù)據(jù)變換)數(shù)據(jù)源面向數(shù)據(jù)流分析方法運(yùn)用了抽象和分解的技術(shù).提供一些經(jīng)驗(yàn)知識(shí)和規(guī)則以指導(dǎo)需求分析基于數(shù)據(jù)流的分析方法§5基于數(shù)據(jù)流的分析方法144面向數(shù)據(jù)流分析方法運(yùn)用了抽象和分解的技術(shù).提供一些經(jīng)驗(yàn)知識(shí)和數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系145數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系36數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(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)146數(shù)據(jù)流圖的層次結(jié)構(gòu)為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,需要采分層的數(shù)據(jù)流圖147分層的數(shù)據(jù)流圖38在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。148在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng)。領(lǐng)書(shū)單

進(jìn)書(shū)通知

購(gòu)書(shū)單

缺書(shū)單

DFD練習(xí)—售書(shū)系統(tǒng)學(xué)生教材購(gòu)銷(xiāo)系統(tǒng)書(shū)庫(kù)保管員149領(lǐng)書(shū)單進(jìn)書(shū)通知購(gòu)書(shū)單領(lǐng)書(shū)單進(jìn)書(shū)通知

進(jìn)書(shū)通知

購(gòu)書(shū)單缺書(shū)單

案例I:DFD練習(xí)—售書(shū)系統(tǒng)

1銷(xiāo)售

2采購(gòu)書(shū)庫(kù)保管員

學(xué)生F1教材存量表

F2缺書(shū)登記表

150領(lǐng)書(shū)單進(jìn)書(shū)通知進(jìn)書(shū)通案例II:工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖151案例II:工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖42圖4.6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖152圖4.6工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖43圖4.7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計(jì)算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖153圖4.7工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖44圖4.8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖154圖4.8工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖45案例分析III應(yīng)用問(wèn)題:家庭保安系統(tǒng)155案例分析III應(yīng)用問(wèn)題:家庭保安系統(tǒng)46步驟1:建立頂級(jí)DFD根據(jù)問(wèn)題域與外部環(huán)境之間的相互關(guān)系定義問(wèn)題域的邊界,即問(wèn)題域與外界環(huán)境之間的輸入和輸出關(guān)系

-->最高抽象層次§5基于數(shù)據(jù)流的分析方法156步驟1:建立頂級(jí)DFD根據(jù)問(wèn)題域與外部環(huán)境之間的相互關(guān)系步驟2:自頂向下,功能分解自頂向下、逐步求精對(duì)頂級(jí)數(shù)據(jù)流圖進(jìn)行精化,生成下一級(jí)數(shù)據(jù)流圖對(duì)用戶(hù)的需求描述進(jìn)行語(yǔ)法分析動(dòng)詞構(gòu)成潛在的處理功能遵循“強(qiáng)內(nèi)聚,松耦合”原則名詞或名詞短語(yǔ)構(gòu)成潛在數(shù)據(jù)流、數(shù)據(jù)源和外部實(shí)體基于數(shù)據(jù)流的分析方法157步驟2:自頂向下,功能分解自頂向下、逐步求精對(duì)頂級(jí)數(shù)據(jù)流圖案例分析:頂級(jí)DFD基于數(shù)據(jù)流的分析方法158案例分析:頂級(jí)DFD基于數(shù)據(jù)流的分析方法49案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理顯示器警報(bào)器電話機(jī)警報(bào)類(lèi)別顯示信息電話撥號(hào)音頻傳感信息用戶(hù)命令傳感信息§5基于數(shù)據(jù)流的分析方法159案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理案例分析:二級(jí)DFD基于數(shù)據(jù)流的分析方法160案例分析:二級(jí)DFD基于數(shù)據(jù)流的分析方法51案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理顯示器警報(bào)器電話機(jī)警報(bào)類(lèi)別顯示信息電話撥號(hào)音頻傳感信息用戶(hù)命令傳感信息基于數(shù)據(jù)流的分析方法161案例分析:一級(jí)DFD傳感器控制面板傳感器監(jiān)控用戶(hù)命令處理案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命令配置信息庫(kù)配置信息啟動(dòng)/停止命令運(yùn)行控制信息顯示運(yùn)行信息配置信息口令設(shè)置口令核對(duì)有效口令口令信息§5基于數(shù)據(jù)流的分析方法162案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命在分解、精化過(guò)程中,把生成的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、外部實(shí)體在數(shù)據(jù)字典中加以定義,對(duì)底層轉(zhuǎn)換在小說(shuō)明中作出描述步驟2:自頂向下,功能分解§5基于數(shù)據(jù)流的分析方法163在分解、精化過(guò)程中,把生成的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、外部實(shí)體在數(shù)據(jù)案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命令配置信息庫(kù)配置信息啟動(dòng)/停止命令運(yùn)行控制信息顯示運(yùn)行信息配置信息口令設(shè)置口令核對(duì)有效口令口令信息§5基于數(shù)據(jù)流的分析方法164案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):有效口令

名字和別名:有效口令數(shù)據(jù)類(lèi)型:字符串限制:長(zhǎng)度為4個(gè)字節(jié)相關(guān)的轉(zhuǎn)換列表:運(yùn)行控制,口令核對(duì)…….§5基于數(shù)據(jù)流的分析方法165數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):有效口令§5基于數(shù)據(jù)流的分析方法56案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命令配置信息庫(kù)配置信息啟動(dòng)/停止命令運(yùn)行控制信息顯示運(yùn)行信息配置信息口令設(shè)置口令核對(duì)有效口令口令信息§5基于數(shù)據(jù)流的分析方法166案例分析:二級(jí)DFD用戶(hù)命令預(yù)處理用戶(hù)命令系統(tǒng)配置配置命小說(shuō)明處理邏輯名稱(chēng):運(yùn)行控制功能If是停止命令Then向信息顯示提供停止運(yùn)行信息停止系統(tǒng)運(yùn)行Else 向信息顯示提供啟動(dòng)運(yùn)行信息啟動(dòng)系統(tǒng)運(yùn)行EndIf設(shè)計(jì)約束……...§5基于數(shù)據(jù)流的分析方法167小說(shuō)明處理邏輯名稱(chēng):運(yùn)行控制§5基于數(shù)據(jù)流的分析方法58數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):定單別名:無(wú)數(shù)據(jù)類(lèi)型:日期+產(chǎn)品+數(shù)量+……作為輸出流的轉(zhuǎn)換列表:作為輸入流的轉(zhuǎn)換列表:使用說(shuō)明:必須給出各個(gè)數(shù)據(jù)項(xiàng) 解釋性說(shuō)明:無(wú)缺省值:日期=當(dāng)日日期……168數(shù)據(jù)字典數(shù)據(jù)流名稱(chēng):定單59數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求詞條描述——對(duì)于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素,均加以定義,其內(nèi)容有:名字,別名或編號(hào),分類(lèi),描述,定義,位置,其它,等169數(shù)據(jù)詞典數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求6(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:說(shuō)明:簡(jiǎn)要介紹作用即它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來(lái)源:來(lái)自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量170(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流名:61(2)數(shù)據(jù)元素詞條描述數(shù)據(jù)元素名:類(lèi)型:數(shù)字(離散值,連續(xù)值),文字(編碼類(lèi)型)長(zhǎng)度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):171(2)數(shù)據(jù)元素詞條描述數(shù)據(jù)元素名:62(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:簡(jiǎn)述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式:順序,直接,關(guān)鍵碼存取頻率:172(3)數(shù)據(jù)文件詞條描述數(shù)據(jù)文件名:63(4)加工邏輯詞條描述加工名:加工編號(hào):反映該加工的層次簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡(jiǎn)述加工程序,加工順序173(4)加工邏輯詞條描述加工名:64(5)源點(diǎn)及匯(終)點(diǎn)詞條描述名稱(chēng):外部實(shí)體名簡(jiǎn)要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:174(5)源點(diǎn)及匯(終)點(diǎn)詞條描述名稱(chēng):外部實(shí)體名65數(shù)據(jù)結(jié)構(gòu)的描述

符號(hào)

含義

舉例=被定義為+與

x=a+b[...,...]或[...|...]或

x=[a,b],x=[a|b]{...}或m{...}n重復(fù)

x={a},x=3{a}8(...)可選

x=(a)“...”基本數(shù)據(jù)元素

x=“a”.. 連結(jié)符

x=1..9175數(shù)據(jù)結(jié)構(gòu)的描述符號(hào) 含義 存折格式176存折格式67存折=戶(hù)名+所號(hào)+帳號(hào)+開(kāi)戶(hù)日+性質(zhì)+(印密)+1{存取行}50戶(hù)名=2{字母}24所號(hào)=“001”..“999”帳號(hào)=“00000001”..“99999999”開(kāi)戶(hù)日=年+月+日性質(zhì)=“1”..“6”注:“1”表示普通戶(hù),“5”表示工資戶(hù)等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核177存折=戶(hù)名+所號(hào)+帳號(hào)+開(kāi)戶(hù)日+性質(zhì)+(印密)+1{存取行}13:07:422-5北京某高??捎玫碾娫捥?hào)碼有以下幾類(lèi):校內(nèi)電話號(hào)碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類(lèi),撥校外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位區(qū)碼再撥8位電話號(hào)碼(第1位不是0)。請(qǐng)用定義數(shù)據(jù)字典的方法,定義上述的電話號(hào)碼。作業(yè)及解答(第3章)17813:07:422-5北京某高??捎玫碾娫捥?hào)碼有以下幾類(lèi):13:07:42電話號(hào)碼=[校內(nèi)電話號(hào)碼|校外電話號(hào)碼]校內(nèi)電話號(hào)碼=非零數(shù)字+3位數(shù)字//后面繼續(xù)定義校外電話號(hào)碼=[本市號(hào)碼|外地號(hào)碼]本市號(hào)碼=數(shù)字零+8位數(shù)字外地號(hào)碼=數(shù)字零+3位數(shù)字+8位數(shù)字非零數(shù)字=[1|2|3|4|5|6|7|8|9]數(shù)字零=03位數(shù)字=3{數(shù)字}3//3至3個(gè)數(shù)字8位數(shù)字=非零數(shù)字+7位數(shù)字7位數(shù)字=7{數(shù)字}7數(shù)字=[0|1|2|3|4|5|6|7|8|9]作業(yè)及解答(第3章)17913:07:42電話號(hào)碼=[校內(nèi)電話號(hào)碼|校外電話號(hào)碼]作業(yè)13:07:423-3銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:儲(chǔ)戶(hù)填寫(xiě)的存款單或取款單由業(yè)務(wù)員鍵入系統(tǒng),如果是存款則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼)、身份證號(hào)碼、存款類(lèi)型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲(chǔ)戶(hù);如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶(hù)密碼,若密碼正確或存款時(shí)未留密碼,則系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶(hù)。

請(qǐng)用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實(shí)體-聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象。作業(yè)及解答(第3章)18013:07:423-3銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下13:07:42作業(yè)及解答(第3章)作業(yè)及解答(第3章)18113:07:42作業(yè)及解答(第3章)作業(yè)及解答(第3章)7213:07:4218213:07:427313:07:42作業(yè)及解答(第3章)18313:07:42作業(yè)及解答(第3章)7413:07:42ER模型本問(wèn)題中共有兩類(lèi)實(shí)體,分別是“儲(chǔ)戶(hù)”和“儲(chǔ)蓄所”,在它們之間存在“存取款”關(guān)系。因?yàn)橐晃粌?chǔ)戶(hù)可以在多家儲(chǔ)蓄所存取款,一家儲(chǔ)蓄所擁有多位儲(chǔ)戶(hù),所以“存取款”是多對(duì)多(M:N)關(guān)系。儲(chǔ)戶(hù)的屬性主要有姓名、住址、電話號(hào)碼和身份證號(hào)碼,儲(chǔ)蓄所的屬性主要是名稱(chēng)、地址和電話號(hào)碼,而數(shù)額、類(lèi)型、到期日期、利率和密碼則是關(guān)系類(lèi)型存取款的屬性。作業(yè)及解答(第3章)18413:07:42ER模型作業(yè)及解答(第3章)7513:07:42作業(yè)及解答(第3章)18513:07:42作業(yè)及解答(第3章)76

對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明基本加工邏輯說(shuō)明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則加工邏輯說(shuō)明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)加工邏輯說(shuō)明中包含的信息應(yīng)是充足的,完備的,有用的,無(wú)冗余的基本加工邏輯說(shuō)明186對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說(shuō)明基本用于寫(xiě)加工邏輯說(shuō)明的工具結(jié)構(gòu)化英語(yǔ)判定表判定樹(shù)187用于寫(xiě)加工邏輯說(shuō)明的工具結(jié)構(gòu)化英語(yǔ)78(1)結(jié)構(gòu)化英語(yǔ)結(jié)構(gòu)化英語(yǔ)的詞匯表由英語(yǔ)命令動(dòng)詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等組成。188(1)結(jié)構(gòu)化英語(yǔ)結(jié)構(gòu)化英語(yǔ)的詞匯表由79是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言語(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);189是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言80商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”if發(fā)貨單金額超過(guò)$500then

if欠款超過(guò)了60天then在償還欠款前不予批準(zhǔ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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論