軟件工程第3章結(jié)構(gòu)化與設(shè)計(jì)3-1章需求和結(jié)構(gòu)化系統(tǒng)CUMT2dps_第1頁
軟件工程第3章結(jié)構(gòu)化與設(shè)計(jì)3-1章需求和結(jié)構(gòu)化系統(tǒng)CUMT2dps_第2頁
軟件工程第3章結(jié)構(gòu)化與設(shè)計(jì)3-1章需求和結(jié)構(gòu)化系統(tǒng)CUMT2dps_第3頁
軟件工程第3章結(jié)構(gòu)化與設(shè)計(jì)3-1章需求和結(jié)構(gòu)化系統(tǒng)CUMT2dps_第4頁
軟件工程第3章結(jié)構(gòu)化與設(shè)計(jì)3-1章需求和結(jié)構(gòu)化系統(tǒng)CUMT2dps_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)網(wǎng)絡(luò)課件 制作人:謝希仁王榮存 博士第3-1章 需求分析和結(jié)構(gòu)化系統(tǒng)分析第3章 結(jié)構(gòu)化分析與設(shè)計(jì)3-1.1 需求分析概述3-1.2 需求獲取3-1.3 需求分析原則3-1.4 需求規(guī)格說明3-1.5 傳統(tǒng)的軟件需求分析基礎(chǔ)軟件需求作為軟件生命周期的第一個(gè)階段,其重要性越來越突出,到20世紀(jì)80年代中期,逐步形成了軟件工程的子領(lǐng)域需求工程。 90年代后,需求工程成為軟件界研究的重點(diǎn)之一。從1993年起,每?jī)赡昱e辦一次需求工程國(guó)際研討會(huì)(ISRE),1994年起,每?jī)赡昱e辦一次需求工程國(guó)際會(huì)議(ICRE)。一些關(guān)于需求工程的工作小組相繼成立,使需求工程的研究得到了迅速進(jìn)展。3-1.1 需求分

2、析概述3-1.1.1需求分析的內(nèi)容軟件需求的重要性 軟件需求無疑是當(dāng)前軟件工程中的關(guān)鍵問題,軟件需求無疑是當(dāng)前軟件工程中的關(guān)鍵問題,。 美國(guó)于美國(guó)于1995年開始對(duì)全國(guó)范圍內(nèi)的年開始對(duì)全國(guó)范圍內(nèi)的8000個(gè)軟件項(xiàng)目個(gè)軟件項(xiàng)目進(jìn)行跟蹤調(diào)查。進(jìn)行跟蹤調(diào)查。 分析失敗的原因發(fā)現(xiàn),分析失敗的原因發(fā)現(xiàn),與需求過程相關(guān)的原因占了與需求過程相關(guān)的原因占了45%,而其中,而其中各占各占13%和和12%。 未完成未完成完成未實(shí)施完成未實(shí)施需求:成功的軟件開發(fā)的前提軟件質(zhì)量=系統(tǒng)所實(shí)現(xiàn)的需求/客戶所期望的需求l軟件項(xiàng)目投標(biāo)及簽訂合同的基礎(chǔ)l軟件系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)l系統(tǒng)確認(rèn)移交的基礎(chǔ)需求的定義IEEE Standard

3、 Glossary of Software Engineering Terminologyl用戶解決一個(gè)問題或達(dá)到一個(gè)目標(biāo)所需要的一種狀況或能力l系統(tǒng)為了滿足一種約定、標(biāo)準(zhǔn)、規(guī)格說明或其它正式文件而必須滿足或擁有的一種狀況或能力l以上兩種狀態(tài)或能力的文檔化表示主觀需求主觀需求客觀需求客觀需求需求文檔需求文檔lIEEE公布的需求定義分別從用戶和軟件工程師的角度闡述了什么是需求,需求一方面反映了系統(tǒng)的外部行為,另一方面反映了系統(tǒng)的內(nèi)部特性,反映的方式是需求文檔。l比較通俗的需求定義如下:需求是指明系統(tǒng)必須實(shí)現(xiàn)什么的規(guī)格說明,它描述了系統(tǒng)的行為、特性或?qū)傩?,是在開發(fā)過程中對(duì)系統(tǒng)的約束。 軟軟 件需件

4、需 求求用用 戶需戶需 求求系系 統(tǒng)需統(tǒng)需 求求功能功能需求需求非功能非功能需求需求領(lǐng)域領(lǐng)域需求需求由客戶管理員、由客戶管理員、用戶等提出用戶等提出課件制作人:謝希仁非功能需求非功能需求產(chǎn)品需求產(chǎn)品需求機(jī)構(gòu)需求機(jī)構(gòu)需求外部需求外部需求互操作互操作需求需求道德道德需求需求立法立法需求需求性能性能需求需求空間空間需求需求交付交付需求需求實(shí)現(xiàn)實(shí)現(xiàn)需求需求標(biāo)準(zhǔn)標(biāo)準(zhǔn)需求需求隱私隱私需求需求安全安全性需求性需求可用性可用性需求需求效率效率需求需求可靠性可靠性需求需求可移植可移植性需求性需求課件制作人:謝希仁3-1.1.2 需求類型需求類型1. 按內(nèi)容分類按內(nèi)容分類 軟件需求代表系統(tǒng)的綜合要求,包括以下幾種

5、類型: (1) 系統(tǒng)功能需求 系統(tǒng)功能需求指根據(jù)系統(tǒng)所能實(shí)現(xiàn)的功能要求,對(duì)于每一類功能或者有時(shí)對(duì)于每一個(gè)功能,需要書弄清輸入、加工和輸出等需求。 (2) 系統(tǒng)性能需求 按照系統(tǒng)的性能要求分類。例如聯(lián)機(jī)系統(tǒng)的響應(yīng)時(shí)間、系統(tǒng)需要的存儲(chǔ)容量、后援存儲(chǔ)器、重新啟動(dòng)、安全性和可靠性等方面的要求。課件制作人:謝希仁 (3) 系統(tǒng)運(yùn)行需求 這類要求集中表現(xiàn)為對(duì)系統(tǒng)運(yùn)行時(shí)所處的環(huán)境、使用的資源、安全保密和用戶界面的要求。如支持系統(tǒng)運(yùn)行的硬件和軟件是什么,采取哪種數(shù)據(jù)庫管理系統(tǒng),需要什么樣的外存儲(chǔ)器和數(shù)據(jù)通信接口。 (4) 未來可能出現(xiàn)的問題 就是把不屬于當(dāng)前系統(tǒng)開發(fā)范圍的問題都明確地列出來,因?yàn)閷砗芸赡軙?huì)提

6、出這些問題。這些問題主要是為了系統(tǒng)將來的擴(kuò)充和修改做準(zhǔn)備,當(dāng)以后需要時(shí)就可以很容易地進(jìn)行擴(kuò)展和修改了。課件制作人:謝希仁2. 按用戶的期望分類按用戶的期望分類 (1) 正常需求 用戶陳述的針對(duì)系統(tǒng)的目標(biāo)。 (2) 期望需求 隱式的需求,可能由于是非?;A(chǔ)的而用戶沒有顯示的陳述,如人機(jī)交互的容易性、整體的操作正確性和可靠性,以及軟件安裝的容易性。 (3) 興奮需求 在用戶的期望范圍之外,如果實(shí)現(xiàn)將令人愉快和出乎意料。課件制作人:謝希仁3. 按必要性分類按必要性分類 (1) 強(qiáng)制的需求 是指除非軟件與這些需求一致,則該軟件是不可接受的。 (2) 希望的需求 是指這些需求將增進(jìn)軟件產(chǎn)品功能,但是如果

7、缺乏的話也不是不可接受。 (3) 任選的需求 是指這個(gè)功能可有可無。課件制作人:謝希仁3-1.1.3 需求特性需求特性(1) 正確性 需求規(guī)格說明書中的功能、行為、性能描述必須與用戶對(duì)目標(biāo)軟件產(chǎn)品的期望相吻合。(2) 無歧義性 對(duì)于用戶、分析人員、設(shè)計(jì)人員和測(cè)試人員而言,需求規(guī)格說明書中的任何語法單位只能有唯一的語義解釋。確保無歧義性的一種有效措施是在需求規(guī)格說明書中使用標(biāo)準(zhǔn)化術(shù)語,并對(duì)術(shù)語的語義進(jìn)行顯式的、統(tǒng)一的解釋。課件制作人:謝希仁(3) 完整性 需求規(guī)格說明書不能遺漏任何用戶需求,具體地說,目標(biāo)軟件產(chǎn)品的所有功能、行為、行為約束以及它在所有可能情況下的預(yù)期行為,均應(yīng)完整地包含在需求規(guī)格

