第3章_結(jié)構(gòu)化分析與設(shè)計(jì)_第1頁(yè)
第3章_結(jié)構(gòu)化分析與設(shè)計(jì)_第2頁(yè)
第3章_結(jié)構(gòu)化分析與設(shè)計(jì)_第3頁(yè)
第3章_結(jié)構(gòu)化分析與設(shè)計(jì)_第4頁(yè)
第3章_結(jié)構(gòu)化分析與設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩120頁(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、第第3章章 結(jié)構(gòu)化分析與設(shè)計(jì)結(jié)構(gòu)化分析與設(shè)計(jì)概述概述結(jié)構(gòu)化結(jié)構(gòu)化系統(tǒng)分析系統(tǒng)分析結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)模塊化設(shè)計(jì)模塊化設(shè)計(jì)3.1 概述概述3.1.1 結(jié)構(gòu)化分析與設(shè)計(jì)的由來(lái)結(jié)構(gòu)化分析與設(shè)計(jì)的由來(lái) 1. 瀑布模型的首次實(shí)踐瀑布模型的首次實(shí)踐 結(jié)構(gòu)化分析結(jié)構(gòu)化分析 (SA, Structured Analysis) 與結(jié)構(gòu)化設(shè)計(jì)與結(jié)構(gòu)化設(shè)計(jì) (SD, Structured Design) 是是瀑布模型的首次實(shí)踐。瀑布模型的首次實(shí)踐。 2. SA 與與 SD 的流程的流程結(jié)構(gòu)化分析結(jié)構(gòu)化分析( 工具工具: DFD、PSPEC )分析模型分析模型( 分層分層DFD圖圖 ) + SRS結(jié)構(gòu)化設(shè)計(jì)結(jié)

2、構(gòu)化設(shè)計(jì)(工具工具:SC圖圖) 初始設(shè)計(jì)模型初始設(shè)計(jì)模型(初始初始SC圖圖) 最終設(shè)計(jì)模型最終設(shè)計(jì)模型(最終最終SC圖圖)注:注: DFD:數(shù)據(jù)流圖(:數(shù)據(jù)流圖(Data Flow Diagram) PSPEC:加工說(shuō)明(:加工說(shuō)明(Process SPECification) SRS:軟件需求規(guī)格說(shuō)明書(shū):軟件需求規(guī)格說(shuō)明書(shū)( Software Requirement Specification) SC:結(jié)構(gòu)圖(:結(jié)構(gòu)圖( Structure Chart )3. 基本任務(wù)與指導(dǎo)思想基本任務(wù)與指導(dǎo)思想 (1)結(jié)構(gòu)化分析結(jié)構(gòu)化分析SA有兩個(gè)主要任務(wù)有兩個(gè)主要任務(wù):建立分析模型建立分析模型 通過(guò)對(duì)問(wèn)

3、題及其環(huán)境的理解、分析和通過(guò)對(duì)問(wèn)題及其環(huán)境的理解、分析和綜合,建立分析模型。該模型包括問(wèn)題綜合,建立分析模型。該模型包括問(wèn)題所涉及的信息流、功能、性能、用戶(hù)界所涉及的信息流、功能、性能、用戶(hù)界面及設(shè)計(jì)約束等,它是形成需求說(shuō)明書(shū)、面及設(shè)計(jì)約束等,它是形成需求說(shuō)明書(shū)、進(jìn)行軟件設(shè)計(jì)的基礎(chǔ)進(jìn)行軟件設(shè)計(jì)的基礎(chǔ)。 編寫(xiě)編寫(xiě)需求規(guī)格說(shuō)明書(shū)需求規(guī)格說(shuō)明書(shū)(SRS) 在完全弄清用戶(hù)對(duì)軟件系統(tǒng)的確切要求在完全弄清用戶(hù)對(duì)軟件系統(tǒng)的確切要求的基礎(chǔ)上,用的基礎(chǔ)上,用“需求規(guī)格說(shuō)明書(shū)需求規(guī)格說(shuō)明書(shū)”( SRS)把用戶(hù)的需求表達(dá)出來(lái)。把用戶(hù)的需求表達(dá)出來(lái)。 需求需求規(guī)格規(guī)格說(shuō)明書(shū)為開(kāi)發(fā)人員和用戶(hù)提供說(shuō)明書(shū)為開(kāi)發(fā)人員和用戶(hù)提

4、供軟件開(kāi)發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)軟件開(kāi)發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)。 SRS應(yīng)該具有準(zhǔn)確性;應(yīng)該具有準(zhǔn)確性; SRS應(yīng)該防止二義性;應(yīng)該防止二義性; SRS應(yīng)該直觀、易讀、易于修改。應(yīng)該直觀、易讀、易于修改。 SA的主要指導(dǎo)思想的主要指導(dǎo)思想 抽象與分解抽象與分解 ( Abstraction and decomposition ) 抽象抽象(Abstraction)是控制復(fù)雜性的基本是控制復(fù)雜性的基本策略之一。在軟件工程中,從系統(tǒng)定義到策略之一。在軟件工程中,從系統(tǒng)定義到實(shí)現(xiàn),每進(jìn)展一步都可以看做是對(duì)軟件解實(shí)現(xiàn),每進(jìn)展一步都可以看做是對(duì)軟件解決方法的抽象化過(guò)程的一次細(xì)化。在軟件決方法的抽象化過(guò)程的一次

5、細(xì)化。在軟件需求分析階段,在最高抽象級(jí)別上,用需求分析階段,在最高抽象級(jí)別上,用“做什么做什么”來(lái)描述問(wèn)題。然后不斷具體化來(lái)描述問(wèn)題。然后不斷具體化(分解)。抽象的層次愈低,呈現(xiàn)的細(xì)節(jié)(分解)。抽象的層次愈低,呈現(xiàn)的細(xì)節(jié)愈多。愈多。(2)結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)軟件設(shè)計(jì)分兩個(gè)階段完成軟件設(shè)計(jì)分兩個(gè)階段完成:軟件設(shè)計(jì)軟件設(shè)計(jì) = 總體設(shè)計(jì)總體設(shè)計(jì) + 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 總體設(shè)計(jì)又稱(chēng)概要設(shè)計(jì),進(jìn)行總體設(shè)計(jì)又稱(chēng)概要設(shè)計(jì),進(jìn)行總體結(jié)總體結(jié)構(gòu)設(shè)計(jì)構(gòu)設(shè)計(jì)和系統(tǒng)接口設(shè)計(jì),把用數(shù)據(jù)流圖和系統(tǒng)接口設(shè)計(jì),把用數(shù)據(jù)流圖(DFD)表示的系統(tǒng)分析模型轉(zhuǎn)換為用結(jié))表示的系統(tǒng)分析模型轉(zhuǎn)換為用結(jié)構(gòu)圖(構(gòu)圖(SC )表示的系統(tǒng)結(jié)構(gòu)

6、模型。)表示的系統(tǒng)結(jié)構(gòu)模型。 詳細(xì)設(shè)計(jì)用以確定各個(gè)軟件組件詳細(xì)設(shè)計(jì)用以確定各個(gè)軟件組件(模模塊塊)的操作的操作(算法算法)和和數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)。 SC 圖分兩步完成:圖分兩步完成:初始設(shè)計(jì)模型初始設(shè)計(jì)模型(初始初始SC圖圖) 最終設(shè)計(jì)模型最終設(shè)計(jì)模型(最終最終SC圖圖) 初始初始SC圖圖 總體設(shè)計(jì)總體設(shè)計(jì) 最終最終SC圖圖 軟件設(shè)計(jì)軟件設(shè)計(jì) 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) : 完成模塊說(shuō)明完成模塊說(shuō)明軟件設(shè)計(jì)的指導(dǎo)思想軟件設(shè)計(jì)的指導(dǎo)思想分解與細(xì)化分解與細(xì)化 采用采用“自頂向下、逐步細(xì)化自頂向下、逐步細(xì)化(Top-Down Stepwise Refinement )”的開(kāi)發(fā)方法。的開(kāi)發(fā)方法。3.1.2 SA模

7、型的組成與描述模型的組成與描述例例3.1 教材銷(xiāo)售系統(tǒng)教材銷(xiāo)售系統(tǒng)第一步第一步: 通過(guò)對(duì)現(xiàn)實(shí)環(huán)境的調(diào)查研究通過(guò)對(duì)現(xiàn)實(shí)環(huán)境的調(diào)查研究, 獲取獲取當(dāng)前系統(tǒng)的當(dāng)前系統(tǒng)的具體模型具體模型(物理模型物理模型) 。圖圖3.1 學(xué)生購(gòu)買(mǎi)教材的當(dāng)前系統(tǒng)模型學(xué)生購(gòu)買(mǎi)教材的當(dāng)前系統(tǒng)模型(物理模型物理模型)學(xué)學(xué)生生購(gòu)書(shū)購(gòu)書(shū)申請(qǐng)申請(qǐng)張張秘書(shū)秘書(shū)購(gòu)書(shū)購(gòu)書(shū)發(fā)票發(fā)票王王會(huì)計(jì)會(huì)計(jì)購(gòu)書(shū)購(gòu)書(shū)證明證明李李出納出納領(lǐng)書(shū)領(lǐng)書(shū)單單趙趙保管保管學(xué)學(xué)生生書(shū)書(shū)圖圖3.2 學(xué)生購(gòu)買(mǎi)教材的邏輯模型(當(dāng)前系統(tǒng))學(xué)生購(gòu)買(mǎi)教材的邏輯模型(當(dāng)前系統(tǒng))學(xué)學(xué)生生購(gòu)書(shū)購(gòu)書(shū)單單審查審查有效性有效性購(gòu)書(shū)購(gòu)書(shū)發(fā)票發(fā)票開(kāi)開(kāi)發(fā)票發(fā)票有效有效購(gòu)書(shū)單購(gòu)書(shū)單開(kāi)領(lǐng)開(kāi)領(lǐng)書(shū)單書(shū)單領(lǐng)

