結(jié)構(gòu)化分析與設(shè)計(jì)_第1頁(yè)
結(jié)構(gòu)化分析與設(shè)計(jì)_第2頁(yè)
結(jié)構(gòu)化分析與設(shè)計(jì)_第3頁(yè)
結(jié)構(gòu)化分析與設(shè)計(jì)_第4頁(yè)
結(jié)構(gòu)化分析與設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩164頁(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)介

結(jié)構(gòu)化分析與設(shè)計(jì)演示文稿1*當(dāng)前1頁(yè),總共169頁(yè)。(優(yōu)選)結(jié)構(gòu)化分析與設(shè)計(jì)2*當(dāng)前2頁(yè),總共169頁(yè)。

2.SA與SD的流程結(jié)構(gòu)化分析(工具:DFD、PSPEC)→分析模型(分層DFD圖)+SRS→結(jié)構(gòu)化設(shè)計(jì)(工具:SC圖)→初始設(shè)計(jì)模型(初始SC圖)→最終設(shè)計(jì)模型(最終SC圖)注:數(shù)據(jù)流圖(DFD,DataFlowDiagram)加工說(shuō)明(PSPEC,ProcessSPECification)軟件需求規(guī)格說(shuō)明書(shū)”(SRS,SoftwareRequirementSpecification)結(jié)構(gòu)圖(SC,StructureChart)3*當(dāng)前3頁(yè),總共169頁(yè)。3.基本任務(wù)與指導(dǎo)思想

(1)結(jié)構(gòu)化分析●SA有兩個(gè)主要任務(wù):①建立分析模型(BuildAnalysisModel)

通過(guò)對(duì)問(wèn)題及其環(huán)境的理解、分析和綜合,建立分析模型。該模型包括問(wèn)題所涉及的信息流、功能、性能、用戶(hù)界面及設(shè)計(jì)約束等,它是形成需求說(shuō)明書(shū)、進(jìn)行軟件設(shè)計(jì)的基礎(chǔ)。4*當(dāng)前4頁(yè),總共169頁(yè)。②編寫(xiě)需求規(guī)格說(shuō)明書(shū)(SRS)

在完全弄清用戶(hù)對(duì)軟件系統(tǒng)的確切要求的基礎(chǔ)上,用“需求規(guī)格說(shuō)明書(shū)”(SRS)把用戶(hù)的需求表達(dá)出來(lái)。

需求規(guī)格說(shuō)明書(shū)為開(kāi)發(fā)人員和用戶(hù)提供軟件開(kāi)發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)。

●SRS應(yīng)該具有準(zhǔn)確性;●SRS應(yīng)該防止二義性;●SRS應(yīng)該直觀、易讀、易于修改。5*當(dāng)前5頁(yè),總共169頁(yè)。TheSRShavesomecharacteristics.CorrectConsistentUn-ambiguityFeasibleTestable●需求規(guī)格說(shuō)明書(shū)的特征:1、正確性。2、一致性:文檔前后有無(wú)沖突?3、需求是無(wú)二義的嗎?涉眾的理解是一致的。4、可行性:需求是否可行?解決方案是否存在?5、可測(cè)試性:需求是可測(cè)試的。6*當(dāng)前6頁(yè),總共169頁(yè)。③SA的主要指導(dǎo)思想●抽象與分解

(Abstractionanddecomposition)

抽象(Abstraction)是控制復(fù)雜性的基本策略之一。在軟件工程中,從系統(tǒng)定義到實(shí)現(xiàn),每進(jìn)展一步都可以看做是對(duì)軟件解決方法的抽象化過(guò)程的一次細(xì)化。在軟件需求分析階段,在最高抽象級(jí)別上,用“做什么”來(lái)描述問(wèn)題。然后不斷具體化(分解)。抽象的層次愈低,呈現(xiàn)的細(xì)節(jié)愈多。7*當(dāng)前7頁(yè),總共169頁(yè)。SA法概述分解:對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌握的程度,可以把大問(wèn)題分解成若干小問(wèn)題,然后分別解決(如右圖)。一、SA法的基本思想結(jié)構(gòu)化分析方法的基本思想是“分解”和“抽象”。抽象:分解可以分層進(jìn)行,即先考慮問(wèn)題最本質(zhì)的屬性,暫把細(xì)節(jié)略去,以后再逐層添加細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)系統(tǒng)的方法就是“抽象”。x21.11.3

8*當(dāng)前8頁(yè),總共169頁(yè)。自頂向下地進(jìn)行功能分解WW1W1.1W1.2W1.39*當(dāng)前9頁(yè),總共169頁(yè)。1、建立當(dāng)前系統(tǒng)的“具體模型”。

三、SA法的描述方法1、分層的數(shù)據(jù)流圖2、數(shù)據(jù)詞典3、描述加工邏輯的結(jié)構(gòu)化語(yǔ)言、判定表及判定樹(shù)二、SA法的步驟4、為了對(duì)目標(biāo)系統(tǒng)做完整的描述,還需要考慮人機(jī)界面和其他一些問(wèn)題。3、建立目標(biāo)系統(tǒng)的邏輯模型。

2、抽象出當(dāng)前系統(tǒng)的邏輯模型。

10*當(dāng)前10頁(yè),總共169頁(yè)。(2)結(jié)構(gòu)化設(shè)計(jì)①軟件設(shè)計(jì)分兩個(gè)階段完成:軟件設(shè)計(jì)=總體設(shè)計(jì)+詳細(xì)設(shè)計(jì)●總體設(shè)計(jì)(General

Design;又稱(chēng)概要設(shè)計(jì),PreliminaryDesign),進(jìn)行總體結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)接口設(shè)計(jì),把用數(shù)據(jù)流圖(DFD)表示的系統(tǒng)分析模型轉(zhuǎn)換為用結(jié)構(gòu)圖(StructureChart,SC)表示的系統(tǒng)結(jié)構(gòu)模型。●詳細(xì)設(shè)計(jì)(DetailDesign)用以確定各個(gè)軟件組件(模塊)的數(shù)據(jù)結(jié)構(gòu)和操作(算法)。11*當(dāng)前11頁(yè),總共169頁(yè)。②SC圖分兩步完成:初始設(shè)計(jì)模型(初始SC圖)→最終設(shè)計(jì)模型(最終SC圖)

初始SC圖總體設(shè)計(jì)最終SC圖軟件設(shè)計(jì)詳細(xì)設(shè)計(jì):完成模塊說(shuō)明③軟件設(shè)計(jì)的指導(dǎo)思想●分解與細(xì)化(DecompositionandRefinement)

采用“自頂向下、逐步細(xì)化(Top-DownStepwiseRefinement)”的開(kāi)發(fā)方法。12*當(dāng)前12頁(yè),總共169頁(yè)。概要設(shè)計(jì)又稱(chēng)總體設(shè)計(jì),基本任務(wù)將系統(tǒng)劃分成模塊結(jié)構(gòu)形式;決定每個(gè)模塊的功能;模塊間的調(diào)用關(guān)系。主要產(chǎn)品:模塊說(shuō)明書(shū):模塊的組成及模塊間的條用關(guān)系。模塊的描述:功能、界面、過(guò)程、注釋功能:模塊的輸入、輸出及其功能界面:參數(shù)的傳遞關(guān)系過(guò)程:模塊內(nèi)部實(shí)現(xiàn),在詳細(xì)設(shè)計(jì)完成后補(bǔ)充進(jìn)來(lái)注釋?zhuān)簩?duì)模塊的一些限制和約束。參加人員:高級(jí)設(shè)計(jì)人員。

13*當(dāng)前13頁(yè),總共169頁(yè)。詳細(xì)設(shè)計(jì)基本概念基本任務(wù):描述模塊執(zhí)行過(guò)程;局部數(shù)據(jù)組織;控制流和每一步具體加工要求及實(shí)現(xiàn)細(xì)節(jié)描述方式:圖形描述:流程圖、盒圖、問(wèn)題分析圖語(yǔ)言描述:PDL

表格描述:判定表參加人員:初級(jí)軟件人員14*當(dāng)前14頁(yè),總共169頁(yè)。3.1.2SA模型的組成與描述例3.1教材銷(xiāo)售系統(tǒng)第一步:通過(guò)對(duì)現(xiàn)實(shí)環(huán)境的調(diào)查研究,獲取當(dāng)前系統(tǒng)的具體模型(物理模型)。學(xué)生圖3.1學(xué)生購(gòu)買(mǎi)教材的當(dāng)前系統(tǒng)模型(物理模型)購(gòu)書(shū)申請(qǐng)張秘書(shū)購(gòu)書(shū)發(fā)票王會(huì)計(jì)購(gòu)書(shū)證明李出納領(lǐng)書(shū)單趙保管學(xué)生書(shū)15*當(dāng)前15頁(yè),總共169頁(yè)。學(xué)生圖3.2學(xué)生購(gòu)買(mǎi)教材的邏輯模型(當(dāng)前系統(tǒng))購(gòu)書(shū)單審查有效性購(gòu)書(shū)發(fā)票開(kāi)發(fā)票有效購(gòu)書(shū)單開(kāi)領(lǐng)書(shū)單領(lǐng)書(shū)單發(fā)書(shū)學(xué)生書(shū)第二步:分析需求,建立系統(tǒng)分析模型(邏輯模型),包括當(dāng)前系統(tǒng)和目標(biāo)系統(tǒng)模型。關(guān)注系統(tǒng)的功能,而不是執(zhí)行功能的人或機(jī)構(gòu)16*當(dāng)前16頁(yè),總共169頁(yè)。學(xué)生圖3.3目標(biāo)系統(tǒng)的邏輯模型購(gòu)書(shū)單審查并開(kāi)發(fā)票發(fā)票開(kāi)領(lǐng)書(shū)單領(lǐng)書(shū)單發(fā)書(shū)學(xué)生書(shū)17*當(dāng)前17頁(yè),總共169頁(yè)。第三步:編寫(xiě)需求規(guī)格說(shuō)明書(shū)。