8、說明書中。(4) 可驗(yàn)證性 對(duì)于規(guī)格說明書中的每一個(gè)需求,均應(yīng)存在技術(shù)和經(jīng)濟(jì)上可行的手段進(jìn)行驗(yàn)證和確認(rèn)。課件制作人:謝希仁(5) 一致性 需求規(guī)格說明書的各部分之間不能相互矛盾。這些矛盾可以表現(xiàn)為術(shù)語使用方面的沖突,功能和行為方面的沖突,以及時(shí)序方面的前后不一致。(6) 可理解性 追求上述目標(biāo)不應(yīng)妨礙需求規(guī)格說明書對(duì)于用戶、設(shè)計(jì)人員和測(cè)試人員的易理解性。特別是對(duì)于非計(jì)算機(jī)專業(yè)的用戶而言,不宜在說明書中使用太多的專業(yè)化詞匯。課件制作人:謝希仁(7) 可修改性 需求規(guī)格說明書的格式和組織方式應(yīng)保證能夠比較容易地接納后續(xù)的增刪和修改,并使修改后的說明書能夠較好地保持其他各項(xiàng)屬性。(8) 可追蹤性 需

9、求規(guī)格說明書必須將分析后獲得的每項(xiàng)需求與用戶的原始需求項(xiàng)清晰地聯(lián)系起來,并為后續(xù)開發(fā)和其他文檔引用這些需求項(xiàng)提供便利。課件制作人:謝希仁3-1.2 需求分析(工程)的活動(dòng) 需求工程是系統(tǒng)工程和軟件工程的一個(gè)交叉分支,涉及到軟件系統(tǒng)的目標(biāo)、軟件系統(tǒng)提供的服務(wù)、軟件系統(tǒng)的約束和軟件系統(tǒng)運(yùn)行的環(huán)境。它還涉及這些因素和系統(tǒng)的精確規(guī)格說明以及系統(tǒng)進(jìn)化之間的關(guān)系。它也提供現(xiàn)實(shí)需求和軟件能力之間的橋梁。系統(tǒng)目標(biāo)系統(tǒng)目標(biāo)系統(tǒng)服務(wù)系統(tǒng)服務(wù)軟件約束軟件約束運(yùn)行環(huán)境運(yùn)行環(huán)境課件制作人:謝希仁 獲取需求;深入實(shí)際,在充分理解用戶需求的基礎(chǔ)上,獲取系統(tǒng)需求。需求分析與建模;進(jìn)行需求建模、對(duì)模型或原型進(jìn)行分析。 確認(rèn)需求

10、;確保需求說明準(zhǔn)確、完整地表達(dá)系統(tǒng)的主要特性。 進(jìn)化需求??蛻舻男枰偸遣粩啵ㄟB續(xù))增長(zhǎng)的 ,進(jìn)化需求是必要的。 課件制作人:謝希仁 缺乏領(lǐng)域知識(shí)缺乏領(lǐng)域知識(shí), ,應(yīng)用領(lǐng)域的問題常常是模糊的、應(yīng)用領(lǐng)域的問題常常是模糊的、不精確的;不精確的; 存在默認(rèn)的知識(shí)存在默認(rèn)的知識(shí), ,如難以描述的常識(shí)問題;如難以描述的常識(shí)問題; 存在多個(gè)知識(shí)源存在多個(gè)知識(shí)源, ,且多知識(shí)源之間可能有沖突;且多知識(shí)源之間可能有沖突; 客戶可能的偏見客戶可能的偏見,如不能提供,如不能提供或不想告知或不想告知你所需你所需要了解的事情。要了解的事情。非常困難,主要原因有:非常困難,主要原因有:3-1.2.1需求獲取(requi

11、remente licitation)課件制作人:謝希仁需求獲取技術(shù)需求獲取技術(shù) 需求抽取的方法一般有:需求抽取的方法一般有:1.1.面談法面談法 重要而直接,簡(jiǎn)單的重要而直接,簡(jiǎn)單的需求獲取技術(shù)。需求獲取技術(shù)。2.2.問卷調(diào)查法問卷調(diào)查法 是對(duì)面談法的補(bǔ)充。是對(duì)面談法的補(bǔ)充。3.3.需求專題討論會(huì)需求專題討論會(huì) 最有力的最有力的需求獲取技術(shù)。有需求獲取技術(shù)。有利利 于于 培養(yǎng)高效團(tuán)隊(duì)。培養(yǎng)高效團(tuán)隊(duì)。4.4.觀察用戶的工作流程觀察用戶的工作流程 適用于用戶無法準(zhǔn)確表達(dá)適用于用戶無法準(zhǔn)確表達(dá)需求的情況。需求的情況。5.5.原型化方法原型化方法6.6.基于用例的方法基于用例的方法 還有知識(shí)工程方法

12、等如:場(chǎng)記分析法、卡片分還有知識(shí)工程方法等如:場(chǎng)記分析法、卡片分類法、分類表格技術(shù)和基于模型的知識(shí)獲取等。類法、分類表格技術(shù)和基于模型的知識(shí)獲取等。課件制作人:謝希仁 需求抽取的方法一般有:需求抽取的方法一般有:1.1.面談法面談法 重要而直接,簡(jiǎn)單的重要而直接,簡(jiǎn)單的需求獲取技術(shù)。需求獲取技術(shù)。2.2.問卷調(diào)查法問卷調(diào)查法 是對(duì)面談法的補(bǔ)充。是對(duì)面談法的補(bǔ)充。3.3.需求專題討論會(huì)需求專題討論會(huì) 最有力的最有力的需求獲取技術(shù)。有需求獲取技術(shù)。有利利 于于 培養(yǎng)高效團(tuán)隊(duì)。培養(yǎng)高效團(tuán)隊(duì)。需求獲取技術(shù)需求獲取技術(shù)課件制作人:謝希仁 需求抽取的方法一般有:需求抽取的方法一般有:4.4.觀察用戶的工作

13、流程觀察用戶的工作流程 適用于用戶無法準(zhǔn)確表達(dá)適用于用戶無法準(zhǔn)確表達(dá)需求的情況。需求的情況。5.5.原型化方法原型化方法6.6.基于用例的方法基于用例的方法需求獲取技術(shù)需求獲取技術(shù)課件制作人:謝希仁課件制作人:謝希仁課件制作人:謝希仁課件制作人:謝希仁課件制作人:謝希仁課件制作人:謝希仁 需求分析和建模又包含三個(gè)層次的工作。需求分析和建模又包含三個(gè)層次的工作。1 1、需求分析、需求分析 2 2、需求建模(分為企業(yè)、需求建模(分為企業(yè)建模建模、功能需求、功能需求建模建模和非和非功能需求功能需求建模建模等)等)3 3、需求規(guī)格說明、需求規(guī)格說明不同的描述方式。不同的描述方式。 主要對(duì)收集到的需求進(jìn)

14、行提煉、分析和認(rèn)真審主要對(duì)收集到的需求進(jìn)行提煉、分析和認(rèn)真審查,確保所有參加人員取得一致共識(shí)。找出錯(cuò)誤、查,確保所有參加人員取得一致共識(shí)。找出錯(cuò)誤、遺漏和不足,建立完整的分析模型。遺漏和不足,建立完整的分析模型。 3-1.2.2需求分析與建模需求規(guī)格說明需求規(guī)格說明l 軟件需求規(guī)格說明是分析任務(wù)的最終產(chǎn)物,美國(guó)國(guó)家標(biāo)準(zhǔn)局、IEEE以及美國(guó)防部門均已提出了軟件需求規(guī)約(以及其他軟件工程文檔)的候選格式。 l 軟件需求規(guī)格說明必須正確地定義所有的軟件需求;除了設(shè)計(jì)上的特殊限制之外,軟件需求規(guī)格說明中一般不描述任何設(shè)計(jì)、驗(yàn)證或項(xiàng)目管理的細(xì)節(jié)。 需求必須描述的基本問題需求必須描述的基本問題l 功能所設(shè)