8、書(shū)領(lǐng)書(shū)單單發(fā)書(shū)發(fā)書(shū)學(xué)學(xué)生生書(shū)書(shū)第二步:分析需求,第二步:分析需求,建立建立系統(tǒng)分析模型系統(tǒng)分析模型(邏邏輯模型輯模型),包括,包括當(dāng)前系統(tǒng)和目標(biāo)系統(tǒng)的邏輯當(dāng)前系統(tǒng)和目標(biāo)系統(tǒng)的邏輯模型模型。圖圖3.3 目標(biāo)系統(tǒng)的邏輯模型目標(biāo)系統(tǒng)的邏輯模型學(xué)學(xué)生生購(gòu)書(shū)購(gòu)書(shū)單單審查并審查并開(kāi)發(fā)票開(kāi)發(fā)票發(fā)票發(fā)票開(kāi)開(kāi)領(lǐng)書(shū)單領(lǐng)書(shū)單領(lǐng)書(shū)單領(lǐng)書(shū)單發(fā)書(shū)發(fā)書(shū)學(xué)學(xué)生生書(shū)書(shū)第三步:第三步:編寫(xiě)需求規(guī)格說(shuō)明書(shū)編寫(xiě)需求規(guī)格說(shuō)明書(shū)。第四步:第四步:驗(yàn)證需求,完善和補(bǔ)充對(duì)目標(biāo)系驗(yàn)證需求,完善和補(bǔ)充對(duì)目標(biāo)系統(tǒng)的描述統(tǒng)的描述。圖圖3.4 改進(jìn)了的目標(biāo)系統(tǒng)邏輯模型改進(jìn)了的目標(biāo)系統(tǒng)邏輯模型學(xué)學(xué)生生購(gòu)書(shū)單購(gòu)書(shū)單審查并審查并開(kāi)發(fā)票開(kāi)發(fā)票發(fā)票發(fā)票開(kāi)開(kāi)領(lǐng)書(shū)

9、單領(lǐng)書(shū)單領(lǐng)書(shū)單領(lǐng)書(shū)單學(xué)學(xué)生生無(wú)效書(shū)單無(wú)效書(shū)單軟件開(kāi)發(fā)是要實(shí)現(xiàn)軟件開(kāi)發(fā)是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型目標(biāo)系統(tǒng)的物理模型。需。需求分析的任務(wù)就是借助于求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng),解決目標(biāo)系統(tǒng)“做做什么什么”的問(wèn)題。的問(wèn)題。目標(biāo)系統(tǒng)目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)當(dāng)前系統(tǒng)物理模型物理模型邏輯模型邏輯模型模型化模型化抽象化抽象化物理模型物理模型邏輯模型邏輯模型具體化具體化實(shí)例化實(shí)例化導(dǎo)導(dǎo)出出怎么做怎么做做什么做什么圖圖3.5 SA3.5 SA模型的組成模型的組成實(shí)體聯(lián)系圖實(shí)體聯(lián)系圖(E-R圖圖)狀態(tài)狀態(tài)變換變換圖圖 (STD)數(shù)據(jù)對(duì)

10、象說(shuō)明數(shù)據(jù)對(duì)象說(shuō)明加工說(shuō)明加工說(shuō)明數(shù)據(jù)數(shù)據(jù)字典字典 DD控制說(shuō)明控制說(shuō)明1. SA模型的組成模型的組成早期的(早期的(傳統(tǒng)的)結(jié)構(gòu)化分析傳統(tǒng)的)結(jié)構(gòu)化分析模型是模型是面向數(shù)據(jù)流面向數(shù)據(jù)流的,采用的,采用“自頂向下、逐層自頂向下、逐層分解分解”的分析策略,以數(shù)據(jù)字典(的分析策略,以數(shù)據(jù)字典(DD, Data Dictionary)、數(shù)據(jù)流圖(、數(shù)據(jù)流圖(DFD,Data Flow Diagram)、和加工說(shuō)明、和加工說(shuō)明(PSPEC, Process SPECification)為主要為主要工具,建立系統(tǒng)的邏輯模型(功能建工具,建立系統(tǒng)的邏輯模型(功能建模)。模)。擴(kuò)充后的結(jié)構(gòu)化分析模型,將建模

11、技術(shù)擴(kuò)擴(kuò)充后的結(jié)構(gòu)化分析模型,將建模技術(shù)擴(kuò)展到數(shù)據(jù)建模和行為建模,以數(shù)據(jù)字典(展到數(shù)據(jù)建模和行為建模,以數(shù)據(jù)字典(DD, Data Dictionary)、實(shí)體、實(shí)體-聯(lián)系圖聯(lián)系圖( Entity - Relation Diagram, E-R圖圖)、狀態(tài)、狀態(tài)-遷移圖遷移圖(State Transform Diagram , STD)等為工具,等為工具,從不同視點(diǎn)建立系統(tǒng)的分析模型。從不同視點(diǎn)建立系統(tǒng)的分析模型。本課程主要講述傳統(tǒng)的結(jié)構(gòu)化分析模型本課程主要講述傳統(tǒng)的結(jié)構(gòu)化分析模型2. SA模型的描述工具模型的描述工具傳統(tǒng)的結(jié)構(gòu)化分析采用傳統(tǒng)的結(jié)構(gòu)化分析采用3種描述工具種描述工具: 數(shù)據(jù)流圖數(shù)

12、據(jù)流圖(DFD)、數(shù)據(jù)字典數(shù)據(jù)字典(DD) 加加工規(guī)格說(shuō)明工規(guī)格說(shuō)明(PSPEC 。(1) 數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD) 組成符號(hào)組成符號(hào)(數(shù)據(jù)流圖中的數(shù)據(jù)流圖中的 4 種圖形元素種圖形元素)加工加工 (Prosess):對(duì)數(shù)據(jù)流進(jìn)行操作或變換。對(duì)數(shù)據(jù)流進(jìn)行操作或變換。數(shù)據(jù)源點(diǎn)或終點(diǎn)數(shù)據(jù)源點(diǎn)或終點(diǎn) (又稱(chēng)又稱(chēng)外部實(shí)體外部實(shí)體:系統(tǒng)外的:系統(tǒng)外的人員或組織人員或組織數(shù)據(jù)流數(shù)據(jù)流(Data Flow):數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑。數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑。數(shù)據(jù)文件數(shù)據(jù)文件(Data File 或或Data Store): 文件與加文件與加工之間的數(shù)據(jù)流可以不命名;從文件流出的工之間的數(shù)據(jù)流可以不命名;從文

13、件流出的數(shù)據(jù)流表示讀文件或查詢(xún)文件;數(shù)據(jù)流表示讀文件或查詢(xún)文件; 流向文件的流向文件的數(shù)據(jù)流表示寫(xiě)文件或修改文件。數(shù)據(jù)流表示寫(xiě)文件或修改文件。審查并審查并開(kāi)發(fā)票開(kāi)發(fā)票1開(kāi)開(kāi)領(lǐng)書(shū)單領(lǐng)書(shū)單2學(xué)學(xué)生生學(xué)學(xué)生生教材存量表教材存量表購(gòu)書(shū)單購(gòu)書(shū)單無(wú)效書(shū)單無(wú)效書(shū)單發(fā)票發(fā)票領(lǐng)書(shū)單領(lǐng)書(shū)單各班學(xué)生用書(shū)表各班學(xué)生用書(shū)表圖圖3.7 教材銷(xiāo)售系統(tǒng)的數(shù)據(jù)流圖教材銷(xiāo)售系統(tǒng)的數(shù)據(jù)流圖 DFD的性質(zhì)的性質(zhì) DFD 不能表示控制結(jié)構(gòu),如選擇結(jié)構(gòu)不能表示控制結(jié)構(gòu),如選擇結(jié)構(gòu)或循環(huán)結(jié)構(gòu)?;蜓h(huán)結(jié)構(gòu)。 在需求分析中在需求分析中,常常用一組常常用一組DFD圖由粗圖由粗到細(xì)地表示不同級(jí)別上的功能模型,稱(chēng)之到細(xì)地表示不同級(jí)別上的功能模型,稱(chēng)

14、之為分層數(shù)據(jù)流圖。為分層數(shù)據(jù)流圖。(2)數(shù)據(jù)字典數(shù)據(jù)字典(DD)數(shù)據(jù)字典的作用數(shù)據(jù)字典的作用: 對(duì)軟件系統(tǒng)中的每個(gè)對(duì)軟件系統(tǒng)中的每個(gè)數(shù)據(jù)規(guī)定一個(gè)定義條目,以保持?jǐn)?shù)據(jù)在數(shù)據(jù)規(guī)定一個(gè)定義條目,以保持?jǐn)?shù)據(jù)在系統(tǒng)中的一致性。系統(tǒng)中的一致性。數(shù)據(jù)字典數(shù)據(jù)字典中主要包括以下三類(lèi)條目中主要包括以下三類(lèi)條目:數(shù)據(jù)流、數(shù)據(jù)流、 數(shù)據(jù)文件數(shù)據(jù)文件 和和 數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)。數(shù)據(jù)字典定義式中的符號(hào)數(shù)據(jù)字典定義式中的符號(hào)符符 號(hào)號(hào) 含含 義義 舉舉 例例 定義為定義為 與與 x = ab.|. 或或 x = a | b . 或或 m.n 重復(fù)重復(fù) x = a, x = 3a8(.) 可選可選 x = (a) . 連結(jié)符連結(jié)