第四步:驗(yàn)證需求,完善和補(bǔ)充對(duì)目標(biāo)系統(tǒng)的描述。

通過(guò)目標(biāo)系統(tǒng)的人-機(jī)界面,和用戶(hù)一起確認(rèn)目標(biāo)系統(tǒng)功能;

復(fù)審需求說(shuō)明,補(bǔ)充迄今尚未考慮過(guò)的細(xì)節(jié)。

學(xué)生圖3.4改進(jìn)了的目標(biāo)系統(tǒng)邏輯模型購(gòu)書(shū)單審查并開(kāi)發(fā)票發(fā)票開(kāi)領(lǐng)書(shū)單領(lǐng)書(shū)單學(xué)生無(wú)效書(shū)單18*當(dāng)前18頁(yè),總共169頁(yè)?!褴浖_(kāi)發(fā)是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問(wèn)題。目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)物理模型邏輯模型模型化抽象化物理模型邏輯模型具體化實(shí)例化導(dǎo)出怎么做做什么19*當(dāng)前19頁(yè),總共169頁(yè)。圖3.5SA模型的組成實(shí)體關(guān)系圖(E-R圖)狀態(tài)轉(zhuǎn)換圖

(STD)數(shù)據(jù)流圖(DFD)數(shù)據(jù)對(duì)象說(shuō)明加工說(shuō)明數(shù)據(jù)字典DD控制說(shuō)明1.SA模型的組成20*當(dāng)前20頁(yè),總共169頁(yè)?!裨缙诘模▊鹘y(tǒng)的)結(jié)構(gòu)化分析模型是面向數(shù)據(jù)流的,采用“自頂向下、逐層分解”的分析策略,以數(shù)據(jù)字典(DD,DataDictionary)、數(shù)據(jù)流圖(DFD,DataFlowDiagram)、和加工說(shuō)明(PSPEC,ProcessSPECification)為主要工具,建立系統(tǒng)的邏輯模型(功能建模)。21*當(dāng)前21頁(yè),總共169頁(yè)。●擴(kuò)充后的結(jié)構(gòu)化分析模型,將建模技術(shù)擴(kuò)展到數(shù)據(jù)建模和行為建模,以數(shù)據(jù)字典(DD,DataDictionary)、實(shí)體-聯(lián)系圖(Entity-RelationDiagram,E-R圖)、狀態(tài)-遷移圖(StateTransformDiagram,STD)等為工具,從不同視點(diǎn)建立系統(tǒng)的分析模型?!癖菊n程主要講述傳統(tǒng)的結(jié)構(gòu)化分析模型22*當(dāng)前22頁(yè),總共169頁(yè)。2.SA模型的描述工具●傳統(tǒng)的結(jié)構(gòu)化分析采用3種描述工具:數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)

和加工說(shuō)明(PSPEC)。23*當(dāng)前23頁(yè),總共169頁(yè)。(1)數(shù)據(jù)流圖(DFD)①組成符號(hào)(數(shù)據(jù)流圖中的4種圖形元素)加工

(Prosess):對(duì)數(shù)據(jù)流進(jìn)行操作或變換數(shù)據(jù)源點(diǎn)或終點(diǎn)(又稱(chēng)外部實(shí)體:系統(tǒng)外的人員或組織)數(shù)據(jù)流(DataFlow):數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑數(shù)據(jù)文件(DataFile或DataStore):

文件與加工之間的數(shù)據(jù)流可以不命名;從文件流出的數(shù)據(jù)流表示讀文件或查詢(xún)文件;流向文件的數(shù)據(jù)流表示寫(xiě)文件或修改文件。(2)DFD的性質(zhì):需求分析中,用分層的數(shù)據(jù)流圖來(lái)表示。24*當(dāng)前24頁(yè),總共169頁(yè)。審查并開(kāi)發(fā)票1開(kāi)領(lǐng)書(shū)單2學(xué)生學(xué)生教材存量表購(gòu)書(shū)單無(wú)效書(shū)單發(fā)票領(lǐng)書(shū)單各班學(xué)生用書(shū)表圖3.7教材銷(xiāo)售系統(tǒng)的數(shù)據(jù)流圖25*當(dāng)前25頁(yè),總共169頁(yè)。描述銀行取款過(guò)程的數(shù)據(jù)流圖26*當(dāng)前26頁(yè),總共169頁(yè)。②DFD的性質(zhì)●DFD不能表示控制結(jié)構(gòu),如選擇結(jié)構(gòu)或循環(huán)結(jié)構(gòu)。●在需求分析中,常常用一組DFD圖由粗到細(xì)地表示不同級(jí)別上的功能模型,稱(chēng)之為分層數(shù)據(jù)流圖。27*當(dāng)前27頁(yè),總共169頁(yè)。(2)數(shù)據(jù)字典(DD)數(shù)據(jù)字典的作用:對(duì)軟件系統(tǒng)中的每個(gè)數(shù)據(jù)規(guī)定一個(gè)定義條目,以保持?jǐn)?shù)據(jù)在系統(tǒng)中的一致性。出現(xiàn)在軟件中的數(shù)據(jù)可分為3種情況:①只含一個(gè)數(shù)據(jù)的數(shù)據(jù)項(xiàng);②由多個(gè)數(shù)據(jù)項(xiàng)組成的數(shù)據(jù)流;③數(shù)據(jù)文件。28*當(dāng)前28頁(yè),總共169頁(yè)。數(shù)據(jù)字典定義式中的符號(hào)

符號(hào)

含義

舉例=定義為+與

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

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

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

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

x=1..9*¨¨¨*注釋

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

對(duì)數(shù)據(jù)文件的定義。

例3.4文件名:各班學(xué)生用書(shū)表組成:{系編號(hào)+專(zhuān)業(yè)和班編號(hào)+年級(jí)+{書(shū)號(hào)}}

也可寫(xiě)成公式的形狀,如:各班學(xué)生用書(shū)表={系編號(hào)+專(zhuān)業(yè)和班編號(hào)+年級(jí)+{書(shū)號(hào)}}31*當(dāng)前31頁(yè),總共169頁(yè)。③數(shù)據(jù)項(xiàng)(條目):

包含在數(shù)據(jù)流或數(shù)據(jù)文件中的數(shù)據(jù)項(xiàng),一般都應(yīng)在字典中設(shè)置相應(yīng)的條目。例如:系編號(hào)=2{數(shù)字}2*二位數(shù)字,如01,12*

年級(jí)=[F/M/J/S]*F:一年級(jí)(Freshman);M:二年級(jí)(sophoMore);

J:三年級(jí)(Junior);S:四年級(jí)(Senior)*32*當(dāng)前32頁(yè),總共169頁(yè)。存折格式33*當(dāng)前33頁(yè),總共169頁(yè)。存折=戶(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ù)核34*當(dāng)前34頁(yè),總共169頁(yè)。(3)加工說(shuō)明(條目):

(ProcessSPECification,PSPEC)

●對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)加工說(shuō)明,其主要內(nèi)容如下所示:(1)加工名;

(2)加工編號(hào);

(3)輸入數(shù)據(jù)流;

(4)輸出數(shù)據(jù)流;

(5)加工邏輯;

(6)執(zhí)行頻率。其中最重要的是加工邏輯。35*當(dāng)前35頁(yè),總共169頁(yè)?!窦庸み壿嬅枋龌炯庸と绾伟演斎霐?shù)據(jù)流變換為輸出數(shù)據(jù)流的加工策略,而不需描述實(shí)現(xiàn)加工的細(xì)節(jié)。●加工邏輯通常采用結(jié)構(gòu)化語(yǔ)言(StructuredLangauge)、判定表(DecisionTable)、或判定樹(shù)(DecisionTree)作為描述工具。36*當(dāng)前36頁(yè),總共169頁(yè)。①結(jié)構(gòu)化語(yǔ)言(StructuredLanguage)●是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言。●結(jié)構(gòu)化語(yǔ)言可使用順序、選擇、循環(huán)等控制結(jié)構(gòu),其中選擇和循環(huán)結(jié)構(gòu)可分為內(nèi)外二層,外層有嚴(yán)格的語(yǔ)法,內(nèi)層語(yǔ)法比較靈活,可以用自然語(yǔ)言來(lái)表示?!窠Y(jié)構(gòu)化語(yǔ)言的三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu):if_then_else或switch_do;循環(huán)結(jié)構(gòu):while_do或for_do