15、計(jì)的軟件要做什么; l 性能軟件功能在執(zhí)行過程中的速度、可使用性、響應(yīng)時(shí)間、各種軟件功能的恢復(fù)時(shí)間、吞吐能力、精度、頻率等等; l 強(qiáng)加給實(shí)現(xiàn)的設(shè)計(jì)限制在效果、實(shí)現(xiàn)的語言、數(shù)據(jù)庫完整性、資源限制、操作環(huán)境等等方面所要求的標(biāo)準(zhǔn); l 屬性可移植性、正確性、可維護(hù)性及安全性等方面的考慮因素; l 外部接口與人、硬件、其他軟件和其他硬件的相互關(guān)系。 軟件需求規(guī)格說明的大綱軟件需求規(guī)格說明的大綱 1 1 前言前言 1.1 1.1 目的目的 1.2 1.2 范圍范圍 1.3 1.3 定義、縮寫詞、略語定義、縮寫詞、略語 1.4 1.4 參考資料參考資料2 2 項(xiàng)目概述項(xiàng)目概述 2.1 2.1 產(chǎn)品描述產(chǎn)

16、品描述 2.2 2.2 產(chǎn)品功能產(chǎn)品功能2.3 2.3 用戶特點(diǎn)用戶特點(diǎn) 2.4 2.4 一般約束一般約束2.5 2.5 假設(shè)和依據(jù)假設(shè)和依據(jù) 3 3 具體需求具體需求 3.1 3.1 功能需求功能需求 3.1.1 3.1.1 功能需求功能需求1 13.1.1.1 3.1.1.1 引言引言3.1.1.2 3.1.1.2 輸入輸入3.1.1.3 3.1.1.3 加工加工3.1.1.4 3.1.1.4 輸出輸出 3.1.2 3.1.2 功能需求功能需求2 2 3.1.n 3.1.n 功能需求功能需求n n 3.2 3.2 外部接口需求外部接口需求 3.2.1 3.2.1 用戶接口用戶接口 3.2.

17、2 3.2.2 硬件接口硬件接口3.2.3 3.2.3 軟件接口軟件接口3.2.4 3.2.4 通信接口通信接口3.3 3.3 性能需求性能需求 3.4 3.4 設(shè)計(jì)約束設(shè)計(jì)約束 3.4.1 3.4.1 其他標(biāo)準(zhǔn)的約束其他標(biāo)準(zhǔn)的約束 3.4.2 3.4.2 硬件的限制硬件的限制 3.5 3.5 屬性屬性3.5.1 3.5.1 安全性安全性3.5.2 3.5.2 可維護(hù)性可維護(hù)性 3.6 3.6 其他需求其他需求 3.6.1 3.6.1 數(shù)據(jù)庫數(shù)據(jù)庫 3.6.2 3.6.2 操作操作 3.6.3 3.6.3 場(chǎng)合適應(yīng)性場(chǎng)合適應(yīng)性 附錄附錄索引索引 . 由于需求是軟件開發(fā)的第一階段,直接影響后由于

18、需求是軟件開發(fā)的第一階段,直接影響后面各階段的開發(fā)。面各階段的開發(fā)。 . 需求的可變性必須進(jìn)行驗(yàn)證。需求的可變性必須進(jìn)行驗(yàn)證。3-1.2.3 需求的有效性驗(yàn)證指功能需求是否符合用戶所提出指功能需求是否符合用戶所提出的需求。的需求。系統(tǒng)功能描述及約束是否一致。系統(tǒng)功能描述及約束是否一致。是否包含所有系統(tǒng)用戶的需求和是否包含所有系統(tǒng)用戶的需求和約束。約束。是否能設(shè)計(jì)出一組驗(yàn)證方法,是否能設(shè)計(jì)出一組驗(yàn)證方法,確定了檢驗(yàn)的標(biāo)準(zhǔn)。確定了檢驗(yàn)的標(biāo)準(zhǔn)。 需求管理貫穿需求分析全過程,包括需求管理貫穿需求分析全過程,包括:3-1.2.3 需求管理 需求管理的所有活動(dòng)中,最重要的是需求管理的所有活動(dòng)中,最重要的是

19、 “需求變更管理需求變更管理”,包括包括:問題分析和問題分析和變更描述變更描述變更分析和變更分析和成本計(jì)算成本計(jì)算變更實(shí)現(xiàn)變更實(shí)現(xiàn)修正后的修正后的需求需求識(shí)別出識(shí)別出的問題的問題 需求管理過程需要需求管理過程需要CASE (Computer Aided Software Engineering) 工具支持。工具支持。 可行性研究可行性研究需求導(dǎo)出需求導(dǎo)出和分析和分析需求描述需求描述需求有效性需求有效性驗(yàn)證驗(yàn)證可行性報(bào)告可行性報(bào)告系統(tǒng)模型系統(tǒng)模型用戶需求和用戶需求和系統(tǒng)需求系統(tǒng)需求需求文擋需求文擋 在整個(gè)需求分析活動(dòng)中,需求分析師起著關(guān)鍵的作用,其本人應(yīng)該具備突出的能力,如:l能掌握抽象概念,能

20、對(duì)其進(jìn)行分類,能從中綜合出解的能力;l能從沖突或者混淆中吸取恰當(dāng)事實(shí)的能力;l能弄清用戶環(huán)境的能力;l能為用戶系統(tǒng)恰當(dāng)配置軟硬件的能力l能較好地用書面和口頭形式進(jìn)行溝通的能力l有“從樹木見森林”的能力。 需求分析師的主要能力需求分析師的主要能力 將系統(tǒng)看作若干功能模塊的集合,每個(gè)功能又可將系統(tǒng)看作若干功能模塊的集合,每個(gè)功能又可以分解為子功能以分解為子功能, ,子功能還可繼續(xù)分解子功能還可繼續(xù)分解, ,分解的結(jié)果即分解的結(jié)果即是系統(tǒng)的雛形。是系統(tǒng)的雛形。存在問題存在問題1. 1. 需要人工完成需要人工完成2. 2. 無法對(duì)描述的準(zhǔn)確度進(jìn)行驗(yàn)證。無法對(duì)描述的準(zhǔn)確度進(jìn)行驗(yàn)證。3. 3. 難以適應(yīng)需

21、求的變化。難以適應(yīng)需求的變化。問題空間問題空間功能功能子功能子功能映射映射3-1.3 需求分析方法1客房預(yù)定系統(tǒng)客房預(yù)定系統(tǒng) 2前臺(tái)接待系統(tǒng)前臺(tái)接待系統(tǒng) 3前臺(tái)收銀系統(tǒng)前臺(tái)收銀系統(tǒng) 4帳務(wù)系統(tǒng)帳務(wù)系統(tǒng) 5管家系統(tǒng)管家系統(tǒng) 6電話系統(tǒng)電話系統(tǒng) 7客歷系統(tǒng)客歷系統(tǒng) 8合約系統(tǒng)合約系統(tǒng) 9經(jīng)理系統(tǒng)經(jīng)理系統(tǒng) 10總經(jīng)理系統(tǒng)總經(jīng)理系統(tǒng) 11密碼管理系統(tǒng)密碼管理系統(tǒng) 12報(bào)表系統(tǒng)報(bào)表系統(tǒng) 13帳務(wù)報(bào)表帳務(wù)報(bào)表盤存盤存/ /銷售系統(tǒng)銷售系統(tǒng) 1.0.0 1.0.0銷售處理銷售處理 1.1.0 1.1.0盤存處理盤存處理 1.2.0 1.2.0例:例:盤存盤存/銷售系統(tǒng),用戶提出系統(tǒng)應(yīng)有以下功能銷售系統(tǒng),用戶

22、提出系統(tǒng)應(yīng)有以下功能: 計(jì)算買主訂單計(jì)算買主訂單 準(zhǔn)備銷售報(bào)表準(zhǔn)備銷售報(bào)表 建立買主文件和應(yīng)收帳發(fā)票建立買主文件和應(yīng)收帳發(fā)票 運(yùn)行更新的盤存文件運(yùn)行更新的盤存文件 產(chǎn)生托運(yùn)單和包裝單產(chǎn)生托運(yùn)單和包裝單 保證庫存及時(shí)訂貨保證庫存及時(shí)訂貨計(jì)算銷售計(jì)算銷售記錄記錄 1.1.1產(chǎn)生銷售產(chǎn)生銷售報(bào)表報(bào)表 1.1.2核對(duì)買主核對(duì)買主貸方金額貸方金額 1.1.3驗(yàn)證庫存驗(yàn)證庫存量級(jí)量級(jí) 1.2.1產(chǎn)生貨運(yùn)產(chǎn)生貨運(yùn)訂單訂單 1.2.2執(zhí)行買主執(zhí)行買主匯票匯票 1.2.3產(chǎn)生盤存產(chǎn)生盤存報(bào)表報(bào)表 1.2.4 是一種以數(shù)據(jù)、數(shù)據(jù)的封閉性為基礎(chǔ),從問題是一種以數(shù)據(jù)、數(shù)據(jù)的封閉性為基礎(chǔ),從問題空空間到某種表示的映射方