15、符 x = 1 . 9* * 注釋注釋 綜合的例綜合的例: x = a | b + c + ( d )數(shù)據(jù)流數(shù)據(jù)流(條目條目):給出給出DFD中數(shù)據(jù)流的定義,列中數(shù)據(jù)流的定義,列出數(shù)據(jù)流的各組成數(shù)據(jù)項(xiàng)出數(shù)據(jù)流的各組成數(shù)據(jù)項(xiàng),通常寫(xiě)成公式的形狀。通常寫(xiě)成公式的形狀。例例3.3 發(fā)票學(xué)號(hào)發(fā)票學(xué)號(hào)+ 姓名姓名+書(shū)號(hào)書(shū)號(hào)+單價(jià)單價(jià)+數(shù)量數(shù)量+總價(jià)總價(jià)+ 書(shū)費(fèi)合計(jì)書(shū)費(fèi)合計(jì) 對(duì)較長(zhǎng)和較復(fù)雜的數(shù)據(jù)流對(duì)較長(zhǎng)和較復(fù)雜的數(shù)據(jù)流,可分層次描述,使可分層次描述,使條目更清楚。如上述數(shù)據(jù)流條目更清楚。如上述數(shù)據(jù)流“發(fā)票發(fā)票”可表示為:可表示為: 發(fā)票學(xué)號(hào)發(fā)票學(xué)號(hào) 姓名發(fā)票行書(shū)費(fèi)合計(jì)姓名發(fā)票行書(shū)費(fèi)合計(jì)發(fā)票行書(shū)號(hào)發(fā)票行書(shū)號(hào)

16、 + 單價(jià)單價(jià) + 數(shù)量數(shù)量 + 總價(jià)總價(jià)數(shù)據(jù)文件數(shù)據(jù)文件(條目條目): 對(duì)數(shù)據(jù)文件的定義。對(duì)數(shù)據(jù)文件的定義。 例例3.4文件名:各班學(xué)生用書(shū)表文件名:各班學(xué)生用書(shū)表組成組成:系編號(hào)專(zhuān)業(yè)和班編號(hào)年級(jí)系編號(hào)專(zhuān)業(yè)和班編號(hào)年級(jí)+書(shū)書(shū)號(hào)號(hào) 也可寫(xiě)成公式的形狀,如:也可寫(xiě)成公式的形狀,如:各班學(xué)生用書(shū)表各班學(xué)生用書(shū)表=系編號(hào)專(zhuān)業(yè)和班編號(hào)系編號(hào)專(zhuān)業(yè)和班編號(hào)年級(jí)年級(jí)+書(shū)號(hào)書(shū)號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng) (條目條目): 包含在數(shù)據(jù)流或數(shù)據(jù)文件中的包含在數(shù)據(jù)流或數(shù)據(jù)文件中的數(shù)據(jù)項(xiàng),一般都應(yīng)在字典中設(shè)置相應(yīng)的條目。數(shù)據(jù)項(xiàng),一般都應(yīng)在字典中設(shè)置相應(yīng)的條目。 例如:例如: 系編號(hào)系編號(hào) = 2數(shù)字?jǐn)?shù)字2 *二位數(shù)字,如二位數(shù)字,如

17、01,12 * 年級(jí)年級(jí) = F / M / J / S * F:一年級(jí)一年級(jí) ( Freshman ); M:二年級(jí)二年級(jí) ( sophoMore ); J:三年級(jí)(三年級(jí)(Junior );); S:四年級(jí)四年級(jí) ( Senior ) *(3)加工規(guī)格說(shuō)明加工規(guī)格說(shuō)明: (Process SPECification, PSPEC)對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)加工說(shuō)明加工說(shuō)明, 其主要內(nèi)容如下所示其主要內(nèi)容如下所示: (1)加工名加工名; (2)加工編號(hào)加工編號(hào); (3)輸入數(shù)據(jù)流;輸入數(shù)據(jù)流; (4)輸出數(shù)據(jù)流;輸出數(shù)據(jù)流; (5)加工邏輯加

18、工邏輯; (6)執(zhí)行頻率。執(zhí)行頻率。其中最重要的是加工邏輯。其中最重要的是加工邏輯。加工邏輯描述基本加工如何把輸入數(shù)加工邏輯描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工策略,而據(jù)流變換為輸出數(shù)據(jù)流的加工策略,而不需描述實(shí)現(xiàn)加工的細(xì)節(jié)。不需描述實(shí)現(xiàn)加工的細(xì)節(jié)。加工邏輯通常采用加工邏輯通常采用結(jié)構(gòu)化語(yǔ)言結(jié)構(gòu)化語(yǔ)言(Structured Langauge)、)、 判定表判定表(Decision Table)、 或或 判定樹(shù)判定樹(shù)(Decision Tree)作為描述工具。作為描述工具。結(jié)構(gòu)化語(yǔ)言結(jié)構(gòu)化語(yǔ)言(Structured Language)是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言。是一種

19、介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言。結(jié)構(gòu)化語(yǔ)言可使用順序、選擇、循環(huán)等控制結(jié)結(jié)構(gòu)化語(yǔ)言可使用順序、選擇、循環(huán)等控制結(jié)構(gòu),其中選擇和循環(huán)結(jié)構(gòu)可分為內(nèi)外二層,外層構(gòu),其中選擇和循環(huán)結(jié)構(gòu)可分為內(nèi)外二層,外層有嚴(yán)格的語(yǔ)法,內(nèi)層語(yǔ)法比較靈活,可以用自然有嚴(yán)格的語(yǔ)法,內(nèi)層語(yǔ)法比較靈活,可以用自然語(yǔ)言來(lái)表示。語(yǔ)言來(lái)表示。結(jié)構(gòu)化語(yǔ)言的三種基本控制結(jié)構(gòu):結(jié)構(gòu)化語(yǔ)言的三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu):選擇結(jié)構(gòu): if_then_else 或或 switch_do ;循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu): while_do 或或 for_do 或或 do_while 。例例3.6 售書(shū)系統(tǒng)中售書(shū)系統(tǒng)中“審查并開(kāi)發(fā)票審查并開(kāi)

20、發(fā)票”的加工邏輯的加工邏輯對(duì)購(gòu)書(shū)單上的的每一個(gè)書(shū)號(hào)對(duì)購(gòu)書(shū)單上的的每一個(gè)書(shū)號(hào)if ( 學(xué)生用書(shū)表中無(wú)此書(shū)號(hào)學(xué)生用書(shū)表中無(wú)此書(shū)號(hào)) then 把書(shū)號(hào)寫(xiě)到出錯(cuò)通知上把書(shū)號(hào)寫(xiě)到出錯(cuò)通知上else 按書(shū)號(hào)檢索按書(shū)號(hào)檢索“教材存量表教材存量表”,獲得該書(shū)的單價(jià)和庫(kù)存獲得該書(shū)的單價(jià)和庫(kù)存量量 if (庫(kù)存量庫(kù)存量10000 10000 10000 10000 10000 10000 10000 10000預(yù)收貸款預(yù)收貸款 50% 50%50%50%50%50%50%50%月薪月薪10001000100010001000100010001000獎(jiǎng)金率獎(jiǎng)金率8%8%5%5%6%6%4%4%鼓勵(lì)獎(jiǎng)鼓勵(lì)獎(jiǎng)50030

21、0300200判定樹(shù)判定樹(shù)( Decision Tree)判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)它比判定表更直觀。種工具。有時(shí)它比判定表更直觀。 推銷(xiāo)金額推銷(xiāo)金額 預(yù)收貨款預(yù)收貨款 推銷(xiāo)員工資推銷(xiāo)員工資 獎(jiǎng)金率獎(jiǎng)金率 1000 8%+5001000 8%+500 50%50% 1000 8%1000 8% 10000 10000 1000 5%+3001000 5%+300 50%50% 1000 5%1000 5%推銷(xiāo)獎(jiǎng)金策略推銷(xiāo)獎(jiǎng)金策略 1000 6%+3001000 6%+300 50%50% 1000 6%1000 6% 1000010000 1000

22、 4%+200 1000 4%+200 50%50% 1000 4%1000 4%圖圖3.10 3.10 判定樹(shù)的示例判定樹(shù)的示例(思考題思考題) 下面是貨運(yùn)收費(fèi)策略:計(jì)算鐵路運(yùn)費(fèi)時(shí),若下面是貨運(yùn)收費(fèi)策略:計(jì)算鐵路運(yùn)費(fèi)時(shí),若收件地點(diǎn)在本省以?xún)?nèi),快件每公斤收件地點(diǎn)在本省以?xún)?nèi),快件每公斤1.5元,慢件元,慢件每公斤每公斤1元。若收件地點(diǎn)在外省,快件每公斤元。若收件地點(diǎn)在外省,快件每公斤2元,慢件每公斤元,慢件每公斤1.5元。請(qǐng)分別用判定表和判定元。請(qǐng)分別用判定表和判定樹(shù)表示。樹(shù)表示。(1) 判定表判定表(貨運(yùn)收費(fèi)策略貨運(yùn)收費(fèi)策略)決策規(guī)則號(hào)決策規(guī)則號(hào)1234收件地點(diǎn)收件地點(diǎn)本省本省本省本省外省外省

