軟件工程PPT教學課件第五章 總體設計
《軟件工程PPT教學課件第五章 總體設計》由會員分享,可在線閱讀,更多相關《軟件工程PPT教學課件第五章 總體設計(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第五章第五章 總體設計總體設計(System Design)開始考慮開始考慮“How”,但仍屬高層設計(確定黑盒關系),但仍屬高層設計(確定黑盒關系)1. 過程過程1、確定最佳方案:、確定最佳方案: 從從DFD出發(fā)進行任務分解,不同的劃分方法即對應出發(fā)進行任務分解,不同的劃分方法即對應 不同的方案。每個合理的方案應配備下列不同的方案。每個合理的方案應配備下列4份資料:份資料: 系統(tǒng)流程圖系統(tǒng)流程圖 組成系統(tǒng)的物理元素清單組成系統(tǒng)的物理元素清單 成本成本/效益分析效益分析 進度計劃進度計劃 選擇最佳方案并制定詳細的實現(xiàn)計劃(主要技術詳選擇最佳方案并制定詳細的實現(xiàn)計劃(主要技術詳見第十三章)見第十
2、三章)1. 過程過程2、結構設計、結構設計 模塊化思想:模塊化思想: 將將DFD細化,至每個子功能都明白易懂;每細化,至每個子功能都明白易懂;每個模塊完成一個子功能;每層模塊合成一個高一個模塊完成一個子功能;每層模塊合成一個高一級的功能。級的功能。 主要工具有主要工具有 System Design Hierarchy及及HIPO圖等。圖等。3、數(shù)據(jù)庫設計、數(shù)據(jù)庫設計 模式設計:確定物理數(shù)據(jù)庫結構模式設計:確定物理數(shù)據(jù)庫結構 子模式設計:用戶使用的數(shù)據(jù)視圖子模式設計:用戶使用的數(shù)據(jù)視圖 完整性、安全性設計完整性、安全性設計 優(yōu)化優(yōu)化5、書寫文檔、書寫文檔系統(tǒng)說明系統(tǒng)說明用戶手冊用戶手冊測試計劃測
3、試計劃詳細實現(xiàn)計劃詳細實現(xiàn)計劃數(shù)據(jù)庫設計結果數(shù)據(jù)庫設計結果 6、審查、復審、審查、復審4、測試計劃、測試計劃 (詳見第七章)(詳見第七章)1. 過程過程2.模塊化原理模塊化原理(Modularization) 模塊化就是把程序劃分成獨立命名而且可獨立模塊化就是把程序劃分成獨立命名而且可獨立訪問的模塊,每個模塊完成一個子功能。訪問的模塊,每個模塊完成一個子功能。 把這些模塊集成起來構成一個整體,可以完成把這些模塊集成起來構成一個整體,可以完成指定的功能,滿足用戶的需求。指定的功能,滿足用戶的需求。 模塊化是解決一個復雜問題時自頂向下逐層把模塊化是解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干
4、模塊的過程。它是軟件解決軟件系統(tǒng)劃分成若干模塊的過程。它是軟件解決復雜問題所具備的手段,不但可以降低問題復雜復雜問題所具備的手段,不但可以降低問題復雜性,還可以減少開發(fā)工作量,從而降低開發(fā)成本,性,還可以減少開發(fā)工作量,從而降低開發(fā)成本,提高軟件生產(chǎn)率。提高軟件生產(chǎn)率。2.模塊化原理模塊化原理模塊的概念:模塊的概念:在軟件的體系結構中,模塊是可組合、分解和更換在軟件的體系結構中,模塊是可組合、分解和更換的單元,具有以下幾種基本屬性:的單元,具有以下幾種基本屬性:接口:指模塊的輸入輸出。接口:指模塊的輸入輸出。功能:模塊實現(xiàn)的功能。功能:模塊實現(xiàn)的功能。邏輯:內(nèi)部如何實現(xiàn)及所需數(shù)據(jù)。邏輯:內(nèi)部如
5、何實現(xiàn)及所需數(shù)據(jù)。狀態(tài):模塊的運行環(huán)境,調用與被調用關系。狀態(tài):模塊的運行環(huán)境,調用與被調用關系。邏輯屬性反映內(nèi)部特性,其它屬性反映模塊的外部邏輯屬性反映內(nèi)部特性,其它屬性反映模塊的外部特性。特性。1、模塊化原理根據(jù):、模塊化原理根據(jù): 問題問題P的復雜度的復雜度C(P),工作量,工作量E(P) 如果如果C(P1)C(P2),則,則E(P1)E(P2)經(jīng)驗經(jīng)驗1:C(P1+P2)C(P1)+C(P2) E(P1+P2)E(P1)+E(P2)2.模塊化原理模塊化原理經(jīng)驗經(jīng)驗2:成本成本成本成本 / / 模塊模塊最小成本區(qū)最小成本區(qū)接口成本接口成本軟件總成本軟件總成本模塊數(shù)目模塊數(shù)目2.模塊化原理
6、模塊化原理2.模塊化原理模塊化原理2、抽象、抽象(Abstraction): 忽略細節(jié),分層理解問題,自頂向下層忽略細節(jié),分層理解問題,自頂向下層層加細。層加細。 抽象與逐步求精、模塊化密切相關,可抽象與逐步求精、模塊化密切相關,可提高軟件的可理解性。提高軟件的可理解性。例:例:開發(fā)一個開發(fā)一個CAD軟件,實現(xiàn)一個二維繪圖系統(tǒng)軟件,實現(xiàn)一個二維繪圖系統(tǒng)的全部功能,供低級計算機輔助設計使用。的全部功能,供低級計算機輔助設計使用。2.模塊化原理模塊化原理抽象層次抽象層次I I:用問題所處環(huán)境的術語來描述這個:用問題所處環(huán)境的術語來描述這個軟件。軟件。 該軟件包括一個計算機繪圖界面,向繪圖員顯該軟件
7、包括一個計算機繪圖界面,向繪圖員顯示圖形,以及一個數(shù)字化儀界面,用以代替繪圖示圖形,以及一個數(shù)字化儀界面,用以代替繪圖板和丁字尺。所有直線、折線、矩形、圓及曲線板和丁字尺。所有直線、折線、矩形、圓及曲線的描畫、所有的幾何計算、所有的剖面圖和輔助的描畫、所有的幾何計算、所有的剖面圖和輔助視圖都可以用這個視圖都可以用這個CADCAD軟件實現(xiàn)軟件實現(xiàn)。2.模塊化原理模塊化原理 抽象層次抽象層次IIII:任務需求的描述。列出:任務需求的描述。列出“What”而而不是不是“How”。 CAD SOFTWARE TASKS: user interaction task; 2-D drawing creat
8、ion task; graphics display task; drawing file management task; END2.模塊化原理模塊化原理 抽象層次抽象層次IIIIII:程序過程表示。以:程序過程表示。以2-D2-D繪圖生成任務繪圖生成任務為例為例: PROCEDURE 2-D drawing creation REPEAT UNTILE (drawing creation task terminates) DO WHILE (digitizer interaction occurs) Digitizer interface task; DETERMINE drawing r
9、equest CASE Line: line drawing task; Rectangle: rectangle drawing task; Circle: circle drawing task; END; DO WHILE (keyboard interaction occurs) keyboard interaction task; PROCESS analysis/computation CASE View: auxiliary view task; Section: cross sectioning task; END; END REPETITION; END PROCEDURE.
10、 2.模塊化原理模塊化原理3、信息隱蔽、信息隱蔽(Information hiding) 局部化(一個模塊內(nèi)的信息對于不局部化(一個模塊內(nèi)的信息對于不需要這些信息的模塊,不能訪問),需要這些信息的模塊,不能訪問), 它為軟件系統(tǒng)的修改、測試及以它為軟件系統(tǒng)的修改、測試及以后的維護都帶來好處。后的維護都帶來好處。在這個抽象層次上,給出了初步的過程表示,在這個抽象層次上,給出了初步的過程表示,所用的術語都已面向軟件,而且模塊化的工作所用的術語都已面向軟件,而且模塊化的工作已經(jīng)開始顯露。已經(jīng)開始顯露。2.模塊化原理模塊化原理4、模塊獨立性、模塊獨立性(Module independence) 模塊獨
11、立模塊獨立模塊化、抽象、信息隱蔽模塊化、抽象、信息隱蔽、局部化局部化 好設計的關鍵:每個模塊完成一個相對好設計的關鍵:每個模塊完成一個相對獨立的子功能,并且與其它模塊間的接口簡獨立的子功能,并且與其它模塊間的接口簡單。單。 容易開發(fā)、測試、維護。容易開發(fā)、測試、維護。 2.模塊化原理模塊化原理 耦合耦合(Coupling) 不同模塊間的互聯(lián)程度的度量。不同模塊間的互聯(lián)程度的度量。 模塊間耦合高低取決于接口的復雜性、調用的方式及模塊間耦合高低取決于接口的復雜性、調用的方式及傳遞的信息。傳遞的信息。Great deal of dependenceIndependent Highly coupled
12、Loosely coupledUncoupled 獨立性的度量:獨立性的度量:耦合耦合(Coupling)&內(nèi)聚內(nèi)聚(Cohesion) (Yourdon & Constantine,1978)2.模塊化原理模塊化原理例例1:A訪問訪問C的內(nèi)部的內(nèi)部數(shù)據(jù)或不通過正數(shù)據(jù)或不通過正常入口而轉入常入口而轉入C的內(nèi)部。的內(nèi)部。ABCDA:goto C1C:C1: 獨立性由弱到強排列為:獨立性由弱到強排列為: 內(nèi)容耦合內(nèi)容耦合(Content Coupling): One module modifies another.2.模塊化原理模塊化原理例例2:部分代碼重疊:部分代碼重疊(常出現(xiàn)在匯編程(常出現(xiàn)在
13、匯編程序中)序中)B A例例3:一個模塊有:一個模塊有多個入口(多個功多個入口(多個功能)能)A:entry 1:entry 2:2.模塊化原理模塊化原理 公共耦合公共耦合 (Common coupling):公共數(shù)據(jù)環(huán)境公共數(shù)據(jù)環(huán)境Data are accessible from a common data store. Global : V1 V2A:A1=V1+V2B:V1=B1Global : V1 V2A:V1+B:V2=B1+V1問題:問題: 公共部分的改動將影響所有調用它的模塊;公共部分的改動將影響所有調用它的模塊; 公共部分的數(shù)據(jù)存取無法控制;公共部分的數(shù)據(jù)存取無法控制; 復雜
14、程度隨耦合模塊的個數(shù)增加而增加。復雜程度隨耦合模塊的個數(shù)增加而增加。2.模塊化原理模塊化原理 控制耦合控制耦合(Control coupling): 模塊之間傳遞有控制信息(可能為數(shù)據(jù)),被調用函模塊之間傳遞有控制信息(可能為數(shù)據(jù)),被調用函數(shù)通過控制信息有選擇地執(zhí)行塊內(nèi)某一功能。數(shù)通過控制信息有選擇地執(zhí)行塊內(nèi)某一功能。 One module passes parameters to control the activity of another module.ABFlagF2F1FnFlag接口單一,但仍然影響被控模塊的內(nèi)部邏輯。接口單一,但仍然影響被控模塊的內(nèi)部邏輯。 數(shù)據(jù)耦合數(shù)據(jù)耦合(D
15、ata coupling): 模塊之間通過參數(shù)(數(shù)據(jù))交換信息。模塊之間通過參數(shù)(數(shù)據(jù))交換信息。 模塊之間至少存在數(shù)據(jù)耦合。模塊之間至少存在數(shù)據(jù)耦合。 Only data are passed. It is easy to trace data and make changes.原則:原則:盡量使用數(shù)據(jù)耦合;盡量使用數(shù)據(jù)耦合; 少用控制耦合;少用控制耦合; 限制公共耦合的范圍;限制公共耦合的范圍; 完全不用內(nèi)容耦合。完全不用內(nèi)容耦合。2.模塊化原理模塊化原理2.模塊化原理模塊化原理 低內(nèi)聚:低內(nèi)聚: 巧合內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚巧合內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚 巧合內(nèi)聚巧合內(nèi)聚(偶然內(nèi)聚,偶然內(nèi)
16、聚,Coincidental cohesion):): 一個模塊完成一組任務,關系松散。一個模塊完成一組任務,關系松散。 一個模塊內(nèi)的各處理元素之間沒有任何聯(lián)系。一個模塊內(nèi)的各處理元素之間沒有任何聯(lián)系。 Unrelated functions, processes, or data are found in the same module (for convenience). 內(nèi)聚內(nèi)聚 (Cohesion): The elements of a module are directed to perform the same task.模塊內(nèi)部各個元素彼此結合的緊密程度。模塊內(nèi)部各個元素彼此結合
17、的緊密程度。.2.模塊化原理模塊化原理 邏輯內(nèi)聚邏輯內(nèi)聚(Logical cohesion):): 一個模塊完成的任務在邏輯上相同一個模塊完成的任務在邏輯上相同/相似相似 Logically related functions or data are placed in the same module. 例如把編輯各種輸入數(shù)據(jù)的功能放在一個模塊中,通例如把編輯各種輸入數(shù)據(jù)的功能放在一個模塊中,通過參數(shù)確定該模塊完成哪一個功能。過參數(shù)確定該模塊完成哪一個功能。A:Read inputsfrom diskfrom tapefrom 例如:例如:2.模塊化原理模塊化原理 時間內(nèi)聚時間內(nèi)聚(Tempo
18、ral cohesion):): 一個模塊內(nèi)所有任務必須在同一時間完成。一個模塊內(nèi)所有任務必須在同一時間完成。 The functions are related only by the timing involved.例如:系統(tǒng)的初始化例如:系統(tǒng)的初始化問題:不同功能混在一個模塊中,有時共用部分問題:不同功能混在一個模塊中,有時共用部分 編碼,使局部功能的修改牽動全局。編碼,使局部功能的修改牽動全局。2.模塊化原理模塊化原理 中內(nèi)聚:中內(nèi)聚:過程內(nèi)聚、通信內(nèi)聚過程內(nèi)聚、通信內(nèi)聚 過程內(nèi)聚過程內(nèi)聚(Procedural cohesion):): 模塊內(nèi)各元素相關,必須以特定次序執(zhí)行。模塊內(nèi)各元
19、素相關,必須以特定次序執(zhí)行。(程序流程圖劃分模塊)(程序流程圖劃分模塊) Functions are grouped together in a module to ensure a certain order of performance.例如:例如:enter datacheck datamanipulate data2.模塊化原理模塊化原理 通信內(nèi)聚通信內(nèi)聚(Communicational cohesion):): 模塊中所有元素使用同一個模塊中所有元素使用同一個I/OI/O。 All the functions in a module operate on or produce the
20、 same data set.例如:從同一磁帶上讀取不相干的數(shù)據(jù)例如:從同一磁帶上讀取不相干的數(shù)據(jù) 可能破壞獨立性??赡芷茐莫毩⑿?。2.模塊化原理模塊化原理 高內(nèi)聚:高內(nèi)聚:順序內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚功能內(nèi)聚 順序內(nèi)聚順序內(nèi)聚(Sequential cohesion):): 所有元素與同一功能密切相關,順序執(zhí)行。所有元素與同一功能密切相關,順序執(zhí)行。前一功能前一功能元素的輸出是后一功能元素的輸入。元素的輸出是后一功能元素的輸入。(數(shù)據(jù)流圖劃分模塊)(數(shù)據(jù)流圖劃分模塊) The output from one part of a module is the input to the next
21、part. 功能內(nèi)聚功能內(nèi)聚(Functional cohesion):): 所有元素屬于一個整體,完成同一功能。所有元素屬于一個整體,完成同一功能。缺一不可。缺一不可。 Every processing element is essential to the performance of a single function.3.啟發(fā)式規(guī)則啟發(fā)式規(guī)則2. 模塊規(guī)模適中:模塊規(guī)模適中: 過大不易理解;太小則接口開銷過大。過大不易理解;太小則接口開銷過大。 注意分解后不應降低模塊的獨立性。注意分解后不應降低模塊的獨立性。模塊的大小準則:模塊的大小準則:最好在最好在50150條語句左右,條語句左右,
22、便于理解。便于理解。1. 爭取低耦合、高內(nèi)聚(增加內(nèi)聚爭取低耦合、高內(nèi)聚(增加內(nèi)聚 減少耦合)減少耦合) 提高模塊獨立性。提高模塊獨立性。3. 適當控制適當控制 深度深度 = 分層的層數(shù)。過大表示分工過細。分層的層數(shù)。過大表示分工過細。 寬度寬度 = 同一層上模塊數(shù)的最大值。同一層上模塊數(shù)的最大值。 過大表示系統(tǒng)復雜度大。(扇出過大表示系統(tǒng)復雜度大。(扇出 )3.啟發(fā)式規(guī)劃啟發(fā)式規(guī)劃3.啟發(fā)式規(guī)劃啟發(fā)式規(guī)劃 扇出扇出 = 一個模塊直接一個模塊直接調用調用控制的模塊數(shù)。控制的模塊數(shù)。 3 fan-out 9AA的扇出的扇出AA的扇入的扇入 扇入扇入 = 直接調用該模直接調用該模塊的模塊數(shù)塊的模塊
23、數(shù)在不破壞獨立性的前提在不破壞獨立性的前提下,下,fan-in 大的比較好。大的比較好。3.啟發(fā)式規(guī)劃啟發(fā)式規(guī)劃 深度、寬度、扇入、扇出。深度、寬度、扇入、扇出。TDMABC扇入扇入扇出扇出深深度度寬度寬度 較好的軟件結構:頂層扇出多,中層扇出比較較好的軟件結構:頂層扇出多,中層扇出比較少,底層高扇入。少,底層高扇入。3.啟發(fā)式規(guī)劃啟發(fā)式規(guī)劃3.啟發(fā)式規(guī)劃啟發(fā)式規(guī)劃4、作用域在控制域內(nèi)、作用域在控制域內(nèi) 控制域控制域MACB直接直接/間接從屬于它的集合間接從屬于它的集合 M的控制域為的控制域為 M,A,B,C 作用域:作用域:M中的一個判定所影響的模塊。中的一個判定所影響的模塊。例如:例如:A
24、: if then goto B1 B: B1: 作用域在控制域內(nèi)作用域在控制域內(nèi)A: if then goto M1 M: M1: goto C1 作用域超出了控制域作用域超出了控制域上例中上例中A的作用超出了控制域。的作用超出了控制域。改進方法之一,可以把改進方法之一,可以把A中的中的 if 移到移到M中;中; 方法之二,可以把方法之二,可以把C移到移到A下面。下面。3.啟發(fā)式規(guī)劃啟發(fā)式規(guī)劃5、降低接口的復雜程度、降低接口的復雜程度 模塊的結構準則:模塊的結構準則:接口要簡單、清晰及含義明確,便于理接口要簡單、清晰及含義明確,便于理解,易于實現(xiàn)、測試與維護。解,易于實現(xiàn)、測試與維護。 接口
25、復雜接口復雜/不一致,可能表明緊耦合,低內(nèi)聚,模塊的獨不一致,可能表明緊耦合,低內(nèi)聚,模塊的獨立性差。立性差。6、單出單入,避免內(nèi)容耦合。、單出單入,避免內(nèi)容耦合。7、模塊功能可預測、模塊功能可預測 相同輸入必產(chǎn)生相同輸出。相同輸入必產(chǎn)生相同輸出。 反例:模塊中使用全局變量或靜態(tài)變量,反例:模塊中使用全局變量或靜態(tài)變量, 則可則可 能導致不可預測。能導致不可預測。作業(yè):你自己負責設計的作業(yè):你自己負責設計的MIS界面中可能遇到哪些類型的界面中可能遇到哪些類型的耦合和內(nèi)聚?耦合和內(nèi)聚? 對列出的每種類型試舉一例。對列出的每種類型試舉一例。4.圖形工具圖形工具1、Hierarchy和和HIPO 描
26、繪軟件層次描繪軟件層次 結構。結構。例:例:BooKMisInterface編輯編輯2.0打印打印3.0錄入錄入1.0檢索檢索4.0刪除刪除2.3修改修改2.2添加添加2.1書名書名4.1分類分類4.2作者名作者名4.3出版社出版社4.4自然自然科學科學4.2.14.圖形工具圖形工具注意:注意: 這里的這里的hierarchy表現(xiàn)軟件的結構,而非數(shù)據(jù)結構;表現(xiàn)軟件的結構,而非數(shù)據(jù)結構; 每個矩形框代表一個模塊,每個矩形框代表一個模塊,框內(nèi)名字體現(xiàn)該??騼?nèi)名字體現(xiàn)該模塊的功能。塊的功能。 連線表示連線表示“調用調用”而非而非“組成組成”。模塊間的控模塊間的控制關系:制關系:統(tǒng)率、從屬;統(tǒng)率、從屬
27、; 所謂所謂HIPO,即對每個模塊附一張,即對每個模塊附一張IPO圖。每個圖。每個IPO圖中應明確標出對應模塊的編號。圖中應明確標出對應模塊的編號。4.圖形工具圖形工具2、結構圖、結構圖(Structured Diagram) 描繪軟件結構描繪軟件結構 符號:符號:數(shù)據(jù)傳遞;數(shù)據(jù)傳遞;控制信息;控制信息;或;或;循環(huán)循環(huán). .例:例:BAMM1M2M3CD注:此圖一般注:此圖一般不入文檔,僅不入文檔,僅用于檢查設計用于檢查設計的正確性和模的正確性和模塊獨立性。塊獨立性。4.圖形工具圖形工具須檢查;須檢查; 每個傳遞的數(shù)據(jù)是否每個傳遞的數(shù)據(jù)是否必須必須? 完成模塊功能所必須的數(shù)據(jù)是否完成模塊功能
28、所必須的數(shù)據(jù)是否都傳遞了都傳遞了? 傳輸?shù)臄?shù)據(jù)是否只與傳輸?shù)臄?shù)據(jù)是否只與單一單一的功能有關?的功能有關? 是否目的明確?是否目的明確?5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法(結構化方法(結構化方法SD:Structural Design)基本思想:基本思想: DFD System Hierarchy1、Data Flow 的分類的分類 變換流變換流(Transform Flow): (信息)外部(信息)外部內(nèi)部內(nèi)部 外部外部Internal representationInformationTransform flowOutgoingflowIncomingflowExternal re
29、presentationTime事實上所事實上所有信息流有信息流都可歸結都可歸結為變換流為變換流5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法 事務流事務流(Transaction Flow)T = Call one of the several subroutines depending on the type of the incoming transaction request.當信息流具有明顯當信息流具有明顯的的“發(fā)射中心發(fā)射中心”時時(“以事務為中以事務為中心心”),可歸結為),可歸結為事務流。事務流。 TTransactionrequest Action paths Transact
30、ion center2. 設計過程設計過程: P.685.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法3、分析設計、分析設計 變換分析變換分析例:例:P.96 汽車數(shù)字儀表板的設計汽車數(shù)字儀表板的設計功能:功能: 通過模通過模 - 數(shù)轉換實現(xiàn)傳感器和微處理機接口;數(shù)轉換實現(xiàn)傳感器和微處理機接口; 在發(fā)光二極管面板上顯示數(shù)據(jù);在發(fā)光二極管面板上顯示數(shù)據(jù); 指示每小時英里數(shù)指示每小時英里數(shù)(mph),行駛的里程,每加行駛的里程,每加侖油行駛的英里數(shù)侖油行駛的英里數(shù)(mpg)等等;等等; 指示加速或減速;指示加速或減速; 如果車速超過如果車速超過55mph, 則發(fā)出警告鈴聲。則發(fā)出警告鈴聲。5.面向數(shù)據(jù)
31、流的設計方法面向數(shù)據(jù)流的設計方法第一步:第一步:DFD分界,先分出分界,先分出I、P、O三塊三塊燃料流燃料流 傳感器信號傳感器信號SPS旋轉信號旋轉信號讀讀旋轉旋轉信號信號收集收集和求和求平均平均確定確定加加/ /減減速速轉換轉換成成轉轉/ /分分計算計算里程里程計算計算mph,超超速值速值產(chǎn)生產(chǎn)生加加/ /減減速顯示速顯示計算計算燃料燃料消耗消耗計算計算gph讀和讀和校核校核產(chǎn)生產(chǎn)生mpg顯示顯示產(chǎn)生產(chǎn)生mph顯示顯示發(fā)出發(fā)出鈴聲鈴聲產(chǎn)生產(chǎn)生里程里程顯示顯示SPS SPS箭頭指示箭頭指示燃燒流燃燒流上箭頭上箭頭水平線水平線下箭頭下箭頭rpmrpmgphmphmpgmph超速值超速值英里英里顯
32、示顯示鈴聲鈴聲mph顯示顯示mpg顯示顯示注:注:SPS 信號信號/秒秒 rpm轉轉/分分 gph加侖油加侖油/時時5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法一般問題的一般問題的一級分解方一級分解方法:法:數(shù)字儀表板數(shù)字儀表板控制控制數(shù)據(jù)轉換數(shù)據(jù)轉換控制控制驅動儀表板驅動儀表板接收傳感器接收傳感器信號信號MPIO5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法第二步:映射第二步:映射ADCBMICBDA:每個處理直接對應:每個處理直接對應一個下層模塊。一個下層模塊。P:由邊界向:由邊界向回溯回溯,將,將每個遇到的處理器映每個遇到的處理器映成相應的層模塊。成相應的層模塊。I:由邊界向:由邊界向外推
33、外推,方,方法與法與 類似類似OI5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法例:例: 數(shù)字儀表板數(shù)字儀表板控制控制數(shù)據(jù)轉換數(shù)據(jù)轉換控制控制驅動儀表板驅動儀表板接收傳感器接收傳感器信號信號計算計算gph讀燃料流讀燃料流轉換成轉換成rpm收集收集sps讀旋轉信號讀旋轉信號確定確定加加/ /減速減速計算計算mph計算計算mpg計算計算里程里程加加/ /減速減速顯示顯示顯示顯示mpg顯示顯示mph顯示顯示里程里程發(fā)出發(fā)出鈴聲鈴聲發(fā)光二極管顯示發(fā)光二極管顯示5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法第三步:修改第三步:修改 本著高內(nèi)聚、低耦合的原則。本著高內(nèi)聚、低耦合的原則。例:精化后的數(shù)字儀表板系
34、統(tǒng)的軟件結構。例:精化后的數(shù)字儀表板系統(tǒng)的軟件結構。5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法注:每個模塊應附一簡要說明描述注:每個模塊應附一簡要說明描述 進出該模塊的信息(接口描述);進出該模塊的信息(接口描述); 模塊內(nèi)部的信息;模塊內(nèi)部的信息; 過程陳述,包括主要判定點及任務等;過程陳述,包括主要判定點及任務等; 對約束和特殊特點的簡短討論。對約束和特殊特點的簡短討論。5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法 事務分析事務分析MIIISABCIIISBAC接受分支接受分支發(fā)送分支發(fā)送分支5.面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法3、SD的總體過程:的總體過程:“變換變換”“事務事務”精化數(shù)據(jù)流圖精化數(shù)據(jù)流圖流類型流類型區(qū)分事務中心和區(qū)分事務中心和數(shù)據(jù)接收通路數(shù)據(jù)接收通路區(qū)分輸入和區(qū)分輸入和輸出分支輸出分支映射成事務結構映射成事務結構映射成變換結構映射成變換結構用啟發(fā)式設計規(guī)用啟發(fā)式設計規(guī)則精化軟件結構則精化軟件結構導出接口描述和導出接口描述和全程數(shù)據(jù)結構全程數(shù)據(jù)結構復復 查查詳細設計詳細設計變換分析變換分析事務分析事務分析優(yōu)化的前題是優(yōu)化的前題是:“Get it to work, then make it fast.”
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運動會安全工作預案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結+在機關“弘揚憲法精神推動發(fā)改工作高質量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結
- 2024-2025年秋季第一學期初中歷史上冊教研組工作總結
- 2024年小學高級教師年終工作總結匯報
- 2024-2025年秋季第一學期初中物理上冊教研組工作總結
- 2024年xx鎮(zhèn)交通年度總結
- 2024-2025年秋季第一學期小學語文教師工作總結
- 2024年XX村陳規(guī)陋習整治報告
- 2025年學校元旦迎新盛典活動策劃方案
- 2024年學校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告