23、法間到某種表示的映射方法, ,由數(shù)據(jù)流圖由數(shù)據(jù)流圖(DFD(DFD圖圖) )表示表示。顧客出版社驗(yàn)證驗(yàn)證訂單訂單匯總匯總訂單訂單訂單出版社 訂單圖書目錄文件圖書目錄文件顧客檔案顧客檔案待處理訂單文件待處理訂單文件正確訂單一批訂單出版社檔案文件出版社檔案文件訂貨存根文件訂貨存根文件面向?qū)ο蟮姆治龇椒嫦驅(qū)ο蟮姆治龇椒?面向?qū)ο蠓治龇椒嫦驅(qū)ο蠓治龇椒? (OOA) )的關(guān)鍵是識(shí)別問題域內(nèi)的關(guān)鍵是識(shí)別問題域內(nèi)的對(duì)象的對(duì)象, ,分析它們之間的關(guān)系分析它們之間的關(guān)系, ,并建立起三類模型。并建立起三類模型。功能模型定義功能模型定義“做什么做什么”,狀態(tài)模型定義,狀態(tài)模型定義“何時(shí)做何時(shí)做”,對(duì)象模型定

24、義,對(duì)象模型定義“誰對(duì)誰做誰對(duì)誰做”信息建模法信息建模法 是從數(shù)據(jù)的角度對(duì)現(xiàn)實(shí)世界建立系統(tǒng)的信息模型是從數(shù)據(jù)的角度對(duì)現(xiàn)實(shí)世界建立系統(tǒng)的信息模型, ,基本工具是基本工具是ERER圖。是由實(shí)體、屬性和關(guān)系組成的圖。是由實(shí)體、屬性和關(guān)系組成的網(wǎng)絡(luò)圖。網(wǎng)絡(luò)圖。 E- E-實(shí)體,是一個(gè)或一組對(duì)象;實(shí)體,是一個(gè)或一組對(duì)象; R- R-關(guān)系,關(guān)系,實(shí)體之間聯(lián)系或交互作用。實(shí)體之間聯(lián)系或交互作用。分解:分解:對(duì)于一個(gè)復(fù)雜的系統(tǒng),對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌為了將復(fù)雜性降低到可以掌握的程度,可以把大問題分握的程度,可以把大問題分解成若干小問題,然后分別解成若干小問題,然后分別解決(如右圖)。解決

25、(如右圖)。抽象:抽象:分解可以分層進(jìn)行,即先考慮問題最本質(zhì)的分解可以分層進(jìn)行,即先考慮問題最本質(zhì)的屬性,暫把細(xì)節(jié)略去屬性,暫把細(xì)節(jié)略去, ,以后再逐層添加細(xì)節(jié),直至涉以后再逐層添加細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)系及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)系統(tǒng)的方法就是統(tǒng)的方法就是“抽象抽象”。1.11.21.3x2132.12.22.31.11.33-1.4 結(jié)構(gòu)化分析方法3-1.4.1 SA法的基本思想 “分解”和“抽象”。 基本思想與步驟基本思想與步驟1 1、分層的數(shù)據(jù)流圖、分層的數(shù)據(jù)流圖(DFD(DFD圖圖) )2 2、數(shù)據(jù)詞典、數(shù)據(jù)詞典3 3、描述加工邏輯

26、的結(jié)構(gòu)化語言、判定表及判定樹、描述加工邏輯的結(jié)構(gòu)化語言、判定表及判定樹當(dāng)前系統(tǒng)當(dāng)前系統(tǒng)具體模型具體模型建立建立當(dāng)前系統(tǒng)當(dāng)前系統(tǒng)邏輯模型邏輯模型抽象抽象目標(biāo)系統(tǒng)目標(biāo)系統(tǒng)邏輯模型邏輯模型建立建立完善的系統(tǒng)完善的系統(tǒng)邏輯模型邏輯模型改進(jìn)改進(jìn)深入調(diào)查深入調(diào)查研究研究分析用戶需求分析用戶需求,用用DFD圖描述圖描述分析系統(tǒng)需求分析系統(tǒng)需求,用用DFD圖描述圖描述修改完善修改完善DFD圖圖,增添功能增添功能3-1.4.2 SA法的步驟實(shí)體實(shí)體關(guān)系圖關(guān)系圖狀態(tài)遷移圖數(shù)據(jù)流圖數(shù)據(jù)對(duì)象描述加工規(guī)格說明數(shù)據(jù)字典控制規(guī)格說明l數(shù)據(jù)流圖有兩個(gè)目的:指明數(shù)據(jù)在系統(tǒng)中移動(dòng)時(shí)如何被變換;描述對(duì)數(shù)據(jù)流進(jìn)行變換的功能(和子功能

27、)。它可以用于信息域的分析,作為功能建模的基礎(chǔ)。l狀態(tài)轉(zhuǎn)換圖指明系統(tǒng)將如何動(dòng)作。為此,狀態(tài)轉(zhuǎn)換圖表示了系統(tǒng)的各種行為模式(稱為“狀態(tài)”),以及在狀態(tài)間進(jìn)行變遷的方式,狀態(tài)轉(zhuǎn)換圖是行為建模的基礎(chǔ)。顧客顧客出版社出版社驗(yàn)證驗(yàn)證訂單訂單匯總匯總訂單訂單訂單訂單出版社出版社 訂單訂單圖書目錄文件圖書目錄文件顧客檔案顧客檔案待處理訂單文件待處理訂單文件正確正確訂單訂單一批一批訂單訂單出版社檔案文件出版社檔案文件訂貨存根文件訂貨存根文件畫圖步驟畫圖步驟 : 1 1、確定外部實(shí)體及輸入、輸出數(shù)據(jù)流。、確定外部實(shí)體及輸入、輸出數(shù)據(jù)流。 2 2、確定分解頂層的加工。、確定分解頂層的加工。 3 3、確定使用的文件

28、。、確定使用的文件。 4 4、用數(shù)據(jù)流將各部分連接起來,形成數(shù)、用數(shù)據(jù)流將各部分連接起來,形成數(shù)據(jù)封閉。據(jù)封閉。注意:標(biāo)注各加工框及數(shù)據(jù)流名稱。注意:標(biāo)注各加工框及數(shù)據(jù)流名稱。例一例一 圖書預(yù)定系統(tǒng)(頂層圖書預(yù)定系統(tǒng)(頂層DFDDFD圖)圖)l數(shù)據(jù)流圖(DFD,Data Flow Diagram)是用來描繪軟件系統(tǒng)的邏輯模型的工具。l通過數(shù)據(jù)流圖描繪信息在系統(tǒng)中流動(dòng)和加工處理的情況。l是各類人員之間極好的交流、溝通的工具l設(shè)計(jì)數(shù)據(jù)流圖只需考慮系統(tǒng)必須完成的基本邏輯功能,一般在圖中不使用具體的物理元素,完全不需要考慮如何具體地實(shí)現(xiàn)這些功能。 3-1.4.3 數(shù)據(jù)流圖組成符號(hào) 任何軟件系統(tǒng)(或計(jì)算

29、機(jī)系統(tǒng))從根本上來說,都是對(duì)數(shù)據(jù)進(jìn)行加工或變換的工具。 例 下面以教材購銷系統(tǒng)中的教材銷售為例,說明如何畫數(shù)據(jù)流圖。 從用戶調(diào)查中了解到某高校向?qū)W生銷售教材的手續(xù)是:l 先由系辦公室的張秘書開購書證明,l 學(xué)生憑證明找教材科的王會(huì)計(jì)開購書發(fā)票,向李出納員交付書款,l 然后到書庫找趙保管員領(lǐng)書。 現(xiàn)欲將上述手工操作改為計(jì)算機(jī)處理,試畫出教材銷售過程的數(shù)據(jù)流圖。 l 首先找出數(shù)據(jù)的源點(diǎn)和終點(diǎn),即找出數(shù)據(jù)源與數(shù)據(jù)匯,由此確定系統(tǒng)的邊界。l 由于是由學(xué)生開始購書,最后由學(xué)生領(lǐng)書,因此數(shù)據(jù)的源點(diǎn)和終點(diǎn)都是“學(xué)生”。l 第二步找出加工,需要從描述中抽象出系統(tǒng)要完成的工作。 l 學(xué)生須憑購書證明得到購書發(fā)票