23、外省外省貨運(yùn)類(lèi)型貨運(yùn)類(lèi)型快件快件慢件慢件快件快件慢件慢件每公斤每公斤1.0 元元每公斤每公斤1.5 元元每公斤每公斤2.0 元元(2) 判定樹(shù)判定樹(shù)貨運(yùn)收費(fèi)貨運(yùn)收費(fèi)策略策略本省本省快快件件每公斤每公斤1.5元元外省外省貨運(yùn)類(lèi)型貨運(yùn)類(lèi)型收件地收件地點(diǎn)點(diǎn)運(yùn)費(fèi)運(yùn)費(fèi)慢件慢件每公斤每公斤1 元元快快件件每公斤每公斤2 元元慢件慢件每公斤每公斤1.5元元3.1.3 SD模型的組成與描述模型的組成與描述 1. SD模型的組成模型的組成過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì)接口設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)(SC圖圖)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)圖圖3.11 SD模型的組成模型的組成2. SD模型的描述工具模型的描述工具體系結(jié)構(gòu)設(shè)計(jì)是用

24、來(lái)確定軟件結(jié)構(gòu)的,其描體系結(jié)構(gòu)設(shè)計(jì)是用來(lái)確定軟件結(jié)構(gòu)的,其描述工具為結(jié)構(gòu)圖(述工具為結(jié)構(gòu)圖(Structure Chart),簡(jiǎn)稱(chēng)簡(jiǎn)稱(chēng)SC圖圖。 (1) SC圖的組成符號(hào)圖的組成符號(hào): SD方法約定方法約定: (1)用矩形框表示模塊用矩形框表示模塊; (2)用箭頭或直線(xiàn)表示模塊間的調(diào)用關(guān)系用箭頭或直線(xiàn)表示模塊間的調(diào)用關(guān)系; (3)在調(diào)用線(xiàn)的兩旁用短箭頭表示傳入和傳出在調(diào)用線(xiàn)的兩旁用短箭頭表示傳入和傳出模塊的數(shù)據(jù)流。模塊的數(shù)據(jù)流。ABCX,YZZSC圖中允許使用的圖中允許使用的6種模塊種模塊傳入模塊傳入模塊XY傳出模塊傳出模塊YX變換模塊變換模塊XY控制模塊控制模塊XXYY源模塊源模塊X漏模塊漏

25、模塊X(a)(b)(c)(d)(e)(f)(a) 傳入模塊傳入模塊 從下屬模塊取得數(shù)據(jù),經(jīng)從下屬模塊取得數(shù)據(jù),經(jīng)過(guò)某些處理過(guò)某些處理, 再將其傳送給上級(jí)模塊。它再將其傳送給上級(jí)模塊。它傳送的數(shù)據(jù)流叫做邏輯輸入流。傳送的數(shù)據(jù)流叫做邏輯輸入流。(b) 傳出模塊傳出模塊 從上級(jí)模塊獲得數(shù)據(jù),進(jìn)從上級(jí)模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其傳送給下屬模塊。它行某些處理,再將其傳送給下屬模塊。它傳送的數(shù)據(jù)流叫做邏輯輸出流。傳送的數(shù)據(jù)流叫做邏輯輸出流。(c) 變換模塊變換模塊 它從上級(jí)模塊取得數(shù)據(jù),它從上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其它形式進(jìn)行特定的處理,轉(zhuǎn)換成其它形式, 再傳再傳送回上級(jí)模塊。送回上

26、級(jí)模塊。(d) 源模塊源模塊 處于傳入部分的始端,它不處于傳入部分的始端,它不調(diào)用其它模塊。它傳送的數(shù)據(jù)流叫做物理調(diào)用其它模塊。它傳送的數(shù)據(jù)流叫做物理輸入流。輸入流。(e) 漏漏(終終)模塊模塊 處于傳出部分的末端,它處于傳出部分的末端,它不調(diào)用其它模塊。它傳送的數(shù)據(jù)流叫做物不調(diào)用其它模塊。它傳送的數(shù)據(jù)流叫做物理輸出流。理輸出流。(f) 控制模塊控制模塊 對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。它只調(diào)用其它模塊,不受和管理的模塊。它只調(diào)用其它模塊,不受其它模塊調(diào)用。其它模塊調(diào)用。(2)SC圖中的模塊調(diào)用圖中的模塊調(diào)用 (a)簡(jiǎn)單調(diào)用簡(jiǎn)單調(diào)用 A B CX,YZZ(b)選擇調(diào)用

27、選擇調(diào)用:用菱型符號(hào)表示。用菱型符號(hào)表示。 (c)循環(huán)調(diào)用循環(huán)調(diào)用:用疊加在調(diào)用線(xiàn)始端的環(huán)形用疊加在調(diào)用線(xiàn)始端的環(huán)形表示。表示。(a) 選擇調(diào)用示意圖選擇調(diào)用示意圖(b)循環(huán)調(diào)用示意圖循環(huán)調(diào)用示意圖A BCA BCD 畫(huà)畫(huà)SC圖的注意事項(xiàng)圖的注意事項(xiàng) (1)同名的模塊在同名的模塊在SC圖中僅出現(xiàn)一次圖中僅出現(xiàn)一次; (2)模塊之間的調(diào)用關(guān)系只能從上而下,模塊之間的調(diào)用關(guān)系只能從上而下,因而模塊間的調(diào)用關(guān)系可以用直線(xiàn)表示因而模塊間的調(diào)用關(guān)系可以用直線(xiàn)表示; (3)同一層模塊的調(diào)用次序同一層模塊的調(diào)用次序,習(xí)慣上自左習(xí)慣上自左到右。到右。3.2 結(jié)構(gòu)化系統(tǒng)分析結(jié)構(gòu)化系統(tǒng)分析( SA, Struct

28、ured Analysis)結(jié)構(gòu)化分析結(jié)構(gòu)化分析就是使用就是使用 DFD、DD、結(jié)構(gòu)化語(yǔ)言、結(jié)構(gòu)化語(yǔ)言、判定表和判定樹(shù)等工具,來(lái)建立一種稱(chēng)為結(jié)構(gòu)判定表和判定樹(shù)等工具,來(lái)建立一種稱(chēng)為結(jié)構(gòu)化說(shuō)明書(shū)(即需求規(guī)格說(shuō)明書(shū))的目標(biāo)文檔。化說(shuō)明書(shū)(即需求規(guī)格說(shuō)明書(shū))的目標(biāo)文檔。結(jié)構(gòu)化分析的基本步驟是:結(jié)構(gòu)化分析的基本步驟是: (1)自頂向下對(duì)系統(tǒng)進(jìn)行功能分解自頂向下對(duì)系統(tǒng)進(jìn)行功能分解, 畫(huà)出分層的畫(huà)出分層的DFD圖圖; (2)編制編制 DD 和和 PSPEC ; (3)寫(xiě)出寫(xiě)出SRS(需求規(guī)格說(shuō)明書(shū))。(需求規(guī)格說(shuō)明書(shū))。3.2.1 畫(huà)畫(huà)分層數(shù)據(jù)流圖分層數(shù)據(jù)流圖 大型復(fù)雜的軟件系統(tǒng),其大型復(fù)雜的軟件系統(tǒng),其

29、DFD可能含有數(shù)百乃可能含有數(shù)百乃至數(shù)千個(gè)加工,不可能一次將它們畫(huà)完整。至數(shù)千個(gè)加工,不可能一次將它們畫(huà)完整。正確的做法是:從系統(tǒng)的基本模型(把整個(gè)系正確的做法是:從系統(tǒng)的基本模型(把整個(gè)系統(tǒng)看成一個(gè)加工)開(kāi)始,逐層地對(duì)系統(tǒng)進(jìn)行分解。統(tǒng)看成一個(gè)加工)開(kāi)始,逐層地對(duì)系統(tǒng)進(jìn)行分解。每分解一次,系統(tǒng)的加工數(shù)量就增多一些,加工每分解一次,系統(tǒng)的加工數(shù)量就增多一些,加工的功能也更具體一些。繼續(xù)重復(fù)這種分解,直到的功能也更具體一些。繼續(xù)重復(fù)這種分解,直到所有的加工都足夠簡(jiǎn)單為止。所有的加工都足夠簡(jiǎn)單為止。 不需再分解的加工稱(chēng)為不需再分解的加工稱(chēng)為“基本加工基本加工”。 上述分解方法稱(chēng)為上述分解方法稱(chēng)為“自

30、頂向下、逐步細(xì)化自頂向下、逐步細(xì)化”(Top-Down Stepwise Refinement )。)。數(shù)據(jù)流圖繪制步驟數(shù)據(jù)流圖繪制步驟(1)畫(huà)系統(tǒng)的頂層圖畫(huà)系統(tǒng)的頂層圖 :(有些教科書(shū)上稱(chēng):(有些教科書(shū)上稱(chēng)為層圖)為層圖) 頂層圖頂層圖表示系統(tǒng)與外部實(shí)體之間的數(shù)據(jù)表示系統(tǒng)與外部實(shí)體之間的數(shù)據(jù)交換關(guān)系。交換關(guān)系。 頂層圖頂層圖只包含一個(gè)加工只包含一個(gè)加工(加工名即為加工名即為系統(tǒng)名系統(tǒng)名); 頂層圖描述頂層圖描述系統(tǒng)與外部實(shí)體之間的數(shù)系統(tǒng)與外部實(shí)體之間的數(shù)據(jù)流據(jù)流; 頂層圖只有一張。頂層圖只有一張。(2)畫(huà)系統(tǒng)的內(nèi)部:畫(huà)系統(tǒng)的內(nèi)部: 第二層第二層DFD圖:圖: 分解頂層圖為若干個(gè)加工,系統(tǒng)有幾