或do_while。37*當(dāng)前37頁(yè),總共169頁(yè)。例3.6售書(shū)系統(tǒng)中“審查并開(kāi)發(fā)票”的加工邏輯對(duì)購(gòu)書(shū)單上的的每一個(gè)書(shū)號(hào)if(學(xué)生用書(shū)表中無(wú)此書(shū)號(hào))then把書(shū)號(hào)寫(xiě)到出錯(cuò)通知上else按書(shū)號(hào)檢索“教材存量表”,獲得該書(shū)的單價(jià)和庫(kù)存量

if(庫(kù)存量<購(gòu)書(shū)單上的數(shù)量)then進(jìn)行缺書(shū)登記

else將書(shū)號(hào)、單價(jià)、數(shù)量、總價(jià)等寫(xiě)入發(fā)票;更新

“教材存量表”。38*當(dāng)前38頁(yè),總共169頁(yè)。結(jié)構(gòu)化語(yǔ)言特點(diǎn):

簡(jiǎn)單,易學(xué),少二義性。不好處理組合條件。39*當(dāng)前39頁(yè),總共169頁(yè)。②判定表或判定樹(shù)●判定表(DecisionTable)如果數(shù)據(jù)流圖的加工需要依賴(lài)于多個(gè)邏輯條件的取值,使用判定表來(lái)描述比較合適。40*當(dāng)前40頁(yè),總共169頁(yè)。判定表特點(diǎn):可處理較復(fù)雜的組合條件,但不易理解.不易輸入計(jì)算機(jī)。通常由四部分組成。條件框—條件定義。操作框—操作的定義。條件條目—各條件的取值及組合。操作條目—在各條件取值組合下所執(zhí)行的操作。例如:對(duì)商店每天的營(yíng)業(yè)額所收稅率41*當(dāng)前41頁(yè),總共169頁(yè)。42*當(dāng)前42頁(yè),總共169頁(yè)。例3.7某公司對(duì)推銷(xiāo)員的獎(jiǎng)勵(lì)辦法:(1)每周推銷(xiāo)金額≤10000元,按預(yù)收貨款是否超過(guò)50%,分別獎(jiǎng)勵(lì)推銷(xiāo)額的6%或4%;

(2)每周推銷(xiāo)金額>10000元,按預(yù)收貨款是否超過(guò)50%,分別獎(jiǎng)勵(lì)推銷(xiāo)額的8%或5%;

(3)對(duì)于月薪<1000元的推銷(xiāo)員,分別另發(fā)鼓勵(lì)獎(jiǎng)300、200和500、300元。1234推銷(xiāo)金額>10000≤10000>10000≤10000預(yù)收貸款>50%>50%≤50%≤50%獎(jiǎng)金率8%6%5%4%若月薪<1000元,另加鼓勵(lì)獎(jiǎng)500300300200圖3.9判定表的示例43*當(dāng)前43頁(yè),總共169頁(yè)。②判定樹(shù)(DecisionTree)判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)它比判定表更直觀。44*當(dāng)前44頁(yè),總共169頁(yè)。

推銷(xiāo)金額預(yù)收貨款推銷(xiāo)員工資獎(jiǎng)金率

≤10008%+500

>50%

>10008%>10000

≤10005%+300

≤50%

>10005%推銷(xiāo)獎(jiǎng)金策略

≤10006%+300

>50%

>10006%

≤10000≤10004%+200

≤50%

>10004%圖3.10判定樹(shù)的示例45*當(dāng)前45頁(yè),總共169頁(yè)。

例子:

商店業(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ā)貨單

46*當(dāng)前46頁(yè),總共169頁(yè)。以“檢查發(fā)貨單”為例47*當(dāng)前47頁(yè),總共169頁(yè)。判定樹(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ā)貨單48*當(dāng)前48頁(yè),總共169頁(yè)。3.1.3SD模型的組成與描述

1.SD模型的組成過(guò)程設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)(SC圖)數(shù)據(jù)設(shè)計(jì)圖3.11SD模型的組成49*當(dāng)前49頁(yè),總共169頁(yè)。2.SD模型的描述工具●體系結(jié)構(gòu)設(shè)計(jì)是用來(lái)確定軟件結(jié)構(gòu)的,其描述工具為結(jié)構(gòu)圖(StructureChart),簡(jiǎn)稱(chēng)SC圖。

(1)SC圖的組成符號(hào):●SD方法約定:(1)用矩形框表示模塊;(2)用箭頭或直線表示模塊間的調(diào)用關(guān)系;(3)在調(diào)用線的兩旁用短箭頭表示傳入和傳出模塊的數(shù)據(jù)流。ABCX,YZZ50*當(dāng)前50頁(yè),總共169頁(yè)。傳入模塊XY傳出模塊YX變換模塊XY控制模塊XXYY●SC圖中允許使用的6種模塊源模塊X漏模塊X(a)(b)(c)(d)(e)(f)51*當(dāng)前51頁(yè),總共169頁(yè)。(a)傳入模塊

─從下屬模塊取得數(shù)據(jù),經(jīng)過(guò)某些處理,再將其傳送給上級(jí)模塊。它傳送的數(shù)據(jù)流叫做邏輯輸入流。(b)傳出模塊

─從上級(jí)模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其傳送給下屬模塊。它傳送的數(shù)據(jù)流叫做邏輯輸出流。(c)變換模塊─它從上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其它形式,再傳送回上級(jí)模塊。52*當(dāng)前52頁(yè),總共169頁(yè)。(d)源模塊

─處于傳入部分的始端,它不調(diào)用其它模塊。它傳送的數(shù)據(jù)流叫做物理輸入流。(e)漏(終)模塊

─處于傳出部分的末端,它不調(diào)用其它模塊。它傳送的數(shù)據(jù)流叫做物理輸出流。(f)控制模塊─對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。它只調(diào)用其它模塊,不受其它模塊調(diào)用。53*當(dāng)前53頁(yè),總共169頁(yè)。

(2)SC圖中的模塊調(diào)用

(a)簡(jiǎn)單調(diào)用

A

B

CX,YZZ54*當(dāng)前54頁(yè),總共169頁(yè)。

(b)選擇調(diào)用:用菱型符號(hào)表示。(c)循環(huán)調(diào)用:用疊加在調(diào)用線始端的環(huán)形表示。A

BCA

BCD(a)選擇調(diào)用示意圖(b)循環(huán)調(diào)用示意圖55*當(dāng)前55頁(yè),總共169頁(yè)。

●畫(huà)SC圖的注意事項(xiàng)

(1)同名的模塊在SC圖中僅出現(xiàn)一次;(2)模塊之間的調(diào)用關(guān)系只能從上而下,因而模塊間的調(diào)用關(guān)系可以用直線表示;(3)同一層模塊的調(diào)用次序,習(xí)慣上自左到右。56*當(dāng)前56頁(yè),總共169頁(yè)。3.2結(jié)構(gòu)化系統(tǒng)分析

(SA,StructuredAnalysis)結(jié)構(gòu)化分析就是使用DFD、DD、結(jié)構(gòu)化語(yǔ)言、判定表和判定樹(shù)等工具,來(lái)建立一種稱(chēng)為結(jié)構(gòu)化說(shuō)明書(shū)(即需求規(guī)格說(shuō)明書(shū))的目標(biāo)文檔。結(jié)構(gòu)化分析的基本步驟是:

(1)自頂向下對(duì)系統(tǒng)進(jìn)行功能分解,畫(huà)出分層的DFD圖;(2)編制DD和PSPEC;(3)寫(xiě)出SRS。57*當(dāng)前57頁(yè),總共169頁(yè)。3.2.1畫(huà)分層數(shù)據(jù)流圖大型復(fù)雜的軟件系統(tǒng),其DFD可能含有數(shù)百乃至數(shù)千個(gè)加工,不可能一次將它們畫(huà)完整。正確的做法是:從系統(tǒng)的基本模型(把整個(gè)系統(tǒng)看成一個(gè)加工)開(kāi)始,逐層地對(duì)系統(tǒng)進(jìn)行分解。每分解一次,系統(tǒng)的加工數(shù)量就增多一些,加工的功能也更具體一些。繼續(xù)重復(fù)這種分解,直到所有的加工都足夠簡(jiǎn)單為止。不需再分解的加工稱(chēng)為“基本加工”。上述分解方法稱(chēng)為“自頂向下、逐步細(xì)化”(Top-DownStepwiseRefinement)。58*當(dāng)前58頁(yè),總共169頁(yè)。分層的數(shù)據(jù)流圖59*當(dāng)前59頁(yè),總共169頁(yè)?!鰯?shù)據(jù)流圖繪制步驟(1)畫(huà)系統(tǒng)的輸入和輸出(頂層圖):●頂層圖表示系統(tǒng)與外部實(shí)體之間的數(shù)據(jù)交換關(guān)系。①頂層圖只包含一個(gè)加工(加工名即為系統(tǒng)名);②頂層圖描述系統(tǒng)與外部實(shí)體之間的數(shù)據(jù)流,即系統(tǒng)從哪些外部實(shí)體接收數(shù)據(jù),發(fā)送數(shù)據(jù)到哪些外部實(shí)體。③頂層圖只有一張,60*當(dāng)前60頁(yè),總共169頁(yè)。(2)畫(huà)系統(tǒng)的內(nèi)部:●第二層DFD圖(有些教科書(shū)上稱(chēng)為0層圖):①分解頂層圖為n個(gè)加工,系統(tǒng)有幾個(gè)功能,就分解為幾個(gè)加工;②描述加工與外部實(shí)體之間、加工與數(shù)據(jù)文件之間、加工與加工之間的數(shù)據(jù)流。