30、,然后交付書款,得到領(lǐng)書憑證,最后領(lǐng)書。其間能由計(jì)算機(jī)完成的工作是審查學(xué)生的購書憑證并開出發(fā)票,按發(fā)票開出領(lǐng)書單,由此得到2個(gè)加工(審查并開發(fā)票,開領(lǐng)書單)。 第三步要找出數(shù)據(jù)流。 學(xué)生向系統(tǒng)提交購書單,學(xué)生從系統(tǒng)得到領(lǐng)書單,在加工之間要傳輸發(fā)票信息,這樣得到3個(gè)數(shù)據(jù)流。 同時(shí)還要注意在“審查并開發(fā)票”加工中排除了無效的書單,它也應(yīng)作為一個(gè)數(shù)據(jù)流。 因此最后得到4個(gè)數(shù)據(jù)流:購書單,發(fā)票,領(lǐng)書單,無效書單。 l還要補(bǔ)充數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)存儲(chǔ)一般不能通過系統(tǒng)描述確定,而要在設(shè)計(jì)數(shù)據(jù)流圖時(shí)按照需要添加。 l實(shí)際上在審查購書單和開出發(fā)票之前,至少要查閱兩個(gè)文件:各班學(xué)生用書表,教材存量表。 l把這兩個(gè)文件

31、加進(jìn)上圖中,并給加工添上編號(hào),就得到計(jì)算機(jī)售書系統(tǒng)的完整的數(shù)據(jù)流圖。命名命名 數(shù)據(jù)流圖中每個(gè)成分的命名是否恰當(dāng),直接影響數(shù)據(jù)流圖的可理解性。給這些成分起名字時(shí)應(yīng)該仔細(xì)推敲。 名字應(yīng)代表整個(gè)數(shù)據(jù)流(或數(shù)據(jù)存儲(chǔ))的內(nèi)容,而不是僅僅反映它的某些成分??忌彰忌彰诸惡蟮男彰诸惡蟮男彰浫′浫》诸惙诸恖注意合適的命名,盡量用現(xiàn)實(shí)存在的表格、單據(jù)。l不要使用空洞的、缺乏具體含義的名字(如“數(shù)據(jù)”、“信息”、“輸入”之類)。l不要把控制流作為數(shù)據(jù)流。匯款單匯款單合格的匯款單合格的匯款單核準(zhǔn)的匯款單核準(zhǔn)的匯款單格式格式檢查檢查計(jì)算計(jì)算匯費(fèi)匯費(fèi)取下一個(gè)取下一個(gè)考生成績(jī)考生成績(jī)錄取錄取分類分類為處理命名l

32、通常先為數(shù)據(jù)流命名,再為與之相關(guān)聯(lián)的處理命名l名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能。l名字最好有一個(gè)具體的及物動(dòng)詞加上一個(gè)具體的賓語組成。應(yīng)該盡量避免使用“加工”、“處理”等空洞籠統(tǒng)的動(dòng)詞作名字。l通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能跟恰當(dāng)些。l如果在為某個(gè)處理命名時(shí)遇到了困難,則很可能是分解不恰當(dāng)造成的,應(yīng)該考慮重新分解。l數(shù)據(jù)的源點(diǎn)和終點(diǎn)并不需要在系統(tǒng)中實(shí)現(xiàn),它們只是系統(tǒng)的外圍環(huán)境(可能是人員、計(jì)算機(jī)外部設(shè)備或傳感器等)。l通常為數(shù)據(jù)的源點(diǎn)和終點(diǎn)命名是采用它們?cè)趩栴}中習(xí)慣使用的名字,如“學(xué)生”,“管理員”。 分層數(shù)

33、據(jù)流圖 l 對(duì)任何一層數(shù)據(jù)流圖來說,稱它的上層圖為父圖,在它下一層的圖則稱為子圖。 l 在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表將被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)。l 底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層。l 中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。 X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1頂頂層層中中 間間 層層底底 層層先全局后局部先全局后局部, ,先整體后細(xì)節(jié)先整體后細(xì)節(jié), ,先抽象后具體先抽象后具體. .0圖1圖2

34、圖1.1圖2.1圖2.2圖分層DFD 圖需求案例分析需求案例分析在醫(yī)院在醫(yī)院ICU病房里,將病癥監(jiān)視器安置在每個(gè)病房里,將病癥監(jiān)視器安置在每個(gè)病床,對(duì)病人進(jìn)行監(jiān)護(hù)。監(jiān)視器將病人的組合病癥病床,對(duì)病人進(jìn)行監(jiān)護(hù)。監(jiān)視器將病人的組合病癥信號(hào)實(shí)時(shí)地傳送到中央監(jiān)護(hù)系統(tǒng)進(jìn)行分析處理。信號(hào)實(shí)時(shí)地傳送到中央監(jiān)護(hù)系統(tǒng)進(jìn)行分析處理。 在中心值班室里,值班護(hù)士使用中央監(jiān)護(hù)系統(tǒng)在中心值班室里,值班護(hù)士使用中央監(jiān)護(hù)系統(tǒng)對(duì)病員的情況進(jìn)行監(jiān)控,監(jiān)護(hù)系統(tǒng)實(shí)時(shí)地將病人的對(duì)病員的情況進(jìn)行監(jiān)控,監(jiān)護(hù)系統(tǒng)實(shí)時(shí)地將病人的病癥信號(hào)與標(biāo)準(zhǔn)的病診信號(hào)進(jìn)行比較分析,當(dāng)病癥病癥信號(hào)與標(biāo)準(zhǔn)的病診信號(hào)進(jìn)行比較分析,當(dāng)病癥出現(xiàn)異常時(shí),系統(tǒng)會(huì)立即自動(dòng)報(bào)

35、警,并打印病情報(bào)出現(xiàn)異常時(shí),系統(tǒng)會(huì)立即自動(dòng)報(bào)警,并打印病情報(bào)告和更新病歷。告和更新病歷。 根據(jù)醫(yī)生的要求隨時(shí)打印病人的病情報(bào)告,系根據(jù)醫(yī)生的要求隨時(shí)打印病人的病情報(bào)告,系統(tǒng)還定期自動(dòng)更新病歷。統(tǒng)還定期自動(dòng)更新病歷。案案 例例 醫(yī)院病房監(jiān)護(hù)系統(tǒng)醫(yī)院病房監(jiān)護(hù)系統(tǒng)經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:1 1、監(jiān)視病員的病癥、監(jiān)視病員的病癥( (血壓、體溫、脈搏血壓、體溫、脈搏等等) )。2 2、定時(shí)更新病歷。、定時(shí)更新病歷。3 3、病情出現(xiàn)異常情況時(shí)報(bào)警。、病情出現(xiàn)異常情況時(shí)報(bào)警。4 4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。產(chǎn)生產(chǎn)生病情

36、報(bào)告病情報(bào)告監(jiān)視病情監(jiān)視病情更新病歷更新病歷1、監(jiān)視病員的病癥、監(jiān)視病員的病癥 采集病癥信號(hào)采集病癥信號(hào)( (血壓、體溫、脈搏等血壓、體溫、脈搏等) )。 組合病癥信號(hào)。組合病癥信號(hào)。 將模擬將模擬病癥信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)(病癥信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)(A-D轉(zhuǎn)換)。轉(zhuǎn)換)。2、定時(shí)更新病歷、定時(shí)更新病歷 將將病癥信號(hào)進(jìn)行格式化并加入更新日期、時(shí)間。病癥信號(hào)進(jìn)行格式化并加入更新日期、時(shí)間。 更新病歷庫中病人的信息。更新病歷庫中病人的信息。 可人工設(shè)定更新可人工設(shè)定更新病歷的時(shí)間間隔。病歷的時(shí)間間隔。3、病情出現(xiàn)異常情況時(shí)報(bào)警、病情出現(xiàn)異常情況時(shí)報(bào)警 根據(jù)標(biāo)準(zhǔn)病癥信號(hào)庫中的值,判斷是否報(bào)警。根據(jù)標(biāo)準(zhǔn)病癥