31、分解頂層圖為若干個(gè)加工,系統(tǒng)有幾個(gè)功能,就分解為幾個(gè)加工;個(gè)功能,就分解為幾個(gè)加工; 描述加工與外部實(shí)體之間、加工與數(shù)描述加工與外部實(shí)體之間、加工與數(shù)據(jù)文件之間、加工與加工之間的數(shù)據(jù)流。據(jù)文件之間、加工與加工之間的數(shù)據(jù)流。 第二層圖只有一張第二層圖只有一張, 圖中的加工號(hào)為圖中的加工號(hào)為“,,n ”。 畫(huà)更下層數(shù)據(jù)流圖(第畫(huà)更下層數(shù)據(jù)流圖(第3層圖、第層圖、第4層圖、層圖、.)時(shí),則分解上層圖中的加)時(shí),則分解上層圖中的加工,直到圖中尚未分解的加工都足夠工,直到圖中尚未分解的加工都足夠簡(jiǎn)單為止。子圖號(hào)就是父圖中被分解簡(jiǎn)單為止。子圖號(hào)就是父圖中被分解的加工號(hào);子圖中加工號(hào)由圖號(hào)、小的加工號(hào);子圖

32、中加工號(hào)由圖號(hào)、小數(shù)點(diǎn)和序號(hào)組成。數(shù)點(diǎn)和序號(hào)組成。例例3.8 教材購(gòu)銷(xiāo)系統(tǒng)教材購(gòu)銷(xiāo)系統(tǒng),功能如下:功能如下:(1) 根據(jù)教學(xué)計(jì)劃,向?qū)W生供應(yīng)所需的教材。根據(jù)教學(xué)計(jì)劃,向?qū)W生供應(yīng)所需的教材。 系統(tǒng)接受學(xué)生的購(gòu)書(shū)單,檢驗(yàn)購(gòu)書(shū)單。若教材庫(kù)存系統(tǒng)接受學(xué)生的購(gòu)書(shū)單,檢驗(yàn)購(gòu)書(shū)單。若教材庫(kù)存量充足,進(jìn)行售書(shū)處理,即修改教材存量表,給學(xué)生量充足,進(jìn)行售書(shū)處理,即修改教材存量表,給學(xué)生開(kāi)發(fā)票和領(lǐng)書(shū)單,學(xué)生憑單到書(shū)庫(kù)領(lǐng)書(shū);開(kāi)發(fā)票和領(lǐng)書(shū)單,學(xué)生憑單到書(shū)庫(kù)領(lǐng)書(shū); 若教材庫(kù)存量不足,對(duì)脫銷(xiāo)的教材進(jìn)行缺書(shū)登記。若教材庫(kù)存量不足,對(duì)脫銷(xiāo)的教材進(jìn)行缺書(shū)登記。(2) 根據(jù)缺書(shū)登記表采購(gòu)所缺的教材,通知學(xué)生補(bǔ)購(gòu)。根據(jù)缺書(shū)登記表采

33、購(gòu)所缺的教材,通知學(xué)生補(bǔ)購(gòu)。 按缺書(shū)登記表進(jìn)行匯總,并按出版社統(tǒng)計(jì)缺書(shū),將按缺書(shū)登記表進(jìn)行匯總,并按出版社統(tǒng)計(jì)缺書(shū),將缺書(shū)單發(fā)給書(shū)庫(kù)保管員,以便采購(gòu)。缺書(shū)單發(fā)給書(shū)庫(kù)保管員,以便采購(gòu)。 待購(gòu)教材到貨后待購(gòu)教材到貨后,根據(jù)書(shū)庫(kù)保管員發(fā)來(lái)的進(jìn)書(shū)通知單根據(jù)書(shū)庫(kù)保管員發(fā)來(lái)的進(jìn)書(shū)通知單進(jìn)行缺書(shū)銷(xiāo)售,即修改教材存量表,并從缺書(shū)登記表進(jìn)行缺書(shū)銷(xiāo)售,即修改教材存量表,并從缺書(shū)登記表中取出缺書(shū)單進(jìn)行售書(shū)處理。中取出缺書(shū)單進(jìn)行售書(shū)處理。例例3.8 教材購(gòu)銷(xiāo)系統(tǒng)教材購(gòu)銷(xiāo)系統(tǒng),功能如下:功能如下:(1) 根據(jù)教學(xué)計(jì)劃,向?qū)W生供應(yīng)所需的教材。根據(jù)教學(xué)計(jì)劃,向?qū)W生供應(yīng)所需的教材。 系統(tǒng)接受學(xué)生的購(gòu)書(shū)單,檢驗(yàn)購(gòu)書(shū)單。若教材庫(kù)

34、存系統(tǒng)接受學(xué)生的購(gòu)書(shū)單,檢驗(yàn)購(gòu)書(shū)單。若教材庫(kù)存量充足,進(jìn)行售書(shū)處理,即修改教材存量表,給學(xué)生量充足,進(jìn)行售書(shū)處理,即修改教材存量表,給學(xué)生開(kāi)發(fā)票和領(lǐng)書(shū)單,學(xué)生憑單到書(shū)庫(kù)領(lǐng)書(shū);開(kāi)發(fā)票和領(lǐng)書(shū)單,學(xué)生憑單到書(shū)庫(kù)領(lǐng)書(shū); 若教材庫(kù)存量不足,對(duì)脫銷(xiāo)的教材進(jìn)行缺書(shū)登記。若教材庫(kù)存量不足,對(duì)脫銷(xiāo)的教材進(jìn)行缺書(shū)登記。(2) 根據(jù)缺書(shū)登記表采購(gòu)所缺的教材,通知學(xué)生補(bǔ)購(gòu)。根據(jù)缺書(shū)登記表采購(gòu)所缺的教材,通知學(xué)生補(bǔ)購(gòu)。 按缺書(shū)登記表進(jìn)行匯總,并按出版社統(tǒng)計(jì)缺書(shū),將按缺書(shū)登記表進(jìn)行匯總,并按出版社統(tǒng)計(jì)缺書(shū),將缺書(shū)單發(fā)給書(shū)庫(kù)保管員,以便采購(gòu)。缺書(shū)單發(fā)給書(shū)庫(kù)保管員,以便采購(gòu)。 待購(gòu)教材到貨后待購(gòu)教材到貨后,根據(jù)書(shū)庫(kù)保管員發(fā)來(lái)

35、的進(jìn)書(shū)通知單根據(jù)書(shū)庫(kù)保管員發(fā)來(lái)的進(jìn)書(shū)通知單進(jìn)行缺書(shū)銷(xiāo)售,即修改教材存量表,并從缺書(shū)登記表進(jìn)行缺書(shū)銷(xiāo)售,即修改教材存量表,并從缺書(shū)登記表中取出缺書(shū)單進(jìn)行售書(shū)處理。中取出缺書(shū)單進(jìn)行售書(shū)處理。教材教材購(gòu)銷(xiāo)購(gòu)銷(xiāo)系統(tǒng)系統(tǒng)書(shū)庫(kù)書(shū)庫(kù)保管員保管員學(xué)學(xué)生生購(gòu)書(shū)單購(gòu)書(shū)單領(lǐng)書(shū)單領(lǐng)書(shū)單缺書(shū)單缺書(shū)單進(jìn)書(shū)通知進(jìn)書(shū)通知圖圖3.14 頂層圖頂層圖 (p52)(p52)1銷(xiāo)售銷(xiāo)售2采購(gòu)采購(gòu)學(xué)學(xué)生生書(shū)書(shū)庫(kù)庫(kù)保保管管員員進(jìn)書(shū)通知進(jìn)書(shū)通知教材存量表教材存量表缺書(shū)登記表缺書(shū)登記表購(gòu)書(shū)單購(gòu)書(shū)單領(lǐng)書(shū)單領(lǐng)書(shū)單缺書(shū)單缺書(shū)單進(jìn)書(shū)通知進(jìn)書(shū)通知圖圖3.15 第二層圖第二層圖1.1審查審查有效性有效性1.2開(kāi)發(fā)票開(kāi)發(fā)票進(jìn)書(shū)通知進(jìn)書(shū)通知F1教材存量表教

36、材存量表F2 缺書(shū)登記表缺書(shū)登記表購(gòu)書(shū)單購(gòu)書(shū)單領(lǐng)書(shū)單領(lǐng)書(shū)單F3 學(xué)生用書(shū)表學(xué)生用書(shū)表暫缺書(shū)單暫缺書(shū)單圖圖3.16 第三層圖第三層圖:圖圖1 銷(xiāo)售子系統(tǒng)銷(xiāo)售子系統(tǒng)1.6產(chǎn)生補(bǔ)產(chǎn)生補(bǔ)售書(shū)單售書(shū)單1.5登記缺書(shū)登記缺書(shū)1.4登記售書(shū)和登記售書(shū)和打印領(lǐng)書(shū)單打印領(lǐng)書(shū)單F4 售書(shū)登記表售書(shū)登記表發(fā)票發(fā)票有效購(gòu)有效購(gòu)書(shū)單書(shū)單補(bǔ)售書(shū)單補(bǔ)售書(shū)單1.3打印發(fā)票打印發(fā)票發(fā)票發(fā)票圖圖3.17 第三層第三層DFD采購(gòu)子系統(tǒng)采購(gòu)子系統(tǒng) .修改教材修改教材庫(kù)存和待庫(kù)存和待購(gòu)量購(gòu)量.按書(shū)號(hào)按書(shū)號(hào)匯總?cè)睍?shū)匯總?cè)睍?shū).按出版社按出版社統(tǒng)計(jì)缺書(shū)統(tǒng)計(jì)缺書(shū)缺書(shū)登記表缺書(shū)登記表 教材存量表教材存量表 待購(gòu)教材表待購(gòu)教材表 教材一覽表教材一

