結(jié)構(gòu)化軟件設(shè)計全解課件_第1頁
結(jié)構(gòu)化軟件設(shè)計全解課件_第2頁
結(jié)構(gòu)化軟件設(shè)計全解課件_第3頁
結(jié)構(gòu)化軟件設(shè)計全解課件_第4頁
結(jié)構(gòu)化軟件設(shè)計全解課件_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計現(xiàn)實世界計算機世界結(jié)構(gòu)化開發(fā)方法結(jié)構(gòu)化分析SA結(jié)構(gòu)化設(shè)計SD結(jié)構(gòu)化編程SPOOAOODOOP面向?qū)ο箝_發(fā)方法現(xiàn)實世界計算機世界結(jié)結(jié)構(gòu)化結(jié)構(gòu)化結(jié)構(gòu)化OOAOODOOP面技術(shù)觀點數(shù)據(jù)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計過程設(shè)計詳細設(shè)計

概要設(shè)計管理觀點軟件設(shè)計任務(wù)技術(shù)觀點數(shù)據(jù)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計過程設(shè)計詳細設(shè)計概要設(shè)計管理軟件設(shè)計方法分類分類代表面向數(shù)據(jù)流的設(shè)計或者過程驅(qū)動的設(shè)計結(jié)構(gòu)化設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計或者數(shù)據(jù)驅(qū)動設(shè)計LCP,JSP,DSSD面向?qū)ο笤O(shè)計Coad,Yourdon結(jié)構(gòu)化設(shè)計方法(StructuredDesign,SD)基于模塊化、自頂向下逐層細化、結(jié)構(gòu)化程序設(shè)計等程序設(shè)計技術(shù)上發(fā)展起來的。軟件設(shè)計方法分類分類代表面向數(shù)據(jù)流的設(shè)計或者結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計(StructuredDesign,簡稱SD)是一種將結(jié)構(gòu)化分析得到的數(shù)據(jù)流圖映射成軟件體系結(jié)構(gòu)的設(shè)計方法映射DFD(問題結(jié)構(gòu))軟件系統(tǒng)的結(jié)構(gòu)(程序結(jié)構(gòu))Sc圖結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計(StructuredDesign,簡結(jié)構(gòu)化設(shè)計強調(diào)模塊化、自頂向下逐步求精、信息隱蔽、高內(nèi)聚低耦合等設(shè)計準則分為概要設(shè)計和詳細設(shè)計兩大步驟概要設(shè)計是對軟件系統(tǒng)的總體設(shè)計,采用結(jié)構(gòu)化設(shè)計方法,其任務(wù)是:將系統(tǒng)分解成模塊,確定每個模塊的功能、接口(模塊間傳遞的數(shù)據(jù))及其調(diào)用關(guān)系,并用模塊及其對模塊的調(diào)用來構(gòu)建軟件的體系結(jié)構(gòu)詳細設(shè)計是對模塊實現(xiàn)細節(jié)的設(shè)計,采用結(jié)構(gòu)化程序設(shè)計(StructuredProgramming,簡稱SP)方法SA、SD和SP構(gòu)成完整的結(jié)構(gòu)化方法體系結(jié)構(gòu)化設(shè)計強調(diào)模塊化、自頂向下逐步求精、信息隱蔽、高內(nèi)聚低耦結(jié)構(gòu)圖(SC)用結(jié)構(gòu)圖(StructureChert)來描述軟件系統(tǒng)的體系結(jié)構(gòu)描述一個軟件系統(tǒng)由哪些模塊組成,以及模塊之間的調(diào)用關(guān)系結(jié)構(gòu)圖的基本成分有:模塊、調(diào)用和數(shù)據(jù)結(jié)構(gòu)圖(SC)用結(jié)構(gòu)圖(StructureChert)來描模塊模塊(module):指具有一定功能的可以用模塊名調(diào)用的一組程序語句,如函數(shù)、子程序等它們是組成程序的基本單元一個模塊具有其外部特征和內(nèi)部特征外部特征包括:模塊的接口(模塊名、輸入/輸出參數(shù)、返回值等)和模塊的功能內(nèi)部特征包括:模塊的內(nèi)部數(shù)據(jù)和完成其功能的程序代碼在SD中,我們只關(guān)注模塊的外部特征,而忽略其內(nèi)部特征模塊模塊(module):指具有一定功能的可以用模塊名調(diào)用的調(diào)用和數(shù)據(jù)調(diào)用(call):用從一個模塊指向另一個模塊的箭頭來表示,其含義是前者調(diào)用了后者為了方便,有時常用直線替代箭頭,此時,表示位于上方的模塊調(diào)用位于下方的模塊數(shù)據(jù)(data):模塊調(diào)用時需傳遞的參數(shù)可通過在調(diào)用箭頭旁附加一個小箭頭和數(shù)據(jù)名來表示調(diào)用和數(shù)據(jù)調(diào)用(call):用從一個模塊指向另一個模塊的箭頭結(jié)構(gòu)圖的幾個概念深度:程序結(jié)構(gòu)圖中控制的層數(shù),例如圖中所示的結(jié)構(gòu)圖的深度是5寬度:程序結(jié)構(gòu)圖中同一層次上模塊總數(shù)的最大值,例如圖中所示的結(jié)構(gòu)圖的寬度為7扇出(fanout):該模塊直接調(diào)用的模塊數(shù)目。例如,例如圖中模塊M的扇出是4,模塊A的是2,模塊B的扇出是1扇入(fanin):能直接調(diào)用該模塊的模塊數(shù)目。例如圖中模塊G的扇入是1,模塊I的扇入是2,模塊R的扇入是4WBKAEHJDGFILCMNOPQR深度寬度扇入扇出結(jié)構(gòu)圖的幾個概念深度:程序結(jié)構(gòu)圖中控制的層數(shù),例如圖中所示的相關(guān)指標的含義深度和寬度在一定程序上反映了程序的規(guī)模和復(fù)雜程度相對而言,如果程序結(jié)構(gòu)圖的深度和寬度較大,則說明程序的規(guī)模和復(fù)雜程度都較大。模塊的扇入扇出會影響結(jié)構(gòu)圖的深度和寬度,例如減少模塊的扇出,可能導(dǎo)致寬度變小而深度增加一個模塊的扇出過大通常意味著該模塊比較復(fù)雜,然而扇出太少,可能導(dǎo)致深度的增加一般情況,一個模塊的扇出以3~9為宜一個模塊的扇入表示有多少模塊可直接調(diào)用它,它反映了該模塊的復(fù)用(reuse)程度,因此模塊的扇入越大越好相關(guān)指標的含義深度和寬度在一定程序上反映了程序的規(guī)模和復(fù)雜程軟件設(shè)計中的概念模塊化抽象信息局部化模塊獨立性耦合內(nèi)聚軟件設(shè)計中的概念模塊化模塊化模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,模塊可以單獨被命名,可通過名字訪問。例如,過程、函數(shù)、子程序、宏等等都可作為模塊。模塊化就是把程序劃分為若干個模塊,每個模塊具有獨立子功能,再把各個模塊集成后,實現(xiàn)指定功能,滿足問題要求。模塊化模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,模塊可以單抽象化抽象就是抽出事務(wù)的本質(zhì)特性而暫不考慮細節(jié)問題,是人類在認識復(fù)雜現(xiàn)象中使用的最強有力工具。軟件工程過程的每一步都是對問題的軟件解法抽象層次的一次精化。逐步求精與抽象是緊密相關(guān)的抽象化抽象就是抽出事務(wù)的本質(zhì)特性而暫不考慮細節(jié)問題,是人類在模塊獨立性模塊獨立性是軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能,而和軟件系統(tǒng)中其他的模塊接口是簡單的。模塊獨立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。重要概念:耦合、內(nèi)聚模塊獨立性模塊獨立性是軟件系統(tǒng)中每個模塊只涉及軟件要求的具體模塊獨立性的度量

模塊獨立性取決于模塊的內(nèi)部和外部特征。

SD方法提出的定性的度量標準:

模塊之間的耦合性模塊自身的內(nèi)聚性模塊獨立性的度量模塊獨立性取決于模塊的內(nèi)部和外部特耦合耦合是對一個軟件結(jié)構(gòu)內(nèi)各個模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復(fù)雜程度,調(diào)用模塊的方式,以及通過接口的信息。根據(jù)模塊間耦合程度的強弱的標準,劃分耦合類型,共有七種。

耦合耦合是對一個軟件結(jié)構(gòu)內(nèi)各個模塊之間互連程度的度量。無耦合-沒有依賴關(guān)系松散耦合-有少量依賴關(guān)系緊密耦合-有很多依賴關(guān)系圖示無耦合-沒有依賴關(guān)系松散耦合-有緊密耦合-有圖示耦合類型(高→低)內(nèi)容耦合

當(dāng)一個模塊直接修改或操作另一個模塊的數(shù)據(jù),或者直接轉(zhuǎn)入另一個模塊時,就發(fā)生了內(nèi)容耦合。此時,被修改的模塊完全依賴于修改它的模塊。公共耦合兩個以上的模塊共同引用一個全局數(shù)據(jù)項就稱為公共耦合。控制耦合一個模塊在界面上傳遞一個信號(如開關(guān)值、標志量等)控制另一個模塊,接收信號的模塊動作根據(jù)信號值進行調(diào)整,稱為控制耦合。耦合類型(高→低)內(nèi)容耦合當(dāng)一個模塊直接修改或操作另一個耦合類型標記耦合

模塊間通過參數(shù)傳遞復(fù)雜的內(nèi)部數(shù)據(jù)結(jié)構(gòu),稱為標記耦合。此數(shù)據(jù)結(jié)構(gòu)的變化將使相關(guān)的模塊發(fā)生變化。數(shù)據(jù)耦合

模塊間通過參數(shù)傳遞基本類型的數(shù)據(jù),稱為數(shù)據(jù)耦合。非直接耦合模塊間沒有信息傳遞時,屬于非直接耦合。耦合類型標記耦合模塊間通過參數(shù)傳遞復(fù)雜的內(nèi)部數(shù)據(jù)結(jié)構(gòu)內(nèi)容耦合舉例一模塊直接訪問另一模塊的內(nèi)部信息(程序代碼或數(shù)據(jù))最不好的耦合形式!!!ABAB模塊代碼重疊Entry1……Entry1……多入口模塊內(nèi)容耦合舉例一模塊直接訪問最不好的耦合形式!!!ABAB模公共耦合舉例A公共數(shù)據(jù)區(qū)CB模塊A、B、C間存在錯綜復(fù)雜的聯(lián)系公共耦合舉例A公共數(shù)據(jù)區(qū)CB模塊A、B、C間存在錯綜復(fù)雜的聯(lián)控制耦合舉例A計算平均分或最高分B平均/最高(控制信號)成績讀入分數(shù)輸出結(jié)果計算平均分計算最高分平均/最高?B控制耦合舉例A計算平均分B平均/最高成績讀入分數(shù)輸出結(jié)果計算數(shù)據(jù)耦合舉例開發(fā)票計算水費單價數(shù)量金額數(shù)據(jù)耦合舉例開發(fā)票計算水費單價金額標記耦合舉例計算水電費計算水費計算電費住戶情況水費電費住戶情況“住戶情況”是一個數(shù)據(jù)結(jié)構(gòu),圖中模塊都與此數(shù)據(jù)結(jié)構(gòu)有關(guān).“計算水費”和“計算電費”本無關(guān),由于引用了此數(shù)據(jù)結(jié)構(gòu)產(chǎn)生依賴關(guān)系,它們之間也是標記偶合.標記耦合舉例計算水電費計算水費計算電費住戶情況水費電費住戶情耦合強弱排序原則:如果模塊間必須存在耦合,盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。耦合強弱排序原則:如果模塊間必須存在耦合,盡量使用數(shù)據(jù)耦合,內(nèi)聚內(nèi)聚標志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度。它是信息隱蔽和局部化概念的自然擴展。簡單地說,理想內(nèi)聚的模塊只做一件事情。根據(jù)各個模塊之間的內(nèi)聚程度不同,分為七個類型的內(nèi)聚內(nèi)聚內(nèi)聚標志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度。內(nèi)聚類型偶然內(nèi)聚

如果一個模塊的各成分之間毫無關(guān)系,則稱為偶然內(nèi)聚。邏輯內(nèi)聚

幾個邏輯上相關(guān)的功能被放在同一模塊中,則稱為邏輯內(nèi)聚。如一個模塊讀取各種不同類型外設(shè)的輸入。盡管邏輯內(nèi)聚比偶然內(nèi)聚合理一些,但邏輯內(nèi)聚的模塊各成分在功能上并無關(guān)系,即使局部功能的修改有時也會影響全局,因此這類模塊的修改也比較困難。內(nèi)聚類型偶然內(nèi)聚如果一個模塊的各成分之間毫無關(guān)系,則稱為內(nèi)聚類型時間內(nèi)聚如果一個模塊完成的功能必須在同一時間內(nèi)執(zhí)行(如系統(tǒng)初始化),但這些功能只是因為時間因素關(guān)聯(lián)在一起,則稱為時間內(nèi)聚。過程內(nèi)聚

如果一個模塊內(nèi)部的處理成分相關(guān),必須以特定的次序執(zhí)行,則稱為過程內(nèi)聚。通信內(nèi)聚

如果一個模塊的所有成分操作同一數(shù)據(jù)集或生成同一數(shù)據(jù)集,則稱為通信內(nèi)聚。內(nèi)聚類型時間內(nèi)聚如果一個模塊完成的功能必須在同一時間內(nèi)聚類型順序內(nèi)聚如果一個模塊的各個成分和同一個功能密切相關(guān),而且一個成分的輸出作為另一個成分的輸入,則稱為順序內(nèi)聚。功能內(nèi)聚模塊的所有成分對于完成單一的功能都是必須的,則稱為功能內(nèi)聚。

內(nèi)聚類型順序內(nèi)聚如果一個模塊的各個成分和同一個功能密切相偶然內(nèi)聚(巧合內(nèi)聚)

模塊內(nèi)各部分間無聯(lián)系A(chǔ)BCMMOVEOTORREADFILEFMOVESTOT模塊M中的三個語句沒有任何聯(lián)系缺點:可理解性差,可修改性差例:偶然內(nèi)聚(巧合內(nèi)聚)模塊內(nèi)各部分間無聯(lián)系A(chǔ)BCMMOVE邏輯內(nèi)聚模塊ABCEFGABCEFGA1B1C1EFG模塊內(nèi)部邏輯E、F、G邏輯功能相似,組成新模塊EFG缺點:增強了耦合程度(控制耦合)

不易修改,效率低公用代碼段公用代碼段邏輯內(nèi)聚模塊ABCEFGABCEFGA1B1C1EFG模塊內(nèi)過程內(nèi)聚模塊讀入成績單審查成績單統(tǒng)計成績打印成績讀入并審查成績單統(tǒng)計并打印成績單過程內(nèi)聚模塊讀入審查統(tǒng)計打印讀入并審查成績單統(tǒng)計并打印成績單通信內(nèi)聚模塊例產(chǎn)生工資報表計算平均工資職工工資記錄職工工資報表平均工資產(chǎn)生職工工資報表并計算平均工資模塊通信內(nèi)聚模塊例產(chǎn)生工資報表計算平均工資職工工資記錄職工工資報內(nèi)聚強弱排序設(shè)計時力爭做到高內(nèi)聚。內(nèi)聚強弱排序設(shè)計時力爭做到高內(nèi)聚。耦合和內(nèi)聚的關(guān)系聚和耦合是密切相關(guān)的,與其它模塊存在強耦合的模塊通常意味著弱內(nèi)聚,而強內(nèi)聚的模塊通常意味著與其它模塊之間存在弱耦合。模塊設(shè)計追求強內(nèi)聚,弱耦合。片面明確耦合程度和內(nèi)聚程度是沒有任何實際意義的,我們重要的是借助耦合和內(nèi)聚的概念幫助我們設(shè)計模塊。耦合和內(nèi)聚的關(guān)系聚和耦合是密切相關(guān)的,與其它模塊存在強耦合的設(shè)計策略-1按照模塊化設(shè)計原則,相應(yīng)的啟發(fā)式設(shè)計策略如下:改造程序結(jié)構(gòu)圖,降低耦合度,提高內(nèi)聚度避免高扇出,并隨著深度的增加,力求高扇入避免如圖a那樣的“平鋪”形態(tài),較好的結(jié)構(gòu)圖形態(tài)是如圖b那樣的“橢圓”型(a)平鋪形態(tài)(b)橢圓形態(tài)設(shè)計策略-1按照模塊化設(shè)計原則,相應(yīng)的啟發(fā)式設(shè)計策略如下:(設(shè)計策略-2模塊的影響范圍應(yīng)限制在該模塊的控制范圍內(nèi),例如下圖中圖a中,模塊B2的影響范圍(模塊A)不在其控制范圍(模塊B2)內(nèi)圖b中,決策控制是在頂層模塊,其影響范圍(A、B2)在控制范圍內(nèi),但是從決策控制模塊到被控模塊之間相差多個層次圖c和d較合適,圖d為最好(c)TopXBB1AYB2TopXYABB2B1(d)XBB1YTopXBB1YAB2(a)(b)ATopB2設(shè)計策略-2模塊的影響范圍應(yīng)限制在該模塊的控制范圍內(nèi),例如下設(shè)計策略-3降低模塊接口的復(fù)雜程度和冗余程度,提高一致性模塊接口上應(yīng)盡可能傳遞簡單數(shù)據(jù),而且傳遞的數(shù)據(jù)應(yīng)保持與模塊的功能相一致,即不傳遞與模塊功能無關(guān)的數(shù)據(jù)模塊的功能應(yīng)是可預(yù)測的,避免對模塊施加過多的限制模塊功能可預(yù)測是指該模塊對相同的輸入能產(chǎn)生相同的輸出限制一個模塊只處理單一的功能,那么,這個模塊體現(xiàn)出高內(nèi)聚盡可能設(shè)計單入口和單出口的模塊單入口和單出口的模塊能有效地避免內(nèi)容耦合設(shè)計策略-3降低模塊接口的復(fù)雜程度和冗余程度,提高一致性映射DFD(問題結(jié)構(gòu))軟件系統(tǒng)的結(jié)構(gòu)(程序結(jié)構(gòu))Sc圖概要設(shè)計映射DFD軟件系統(tǒng)的結(jié)構(gòu)Sc圖概要設(shè)計SD方法表達工具—SC圖編輯學(xué)生記錄讀學(xué)生記錄學(xué)生數(shù)據(jù)無此學(xué)生學(xué)號不加區(qū)分的數(shù)據(jù)數(shù)據(jù)信息控制信息SD方法表達工具—SC圖編輯學(xué)生記錄讀學(xué)生記錄學(xué)生數(shù)據(jù)無此學(xué)SC中的四種模塊傳入模塊(a)(b)AA傳出模塊BB變換模塊(c)CD協(xié)調(diào)模塊E(d)EFFSC中的四種模塊傳入模塊(a)(b)AA傳出模塊BB變換模塊SC簡單調(diào)用BDAX,YZZSC簡單調(diào)用BDAX,YZZSC選擇調(diào)用ACBDA根據(jù)內(nèi)部判斷決定是否調(diào)用BA按另一判定結(jié)果選擇調(diào)用C或DSC選擇調(diào)用ACBDA根據(jù)內(nèi)A按另一判SC循環(huán)調(diào)用ABCA根據(jù)內(nèi)在的循環(huán)重復(fù)調(diào)用B、C等模塊SC循環(huán)調(diào)用ABCA根據(jù)內(nèi)在的循環(huán)重結(jié)構(gòu)圖(SC)舉例

醫(yī)院管理系統(tǒng)門診管理藥房管理藥庫管理病房管理財務(wù)管理處方掛號處理掛號費總計掛號單掛號費總計出庫處理進藥管理病歷管理處方管理常規(guī)處理結(jié)構(gòu)圖(SC)舉例醫(yī)院管理系統(tǒng)門診藥房藥庫病房財務(wù)處數(shù)據(jù)流圖類型和SD方法的步驟

在軟件設(shè)計開始之前,首先要分清DFD圖所顯示的系統(tǒng)特征.在DFD圖所代表的SA模型中,所有系統(tǒng)均可以納入兩種典型的形式:變換型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)數(shù)據(jù)流圖類型和SD方法的步驟在軟件設(shè)計開變換型結(jié)構(gòu)

信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)過加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當(dāng)數(shù)據(jù)流具有這些特征時,這種信息流稱為變換流。外部表示內(nèi)部表示信息輸入流輸出流變換流信息流時間變換型結(jié)構(gòu)信息沿輸入通路進入系統(tǒng),同時由外事務(wù)型結(jié)構(gòu)