37、信號(hào)庫中的值,判斷是否報(bào)警。 將報(bào)警信號(hào)轉(zhuǎn)換為各種模擬信號(hào)(將報(bào)警信號(hào)轉(zhuǎn)換為各種模擬信號(hào)(D-A轉(zhuǎn)換)。轉(zhuǎn)換)。 實(shí)時(shí)打印病情報(bào)告,立即更新病歷。實(shí)時(shí)打印病情報(bào)告,立即更新病歷。4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告局部監(jiān)視局部監(jiān)視更新日志更新日志產(chǎn)生病情報(bào)告產(chǎn)生病情報(bào)告非功能需求1、監(jiān)視器與網(wǎng)絡(luò)的、監(jiān)視器與網(wǎng)絡(luò)的可靠性要求可靠性要求,涉及人的生命安,涉及人的生命安全。全。2、效率需求效率需求中對(duì)時(shí)間、空間的需求,所采集的病中對(duì)時(shí)間、空間的需求,所采集的病癥信號(hào)數(shù)據(jù)量大。癥信號(hào)數(shù)據(jù)量大。3、互操作需求互操作需求如要求監(jiān)視器采樣頻率可人工調(diào)如要求監(jiān)視器采樣頻率可人工調(diào)整等

38、。整等。4、對(duì)病人病歷的、對(duì)病人病歷的隱私的要求。隱私的要求。病員病員護(hù)士護(hù)士護(hù)士護(hù)士病員監(jiān)病員監(jiān)護(hù)系統(tǒng)護(hù)系統(tǒng)病員病員日志日志病癥信號(hào)病癥信號(hào)要求報(bào)告要求報(bào)告病癥病癥報(bào)告報(bào)告報(bào)警報(bào)警頂頂 層層DFD圖圖頂層確定了系統(tǒng)的范圍,其外部實(shí)體為病員和護(hù)士頂層確定了系統(tǒng)的范圍,其外部實(shí)體為病員和護(hù)士護(hù)士護(hù)士病員病員護(hù)士護(hù)士第一層:第一層:病員病員護(hù)士護(hù)士護(hù)士護(hù)士中央監(jiān)視中央監(jiān)視病員病員日志日志病癥信號(hào)病癥信號(hào)要求報(bào)告要求報(bào)告病癥病癥報(bào)告報(bào)告報(bào)警報(bào)警局部監(jiān)視局部監(jiān)視生成報(bào)告生成報(bào)告病員極限病員極限更新日志更新日志病員數(shù)據(jù)病員數(shù)據(jù)格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)生理信號(hào)生理信號(hào)極限值極限值1324日志數(shù)據(jù)日志數(shù)

39、據(jù)日志數(shù)據(jù)日志數(shù)據(jù)醫(yī)院病房監(jiān)護(hù)系統(tǒng)一層醫(yī)院病房監(jiān)護(hù)系統(tǒng)一層DFDDFD圖圖緊急報(bào)告緊急報(bào)告第二層:加工第二層:加工“中央監(jiān)視中央監(jiān)視”分解分解醫(yī)院病房監(jiān)護(hù)系統(tǒng)二層醫(yī)院病房監(jiān)護(hù)系統(tǒng)二層DFDDFD圖圖計(jì)算超過計(jì)算超過極限值否極限值否病員病員數(shù)據(jù)數(shù)據(jù)超過超過極限值極限值報(bào)警報(bào)警開解信號(hào)開解信號(hào)產(chǎn)生產(chǎn)生報(bào)警信息報(bào)警信息病員極限病員極限格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)體溫體溫血壓、體溫血壓、體溫脈搏脈搏生理信號(hào)生理信號(hào)極限值極限值時(shí)間時(shí)間脈搏脈搏血壓血壓日期日期時(shí)鐘時(shí)鐘格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)3.13.23.23.33.33.43.4緊急報(bào)告緊急報(bào)告計(jì)算超過計(jì)算超過極限值否極限值否病員數(shù)據(jù)超過極限值報(bào)

40、警開解信號(hào)開解信號(hào)產(chǎn)生產(chǎn)生報(bào)警信息報(bào)警信息病員極限病員極限格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)體溫血壓、體溫、脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘時(shí)鐘格式化病員數(shù)據(jù)3.13.23.23.33.33.43.4第二層:加工第二層:加工“中央監(jiān)視中央監(jiān)視”分解分解第一層第一層格式化格式化病員數(shù)據(jù)病員數(shù)據(jù)生理信號(hào)生理信號(hào)極限值極限值病員病員護(hù)士護(hù)士護(hù)士護(hù)士中央監(jiān)視中央監(jiān)視病員病員日志日志病癥信號(hào)病癥信號(hào)要求報(bào)告要求報(bào)告病癥病癥報(bào)告報(bào)告報(bào)警報(bào)警局部監(jiān)視局部監(jiān)視生成報(bào)告生成報(bào)告病員極限病員極限更新日志更新日志病員病員數(shù)據(jù)數(shù)據(jù)1324日志數(shù)據(jù)日志數(shù)據(jù)緊急報(bào)告緊急報(bào)告緊急報(bào)告緊急報(bào)告加工分解的原則加工分解的原則自然

41、性自然性:概念上合理、清晰;概念上合理、清晰; 均勻性:理想的分解是將一個(gè)問題分解成大小均均勻性:理想的分解是將一個(gè)問題分解成大小均勻的幾個(gè)部分;勻的幾個(gè)部分;分解度:一般每一個(gè)加工每次分解最多不要超過分解度:一般每一個(gè)加工每次分解最多不要超過個(gè)子加工個(gè)子加工, ,分解應(yīng)分解到基本加工為止。分解應(yīng)分解到基本加工為止。數(shù)據(jù)守恒與數(shù)據(jù)封閉原則數(shù)據(jù)守恒與數(shù)據(jù)封閉原則 數(shù)據(jù)守恒是指加工的輸入數(shù)據(jù)守恒是指加工的輸入/ /出數(shù)據(jù)流是否匹配,出數(shù)據(jù)流是否匹配,即每一個(gè)加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流。即每一個(gè)加工既有輸入數(shù)據(jù)流又有輸出數(shù)據(jù)流。 數(shù)據(jù)封閉是對(duì)整個(gè)系統(tǒng)而言。數(shù)據(jù)封閉是對(duì)整個(gè)系統(tǒng)而言。合理使用文件

42、合理使用文件 當(dāng)文件作為某些加工之間的交界面時(shí),文件必當(dāng)文件作為某些加工之間的交界面時(shí),文件必須畫出來,一旦文件作為數(shù)據(jù)流圖中的一個(gè)獨(dú)立成須畫出來,一旦文件作為數(shù)據(jù)流圖中的一個(gè)獨(dú)立成份畫出來了,那么他同其他成份之間的聯(lián)系也應(yīng)同份畫出來了,那么他同其他成份之間的聯(lián)系也應(yīng)同時(shí)表達(dá)出來。時(shí)表達(dá)出來。DFDDFD圖不是流程圖圖不是流程圖, ,不表示軟件的控制流程。不表示軟件的控制流程。子圖與父圖的子圖與父圖的“平衡平衡”父圖中某個(gè)加工的輸入輸出數(shù)據(jù)流應(yīng)該同相應(yīng)父圖中某個(gè)加工的輸入輸出數(shù)據(jù)流應(yīng)該同相應(yīng)的子圖的輸入輸出相同的子圖的輸入輸出相同( (相對(duì)應(yīng)),分層數(shù)據(jù)流圖相對(duì)應(yīng)),分層數(shù)據(jù)流圖的這種特點(diǎn)稱為

43、子圖與父圖的這種特點(diǎn)稱為子圖與父圖“平衡平衡”。分層分層DFDDFD圖的改進(jìn)圖的改進(jìn) DFD圖須經(jīng)過圖須經(jīng)過反復(fù)修改反復(fù)修改,才能獲得最終的目標(biāo)系統(tǒng),才能獲得最終的目標(biāo)系統(tǒng)的的DFD圖。從以下方面改進(jìn)圖。從以下方面改進(jìn)DFD圖:圖: 1 1、檢查數(shù)據(jù)流的正確性檢查數(shù)據(jù)流的正確性 數(shù)據(jù)數(shù)據(jù)守恒守恒 子圖、父圖的平衡子圖、父圖的平衡 文件使用是否合理。特別注意輸入文件使用是否合理。特別注意輸入/ /出文件的數(shù)出文件的數(shù)據(jù)流。據(jù)流。2、改進(jìn)、改進(jìn)DFD圖的易理解性圖的易理解性 簡(jiǎn)化加工之間的聯(lián)系(聯(lián)系越少,獨(dú)立性越強(qiáng),簡(jiǎn)化加工之間的聯(lián)系(聯(lián)系越少,獨(dú)立性越強(qiáng),易理解性越好)。易理解性越好)。 改進(jìn)分