37、覽表 進(jìn)書(shū)通知進(jìn)書(shū)通知 進(jìn)書(shū)通知進(jìn)書(shū)通知 缺書(shū)單缺書(shū)單 3.2.2 編寫(xiě)數(shù)據(jù)定義編寫(xiě)數(shù)據(jù)定義(數(shù)據(jù)字典數(shù)據(jù)字典)與加工說(shuō)明與加工說(shuō)明最底層的最底層的DFD圖包含了系統(tǒng)的全部數(shù)據(jù)圖包含了系統(tǒng)的全部數(shù)據(jù)和加工。在底層圖中,從數(shù)據(jù)的終點(diǎn)開(kāi)始,和加工。在底層圖中,從數(shù)據(jù)的終點(diǎn)開(kāi)始,沿著沿著DFD圖一步步向數(shù)據(jù)源點(diǎn)回溯,較易圖一步步向數(shù)據(jù)源點(diǎn)回溯,較易看清數(shù)據(jù)流中每一個(gè)數(shù)據(jù)項(xiàng)的來(lái)龍去脈,看清數(shù)據(jù)流中每一個(gè)數(shù)據(jù)項(xiàng)的來(lái)龍去脈,也易于搞清每個(gè)數(shù)據(jù)文件的組成以及各個(gè)也易于搞清每個(gè)數(shù)據(jù)文件的組成以及各個(gè)加工的加工策略。加工的加工策略。例如,圖例如,圖3.163.16中,中,“領(lǐng)書(shū)單領(lǐng)書(shū)單”是主要輸出數(shù)據(jù)流,按:是

38、主要輸出數(shù)據(jù)流,按: 領(lǐng)書(shū)單領(lǐng)書(shū)單 發(fā)票發(fā)票 有效購(gòu)書(shū)單有效購(gòu)書(shū)單 購(gòu)書(shū)單購(gòu)書(shū)單的次序回溯,可以得到各數(shù)據(jù)流、數(shù)據(jù)文件以及加工說(shuō)的次序回溯,可以得到各數(shù)據(jù)流、數(shù)據(jù)文件以及加工說(shuō)明的定義,如:明的定義,如:領(lǐng)書(shū)單領(lǐng)書(shū)單 學(xué)號(hào)學(xué)號(hào) + + 姓名姓名 + + 書(shū)號(hào)書(shū)號(hào)+ +數(shù)量數(shù)量 發(fā)票學(xué)號(hào)發(fā)票學(xué)號(hào)+ +姓名姓名+書(shū)號(hào)書(shū)號(hào)+ +單價(jià)單價(jià)+ +數(shù)量數(shù)量+ +總價(jià)總價(jià)+書(shū)費(fèi)合計(jì)書(shū)費(fèi)合計(jì)有效購(gòu)書(shū)單學(xué)號(hào)有效購(gòu)書(shū)單學(xué)號(hào) + + 姓名姓名 + + 書(shū)號(hào)書(shū)號(hào)+ +數(shù)量數(shù)量 教材存量表教材存量表 書(shū)號(hào)書(shū)號(hào)+ +單價(jià)單價(jià)+ +數(shù)量數(shù)量 3.2.3 需求分析的復(fù)審需求分析的復(fù)審(Requirement Review)

39、需求分析的文檔完成后,應(yīng)由用戶(hù)、系需求分析的文檔完成后,應(yīng)由用戶(hù)、系統(tǒng)分析員、設(shè)計(jì)人員等組成的復(fù)審小組進(jìn)統(tǒng)分析員、設(shè)計(jì)人員等組成的復(fù)審小組進(jìn)行復(fù)審。復(fù)審的重點(diǎn)是文檔的完整性、易行復(fù)審。復(fù)審的重點(diǎn)是文檔的完整性、易改性和易讀性,盡可能多地發(fā)現(xiàn)文檔中存改性和易讀性,盡可能多地發(fā)現(xiàn)文檔中存在的矛盾、冗余和遺漏。在的矛盾、冗余和遺漏。 以下是幾個(gè)注意點(diǎn):以下是幾個(gè)注意點(diǎn):(1)注意注意DFD圖的加工編號(hào)圖的加工編號(hào): 在數(shù)據(jù)流圖中,需按層給加工編號(hào)。編號(hào)在數(shù)據(jù)流圖中,需按層給加工編號(hào)。編號(hào)表明該加工所處的層次及上下層的父子關(guān)系。表明該加工所處的層次及上下層的父子關(guān)系。 頂層圖中的加工不編號(hào)。頂層圖中的

40、加工不編號(hào)。 第二層圖中的加工編號(hào)為第二層圖中的加工編號(hào)為:, ,n。 第三層圖中的加工編號(hào)為第三層圖中的加工編號(hào)為: 1.1,1.2, ;2.1,2.2, ; ; n.1,n.2, 等,以等,以此類(lèi)推。此類(lèi)推。(2) 不論加工、數(shù)據(jù)文件和數(shù)據(jù)流,都應(yīng)不論加工、數(shù)據(jù)文件和數(shù)據(jù)流,都應(yīng)該命名(該命名(文件與加工之間的數(shù)據(jù)流可以文件與加工之間的數(shù)據(jù)流可以不命名不命名)。)。(3) 每個(gè)加工必須既有輸入流,又有輸出每個(gè)加工必須既有輸入流,又有輸出流。一個(gè)加工的輸出流不應(yīng)與輸入流同流。一個(gè)加工的輸出流不應(yīng)與輸入流同名。名。(4)父圖和子圖的平衡:父圖和子圖的平衡: 父圖父圖(中某個(gè)加工中某個(gè)加工)和和

41、(相應(yīng)的相應(yīng)的)子圖的輸子圖的輸入流和輸出流入流和輸出流(在數(shù)量和名稱(chēng)上在數(shù)量和名稱(chēng)上)應(yīng)分別保應(yīng)分別保持一致,稱(chēng)為父圖和子圖的平衡。持一致,稱(chēng)為父圖和子圖的平衡。 (若父圖的一個(gè)數(shù)據(jù)流對(duì)應(yīng)子圖中的幾(若父圖的一個(gè)數(shù)據(jù)流對(duì)應(yīng)子圖中的幾個(gè)數(shù)據(jù)流,而組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全個(gè)數(shù)據(jù)流,而組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全體正好是父圖中的這個(gè)數(shù)據(jù)流,也算是平體正好是父圖中的這個(gè)數(shù)據(jù)流,也算是平衡的。)衡的。)發(fā)票發(fā)票領(lǐng)書(shū)單領(lǐng)書(shū)單學(xué)生姓名學(xué)生姓名書(shū)費(fèi)總價(jià)書(shū)費(fèi)總價(jià)領(lǐng)書(shū)單領(lǐng)書(shū)單(a) 父圖父圖父圖和子圖平衡的示意圖父圖和子圖平衡的示意圖(b) 子圖子圖(發(fā)票發(fā)票=學(xué)生姓名學(xué)生姓名+書(shū)費(fèi)總價(jià)書(shū)費(fèi)總價(jià))(5)分解的速度宜

42、均勻:分解的速度宜均勻: 同一圖中的各個(gè)加工,分解的步子應(yīng)同一圖中的各個(gè)加工,分解的步子應(yīng)大致均勻,保持同步擴(kuò)展。每一加工每大致均勻,保持同步擴(kuò)展。每一加工每次可分為次可分為24個(gè)加工,最多不超過(guò)個(gè)加工,最多不超過(guò)7個(gè)。個(gè)。(第(第3章章 補(bǔ)充習(xí)題)補(bǔ)充習(xí)題)17.某銀行儲(chǔ)蓄系統(tǒng)功能是某銀行儲(chǔ)蓄系統(tǒng)功能是: 將儲(chǔ)戶(hù)填寫(xiě)的存款單將儲(chǔ)戶(hù)填寫(xiě)的存款單或取款單輸入系統(tǒng)?;蛉】顔屋斎胂到y(tǒng)。 如果是存款,系統(tǒng)將儲(chǔ)戶(hù)如果是存款,系統(tǒng)將儲(chǔ)戶(hù)的存款信息(姓名、住址、存款日期、存款類(lèi)型、的存款信息(姓名、住址、存款日期、存款類(lèi)型、存款金額、利率等)記錄在帳戶(hù)文件中,并打印存款金額、利率等)記錄在帳戶(hù)文件中,并打印

43、存款清單給儲(chǔ)戶(hù);如果是取款,系統(tǒng)先查詢(xún)帳戶(hù)存款清單給儲(chǔ)戶(hù);如果是取款,系統(tǒng)先查詢(xún)帳戶(hù)文件,并打印取款清單給儲(chǔ)戶(hù)。文件,并打印取款清單給儲(chǔ)戶(hù)。 (1)畫(huà)出該問(wèn)題數(shù)據(jù)流圖的畫(huà)出該問(wèn)題數(shù)據(jù)流圖的頂層圖頂層圖 和和 第二層圖。第二層圖。 (2)以公式的形式建立數(shù)據(jù)流條目以公式的形式建立數(shù)據(jù)流條目“存款單存款單”。(第(第3章補(bǔ)充習(xí)題)章補(bǔ)充習(xí)題)17. 某銀行儲(chǔ)蓄系統(tǒng)功能是某銀行儲(chǔ)蓄系統(tǒng)功能是: 將儲(chǔ)戶(hù)填寫(xiě)的存款單或?qū)?chǔ)戶(hù)填寫(xiě)的存款單或取款單輸入系統(tǒng)。取款單輸入系統(tǒng)。 如果是存款,系統(tǒng)將儲(chǔ)戶(hù)的存款如果是存款,系統(tǒng)將儲(chǔ)戶(hù)的存款信息(姓名、住址、存款日期、存款類(lèi)型、存款金信息(姓名、住址、存款日期、存款類(lèi)

44、型、存款金額、利率等)記錄在帳戶(hù)文件中,并打印存款清單額、利率等)記錄在帳戶(hù)文件中,并打印存款清單給儲(chǔ)戶(hù);如果是取款,系統(tǒng)先查詢(xún)帳戶(hù)文件,并打給儲(chǔ)戶(hù);如果是取款,系統(tǒng)先查詢(xún)帳戶(hù)文件,并打印取款清單給儲(chǔ)戶(hù)。印取款清單給儲(chǔ)戶(hù)。 (1)畫(huà)出該問(wèn)題數(shù)據(jù)流圖的畫(huà)出該問(wèn)題數(shù)據(jù)流圖的頂層圖頂層圖 和和 第二層圖。第二層圖。 (2)以公式的形式建立數(shù)據(jù)流條目以公式的形式建立數(shù)據(jù)流條目“存款單存款單”。3.3 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)( SD, Structured Design)3.3.1 SD概述概述 1.面向數(shù)據(jù)流的設(shè)計(jì)面向數(shù)據(jù)流的設(shè)計(jì)和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì) 按照出發(fā)點(diǎn)的不同按照出發(fā)