③第二層層圖只有一張,圖中的加工號(hào)為“1,2,…,n”。61*當(dāng)前61頁(yè),總共169頁(yè)?!癞?huà)更下層數(shù)據(jù)流圖(第3層圖、第4層圖、...)時(shí),則分解上層圖中的加工,直到圖中尚未分解的加工都足夠簡(jiǎn)單為止。子圖號(hào)就是父圖中被分解的加工號(hào);子圖中加工號(hào)由圖號(hào)、小數(shù)點(diǎn)和序號(hào)組成。62*當(dāng)前62頁(yè),總共169頁(yè)。在多層數(shù)據(jù)流圖中頂層流圖僅包含一個(gè)加工,它代表被開(kāi)發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù);底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層;中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。首先要注意抽取數(shù)據(jù)流圖的四種成分:源點(diǎn)/終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流63*當(dāng)前63頁(yè),總共169頁(yè)。

參考原則一個(gè)加工每次分解得到的子加工數(shù)最多不要超過(guò)7個(gè)。分解要自然,概念上要合理、清晰。只要不影響數(shù)據(jù)流圖的易理解性,可適當(dāng)?shù)囟喾纸獬蓭撞糠郑詼p少分解圖的層數(shù)。一般在上層可分解得快些,而在中、下層應(yīng)分解得慢些。64*當(dāng)前64頁(yè),總共169頁(yè)。例3.8教材購(gòu)銷(xiāo)系統(tǒng),功能如下:(1)根據(jù)教學(xué)計(jì)劃,向?qū)W生供應(yīng)所需的教材。①系統(tǒng)接受學(xué)生的購(gòu)書(shū)單,檢驗(yàn)購(gòu)書(shū)單。若教材庫(kù)存量充足,進(jìn)行售書(shū)處理,即修改教材存量表,給學(xué)生開(kāi)發(fā)票和領(lǐng)書(shū)單,學(xué)生憑單到書(shū)庫(kù)領(lǐng)書(shū);②若教材庫(kù)存量不足,對(duì)脫銷(xiāo)的教材進(jìn)行缺書(shū)登記。(2)根據(jù)缺書(shū)登記表采購(gòu)所缺的教材,通知學(xué)生補(bǔ)購(gòu)。①按缺書(shū)登記表進(jìn)行匯總,并按出版社統(tǒng)計(jì)缺書(shū),將缺書(shū)單發(fā)給書(shū)庫(kù)保管員,以便采購(gòu)。②待購(gòu)教材到貨后,根據(jù)書(shū)庫(kù)保管員發(fā)來(lái)的進(jìn)書(shū)通知單進(jìn)行缺書(shū)銷(xiāo)售,即修改教材存量表,并從缺書(shū)登記表中取出缺書(shū)單進(jìn)行售書(shū)處理。65*當(dāng)前65頁(yè),總共169頁(yè)。教材購(gòu)銷(xiāo)系統(tǒng)產(chǎn)生補(bǔ)售書(shū)單書(shū)庫(kù)保管員缺書(shū)單進(jìn)書(shū)缺書(shū)登記匯總并統(tǒng)計(jì)缺書(shū)學(xué)生購(gòu)書(shū)單審查有效性開(kāi)發(fā)票學(xué)生用書(shū)表售書(shū)登記表教材存量表發(fā)書(shū)領(lǐng)書(shū)單打印領(lǐng)書(shū)單并登記售書(shū)收費(fèi)蓋章發(fā)票打印發(fā)票購(gòu)書(shū)售書(shū)66*當(dāng)前66頁(yè),總共169頁(yè)。教材購(gòu)銷(xiāo)系統(tǒng)書(shū)庫(kù)保管員學(xué)生購(gòu)書(shū)單領(lǐng)書(shū)單無(wú)效書(shū)單缺書(shū)單進(jìn)書(shū)通知圖3.14頂層圖67*當(dāng)前67頁(yè),總共169頁(yè)。(p52)1銷(xiāo)售2采購(gòu)學(xué)生書(shū)庫(kù)保管員進(jìn)書(shū)通知教材存量表缺書(shū)登記表購(gòu)書(shū)單領(lǐng)書(shū)單無(wú)效書(shū)單缺書(shū)單進(jìn)書(shū)通知圖3.15第二層圖68*當(dāng)前68頁(yè),總共169頁(yè)。1.1審查有效性1.2購(gòu)書(shū)數(shù)量審核進(jìn)書(shū)通知F1教材存量表F2缺書(shū)登記表購(gòu)書(shū)單領(lǐng)書(shū)單無(wú)效書(shū)單F3學(xué)生用書(shū)表暫缺書(shū)單圖3.16第三層圖:圖1銷(xiāo)售子系統(tǒng)1.6產(chǎn)生補(bǔ)售書(shū)單1.5登記缺書(shū)1.4登記售書(shū)和打印領(lǐng)書(shū)單F4售書(shū)登記表發(fā)票有效購(gòu)書(shū)單補(bǔ)售書(shū)單學(xué)生采購(gòu)學(xué)生69*當(dāng)前69頁(yè),總共169頁(yè)。圖3.17第三層DFD—采購(gòu)子系統(tǒng)2.3修改教材庫(kù)存和待購(gòu)量2.1按書(shū)號(hào)匯總?cè)睍?shū)2.2按出版社統(tǒng)計(jì)缺書(shū)缺書(shū)登記表教材存量表待購(gòu)教材表教材一覽表進(jìn)書(shū)通知進(jìn)書(shū)通知缺書(shū)單書(shū)庫(kù)保管員銷(xiāo)售70*當(dāng)前70頁(yè),總共169頁(yè)。3.2.2編寫(xiě)數(shù)據(jù)定義(數(shù)據(jù)字典)與加工說(shuō)明●最底層的DFD圖包含了系統(tǒng)的全部數(shù)據(jù)和加工。在底層圖中,從數(shù)據(jù)的終點(diǎn)開(kāi)始,沿著DFD圖一步步向數(shù)據(jù)源點(diǎn)回溯,較易看清數(shù)據(jù)流中每一個(gè)數(shù)據(jù)項(xiàng)的來(lái)龍去脈,也易于搞清每個(gè)數(shù)據(jù)文件的組成以及各個(gè)加工的加工策略。71*當(dāng)前71頁(yè),總共169頁(yè)。例如,圖3.16中,“領(lǐng)書(shū)單”是主要輸出數(shù)據(jù)流,按:領(lǐng)書(shū)單發(fā)票有效購(gòu)書(shū)單購(gòu)書(shū)單的次序回溯,可以得到各數(shù)據(jù)流、數(shù)據(jù)文件以及加工說(shuō)明的定義,如:◆領(lǐng)書(shū)單=學(xué)號(hào)+姓名+{書(shū)號(hào)+數(shù)量}◆發(fā)票=學(xué)號(hào)+姓名+{書(shū)號(hào)+單價(jià)+數(shù)量+總價(jià)}+書(shū)費(fèi)合計(jì)◆有效購(gòu)書(shū)單=學(xué)號(hào)+姓名+{書(shū)號(hào)+數(shù)量}◆教材存量表={書(shū)號(hào)+單價(jià)+數(shù)量}72*當(dāng)前72頁(yè),總共169頁(yè)。3.2.3需求分析的復(fù)審(RequirementReview)●需求分析的文檔完成后,應(yīng)由用戶(hù)、系統(tǒng)分析員、設(shè)計(jì)人員等組成的復(fù)審小組進(jìn)行復(fù)審。復(fù)審的重點(diǎn)是文檔的完整性、易改性和易讀性,盡可能多地發(fā)現(xiàn)文檔中存在的矛盾、冗余和遺漏。●以下是幾個(gè)注意點(diǎn):73*當(dāng)前73頁(yè),總共169頁(yè)。(1)注意DFD圖的加工編號(hào):●在數(shù)據(jù)流圖中,需按層給加工編號(hào)。編號(hào)表明該加工所處的層次及上下層的父子關(guān)系?!耥攲訄D中的加工不編號(hào)。第二層圖中的加工編號(hào)為:1,2,…,n。第三層圖中的加工編號(hào)為:1.1,1.2,…;2.1,2.2,…;…;n.1,n.2,…等,以此類(lèi)推。74*當(dāng)前74頁(yè),總共169頁(yè)。(2)不論加工、數(shù)據(jù)文件和數(shù)據(jù)流,都應(yīng)該命名(文件與加工之間的數(shù)據(jù)流可以不命名)。(3)每個(gè)加工必須既有輸入流,又有輸出流。一個(gè)加工的輸出流不應(yīng)與輸入流同名。75*當(dāng)前75頁(yè),總共169頁(yè)。(4)父圖和子圖的平衡:●父圖(中某個(gè)加工)和(相應(yīng)的)子圖的輸入流和輸出流(在數(shù)量和名稱(chēng)上)應(yīng)分別保持一致,稱(chēng)為父圖和子圖的平衡。(若父圖的一個(gè)數(shù)據(jù)流對(duì)應(yīng)子圖中的幾個(gè)數(shù)據(jù)流,而組成這些數(shù)據(jù)流的數(shù)據(jù)項(xiàng)全體正好是父圖中的這個(gè)數(shù)據(jù)流,也算是平衡的。)76*當(dāng)前76頁(yè),總共169頁(yè)。父圖與子圖的平衡12345ABGDEPSZT父圖4.34.5DEPUYRW子圖77*當(dāng)前77頁(yè),總共169頁(yè)。不平衡的父圖與子圖父圖13ABMNTCNPQST子圖78*當(dāng)前78頁(yè),總共169頁(yè)。.3發(fā)票領(lǐng)書(shū)單學(xué)生姓名書(shū)費(fèi)總價(jià)領(lǐng)書(shū)單(a)父圖父圖和子圖平衡的示意圖(b)子圖(發(fā)票=學(xué)生姓名+書(shū)費(fèi)總價(jià))79*當(dāng)前79頁(yè),總共169頁(yè)。(5)分解的速度宜均勻:●同一圖中的各個(gè)加工,分解的步子應(yīng)大致均勻,保持同步擴(kuò)展。每一加工每次可分為2~4個(gè)加工,最多不超過(guò)7個(gè)。80*當(dāng)前80頁(yè),總共169頁(yè)。(6)未區(qū)分局部文件和局部外部項(xiàng)規(guī)則除底層DFD需畫(huà)出全部文件外,各中間層的DFD僅顯示處于加工之間的接口文件,其余文件均不必畫(huà)出。81*當(dāng)前81頁(yè),總共169頁(yè)。82*當(dāng)前82頁(yè),總共169頁(yè)。(p52)1銷(xiāo)售2采購(gòu)學(xué)生書(shū)庫(kù)保管員進(jìn)書(shū)通知教材存量表缺書(shū)登記表購(gòu)書(shū)單領(lǐng)書(shū)單無(wú)效書(shū)單缺書(shū)單進(jìn)書(shū)通知圖3.15第二層圖83*當(dāng)前83頁(yè),總共169頁(yè)。銷(xiāo)售是處于采購(gòu)之外的一個(gè)外部項(xiàng)第三層DFD—采購(gòu)子系統(tǒng)2.3修改教材庫(kù)存和待購(gòu)量2.1按書(shū)號(hào)匯總?cè)睍?shū)2.2按出版社統(tǒng)計(jì)缺書(shū)缺書(shū)登記表教材存量表待購(gòu)教材表教材一覽表進(jìn)書(shū)通知進(jìn)書(shū)通知缺書(shū)單書(shū)庫(kù)保管員銷(xiāo)售84*當(dāng)前84頁(yè),總共169頁(yè)。總結(jié):畫(huà)DFD的4步驟1、抽取數(shù)據(jù)流圖的四種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流。2、繪制基本系統(tǒng)模型頂層數(shù)據(jù)流圖,基本系統(tǒng)模型3、細(xì)化基本系統(tǒng)模型,描繪系統(tǒng)的主要功能功能級(jí)數(shù)據(jù)流圖在圖中給處理和數(shù)據(jù)存儲(chǔ)都加了編號(hào),這樣做的目的是便于引用和追蹤。4、對(duì)功能級(jí)數(shù)據(jù)流圖中描繪的系統(tǒng)主要功能進(jìn)一步細(xì)化模塊級(jí)數(shù)據(jù)流圖85*當(dāng)前85頁(yè),總共169頁(yè)。經(jīng)過(guò)初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)。2、定時(shí)更新病歷。3、病員出現(xiàn)異常情況時(shí)報(bào)警。4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。實(shí)例:醫(yī)院病房監(jiān)護(hù)系統(tǒng)產(chǎn)生病情報(bào)告監(jiān)視病情更新病歷86*當(dāng)前86頁(yè),總共169頁(yè)。系統(tǒng)功能要求:

1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)

2、定時(shí)更新病歷

3、病員出現(xiàn)異常情況時(shí)報(bào)警。

4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。頂層:病員護(hù)士護(hù)士病員監(jiān)護(hù)系統(tǒng)病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警例2醫(yī)院病房監(jiān)護(hù)系統(tǒng)87*當(dāng)前87頁(yè),總共169頁(yè)。第一層:病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)格式化病員數(shù)據(jù)生理信號(hào)極限值1324日志數(shù)據(jù)日志數(shù)據(jù)醫(yī)院病房監(jiān)護(hù)系統(tǒng)頂層DFD圖88*當(dāng)前88頁(yè),總共169頁(yè)。第三層:加工“中央監(jiān)視”分解計(jì)算超過(guò)極限值否病員數(shù)據(jù)超過(guò)極限值報(bào)警開(kāi)解信號(hào)產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.4醫(yī)院病房監(jiān)護(hù)系統(tǒng)三層DFD圖89*當(dāng)前89頁(yè),總共169頁(yè)。計(jì)算超過(guò)極限值否病員數(shù)據(jù)超過(guò)極限值報(bào)警開(kāi)解信號(hào)產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫、脈搏生理信號(hào)極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.4第三層:加工“中央監(jiān)視”分解醫(yī)院病房監(jiān)護(hù)系統(tǒng)分層DFD圖第二層格式化病員數(shù)據(jù)生理信號(hào)極限值病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號(hào)要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)1324日志數(shù)據(jù)90*當(dāng)前90頁(yè),總共169頁(yè)。(第3章補(bǔ)充習(xí)題)17.某銀行儲(chǔ)蓄系統(tǒng)功能是:將儲(chǔ)戶(hù)填寫(xiě)的存款單或取款單輸入系統(tǒng)。如果是存款,系統(tǒng)將儲(chǔ)戶(hù)的存款信息(姓名、住址、存款日期、存款類(lèi)型、存款金額、利率等)記錄在帳戶(hù)文件中,并打印存款清單給儲(chǔ)戶(hù);如果是取款,系統(tǒng)先查詢(xún)帳戶(hù)文件,并打印取款清單給儲(chǔ)戶(hù)。

(1)畫(huà)出該問(wèn)題的數(shù)據(jù)流圖的頂層圖和第二層圖。

(2)以公式的形式建立數(shù)據(jù)流條目“存款單”。91*當(dāng)前91頁(yè),總共169頁(yè)。(第3章補(bǔ)充習(xí)題)17.某銀行儲(chǔ)蓄系統(tǒng)功能是:將儲(chǔ)戶(hù)填寫(xiě)的存款單或取款單輸入系統(tǒng)。如果是存款,系統(tǒng)將儲(chǔ)戶(hù)的存款信息(姓名、住址、存款日期、存款類(lèi)型、存款金額、利率等)記錄在帳戶(hù)文件中,并打印存款清單給儲(chǔ)戶(hù);如果是取款,系統(tǒng)先查詢(xún)帳戶(hù)文件,并打印取款清單給儲(chǔ)戶(hù)。

(1)畫(huà)出該問(wèn)題的數(shù)據(jù)流圖的頂層圖和第二層圖。

(2)以公式的形式建立數(shù)據(jù)流條目“存款單”。92*當(dāng)前92頁(yè),總共169頁(yè)。3.3結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)(SD,StructuredDesign)3.3.1SD概述

1.面向數(shù)據(jù)流的設(shè)計(jì)和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)●按照出發(fā)點(diǎn)的不同,傳統(tǒng)的軟件設(shè)計(jì)又可分為面向數(shù)據(jù)流的設(shè)計(jì)和面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)兩大類(lèi)。前者以結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign,SD)為主要代表,后者以Jackson方法為主要代表。93*當(dāng)前93頁(yè),總共169頁(yè)?!裨诿嫦驍?shù)據(jù)流的方法中,數(shù)據(jù)流是考慮一切問(wèn)題的出發(fā)點(diǎn)。在分析階段,用數(shù)據(jù)流圖來(lái)表示系統(tǒng)的邏輯模型;在設(shè)計(jì)階段,按照數(shù)據(jù)流圖的不同類(lèi)型(變換型或事務(wù)型)將它們轉(zhuǎn)換為相應(yīng)的軟件結(jié)構(gòu)圖。94*當(dāng)前94頁(yè),總共169頁(yè)?!馢ackson方法以數(shù)據(jù)結(jié)構(gòu)作為分析與設(shè)計(jì)的基礎(chǔ),認(rèn)為算法的結(jié)構(gòu)在很大程度上依賴(lài)于它要處理的問(wèn)題的數(shù)據(jù)結(jié)構(gòu),因此可以由該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出它的程序結(jié)構(gòu)。面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法主要用于小型數(shù)據(jù)處理系統(tǒng)的開(kāi)發(fā),一般情況下也適合于在詳細(xì)設(shè)計(jì)階段使用.95*當(dāng)前95頁(yè),總共169頁(yè)。2.從分析模型導(dǎo)出設(shè)計(jì)模型數(shù)據(jù)字典數(shù)據(jù)流圖實(shí)體關(guān)系圖狀態(tài)遷移圖加工規(guī)格說(shuō)明控制規(guī)格說(shuō)明數(shù)據(jù)對(duì)象描述過(guò)程設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)(SC)數(shù)據(jù)設(shè)計(jì)96*當(dāng)前96頁(yè),總共169頁(yè)。數(shù)據(jù)設(shè)計(jì)把分析階段創(chuàng)建的信息域模型轉(zhuǎn)變成實(shí)現(xiàn)軟件所需要的數(shù)據(jù)結(jié)構(gòu)。體系結(jié)構(gòu)設(shè)計(jì)確定了程序的主要結(jié)構(gòu)元素(即程序構(gòu)件)之間的關(guān)系。接口設(shè)計(jì)的結(jié)果描述了軟件內(nèi)部、軟件與協(xié)作系統(tǒng)之間以及軟件與使用者之間的通信方式。過(guò)程設(shè)計(jì)把程序體系結(jié)構(gòu)中的結(jié)構(gòu)元素,變換成對(duì)軟件構(gòu)件的過(guò)程性描述。在軟件設(shè)計(jì)期間我們所做出的決策,將最終決定軟件開(kāi)發(fā)能否成功,更重要的是,這些設(shè)計(jì)決策將決定軟件維護(hù)的難易程度。97*當(dāng)前97頁(yè),總共169頁(yè)。3.3.2SD的步驟:從DFD圖到SC圖