44、解的均勻性。改進(jìn)分解的均勻性。 適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、具體)適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、具體) 數(shù)據(jù)流圖實(shí)例數(shù)據(jù)流圖實(shí)例 l 建立數(shù)據(jù)流模型的基本步驟概括地說,就是自外向內(nèi)、自頂向下、逐層細(xì)化、完善求精。 l 例. 建立一個(gè)簡(jiǎn)化的商業(yè)自動(dòng)化系統(tǒng)。其中:售貨員負(fù)責(zé)錄入銷售的商品(商品名,編號(hào),單價(jià),數(shù)量),有時(shí)要根據(jù)特定情況對(duì)銷售的商品進(jìn)行修改或刪除。 收款員負(fù)責(zé)收取現(xiàn)金,并將多交的付款退還用戶。 銷售經(jīng)理需要隨時(shí)查詢整個(gè)部門的銷售情況(時(shí)間,商品編號(hào),銷售金額),并在每日結(jié)束時(shí),統(tǒng)計(jì)各類商品的銷售金額。 首先:建立系統(tǒng)環(huán)境,確定系統(tǒng)邊界,畫出頂層DFD。 其中:1 數(shù)據(jù)流

45、為:銷售的商品,日銷售額等 2 數(shù)據(jù)源點(diǎn)為:營(yíng)業(yè)員,經(jīng)理,收款員 3 數(shù)據(jù)終點(diǎn)為:經(jīng)理,收款員 4 加工名為:要建立的系統(tǒng)名字然后自頂向下,逐層分解。 A、按人或部門的功能要求,將加工“打碎”,形成:錄入、修改或刪除商品信息錄入、修改現(xiàn)金額,并計(jì)算余額查詢商品銷售情況 計(jì)算日銷售額123注:需給每一加工編號(hào) B、”分派”數(shù)據(jù)流,形成:錄入、修改或刪除商品信息 2錄入、修改 現(xiàn)金額,并計(jì)算余額查詢商品銷售情況 計(jì)算日銷售額銷售的商品銷售的商品現(xiàn)金額現(xiàn)金額現(xiàn)金余額現(xiàn)金余額查詢要求查詢要求銷售情況銷售情況日銷售額日銷售額13其中:要根據(jù)特定的加工要求進(jìn)行分派; 保持與頂層數(shù)據(jù)流的一致; 可以不引入數(shù)

46、據(jù)源和數(shù)據(jù)終點(diǎn)。C、引入文件,使之形成一個(gè)有機(jī)整體系統(tǒng)錄入、修改或刪除商品信息24錄入、修改 現(xiàn)金額,并計(jì)算余額查詢商品銷售情況 計(jì)算日銷售額銷售的商品銷售的商品現(xiàn)金額現(xiàn)金額現(xiàn)金余額現(xiàn)金余額查詢要求查詢要求銷售情況銷售情況日銷售額日銷售額銷售文件銷售文件123注:到一個(gè)文件,既有輸入流,又有輸出流,則可簡(jiǎn)化為 ,并可不給出標(biāo)識(shí)。至此,體現(xiàn)精化,形成0層數(shù)據(jù)流圖。 繼續(xù)A、B、C:自頂向下,逐層分解。例如:加工3查詢商品銷售情況 計(jì)算日銷售額查詢要求查詢要求銷售情況銷售情況日銷售額日銷售額銷售文件銷售文件3可分解為:可分解為:3.1判定要求查詢要求查詢要求3.2統(tǒng)計(jì)銷售情況3.3計(jì)算日銷售額銷售

47、文件銷售文件查詢要求查詢要求2查詢要求查詢要求1銷售情況銷售情況日銷售額日銷售額 注意事項(xiàng)注意事項(xiàng) l 畫數(shù)據(jù)流圖不是畫流程圖。數(shù)據(jù)流圖只描述“做什么”,不描述“怎么做”和做的順序,而流程圖表述對(duì)數(shù)據(jù)進(jìn)行加工的次序和細(xì)節(jié)。 l 父圖和子圖的平衡。正常情況下,父圖和子圖的輸入數(shù)據(jù)和輸出數(shù)據(jù)應(yīng)分別保持一致,稱為父子平衡。 l 局部文件。隨著數(shù)據(jù)流圖的分解,在下層數(shù)據(jù)流圖中允許出現(xiàn)父圖中沒有的文件。 l要遵守加工編號(hào)規(guī)則。頂層加工不編號(hào);第二層的加工編為1,2,n號(hào);第三層編為1.1,1.2,n.1,n.2,等號(hào),依此類推。 l分解的深度與層次。逐層分解時(shí),要求加工分解到足夠簡(jiǎn)單,易于理解為止,這一

48、加工也就是常說的基本加工。l 分解的層次多少是合適的,這應(yīng)當(dāng)根據(jù)問題的復(fù)雜程度來確定??梢詤⒖家韵乱恍┙?jīng)驗(yàn)性的原則。 u一個(gè)加工的分解,最多不要超出7個(gè)子加工。u分解在邏輯上應(yīng)合理、自然,不能硬性分割。 u在保證數(shù)據(jù)流得以理解的前提下,盡量少分解層次。u分解要均勻。即在一張數(shù)據(jù)流圖中,盡量少出現(xiàn)有些加工已是基本加工,有些還要分解好幾層的情況。 描述銀行取款過程的數(shù)據(jù)流圖3-1.4.3 數(shù)據(jù)字典數(shù)據(jù)字典DD l數(shù)據(jù)流圖描述系統(tǒng)的邏輯模型,但它不可能表達(dá)一個(gè)系統(tǒng)的全部邏輯特性,特別是有關(guān)數(shù)據(jù)的詳細(xì)內(nèi)容。l數(shù)據(jù)字典恰恰彌補(bǔ)了數(shù)據(jù)流圖在這個(gè)方面的不足,它專門記錄有關(guān)數(shù)據(jù)方面的信息,作為對(duì)數(shù)據(jù)流圖的補(bǔ)充

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

50、實(shí)現(xiàn)l數(shù)據(jù)字典可以用人工方式建立,記錄在卡片上。也可以用自動(dòng)化的方式記錄在計(jì)算機(jī)的存儲(chǔ)器上。l數(shù)據(jù)字典的內(nèi)容主要包括:數(shù)據(jù)元素、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、外部項(xiàng)、加工處理等。按詞條形式描述數(shù)據(jù)的屬性、結(jié)構(gòu)、邏輯關(guān)系、特征信息等。1.數(shù)據(jù)元素詞條描述l數(shù)據(jù)元素名:l類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)l長(zhǎng)度:l取值范圍:l相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):2.數(shù)據(jù)流l數(shù)據(jù)流名:l說明:簡(jiǎn)要介紹作用即它產(chǎn)生的原因和結(jié)果l數(shù)據(jù)流來源:來自何方l數(shù)據(jù)流去向:去向何處l數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)l數(shù)據(jù)量流通量:數(shù)據(jù)量,流通量3.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)l數(shù)據(jù)存儲(chǔ)名:l簡(jiǎn)述:存放的是什么數(shù)據(jù)l輸入數(shù)據(jù):l輸出數(shù)據(jù):l數(shù)據(jù)文件

51、組成:數(shù)據(jù)結(jié)構(gòu)l存儲(chǔ)方式:順序,直接,關(guān)鍵碼l存取頻率:4.加工邏輯加工邏輯l加工名:l加工編號(hào):反映該加工的層次l簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述l輸入數(shù)據(jù)流:l輸出數(shù)據(jù)流:l加工邏輯:簡(jiǎn)述加工程序,加工順序l對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說明l基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則l加工邏輯說明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)l加工邏輯說明中包含的信息應(yīng)是充足的,完備的,有用的,沒有重復(fù)的多余信息5.源點(diǎn)及終點(diǎn)詞條描述源點(diǎn)及終點(diǎn)詞條描述l名稱:外部實(shí)體名l簡(jiǎn)要描述:什么外部實(shí)體l有關(guān)數(shù)據(jù)流:l數(shù)目:6.數(shù)據(jù)結(jié)構(gòu)的描述數(shù)據(jù)結(jié)構(gòu)的描

52、述符 號(hào) 含 義 舉 例 被定義為 與 x = ab.,. 或 .|. 或 x = a,b,x = a|b . 或 m.n 重復(fù) x = a, x = 3a8(.) 可選 x = (a)“.” 基本數(shù)據(jù)元素 x = “a” . 連結(jié)符 x = 1.9結(jié)構(gòu)化語言結(jié)構(gòu)化語言判定表判定表判定樹判定樹 對(duì)對(duì)DFD圖中每一個(gè)基本加工都必須有一個(gè)圖中每一個(gè)基本加工都必須有一個(gè)小說小說明明給出該加工的精確描述。小說明中應(yīng)精確地描述給出該加工的精確描述。小說明中應(yīng)精確地描述加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、執(zhí)行頻率和加工的激發(fā)條件、加工邏輯、優(yōu)先級(jí)、執(zhí)行頻率和出錯(cuò)處理等。加工邏輯是其中最基本的部分,指用出錯(cuò)處