數(shù)據(jù)沿輸入通路到達一個處理T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列中選出一個來執(zhí)行。這種“以事務(wù)為中心的”的數(shù)據(jù)流,成為“事務(wù)流”。T事務(wù)事務(wù)中心處理T稱為事務(wù)中心,完成以下任務(wù):接收輸入數(shù)據(jù);分析每個事務(wù)以確定它的類型;根據(jù)事務(wù)類型選取一條活動通路。事務(wù)型結(jié)構(gòu)數(shù)據(jù)沿輸入通路到達一個處理T,這個處理SD方法步驟復(fù)審DFD圖,必要時可以再次進行修改和細化.鑒別DFD圖所表示的軟件系統(tǒng)結(jié)構(gòu)特征,確定它所代表的軟件結(jié)構(gòu)是屬于變換型還是事務(wù)型.按照SD方法規(guī)定的一組規(guī)則,把DFD圖轉(zhuǎn)換為初始的SC圖.SD方法步驟復(fù)審DFD圖,必要時可以再次進行修改和細化.SD方法的兩種映射過渡方法變換型DFD事務(wù)型DFD初始SC初始SC變換分析事務(wù)分析SD方法的兩種映射過渡方法變換型DFD事務(wù)型DFD初始SC初面向數(shù)據(jù)流方法的設(shè)計過程精化數(shù)據(jù)流圖區(qū)分事務(wù)中心和數(shù)據(jù)接收路徑映射成變換結(jié)構(gòu)流類型區(qū)分輸入和輸出分支映射成事務(wù)結(jié)構(gòu)用啟發(fā)式設(shè)計規(guī)則精化軟件結(jié)構(gòu)導(dǎo)出接口描述和全程數(shù)據(jù)結(jié)構(gòu)復(fù)查詳細設(shè)計“事務(wù)”“變換”事務(wù)分析變換分析面向數(shù)據(jù)流方法的設(shè)計過程精化數(shù)據(jù)流圖區(qū)分事務(wù)中心映射成變換結(jié)如何進行變換分析(1)區(qū)分傳入、變換中心、傳出部分,在DFD上標明分界線(2)第一級分解(建立初始SC框架)