1.數(shù)據(jù)流圖的類(lèi)型:

有兩種形式,即 變換型(TransformFlow

)和 事務(wù)型(TransactionFlow

)。98*當(dāng)前98頁(yè),總共169頁(yè)。(1)變換型結(jié)構(gòu)(TransformFlow

)

●變換型結(jié)構(gòu)由三部分組成:傳入路徑(AfferentPath)、變換中心(TransformCenter)和傳出路徑(EfferentPath)。流經(jīng)這3個(gè)部分的數(shù)據(jù)流分別稱(chēng)為:傳入流、變換流和傳出流?!褡儞Q中心的任務(wù)是:通過(guò)計(jì)算或處理,把系統(tǒng)的傳入流變換為傳出流。傳入路徑變換中心傳出路徑傳入流變換流傳出流99*當(dāng)前99頁(yè),總共169頁(yè)。變換型結(jié)構(gòu)

組成傳入路徑變換中心傳出路徑

數(shù)據(jù)流傳入流變換流傳出流變換中心:通過(guò)計(jì)算或處理,將系統(tǒng)的傳入流變?yōu)閭鞒隽?。又稱(chēng)加工中心。傳入流:離輸入始端最遠(yuǎn)但仍可被看作系統(tǒng)輸入的那些數(shù)據(jù)流。傳出流:離輸出末端最遠(yuǎn)但仍可被看作系統(tǒng)輸出的那些數(shù)據(jù)流。變換中心傳入傳出信息傳入流傳出流變換流時(shí)間基本模型數(shù)據(jù)流100*當(dāng)前100頁(yè),總共169頁(yè)。ABCaPRWQUVDEbcrwdevup傳入部分變換中心傳出部分圖3.23變換型結(jié)構(gòu)的模型101*當(dāng)前101頁(yè),總共169頁(yè)。(2)事務(wù)型結(jié)構(gòu)(TransactionFlow)●事務(wù)型結(jié)構(gòu)由至少一條接收路徑(ReceivePath)、一個(gè)事務(wù)中心(TransactionCenter)和若干條動(dòng)作路徑(ActionPath)組成。當(dāng)外部信息沿著接收路徑進(jìn)入系統(tǒng)后,經(jīng)過(guò)事務(wù)中心處理,獲得某一個(gè)特定值,并據(jù)此啟動(dòng)某一動(dòng)作路徑的操作。示意圖如下:事務(wù)中心接收路徑動(dòng)作路徑圖3.21事務(wù)型結(jié)構(gòu)的基本模型………………102*當(dāng)前102頁(yè),總共169頁(yè)。事務(wù)型組成一條接受路徑一個(gè)事務(wù)中心若干條動(dòng)作路徑特征具有在多種事務(wù)中執(zhí)行某類(lèi)事務(wù)的能力。事務(wù)中心接受路徑動(dòng)作路徑基本模型事務(wù)中心通常位于DFD圖中多條動(dòng)作路徑的起點(diǎn);向事務(wù)中心提供信息的路徑,是系統(tǒng)的接受路徑;動(dòng)作路徑通常不止一條,且每條均具有自己的結(jié)構(gòu)特性(變換或事務(wù)型)103*當(dāng)前103頁(yè),總共169頁(yè)。2.SD方法的步驟●SD方法規(guī)定了下列4個(gè)步驟:(1)重審數(shù)據(jù)流圖,必要時(shí)可再次進(jìn)行修改或細(xì)化;(2)鑒別數(shù)據(jù)流圖的結(jié)構(gòu)特征,確定它是屬于變換型還是事務(wù)型;(3)按照SD方法規(guī)定的一組規(guī)則(變換映射或事務(wù)映射),把DFD圖轉(zhuǎn)換為初始的SC圖;變換型DFD圖初始SC圖變換映射事務(wù)型DFD圖初始SC圖事務(wù)映射(4)優(yōu)化初始的SC圖,獲得最終的SC圖。104*當(dāng)前104頁(yè),總共169頁(yè)。兩種映射方法變換映射事務(wù)映射變換型DFD圖事務(wù)型DFD圖初始SC圖初始SC圖變換映射事務(wù)映射105*當(dāng)前105頁(yè),總共169頁(yè)。適用于將變換型結(jié)構(gòu)的DFD圖轉(zhuǎn)換為初始軟件結(jié)構(gòu)圖。步驟如下:1、區(qū)分傳入、傳出和變換中心三個(gè)部分,在DFD圖上標(biāo)明它們的分界線(1)變換中心的任務(wù):通過(guò)計(jì)算或處理,把系統(tǒng)的邏輯輸入變換(或加工)為系統(tǒng)的邏輯輸出。(2)邏輯輸入(傳入數(shù)據(jù)項(xiàng)):離物理輸入端(輸入始端)最遠(yuǎn),但仍可以被看作系統(tǒng)輸入的那些數(shù)據(jù)流。5.2.3變換映射106*當(dāng)前106頁(yè),總共169頁(yè)。(3)邏輯輸出(傳出數(shù)據(jù)項(xiàng)):離物理輸出端(輸出末端)最遠(yuǎn),但仍可以被看作系統(tǒng)輸出的那些數(shù)據(jù)流。(4)數(shù)據(jù)在系統(tǒng)中流動(dòng)時(shí),不僅在通過(guò)變換中心時(shí)要被變換,在傳入路徑和傳出路徑上,其內(nèi)容和形式也可能發(fā)生變化。故變換中心又稱(chēng)為“中心加工”,以區(qū)別于數(shù)據(jù)在傳入傳出過(guò)程中的其它加工。(5)劃分的結(jié)果可能會(huì)受經(jīng)驗(yàn)的影響,但必須從實(shí)際情況出發(fā),對(duì)DFD圖作認(rèn)真和細(xì)致的分析(6)幾種可能遇到的情況及其處理方法107*當(dāng)前107頁(yè),總共169頁(yè)。有些系統(tǒng)沒(méi)有中心加工,系統(tǒng)的邏輯輸入和邏輯輸出是完全相同的數(shù)據(jù)流,應(yīng)將DFD劃分為傳入和傳出兩部分,不要強(qiáng)求一律硬分成三個(gè)部分。除傳入部分外,在變換中心甚至傳出部分也可能從系統(tǒng)外接受某些輸入數(shù)據(jù)流,稱(chēng)為二次傳入數(shù)據(jù)。該數(shù)據(jù)不應(yīng)當(dāng)作傳入部分的一部分。有些DFD圖可能失之太粗,缺少應(yīng)有的細(xì)節(jié),可考慮對(duì)自己用于分析的DFD進(jìn)行補(bǔ)充。108*當(dāng)前108頁(yè),總共169頁(yè)。109*當(dāng)前109頁(yè),總共169頁(yè)。完成“第一級(jí)分解”,建立初始SC圖的框架。包括頂層控制模塊和第一層模塊。兩種畫(huà)法:a.頂層控制模塊+傳入、傳出和中心變換3個(gè)一層模塊b.頂層控制模塊+按照傳入、傳出實(shí)際數(shù)據(jù)流數(shù)和中心變換模塊數(shù)確定數(shù)量的模塊110*當(dāng)前110頁(yè),總共169頁(yè)。McMTMAMEc,ew,uc,ew,uMcPcRME1ME2MA1MA2Qeepc,prrw,uwu111*當(dāng)前111頁(yè),總共169頁(yè)。3.3.3變換映射(TransformMapping

)●變換映射的3個(gè)主要步驟:(1)劃分DFD圖的邊界:區(qū)分傳入部分、傳出部分和變換中心;(2)建立初始SC圖的框架:進(jìn)行第一級(jí)分解,設(shè)計(jì)上層模塊——頂層和第一層;(3)分解SC圖的各個(gè)分支:進(jìn)行第二級(jí)分解,設(shè)計(jì)傳入分支、傳出分支和變換中心的中、下層模塊。112*當(dāng)前112頁(yè),總共169頁(yè)。ABCaPRWQUVDEbcrwdevup例3.9第一步:劃分DFD圖的邊界:區(qū)分傳入部分、傳出部分和變換中心。圖3.23劃分傳入部分、傳出部分和變換中心傳入部分變換中心傳出部分113*當(dāng)前113頁(yè),總共169頁(yè)。第二步:完成第一級(jí)分解,設(shè)計(jì)上層模塊—頂層和第一層。

(1)頂層只包含一個(gè)用于控制的主模塊。