53、理等。加工邏輯是其中最基本的部分,指用戶對(duì)這個(gè)加工的邏輯要求。戶對(duì)這個(gè)加工的邏輯要求。 對(duì)基本加工說明有三種描述方式:對(duì)基本加工說明有三種描述方式:3-1.4.4 加工說明1結(jié)構(gòu)化語言結(jié)構(gòu)化語言l是一種介于自然語言和形式化語言之間的語言l語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語言短語來表示l其基本控制結(jié)構(gòu)有三種:u簡(jiǎn)單陳述句結(jié)構(gòu):避免復(fù)合語句;u重復(fù)結(jié)構(gòu):WHILE_DO 或 REPEAT_UNTIL結(jié)構(gòu)。u判定結(jié)構(gòu):IF_THEN_ELSE 或 CASE_OF結(jié)構(gòu);結(jié)構(gòu)化英語的詞匯表l 英語命令動(dòng)詞l 數(shù)據(jù)詞典中定義的名字l 有限的自定義詞l 邏輯關(guān)系詞 IF_THEN_ELS

54、E、l CASE_OF 、 WHILE_DO、l REPEAT_UNTIL等組成。商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”IF 發(fā)貨單金額超過$500 THEN IF 欠款超過了60天 THEN 在償還欠款前不予批準(zhǔn) ELSE (欠款未超期) 發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE (發(fā)貨單金額未超過$500) IF 欠款超過60天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告ELSE (欠款未超期) 發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFENDIFBEGIN輸入用戶賬號(hào)和口令I(lǐng)F 輸入空的帳號(hào)或口令 THEN BEGIN提示錯(cuò)誤中斷登錄END驗(yàn)證帳號(hào)、口令I(lǐng)F 非合法用戶 OR 權(quán)限=“禁止” THENBEGIN 提示

55、錯(cuò)誤 中斷登錄END初試化運(yùn)行環(huán)境數(shù)據(jù)庫事務(wù)操作邏輯數(shù)據(jù)庫事務(wù)操作邏輯2. 判定表判定表 l 判定表也是一種表達(dá)加工邏輯的工具。l 在某些數(shù)據(jù)處理中,某數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,就是說完成這一加工的動(dòng)作是由于某一組條件取值的組合而引發(fā)的。這時(shí)使用判定表來描述比較合適。判定表的組成判定表的組成l條件:列出一組條件的對(duì)象;l條件取值:列出各種可能的條件取值組合;l操作:列出所有的操作;l操作條目:列出對(duì)應(yīng)的條件組合下所選的操作。判定表的一般結(jié)構(gòu) 條件1條件1取值條件1取值條件2條件2取值條件2取值操作1操作1取值操作1取值操作2操作2取值操作2取值建立判定表的步驟建立判定表的步驟

56、l列出與一個(gè)具體加工 (或過程)有關(guān)的所有處理l列出過程執(zhí)行期間的所有條件(或所有判斷)l將特定條件取值組合與特定的處理相匹配,消去不可能發(fā)生的條件取值組合l將右部每一縱列規(guī)定為一個(gè)處理規(guī)則,即對(duì)于某一條件取值組合將有什么動(dòng)作畢業(yè)證、學(xué)位證書授予判定表 12345沒有未通過的必修課程YNNNN未通過的必修課程學(xué)分總數(shù)小于等于12YNNYY通過的課程學(xué)分?jǐn)?shù)大于等于30YYNYN授予畢業(yè)證書授予結(jié)業(yè)證書授予肄業(yè)證書不授予任何證書以“檢查發(fā)貨單”為例例 某校對(duì)于各種不同職稱教師,根據(jù)是本校專職教師還是外聘兼職教師決定其講課的每課時(shí)津貼標(biāo)準(zhǔn)。本校專職教師每課時(shí)津貼費(fèi):教授50元副教授40元。講師30元

57、,助教20元。外聘兼職教師每課時(shí)津貼費(fèi):教授60元,副教授50元,講師40元,助教30元。 3 判定樹判定樹l 判定樹是判定表的變種,它能清晰地表達(dá)復(fù)雜的條件組合與所對(duì)應(yīng)的操作之間的關(guān)系。l 判定樹的優(yōu)點(diǎn)在于它含義清楚,易于理解和使用,比判定表更加直觀。 計(jì)算折扣量79月,12月16月,10、11月訂票量50:15%訂票量50:30%訂票量=50:20%4 IPO圖圖lIPO圖是輸入/處理/輸出圖的簡(jiǎn)稱,它是美國(guó)IBM公司發(fā)展完善起來的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、數(shù)據(jù)處理和輸出數(shù)據(jù)之間的關(guān)系。l左框:列出輸入數(shù)據(jù)。l中框:列出主要的處理(次序暗示了執(zhí)行的順序)。l右框:列出輸出數(shù)據(jù)l

58、粗大箭頭:指出數(shù)據(jù)通信的情況。成績(jī)單輸出成績(jī)單輸出IPO統(tǒng)計(jì)要求各類課程成績(jī)查詢條件統(tǒng)計(jì)成績(jī)成績(jī)錄入成績(jī)查詢各類統(tǒng)計(jì)報(bào)表成績(jī)記錄查詢結(jié)果l在需求分析階段可以使用IPO圖簡(jiǎn)略地描述系統(tǒng)的主要算法(即數(shù)據(jù)流圖中各個(gè)處理的基本算法)。l當(dāng)然,在需求分析階段,IPO圖中的許多附加信息暫時(shí)還不具備,但是在軟件設(shè)計(jì)階段可以進(jìn)一步補(bǔ)充修正這些圖,作為設(shè)計(jì)階段的文檔。 數(shù)據(jù)流圖需求分析實(shí)例q建立學(xué)生管理系統(tǒng)q學(xué)管科q體檢科q學(xué)籍科q學(xué)生處數(shù)據(jù)流圖-頂層學(xué)管科學(xué)管科體檢科體檢科學(xué)籍科學(xué)籍科學(xué)生管理信息系統(tǒng)學(xué)生處領(lǐng)導(dǎo)學(xué)生基本信息學(xué)生健康信息學(xué)生成績(jī)學(xué)生健康情況表學(xué)生成績(jī)單查詢要求不及格人數(shù)人數(shù)統(tǒng)計(jì)表課件制作人:謝

59、希仁數(shù)據(jù)流圖-0層課件制作人:謝希仁數(shù)據(jù)流圖-1層課件制作人:謝希仁數(shù)據(jù)流圖-1層數(shù)據(jù)字典-數(shù)據(jù)流 學(xué)生基本信息:學(xué)號(hào)十姓名 學(xué)生健康信息:學(xué)號(hào)十健康情況 學(xué)生成績(jī):學(xué)號(hào)十課程名+成績(jī) 查詢要求:健康查詢單 |平均成績(jī)查詢單 l不及格人數(shù)查詢 學(xué)生健康情況表:優(yōu)十良十一般十差 學(xué)生成績(jī)單:學(xué)號(hào)十姓名十課程名+成績(jī)+總成績(jī) 不及格人數(shù)統(tǒng)計(jì)表:學(xué)號(hào)十成績(jī)十不及格總?cè)藬?shù)數(shù)據(jù)字典-數(shù)據(jù)文件q文件名:基本信息q組成:學(xué)號(hào)十姓名十入學(xué)成績(jī)十生源q組織:按學(xué)號(hào)遞增順序排列q文件名:健康文件q組成:學(xué)號(hào)+姓名+健康情況q組織:按照健康情況為優(yōu)、良、一般、差順序排列q文件名:成績(jī)文件q組成:學(xué)號(hào)+姓名+平均成績(jī)q組織:按照平均成績(jī)遞增順序排列頂級(jí)(0)DFD 讀讀者者 書書庫庫管管理理員員 讀讀者者管管理理員員 圖圖書書館館系系統(tǒng)統(tǒng) 借借閱閱圖圖書書命命令令 讀讀者者管管理理命命令令 書書庫庫管管理理命命令令 圖書館系統(tǒng)精化生成一級(jí)(0.1)DFD 圖圖書書借借閱閱 借借閱閱圖圖書書命命令令 讀讀者者管管理理命命令令 書書

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論