設(shè)計頂層和第一層模塊(3)第二級分解(分解SC各分支)

自頂向下分解,設(shè)計出每個分支的中、下層模塊如何進行變換分析(1)區(qū)分傳入、變換中心、傳出部分,傳入部分BCADEQPRWUVabcedrpuwv變換中心傳出部分1傳入部分BCADEQPRWUVabcedrpuwv變換中心傳第一級分解的方法MCMTMAME2第一級分解的方法MCMTMAME2第一級分解后的SC第一層MCMTMAME頂層c,ec,eu,wu,w傳入模塊傳出模塊中心變換模塊第一級分解后的SC第一層MCMTMAME頂層c,ec,eu,傳入分支的分解

(1)

MACBAbacEDdec,e傳入分支的分解

(1)MACBAbacEDdec,e傳入分支的分解

(2)c,eMAGetCbacRead

DdeB

to

CbcdeabGetEGetBAtoBReadDD

to

E傳入分支的分解

(2)c,eMAGetCbacReadD傳出分支的分解MEWuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)WriteV傳出分支的分解MEWuuw,uvvvPutUUtoVM中心加工分支的分解MTPQRec,pru,wpr中心加工分支的分解MTPQRec,pru,wpr

任何情況下都可使用變換分析方法設(shè)計軟件結(jié)構(gòu)。但如數(shù)據(jù)流具有明顯的事務(wù)特點時(有一個明顯的事務(wù)中心),以采用事務(wù)分析方法為宜。如何進行事務(wù)變換?任何情況下都可使用變換分析方法設(shè)計軟件結(jié)構(gòu)。如何進行事務(wù)變事務(wù)分析設(shè)計方法步驟:(1)在DFD上確定事務(wù)中心、接收部分和發(fā)送部分。(2)畫出SC框架,把DFD上的三部分分別映射為事務(wù)控制模塊、接收模塊和動作發(fā)送模塊。(3)分解細化接收分支和發(fā)送分支,完成初始SC。事務(wù)分析設(shè)計方法步驟:(1)在DFD上確定事務(wù)中心、接收部分事務(wù)分析的映射方法C路徑總控調(diào)度C路徑B路徑A路徑A路徑B路徑接收路徑事務(wù)分析的映射方法C路徑總控調(diào)度C路徑B路徑A路徑A路徑B路事務(wù)流設(shè)計舉例IMLNABCDFEG事務(wù)中心事務(wù)流設(shè)計舉例IMLNABCDFEG事務(wù)中心事務(wù)流設(shè)計舉例