(2)第一層包括傳入、傳出和中心變換3個(gè)模塊,分別代表系統(tǒng)的3個(gè)相應(yīng)分支。MT(變換模塊)MC(主模塊)MA(傳入模塊)ME(傳出模塊)c,ec,eu,wu,w頂層第一層圖3.24(a)第一級(jí)分解后的SC圖114*當(dāng)前114頁(yè),總共169頁(yè)。第一級(jí)分解的方法MCMTMAME115*當(dāng)前115頁(yè),總共169頁(yè)。第一級(jí)分解后的SCMCMTMAME第一層頂層c,ec,eu,wu,w傳入模塊傳出模塊中心變換模塊116*當(dāng)前116頁(yè),總共169頁(yè)。第三步:完成第二級(jí)分解,細(xì)化SC圖的各個(gè)分支(1)傳入分支的模塊分解:

模塊的調(diào)用順序與加工順序相反(逆向移動(dòng))。MA(傳入模塊)Cc,e圖3.25(a)傳入分支的分解BAEDcbaed117*當(dāng)前117頁(yè),總共169頁(yè)。傳入分支的分解(2)MAGetCbacRead

Ddec,eB

to

CbcdeabGetEGetBD

to

EAtoBReadA118*當(dāng)前118頁(yè),總共169頁(yè)。(2)傳出分支的模塊分解:

模塊的調(diào)用順序與加工順序相同(正向移動(dòng))。ME(傳出模塊)w,u圖3.26傳出分支的分解WVUwvu119*當(dāng)前119頁(yè),總共169頁(yè)。傳出分支的分解MEWWriteVuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)120*當(dāng)前120頁(yè),總共169頁(yè)。(3)變換中心分支的模塊分解:

模塊的調(diào)用順序按加工順序自左向右排列。MT(變換模塊)w,u圖3.27變換中心分支的分解QPRrc,eeprc,pw,u121*當(dāng)前121頁(yè),總共169頁(yè)。MTMCMAMEc,ec,eu,wu,w頂層第一層圖3.28從圖3.23導(dǎo)出的初始的變換型SC圖CEQPRWUc,peprru,wwuBADVbadecv122*當(dāng)前122頁(yè),總共169頁(yè)。ABCaPRWQUVDEbcrwdevup傳入部分變換中心傳出部分f1f2f3f4圖3.23(a)改進(jìn)的變換型DFD圖物理輸入物理輸出邏輯輸入邏輯輸出123*當(dāng)前123頁(yè),總共169頁(yè)。MTMCMAMEc,ec,eu,wu,w頂層第一層圖3.28(a)從圖3.23(a)導(dǎo)出的初始的變換型SC圖CEQPRWUc,peprru,wwuBADVbadecvGetf1f1Getf2f2Putf3f3f4Putf4124*當(dāng)前124頁(yè),總共169頁(yè)。3.3.4事務(wù)映射(Transactionmapping)●事務(wù)映射的3個(gè)主要步驟:(1)劃分DFD圖的邊界:區(qū)分事務(wù)中心、接收部分(接收路徑)和發(fā)送部分(發(fā)送路徑);(2)建立初始SC圖的框架,設(shè)計(jì)上層模塊——頂層和第一層;(3)分解和細(xì)化接收分支和發(fā)送分支,完成初始的SC圖。125*當(dāng)前125頁(yè),總共169頁(yè)。事務(wù)分析的映射方法總控調(diào)度C路徑B路徑A路徑A路徑B路徑C路徑接收路徑126*當(dāng)前126頁(yè),總共169頁(yè)。ATBaCDa1…例3.10第一步:劃分DFD圖的邊界:區(qū)分事務(wù)中心、接收部分和發(fā)送部分。圖3.29事務(wù)型DFD圖的劃分a2a3……接收部分(輸入流)事務(wù)中心動(dòng)作路徑部分(活動(dòng)流)127*當(dāng)前127頁(yè),總共169頁(yè)。第二步:設(shè)計(jì)上層模塊——頂層和第一層。

(1)頂層只包含一個(gè)用于控制的主模塊。

(2)第一層包括接收和發(fā)送2個(gè)模塊,分別代表系統(tǒng)的2個(gè)分支。MC(主模塊)A

(接收模塊)T

(發(fā)送模塊)aa頂層第一層圖3.30事務(wù)型SC圖的上層結(jié)構(gòu)128*當(dāng)前128頁(yè),總共169頁(yè)。第三步:分解和細(xì)化接收分支和發(fā)送分支。(1)接收分支負(fù)責(zé)接收數(shù)據(jù),通常只有一個(gè)接收模塊。(2)發(fā)送分支的發(fā)送模塊是一個(gè)調(diào)度模塊,它控制下層的所有動(dòng)作模塊。MC(主模塊)A

(接收模塊)T

(發(fā)送模塊)aa頂層第一層從圖3.29導(dǎo)出的初始的事務(wù)型SC圖BCDa1a2a3129*當(dāng)前129頁(yè),總共169頁(yè)。1、在DFD圖上確定事務(wù)中心、接受部分(包括接受路徑)和發(fā)送部分(包含全部動(dòng)作路徑)事務(wù)中心通常位于DFD圖中多條動(dòng)作路徑的起點(diǎn);向事務(wù)中心提供信息的路徑,是系統(tǒng)的接受路徑;動(dòng)作路徑通常不止一條,切每條均具有自己的結(jié)構(gòu)特性(變換或事務(wù)型)。總結(jié):事務(wù)分析步驟130*當(dāng)前130頁(yè),總共169頁(yè)。131*當(dāng)前131頁(yè),總共169頁(yè)。2、畫(huà)出SC圖框架,把DFD圖的三個(gè)部分分別映射為事務(wù)控制模塊、接受模塊和動(dòng)作發(fā)送模塊事務(wù)控制接收發(fā)送…事務(wù)控制事務(wù)分析發(fā)送…132*當(dāng)前132頁(yè),總共169頁(yè)。接受分支一般具有變換特性,可對(duì)其進(jìn)行變換分析;動(dòng)作分支典型的可映射為4層:P-處理層、T-事務(wù)層、A-操作層、D-細(xì)節(jié)層。A、D常可被P、T共享。PT1T2A2A1AjA3TiD2D1Dk3、分解和細(xì)化接受和發(fā)送分支,完成初始的SC圖133*當(dāng)前133頁(yè),總共169頁(yè)。用戶(hù)命令交互子系統(tǒng)DFD讀用戶(hù)命令密碼命令密碼顯示信息系統(tǒng)參數(shù)數(shù)據(jù)用戶(hù)命令讀系統(tǒng)數(shù)據(jù)配置信息顯示信息和狀態(tài)命令分析處理讀密碼命令類(lèi)型開(kāi)/關(guān)命令建立配置文件原配置數(shù)據(jù)激活/非活動(dòng)系統(tǒng)與文件中密碼比較格式化配置數(shù)據(jù)配置命令檢驗(yàn)信息過(guò)程重試信息四位數(shù)字檢驗(yàn)信息檢驗(yàn)信息A/D信息格式化配置數(shù)據(jù)格式化配置數(shù)據(jù)134*當(dāng)前134頁(yè),總共169頁(yè)。用戶(hù)命令交互子系統(tǒng)的SC用戶(hù)執(zhí)行模塊讀用戶(hù)命令命令處理密碼處理控制器現(xiàn)用/非現(xiàn)用系統(tǒng)系統(tǒng)設(shè)置控制器讀系統(tǒng)數(shù)據(jù)建立配置文件顯示信息與狀態(tài)讀密碼用文件比較密碼密碼輸出控制器產(chǎn)生無(wú)效信息135*當(dāng)前135頁(yè),總共169頁(yè)?;旌辖Y(jié)構(gòu)一例C1AC3BC2DLFGEKJabb1b2b3c1c2c3defghjklm總體為變換型結(jié)構(gòu)傳入路徑為事務(wù)型結(jié)構(gòu)136*當(dāng)前136頁(yè),總共169頁(yè)。

137*當(dāng)前137頁(yè),總共169頁(yè)。面向數(shù)據(jù)流方法的設(shè)計(jì)過(guò)程138*當(dāng)前138頁(yè),總共169頁(yè)。3.3.5優(yōu)化初始SC圖的指導(dǎo)規(guī)則1.對(duì)模塊劃分的原則●模塊的行數(shù)應(yīng)控制在10~100行的范圍。139*當(dāng)前139頁(yè),總共169頁(yè)。2.高扇入/低扇出的原則●扇入(fan-in):一個(gè)模塊直接上級(jí)模塊的個(gè)數(shù)。扇入高則上級(jí)模塊多,能夠增加模塊利用率?!裆瘸?fan-out):一個(gè)模塊直接下級(jí)模塊的個(gè)數(shù)。扇出低則下級(jí)模塊少,可以減少模塊調(diào)用和控制的復(fù)雜度。通常扇出數(shù)以3~4為宜,不要超過(guò)7個(gè)。MM……(a)模塊M的扇入(b)模塊M的扇出圖3.32模塊的扇入和扇出140*當(dāng)前140頁(yè),總共169頁(yè)。●如果一個(gè)模塊的扇出數(shù)過(guò)大(煎餅形結(jié)構(gòu)),就意味著該模塊過(guò)分復(fù)雜,需要協(xié)調(diào)和控制過(guò)多的下屬模塊,應(yīng)當(dāng)適當(dāng)增加中間層使扇出減少(塔形結(jié)構(gòu))。(a)煎餅形結(jié)構(gòu)(b)塔形結(jié)構(gòu)圖3.33增加中間層可減少扇出141*當(dāng)前141頁(yè),總共169頁(yè)。MA圖3.34甕形結(jié)構(gòu)●總的考慮是:頂層扇出數(shù)低一些,中間層扇出數(shù)高一些,底層扇入數(shù)高一些,形成甕形結(jié)構(gòu)。BJKNL142*當(dāng)前142頁(yè),總共169頁(yè)。3.3.6教材購(gòu)銷(xiāo)系統(tǒng)的總體結(jié)構(gòu)例3.11從高校教材銷(xiāo)售子系統(tǒng)的DFD圖導(dǎo)出SC圖。第一步:細(xì)化并修改DFD圖。