45、點(diǎn)的不同, 傳統(tǒng)的軟件設(shè)計(jì)又可分傳統(tǒng)的軟件設(shè)計(jì)又可分為面向數(shù)據(jù)流的設(shè)計(jì)和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)兩為面向數(shù)據(jù)流的設(shè)計(jì)和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)兩大類(lèi)。前者以結(jié)構(gòu)化設(shè)計(jì)(大類(lèi)。前者以結(jié)構(gòu)化設(shè)計(jì)(Structured Design, SD)為主要代表,后者以)為主要代表,后者以Jackson方法為主要方法為主要代表。代表。 在面向數(shù)據(jù)流的方法中在面向數(shù)據(jù)流的方法中,數(shù)據(jù)流是考數(shù)據(jù)流是考慮一切問(wèn)題的出發(fā)點(diǎn)。在分析階段,用慮一切問(wèn)題的出發(fā)點(diǎn)。在分析階段,用數(shù)據(jù)流圖來(lái)表示系統(tǒng)的邏輯模型;在設(shè)數(shù)據(jù)流圖來(lái)表示系統(tǒng)的邏輯模型;在設(shè)計(jì)階段,按照數(shù)據(jù)流圖的不同類(lèi)型計(jì)階段,按照數(shù)據(jù)流圖的不同類(lèi)型( 變變換型或事務(wù)型換型或事務(wù)型

46、 ) 將它們轉(zhuǎn)換為相應(yīng)的軟將它們轉(zhuǎn)換為相應(yīng)的軟件結(jié)構(gòu)圖。件結(jié)構(gòu)圖。 Jackson方法以數(shù)據(jù)結(jié)構(gòu)作為分析與方法以數(shù)據(jù)結(jié)構(gòu)作為分析與設(shè)計(jì)的基礎(chǔ)設(shè)計(jì)的基礎(chǔ),認(rèn)為算法的結(jié)構(gòu)在很大程認(rèn)為算法的結(jié)構(gòu)在很大程度上依賴(lài)于它要處理的問(wèn)題的數(shù)據(jù)結(jié)構(gòu)度上依賴(lài)于它要處理的問(wèn)題的數(shù)據(jù)結(jié)構(gòu),因此可以由該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出它的因此可以由該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出它的程序結(jié)構(gòu)。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法主程序結(jié)構(gòu)。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法主要用于小型數(shù)據(jù)處理系統(tǒng)的開(kāi)發(fā)要用于小型數(shù)據(jù)處理系統(tǒng)的開(kāi)發(fā),一般一般情況下也適合于在詳細(xì)設(shè)計(jì)階段使用情況下也適合于在詳細(xì)設(shè)計(jì)階段使用.2. 2. 從分析模型導(dǎo)出設(shè)計(jì)模型從分析模型導(dǎo)出設(shè)計(jì)模型數(shù)據(jù)字典數(shù)

47、據(jù)字典數(shù)數(shù)據(jù)據(jù)流流圖圖實(shí)實(shí)體體關(guān)關(guān)系系圖圖狀態(tài)遷移圖狀態(tài)遷移圖加加工工規(guī)規(guī)格格說(shuō)說(shuō)明明控控制制規(guī)規(guī) 格格說(shuō)說(shuō)明明數(shù)數(shù)據(jù)據(jù)對(duì)對(duì)象象描描述述過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì)接口設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)(SC)(SC)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)3.3.2 SD的步驟的步驟:從從DFD圖到圖到SC圖圖1.數(shù)據(jù)流圖的類(lèi)型數(shù)據(jù)流圖的類(lèi)型: 有兩種形式,即:有兩種形式,即:變換型變換型( Transform Flow ) 和和 事務(wù)型事務(wù)型( Transaction Flow )。(1)變換型結(jié)構(gòu)變換型結(jié)構(gòu) ( Transform Flow ) 變換型結(jié)構(gòu)由三部分組成變換型結(jié)構(gòu)由三部分組成: 傳入路徑傳入路徑(Affer

48、ent Path)、)、變換中心變換中心(Transform Center)和)和傳出路徑傳出路徑(Efferent Path)。流經(jīng))。流經(jīng)這這3個(gè)部分的數(shù)據(jù)流分別稱(chēng)為:傳入流、變換個(gè)部分的數(shù)據(jù)流分別稱(chēng)為:傳入流、變換流和傳出流。流和傳出流。 變換中心的任務(wù)是:通過(guò)計(jì)算或處理,把變換中心的任務(wù)是:通過(guò)計(jì)算或處理,把系統(tǒng)的傳入流變換為傳出流。系統(tǒng)的傳入流變換為傳出流。傳入路徑傳入路徑變換中心變換中心傳出路徑傳出路徑傳入流傳入流變換流變換流傳出流傳出流ABCaPRWQUVDEbcrwdevup傳入部分傳入部分變換中心變換中心傳出部分傳出部分圖圖3.23 變換型結(jié)構(gòu)的模型變換型結(jié)構(gòu)的模型(2)事務(wù)

49、型結(jié)構(gòu)事務(wù)型結(jié)構(gòu) ( Transaction Flow )事務(wù)型結(jié)構(gòu)由至少一條事務(wù)型結(jié)構(gòu)由至少一條接收路徑接收路徑(Receive Path)、一、一個(gè)個(gè)事務(wù)中心事務(wù)中心(Transaction Center)和和若干條動(dòng)作路徑若干條動(dòng)作路徑(Action Path)組成。當(dāng)外部信息沿著接收路徑進(jìn)入系組成。當(dāng)外部信息沿著接收路徑進(jìn)入系統(tǒng)后統(tǒng)后,經(jīng)過(guò)事務(wù)中心處理,獲得某一個(gè)特定值,并據(jù)此經(jīng)過(guò)事務(wù)中心處理,獲得某一個(gè)特定值,并據(jù)此啟動(dòng)某一動(dòng)作路徑的操作。示意圖如下:?jiǎn)?dòng)某一動(dòng)作路徑的操作。示意圖如下:事務(wù)事務(wù)中心中心接收路徑接收路徑動(dòng)作路徑動(dòng)作路徑圖圖3.21 事務(wù)型結(jié)構(gòu)的基本模型事務(wù)型結(jié)構(gòu)的基本

50、模型2. SD方法的步驟方法的步驟 SD方法規(guī)定了下列方法規(guī)定了下列4個(gè)步驟個(gè)步驟:(1)重審數(shù)據(jù)流圖,必要時(shí)可再次進(jìn)行修改或細(xì)重審數(shù)據(jù)流圖,必要時(shí)可再次進(jìn)行修改或細(xì)化;化;(2)鑒別數(shù)據(jù)流圖的結(jié)構(gòu)特征,確定它是屬于變鑒別數(shù)據(jù)流圖的結(jié)構(gòu)特征,確定它是屬于變換型還是事務(wù)型;換型還是事務(wù)型;(3)按照按照SD方法規(guī)定的一組規(guī)則(變換映射或事方法規(guī)定的一組規(guī)則(變換映射或事務(wù)映射),把務(wù)映射),把DFD圖轉(zhuǎn)換為初始的圖轉(zhuǎn)換為初始的SC圖;圖;變換型變換型DFD圖圖初始初始SC圖圖變換映射變換映射事務(wù)型事務(wù)型DFD圖圖初始初始SC圖圖事務(wù)映射事務(wù)映射(4)優(yōu)化初始的優(yōu)化初始的SC圖,獲得最終的圖,獲得

51、最終的SC圖。圖。3.3.3 變換映射變換映射( Transform Mapping )變換映射的變換映射的3個(gè)主要步驟:個(gè)主要步驟:(1) 劃分劃分DFD圖的邊界:區(qū)分傳入部分、圖的邊界:區(qū)分傳入部分、傳出部分和變換中心;傳出部分和變換中心;(2) 建立初始建立初始SC圖的框架:進(jìn)行第一級(jí)分圖的框架:進(jìn)行第一級(jí)分解,解,設(shè)計(jì)上層模塊設(shè)計(jì)上層模塊頂層和第一層頂層和第一層;(3) 分解分解SC圖的各個(gè)分支:進(jìn)行第二級(jí)分圖的各個(gè)分支:進(jìn)行第二級(jí)分解,解,設(shè)計(jì)傳入分支、傳出分支和變換中設(shè)計(jì)傳入分支、傳出分支和變換中心的中、下層模塊心的中、下層模塊。ABCaPRWQUVDEbcrwdevup例例 3.