取A

總控ALMNGDBCFE動作1動作n….細節(jié)模塊1細節(jié)模塊2….(操作模塊)(細節(jié)模塊)事務(wù)流設(shè)計舉例取A總控ALMNGDBCFE動作1動混合結(jié)構(gòu)

一個大型系統(tǒng)常常是變換型和事務(wù)型的混合結(jié)構(gòu)。為了導(dǎo)出它們的初始SC圖,也必須同時采用變換映射和事務(wù)映射兩種方法?;旌辖Y(jié)構(gòu)一個大型系統(tǒng)常常是變換型和事務(wù)型的混合3412675810911變換中心傳入傳出事務(wù)型混合流設(shè)計舉例3412675810911變換中心傳入傳出事務(wù)型混合流設(shè)計舉ABT1變換中心傳入傳出T2T3abb1b2b3c1c2c3degfjLm事務(wù)流子系統(tǒng)BCCDDEEHHKFJKLLMh混合流設(shè)計舉例kABT1變換中心傳入傳出T2T3abb1b2b3c1c2c3混合流設(shè)計舉例輸入DXX系統(tǒng)變換控制輸出K輸入Cdc輸出LCDDEFJEHHKKLcddkkkLL輸出MLMmmL事務(wù)子系統(tǒng)混合流設(shè)計舉例輸入DXX系統(tǒng)變換控制輸出K輸入Cdc輸出LC汽車數(shù)字儀表板主要完成下述功能:通過模-數(shù)轉(zhuǎn)換實現(xiàn)傳感器和微處理機接口;在發(fā)光二極管面板上顯示數(shù)據(jù)指示每小時英里數(shù)(mph),行駛的里程,每加侖油行駛的英里數(shù)(mpg)等等;指示加速或減速;超速警告:如果車速超過55英里/小時,則發(fā)出超速警告鈴聲。例如例如汽車數(shù)字儀表板主要完成下述功能:例如例如顯示讀旋轉(zhuǎn)信號收集和求平均發(fā)出鈴聲計算里程轉(zhuǎn)換成轉(zhuǎn)/分(rpm)確定加速/減速產(chǎn)生加速/減速顯示產(chǎn)生里程顯示計算mph和超速值讀和校核產(chǎn)生mpg顯示計算燃料消耗計算gph產(chǎn)生mph顯示旋轉(zhuǎn)信號____△SPS上箭頭指示箭頭下箭頭SPS水平線信號/秒燃料流(SPS)燃料流傳感器信號gphmphmphmph顯示mpgMpg顯示rpmrpm英里超速值鈴聲mph⊕⊕圖8數(shù)字儀表板系統(tǒng)的數(shù)據(jù)流圖設(shè)計步驟:復(fù)查基本系統(tǒng)模型復(fù)查并精化數(shù)據(jù)流圖確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性確定輸入流和輸出流的邊界,從而孤立出變換中心顯示讀收集和求發(fā)出計算轉(zhuǎn)換成確定加速/產(chǎn)生產(chǎn)生計算mph和讀讀旋轉(zhuǎn)信號收集和求平均發(fā)出鈴聲計算里程轉(zhuǎn)換成轉(zhuǎn)/分(rpm)確定加速/減速產(chǎn)生加速/減速顯示產(chǎn)生里程顯示計算mph和超速值讀和校核產(chǎn)生mpg顯示計算燃料消耗計算gph產(chǎn)生mph顯示旋轉(zhuǎn)信號____△SPS上箭頭指示箭頭下箭頭SPS水平線信號/秒燃料流(SPS)燃料流傳感器信號gphmphmphmph顯示mpgMpg顯示rpmrpm英里超速值鈴聲mph⊕⊕圖8數(shù)字儀表板系統(tǒng)的數(shù)據(jù)流圖確定輸入流和輸出流的邊界,從而孤立出變換中心讀收集和求發(fā)出計算轉(zhuǎn)換成確定加速/產(chǎn)生產(chǎn)生計算mph和讀和產(chǎn)讀旋轉(zhuǎn)信號收集和求平均發(fā)出鈴聲計算里程轉(zhuǎn)換成轉(zhuǎn)/分(rpm)確定加速/減速產(chǎn)生加速/減速顯示產(chǎn)生里程顯示計算mph和超速值讀和校核產(chǎn)生mpg顯示計算燃料消耗計算gph產(chǎn)生mph顯示旋轉(zhuǎn)信號____△SPS上箭頭指示箭頭下箭頭SPS水平線信號/秒燃料流(SPS)燃料流傳感器信號gphmphmphmph顯示mpgmpg顯示rpmrpm英里超速值鈴聲mph⊕⊕圖8數(shù)字儀表板系統(tǒng)的數(shù)據(jù)流圖設(shè)計步驟:完成第一級分解讀收集和求發(fā)出計算轉(zhuǎn)換成確定加速/產(chǎn)生產(chǎn)生計算mph和讀和產(chǎn)數(shù)字儀表板控制接收傳感器信號數(shù)據(jù)轉(zhuǎn)換控制驅(qū)動儀表板輸入控制變換控制輸出控制輸入信息處理模塊協(xié)調(diào)對所有輸入數(shù)據(jù)的接收變換中心控制模塊,管理對內(nèi)部形式的數(shù)據(jù)的所有操作輸出信息處理控制模塊,協(xié)調(diào)輸出信息的產(chǎn)生過程圖9數(shù)字儀表板的第一級分解數(shù)字儀表板接收傳感器數(shù)據(jù)轉(zhuǎn)換驅(qū)動儀表板輸入控制變換控制輸出控讀旋轉(zhuǎn)信號收集和求平均發(fā)出鈴聲計算里程轉(zhuǎn)換成轉(zhuǎn)/分(rpm)確定加速/減速產(chǎn)生加速

溫馨提示

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

最新文檔

評論

0/150

提交評論