(1)在圖3.15(p52)中,加工1(銷(xiāo)售)和加工2(采購(gòu))之間的數(shù)據(jù)流“進(jìn)書(shū)通知”替換為:增加一個(gè)“進(jìn)書(shū)登記表”文件,供銷(xiāo)售子系統(tǒng)和采購(gòu)子系統(tǒng)之間交換信息。

(2)把圖3.16中加工1.4(登記售書(shū)和打印領(lǐng)書(shū)單)分解為兩個(gè)加工(加工1.4—登記售書(shū)、加工1.7—打印領(lǐng)書(shū)單)。(3)把圖3.16中加工1.6的輸入流“進(jìn)書(shū)通知”改為從數(shù)據(jù)文件“進(jìn)書(shū)登記表”讀入的數(shù)據(jù)流。143*當(dāng)前143頁(yè),總共169頁(yè)。1銷(xiāo)售2采購(gòu)學(xué)生書(shū)庫(kù)保管員進(jìn)書(shū)登記表教材存量表缺書(shū)登記表購(gòu)書(shū)單領(lǐng)書(shū)單無(wú)效書(shū)單發(fā)票缺書(shū)單進(jìn)書(shū)通知修改后的第二層DFD圖144*當(dāng)前144頁(yè),總共169頁(yè)。

1.1審查有效性1.2購(gòu)書(shū)數(shù)量審核進(jìn)書(shū)登記表F1教材存量表F2缺書(shū)登記表購(gòu)書(shū)單領(lǐng)書(shū)單無(wú)效書(shū)單F3學(xué)生用書(shū)表暫缺書(shū)單第三層圖:圖1修改后的銷(xiāo)售子系統(tǒng)1.6產(chǎn)生補(bǔ)售書(shū)單1.5登記缺書(shū)1.7打印領(lǐng)書(shū)單F4售書(shū)登記表發(fā)票有效購(gòu)書(shū)單補(bǔ)售書(shū)單1.4登記售書(shū)145*當(dāng)前145頁(yè),總共169頁(yè)。第二步:鑒別DFD圖的類(lèi)型。

1.分析該系統(tǒng)的第二層圖,它有2個(gè)功能:銷(xiāo)售和采購(gòu),這2個(gè)處理可并行工作,因此從整體上可按事務(wù)型數(shù)據(jù)流圖來(lái)設(shè)計(jì)。

2.分析該系統(tǒng)的第三層圖的銷(xiāo)售子系統(tǒng),初看起來(lái)它具有變換型結(jié)構(gòu)。它的傳入部分含有2個(gè)加工:1個(gè)(加工1.1)用于初次出售,1個(gè)(加工1.6)用于補(bǔ)售。一次售書(shū)只能執(zhí)行一種功能,要么是初售,要么是補(bǔ)售。因此,圖中加工1.2的左方應(yīng)添加一個(gè)號(hào),表示“選擇”。由此可見(jiàn),銷(xiāo)售子系統(tǒng)實(shí)際上屬于事務(wù)型結(jié)構(gòu)。

2.類(lèi)似地,分析采購(gòu)子系統(tǒng),它也是具有2個(gè)動(dòng)作分支的事務(wù)型結(jié)構(gòu)。一個(gè)動(dòng)作分支是“統(tǒng)計(jì)缺書(shū)”,另一個(gè)動(dòng)作分支是“登記進(jìn)書(shū)”。146*當(dāng)前146頁(yè),總共169頁(yè)。修改后的采購(gòu)子系統(tǒng)DFD圖F1教材存量表F2缺書(shū)登記表書(shū)庫(kù)保管員F5待購(gòu)教材表F6教材一覽表2.3修改教材庫(kù)和待購(gòu)量2.1按書(shū)號(hào)匯總?cè)睍?shū)2.2按出版社統(tǒng)計(jì)缺書(shū)進(jìn)書(shū)通知缺書(shū)單F7進(jìn)書(shū)登記表統(tǒng)計(jì)缺書(shū)登記進(jìn)書(shū)147*當(dāng)前147頁(yè),總共169頁(yè)。第三步:畫(huà)出SC圖的上層框架。教材購(gòu)銷(xiāo)系統(tǒng)讀用戶(hù)選擇銷(xiāo)售采購(gòu)初售補(bǔ)售統(tǒng)計(jì)缺書(shū)登記進(jìn)書(shū)圖3.35教材購(gòu)銷(xiāo)系統(tǒng)SC圖的上層框架初售命令補(bǔ)售命令統(tǒng)計(jì)命令登記命令用戶(hù)命令銷(xiāo)售命令采購(gòu)命令148*當(dāng)前148頁(yè),總共169頁(yè)。銷(xiāo)售獲得有效購(gòu)書(shū)單初售補(bǔ)售銷(xiāo)售子系統(tǒng)初始SC圖開(kāi)發(fā)票打印發(fā)票開(kāi)領(lǐng)書(shū)單獲得補(bǔ)售書(shū)單審查有效性登記售書(shū)登記缺書(shū)審查有效性審查有效性讀購(gòu)書(shū)單149*當(dāng)前149頁(yè),總共169頁(yè)。采購(gòu)技術(shù)號(hào)匯總統(tǒng)計(jì)缺書(shū)登記進(jìn)書(shū)采購(gòu)子系統(tǒng)初始SC圖按出版社匯總打印缺書(shū)單修改教材存量修改教材待購(gòu)量統(tǒng)計(jì)命令登記命令缺書(shū)登記表暫缺書(shū)單待購(gòu)教材表進(jìn)書(shū)通知150*當(dāng)前150頁(yè),總共169頁(yè)。第四步:分解初售、補(bǔ)售、統(tǒng)計(jì)缺書(shū)和登記進(jìn)書(shū)4個(gè)動(dòng)作分支,補(bǔ)充動(dòng)作層與細(xì)節(jié)層。銷(xiāo)售子系統(tǒng)和采購(gòu)子系統(tǒng)的初始SC圖見(jiàn)圖3.36和圖3.37。第五步:改進(jìn)SC圖,獲得最終的SC圖。151*當(dāng)前151頁(yè),總共169頁(yè)。3.4.1目的與任務(wù)

1.過(guò)程設(shè)計(jì)的目的:為SC圖中的每一個(gè)模塊確定采用的算法和模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu),用選定的表達(dá)工具給出清晰的描述。

2.過(guò)程設(shè)計(jì)的主要任務(wù):(1)為每個(gè)模塊確定采用的算法;(2)確定每個(gè)模塊使用的數(shù)據(jù)結(jié)構(gòu);(3)確定模塊接口的細(xì)節(jié)(模塊接口通常指模塊的輸入數(shù)據(jù)和輸出數(shù)據(jù))。3.4模塊設(shè)計(jì)(詳細(xì)設(shè)計(jì),過(guò)程設(shè)計(jì))152*當(dāng)前152頁(yè),總共169頁(yè)。3.4.2模塊設(shè)計(jì)的原則與方法

1.清晰第一的設(shè)計(jì)風(fēng)格結(jié)構(gòu)化程序設(shè)計(jì)應(yīng)遵循“清晰第一、效率第二(Clarity

the

first,Efficiencythenext)”的原則。

153*當(dāng)前153頁(yè),總共169頁(yè)。2.結(jié)構(gòu)化的控制結(jié)構(gòu)●每個(gè)模塊只使用單入口、單出口的3種基本控制結(jié)構(gòu),即:順序、選擇和循環(huán)結(jié)構(gòu)。ABTSCF(a)順序(b)選擇(C)循環(huán)(DO-WHILE)ABC圖3.403種基本控制結(jié)構(gòu)的流程圖TF154*當(dāng)前154頁(yè),總共169頁(yè)。結(jié)構(gòu)化程序設(shè)計(jì)

(StructuredProgramming,SP)結(jié)構(gòu)化程序設(shè)計(jì)的經(jīng)典定義如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這三種控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱(chēng)這個(gè)程序是結(jié)構(gòu)化的。對(duì)經(jīng)典結(jié)構(gòu)程序設(shè)計(jì)的補(bǔ)充完善增加兩種控制結(jié)構(gòu)DO-UNTILDO-CASE允許多個(gè)出口使程序可以立即從循環(huán)中轉(zhuǎn)移出來(lái);GOTO語(yǔ)句不應(yīng)濫用,但也不必完全禁止最好僅在錯(cuò)誤處理時(shí)才使用GOTO語(yǔ)句應(yīng)該總是使用前向GOTO語(yǔ)句應(yīng)限制在一個(gè)模塊內(nèi)跳轉(zhuǎn)155*當(dāng)前155頁(yè),總共169頁(yè)?!裱a(bǔ)充說(shuō)明①

溫馨提示

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