52、9 第一步第一步: 劃分劃分DFD圖的邊界:區(qū)分傳入部分、傳圖的邊界:區(qū)分傳入部分、傳出部分和變換中心。出部分和變換中心。圖圖 3.23 劃分傳入部分、傳出部分和變換中心劃分傳入部分、傳出部分和變換中心傳入部分傳入部分變換中心變換中心傳出部分傳出部分第二步第二步:完成第一級(jí)分解完成第一級(jí)分解,設(shè)計(jì)上層模塊設(shè)計(jì)上層模塊頂層和頂層和第一層。第一層。 (1)頂層只包含一個(gè)用于控制的主模塊。頂層只包含一個(gè)用于控制的主模塊。 (2)第一層包括傳入、傳出和中心變換第一層包括傳入、傳出和中心變換3個(gè)模塊,個(gè)模塊,分別代表系統(tǒng)的分別代表系統(tǒng)的3個(gè)相應(yīng)分支。個(gè)相應(yīng)分支。MT(變換模塊變換模塊)MC(主模塊主模塊

53、)MA(傳入模塊傳入模塊)ME(傳出模塊傳出模塊)c,ec,eu,wu,w頂層頂層第一層第一層圖圖3.24(a) 第一級(jí)分解后的第一級(jí)分解后的SC圖圖第三步:完成第二級(jí)分解,細(xì)化第三步:完成第二級(jí)分解,細(xì)化SC圖的各個(gè)分支圖的各個(gè)分支(1)傳入分支的模塊分解傳入分支的模塊分解: 模塊的調(diào)用順序與加工順序相反模塊的調(diào)用順序與加工順序相反(逆向移動(dòng)逆向移動(dòng))。MA (傳入模塊傳入模塊)Cc,e圖圖3.25(a) 傳傳 入分支的分解入分支的分解BAEDcbaed(2)傳出分支的模塊分解傳出分支的模塊分解: 模塊的調(diào)用順序與加工順序相同模塊的調(diào)用順序與加工順序相同(正向移動(dòng)正向移動(dòng))。ME (傳出模塊

54、傳出模塊)w,u圖圖3.26 傳出分支的分解傳出分支的分解WVUwvu(3)變換中心分支的模塊分解變換中心分支的模塊分解: 模塊的調(diào)用順序按加工順序自左向右排列模塊的調(diào)用順序按加工順序自左向右排列。MT (變換模塊變換模塊)w,u圖圖3.27 變換中心分支的分解變換中心分支的分解QPRrc,eeprc,pw,uMTMCMAMEc,ec,eu,wu,w頂層頂層第一層第一層圖圖3.28 從圖從圖3.23導(dǎo)出的初始的變換型導(dǎo)出的初始的變換型SC圖圖CEQPRWUc,peprru,wwuBADVbadecvMAGet CbacdeGet BRead AGet ERead Dc,eB To CA To

55、BD To EbcabdeMEWrite WwuuPut UU To VWrite Vvvw,uMAMCMTME頂層頂層第一層第一層c,eu,wc,eu,wGet CbacdeGet BRead AGet ERead DB To CA To BD To EbcabdePQRec,pru,wprWrite WwuuPut UU To VWrite Vvv第第二二層層圖圖3.28 從圖從圖3.23導(dǎo)出的初始的導(dǎo)出的初始的變換型變換型SC圖圖3.3.4 事務(wù)映射事務(wù)映射(Transaction mapping )事務(wù)映射的事務(wù)映射的3個(gè)主要步驟:個(gè)主要步驟:(1) 劃分劃分DFD圖的邊界:區(qū)分事務(wù)中

56、心、接收?qǐng)D的邊界:區(qū)分事務(wù)中心、接收部分(接收路徑)和發(fā)送部分(發(fā)送路徑);部分(接收路徑)和發(fā)送部分(發(fā)送路徑);(2)建立初始建立初始SC圖的框架,圖的框架,設(shè)計(jì)上層模塊設(shè)計(jì)上層模塊頂層和第一層頂層和第一層;(3) 分解和細(xì)化接收分支和發(fā)送分支分解和細(xì)化接收分支和發(fā)送分支,完成初,完成初始的始的SC圖。圖。ATBaCDa1例例 3.10 第一步第一步: 劃分劃分DFD圖的邊界:區(qū)分事務(wù)中心、圖的邊界:區(qū)分事務(wù)中心、接收部分和發(fā)送部分。接收部分和發(fā)送部分。圖圖 3.29 事務(wù)型事務(wù)型DFD圖的劃分圖的劃分a2a3接收部分接收部分(輸入流輸入流)事務(wù)中心事務(wù)中心動(dòng)作路徑部分動(dòng)作路徑部分(活動(dòng)流

57、活動(dòng)流)第二步:第二步: 設(shè)計(jì)上層模塊設(shè)計(jì)上層模塊頂層和第一層。頂層和第一層。 (1)頂層只包含一個(gè)用于控制的主模塊。頂層只包含一個(gè)用于控制的主模塊。 (2)第一層包括接收和發(fā)送第一層包括接收和發(fā)送2個(gè)模塊,分別代表個(gè)模塊,分別代表系統(tǒng)的系統(tǒng)的2個(gè)分支。個(gè)分支。MC(主模塊主模塊)A (接收模塊接收模塊)T (發(fā)送模塊發(fā)送模塊)aa頂層頂層第一層第一層圖圖3.30 事務(wù)型事務(wù)型SC圖的上層結(jié)構(gòu)圖的上層結(jié)構(gòu)第三步:第三步:分解和細(xì)化接收分支和發(fā)送分支。分解和細(xì)化接收分支和發(fā)送分支。(1)接收分支負(fù)責(zé)接收數(shù)據(jù)接收分支負(fù)責(zé)接收數(shù)據(jù),通常只有一個(gè)接收模塊。通常只有一個(gè)接收模塊。(2)發(fā)送分支的發(fā)送模塊

58、是一個(gè)調(diào)度模塊,它控制下層發(fā)送分支的發(fā)送模塊是一個(gè)調(diào)度模塊,它控制下層的所有動(dòng)作模塊。的所有動(dòng)作模塊。MC(主模塊主模塊)A (接收模塊接收模塊)T (發(fā)送模塊發(fā)送模塊)aa頂層頂層第一層第一層從圖從圖3.29導(dǎo)出的初始的事務(wù)型導(dǎo)出的初始的事務(wù)型SC圖圖BCDa1a2a3 許多大型系統(tǒng)的許多大型系統(tǒng)的DFDDFD圖通常都是圖通常都是變換型變換型和和事務(wù)型事務(wù)型的的混合結(jié)構(gòu)混合結(jié)構(gòu),下圖所給出的就,下圖所給出的就是一個(gè)混合型是一個(gè)混合型DFDDFD圖。從總體上來(lái)看,圖。從總體上來(lái)看,該該DFDDFD圖是一個(gè)圖是一個(gè)變換型結(jié)構(gòu)變換型結(jié)構(gòu),但是在系,但是在系統(tǒng)的統(tǒng)的傳入路徑傳入路徑中,又包含了一個(gè)中

59、,又包含了一個(gè)事務(wù)型事務(wù)型結(jié)構(gòu)結(jié)構(gòu)。3.3.5 優(yōu)化初始優(yōu)化初始SC圖的指導(dǎo)規(guī)則圖的指導(dǎo)規(guī)則1.對(duì)模塊劃分的原則對(duì)模塊劃分的原則模塊的行數(shù)應(yīng)控制在模塊的行數(shù)應(yīng)控制在 10100 行的范行的范圍。圍。2. 高扇入高扇入 / 低扇出的原則低扇出的原則扇入扇入(fan-in):一個(gè)模塊直接上級(jí)模塊的個(gè)數(shù)。扇入一個(gè)模塊直接上級(jí)模塊的個(gè)數(shù)。扇入高則上級(jí)模塊多,能夠增加模塊利用率。高則上級(jí)模塊多,能夠增加模塊利用率。扇出扇出(fan-out):一個(gè)模塊直接下級(jí)模塊的個(gè)數(shù)。扇一個(gè)模塊直接下級(jí)模塊的個(gè)數(shù)。扇出低則下級(jí)模塊少,可以減少模塊調(diào)用和控制的復(fù)出低則下級(jí)模塊少,可以減少模塊調(diào)用和控制的復(fù)雜度。通常扇出數(shù)

60、以雜度。通常扇出數(shù)以34為宜,不要超過(guò)為宜,不要超過(guò)7個(gè)。個(gè)。MM(a)模塊模塊M的扇入的扇入(b)模塊模塊M的扇出的扇出圖圖3.32 模塊的扇入和扇出模塊的扇入和扇出如果一個(gè)模塊的扇出數(shù)過(guò)大(煎餅形結(jié)構(gòu)),就意如果一個(gè)模塊的扇出數(shù)過(guò)大(煎餅形結(jié)構(gòu)),就意味著該模塊過(guò)分復(fù)雜,需要協(xié)調(diào)和控制過(guò)多的下屬模味著該模塊過(guò)分復(fù)雜,需要協(xié)調(diào)和控制過(guò)多的下屬模塊,應(yīng)當(dāng)適當(dāng)增加中間層使扇出減少(塔形結(jié)構(gòu))。塊,應(yīng)當(dāng)適當(dāng)增加中間層使扇出減少(塔形結(jié)構(gòu))。(a)煎餅形結(jié)構(gòu)煎餅形結(jié)構(gòu)(b)塔形結(jié)構(gòu)塔形結(jié)構(gòu)圖圖3.33 增加中間層可減少扇出增加中間層可減少扇出MA圖圖3.34 甕形結(jié)構(gòu)甕形結(jié)構(gòu) 總的考慮是總的考慮是:

溫馨提示

  • 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)論