軟件工程課件 第4章 總體設計(XXXX0416)_第1頁
軟件工程課件 第4章 總體設計(XXXX0416)_第2頁
軟件工程課件 第4章 總體設計(XXXX0416)_第3頁
軟件工程課件 第4章 總體設計(XXXX0416)_第4頁
軟件工程課件 第4章 總體設計(XXXX0416)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本loadingloadingdgil第4章 總體設計案例分析一設計原理結構程序設計啟發(fā)規(guī)則面向數(shù)據(jù)流的設計方法教學單位教師介紹南京信息工程大學nanjing university of information science &technologyinstructor: bi shuoben (畢碩本畢碩本)email: tel:h)4.44.14.24.34.5第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.1 案例分析一 招聘考試成績管理系統(tǒng)數(shù)

2、據(jù)庫結數(shù)據(jù)庫結構設計構設計系統(tǒng)結構系統(tǒng)結構設計設計設計測試設計測試方案方案第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.1 案例分析一 招聘考試成績管理系統(tǒng)5.1.1 數(shù)據(jù)庫結構設計數(shù)據(jù)庫結構設計管理員管理員數(shù)據(jù)表數(shù)據(jù)表帳號密碼考場號地點最多人數(shù)準考證號、姓名、性別、地區(qū)、出生年月、地址、專業(yè)、政治、英語、專業(yè)課、總分、名次、是否錄用、錄用單位。準考證號、姓名、性別、專業(yè)、錄用單位、總分考場數(shù)考場數(shù)據(jù)表據(jù)表考生數(shù)考生數(shù)據(jù)表據(jù)表錄用錄用考生考生第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.1 案例分析一 招聘考試成績管理系統(tǒng)

3、5.1.2 系統(tǒng)結構設計系統(tǒng)結構設計一一二二三三確定出確定出各個模各個模塊及其塊及其關系。關系。數(shù)據(jù)流數(shù)據(jù)流圖需進圖需進一步細一步細化?;?。用層次用層次圖或結圖或結構圖來構圖來表示。表示。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本招聘考試成績管理系統(tǒng)hipo圖第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.1 案例分析一 招聘考試成績管理系統(tǒng)5.1.3 設計測試方案設計測試方案錄用模塊錄用模塊主要測試考生準考證號的生成是否正確。進行各種測試條件的測試。分考生成績輸入、成績查詢、打印成績單三個模塊。主要測試考生成績輸入界面設計

4、是否合理、輸入后成績總分的計算及排序是否正確。text考前處理模塊考前處理模塊成績信息模塊成績信息模塊測試輸入界面是否正確、合理;錄用結果的輸出與輸入是否一致。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.2 案例分析二 從完整的工資管理系統(tǒng)數(shù)據(jù)流圖出發(fā)事務數(shù)據(jù)和人事數(shù)據(jù)沿兩條輸入通路進入系統(tǒng)輸出數(shù)據(jù)沿著一條輸出通路離開系統(tǒng),數(shù)據(jù)流圖中沒有明顯的事務中心。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.2 案例分析二 1、分析確定輸入流和輸出流的邊界,以孤立出、分析確定輸入流和輸出流的邊界,以孤立出變換中心。變換中心。第第4

5、 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.2 案例分析二 2、完成、完成“第一級分解第一級分解”。就是確定系統(tǒng)的總體。就是確定系統(tǒng)的總體控制結構。通常變換分析得到的系統(tǒng)高層結構是控制結構。通常變換分析得到的系統(tǒng)高層結構是一個一個“三叉三叉”的控制結構。的控制結構。工資管理系統(tǒng)的第一層分解工資管理系統(tǒng)的第一層分解第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.2 案例分析二 3、完成、完成“第二級分解第二級分解”。就是把數(shù)據(jù)流圖中的。就是把數(shù)據(jù)流圖中的每個處理映射成軟件結構中的一個適當模塊。每個處理映射成軟件結構中的一個適當模塊

6、。從變換中心的邊界開始沿著輸入通路向外移動,把輸入通路中每個處理映射成軟件結構中“輸入信息處理控制模塊”控制下的一個低層模塊。然后沿輸出通路向外移動,把輸出通路中每個處理映射成直接或間接接受“輸出信息處理控制模塊”控制的一個低層模塊。最后把變換中心內(nèi)的每個處理映射成受“變換中心控制模塊”控制的一個低層模塊。變換分析的映射原則變換分析的映射原則第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.2 案例分析二 第二級分解第二級分解第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.2 案例分析二 4、對工資管理系統(tǒng)的初步設計結果進行優(yōu)化

7、。、對工資管理系統(tǒng)的初步設計結果進行優(yōu)化。優(yōu)化后的工資管理系統(tǒng)軟件結構分解優(yōu)化后的工資管理系統(tǒng)軟件結構分解第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理模塊化模塊化就是把程序劃分成獨立命名且可就是把程序劃分成獨立命名且可獨立訪獨立訪問問的模塊,每個模塊完成一個子功能,把這些模的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。滿足用戶的需求。5.3.1 模塊化模塊化第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理模

8、塊化和軟件成本模塊化和軟件成本第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理抽象抽象就是抽出事物的就是抽出事物的本質(zhì)特性本質(zhì)特性而暫時不考慮它而暫時不考慮它們的細節(jié)。們的細節(jié)。軟件工程過程的每一步都是對軟件解法的軟件工程過程的每一步都是對軟件解法的抽象抽象層次的一次精化層次的一次精化。5.3.2 抽象抽象第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理達到了抽象的最低層可行性可行性研究研究需求分析需求分析總體設計總體設計到詳細設到詳細設計計寫出源程序?qū)懗鲈闯绦蜍浖夥ㄊ鞘褂迷趩栴}環(huán)境內(nèi)熟悉的方式描述的

9、抽象的程度也就隨之減少了軟件作為系統(tǒng)的一個完整部件第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理模塊化的概念,與抽象是緊密相關的。模塊化的概念,與抽象是緊密相關的。隨著軟件開發(fā)工程的進展,在軟件結構隨著軟件開發(fā)工程的進展,在軟件結構每一層每一層中的模塊中的模塊,表示了對軟件,表示了對軟件抽象層次的一次精化抽象層次的一次精化。軟件結構頂層的模塊,控制了系統(tǒng)的主要功能軟件結構頂層的模塊,控制了系統(tǒng)的主要功能并且影響全局;在軟件結構底層的模塊,完成對并且影響全局;在軟件結構底層的模塊,完成對數(shù)據(jù)的一個具體處理。數(shù)據(jù)的一個具體處理。第第4 4章章 總體設

10、計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l把抽象是:把抽象是:“為了能集中精力解決主要問題而為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮。盡量推遲對問題細節(jié)的考慮?!背橄笈c求精是一對互補的概念抽象與求精是一對互補的概念。5.3.3 逐步求精逐步求精抽象使得設計者能夠說明過程和數(shù)據(jù),同時卻忽略低層細節(jié)。求精則幫助設計者在設計過程中逐步揭示出低層細節(jié)。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理5.3.4 信息隱藏和局部化信息隱藏和局部化局部化的概念和信息隱藏概念是密切相關的。所謂局部化是指把一些關系密切的軟

11、件元素物理地放得彼此靠近。信息隱藏原理指出:應該這樣設計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理模塊獨立的概念是模塊獨立的概念是模塊化模塊化、抽象抽象、信息隱藏信息隱藏和和局部化局部化概念的直接結果。概念的直接結果。開發(fā)具有獨立功能而且和其他模塊之間沒有過開發(fā)具有獨立功能而且和其他模塊之間沒有過多的相互作用的模塊,就可以做到模塊獨立。多的相互作用的模塊,就可以做到模塊獨立。l耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度;l內(nèi)聚衡量一個模塊內(nèi)部各

12、個元素彼此結合的緊密程度。5.3.5 模塊獨立模塊獨立第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理內(nèi)聚:內(nèi)聚:模塊各元素執(zhí)行相同的任務模塊各元素執(zhí)行相同的任務內(nèi)聚級別:內(nèi)聚級別: 偶然內(nèi)聚偶然內(nèi)聚 邏輯內(nèi)聚邏輯內(nèi)聚 時間內(nèi)聚時間內(nèi)聚 過程內(nèi)聚過程內(nèi)聚 通信內(nèi)聚通信內(nèi)聚 順序內(nèi)聚順序內(nèi)聚 功能內(nèi)聚功能內(nèi)聚最差最差最好最好1.內(nèi)聚第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理偶然偶然內(nèi)聚:內(nèi)聚:為方便把不相干的元素組合在一起為方便把不相干的元素組合在一起嚴重的缺點:嚴重的缺點:產(chǎn)品的可維護性退化;產(chǎn)品

13、的可維護性退化; 模塊是不可復用的,增加軟件成本。模塊是不可復用的,增加軟件成本。解決途徑:解決途徑:將模塊分成更小的模塊,將模塊分成更小的模塊, 每個小模塊執(zhí)行一個操作。每個小模塊執(zhí)行一個操作。低內(nèi)聚第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理邏輯內(nèi)聚:把邏輯上相似的功能結合到一個模塊中。邏輯內(nèi)聚:把邏輯上相似的功能結合到一個模塊中。缺點:缺點:會增加開關量、不易修改、不易理解、會增加開關量、不易修改、不易理解、效率低等問題。效率低等問題。解決途徑:解決途徑:盡量避免這種邏輯性內(nèi)聚。盡量避免這種邏輯性內(nèi)聚。低內(nèi)聚第第4 4章章 總體設計總體設

14、計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理 時間時間內(nèi)聚:內(nèi)聚:某段時間執(zhí)行的若干功能任務某段時間執(zhí)行的若干功能任務 放在同一模塊中放在同一模塊中 例如:例如:系統(tǒng)的初始化系統(tǒng)的初始化 問題問題: 不同的功能混在一個模塊中,有時共用部分不同的功能混在一個模塊中,有時共用部分編碼,使局部功能的修改牽動全局。編碼,使局部功能的修改牽動全局。低內(nèi)聚第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理過程過程內(nèi)聚:內(nèi)聚:模塊中的各功能元素相關,模塊中的各功能元素相關, 并且按特定次序執(zhí)行并且按特定次序執(zhí)行例如:例如:讀寫并更新數(shù)據(jù)記錄讀寫

15、并更新數(shù)據(jù)記錄中內(nèi)聚enter datacheck datamanipulate data第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理 通信通信內(nèi)聚:模塊中的成分需用同樣數(shù)據(jù)內(nèi)聚:模塊中的成分需用同樣數(shù)據(jù) 例如:例如:1. 某模塊的各成分都利用一符號表進行操作;某模塊的各成分都利用一符號表進行操作;2. 從同一磁帶上讀取不相干的數(shù)據(jù)。從同一磁帶上讀取不相干的數(shù)據(jù)。 問題:問題:可能破壞獨立性??赡芷茐莫毩⑿?。中內(nèi)聚第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理順序順序內(nèi)聚:內(nèi)聚:模塊的輸出是下一模

16、塊的輸入。模塊的輸出是下一模塊的輸入。 模塊的各成分利用相同的輸入或產(chǎn)模塊的各成分利用相同的輸入或產(chǎn)生相同的輸出生相同的輸出。功能功能內(nèi)聚:為完成一個任務把所需的全部功能內(nèi)聚:為完成一個任務把所需的全部功能 組合在一起。組合在一起。原則原則:力爭高內(nèi)聚和識別低內(nèi)聚,可以使得設:力爭高內(nèi)聚和識別低內(nèi)聚,可以使得設計的軟件具有計的軟件具有較高的功能獨立性較高的功能獨立性。高內(nèi)聚第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理計算多個地點的計算多個地點的每日平均溫度每日平均溫度功能內(nèi)聚功能內(nèi)聚初始化,初始化,“求和求和”并打開文件并打開文件偶然內(nèi)聚偶然內(nèi)

17、聚關閉文件并打印關閉文件并打印平均溫度平均溫度偶然內(nèi)聚偶然內(nèi)聚創(chuàng)建新的創(chuàng)建新的溫度記錄溫度記錄功能內(nèi)聚功能內(nèi)聚存儲溫度記錄存儲溫度記錄功能內(nèi)聚功能內(nèi)聚讀取地點、時間讀取地點、時間和溫度和溫度功能內(nèi)聚功能內(nèi)聚編輯地點、時間編輯地點、時間和溫度字段和溫度字段邏輯內(nèi)聚邏輯內(nèi)聚存儲特定地點的存儲特定地點的溫度溫度功能內(nèi)聚功能內(nèi)聚內(nèi)聚示例內(nèi)聚示例第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l耦合耦合是度量系統(tǒng)中模塊之間的交互程度。是度量系統(tǒng)中模塊之間的交互程度。l耦合從低到高依次為:耦合從低到高依次為:非直接耦合非直接耦合(最好),(最好),數(shù)據(jù)耦合,標

18、記耦合,控制耦合,外部耦合,數(shù)據(jù)耦合,標記耦合,控制耦合,外部耦合,公共耦合和內(nèi)容耦合公共耦合和內(nèi)容耦合(最差)(最差)。2. 耦合great deal of dependenceindependent highly coupledloosely coupleduncoupled 第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l內(nèi)容耦合內(nèi)容耦合 content couplingl如果兩個模塊中的一個直接引用了另一個模塊的內(nèi)容,則它們之間是內(nèi)容耦合。2. 耦合例例1:a訪問訪問c的內(nèi)的內(nèi)部數(shù)據(jù)或不通過正常部數(shù)據(jù)或不通過正常入口而轉(zhuǎn)入入口而轉(zhuǎn)入c的內(nèi)

19、部。的內(nèi)部。abcda:goto c1c:c1: 第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理2. 耦合例例2:部分代碼重:部分代碼重疊(常出現(xiàn)在匯疊(常出現(xiàn)在匯編程序中)編程序中)例例3:一個模:一個模塊有多個入塊有多個入口(功能)口(功能)b aa:entry 1:entry 2: the least desirable must be avoided第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l公共耦合公共耦合 common coupling l如果兩個模塊都可以存取相同的全局數(shù)據(jù),則它們

20、之間是公共耦合。2. 耦合global : v1 v2a:a1=v1+v2b:v1=b1global : v1 v2a:v1+b:v2=b1+v1第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l公共耦合存在的問題:公共耦合存在的問題:l 公共部分的改動將影響所有調(diào)用它的模塊;l 公共部分的數(shù)據(jù)存取無法控制;l 復雜程度隨耦合模塊的個數(shù)增加而增加。l解決方法解決方法:l通過使用信息隱藏來避免公共耦合。2. 耦合第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l外部耦合外部耦合 external coup

21、ling l當模塊與軟件的外部環(huán)境聯(lián)結在一起,并受到約束時就出現(xiàn)較高程度的耦合,則它們之間為外部耦合。2. 耦合anmlfedcbop第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l控制耦合控制耦合 control coupling l如果兩個模塊中的一個模塊給另一個模塊傳遞控制信息,則它們具有控制耦合。2. 耦合abflagf2f1fnflag特點:特點:接口單接口單一,但仍然影一,但仍然影響被控模塊的響被控模塊的內(nèi)部邏輯。內(nèi)部邏輯。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l標記耦合標記耦合

22、 stamp couplingl如果兩個模塊都要使用同一數(shù)據(jù)結構的一部分,不是采用全局公共數(shù)據(jù)區(qū)共享,而是通過模塊結構傳遞數(shù)據(jù)結構的一部分,則它們之間為標記耦合。l數(shù)據(jù)耦合數(shù)據(jù)耦合 data couplingl被調(diào)用模塊的輸入與輸出是簡單的參數(shù)或者是數(shù)據(jù)結構(該數(shù)據(jù)結構中的所有元素為被調(diào)用的模塊使用),則它們之間為數(shù)據(jù)耦合。l非直接耦合非直接耦合 no direct coupling l兩個模塊之間沒有聯(lián)系,則它們之間為非直接耦合。2. 耦合 the most desirable.第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.3 設計原理l實現(xiàn)低耦合,采取下

23、列措施:實現(xiàn)低耦合,采取下列措施:l耦合方式l采用非直接耦合,不采用直接耦合。l傳遞信息類型l盡量使用數(shù)據(jù)耦合,少采用控制耦合,外部耦合和公共耦合限制使用。l耦合數(shù)量l模塊間相互調(diào)用時,傳遞參數(shù)最好只有一個。2. 耦合第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.4 啟發(fā)規(guī)則1.爭取低耦合、高內(nèi)聚爭取低耦合、高內(nèi)聚l增加內(nèi)聚、 減少耦合2.模塊規(guī)模適中模塊規(guī)模適中l(wèi)過大,分解不充分,不易理解;太小,則開銷過大、接口復雜。3.3.適當控制模塊結構參數(shù)適當控制模塊結構參數(shù) l深度 = 分層的層數(shù)。過大表示分工過細。l寬度 = 同一層上模塊數(shù)的最大值。過大,表示系

24、統(tǒng)復雜度大。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.4 啟發(fā)規(guī)則l軟件結構軟件結構第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.4 啟發(fā)規(guī)則 扇出扇出 = = 一個模塊直一個模塊直接調(diào)用接調(diào)用 控制的模塊數(shù)??刂频哪K數(shù)。3 3 fan-out fan-out 9 9aa的扇出的扇出aa的扇入的扇入 扇入扇入 = 直接調(diào)用該模直接調(diào)用該模塊的模塊數(shù)塊的模塊數(shù)在不破壞獨立性的前提在不破壞獨立性的前提下,下,fan-in 大的比較好。大的比較好。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩

25、本4.4 啟發(fā)規(guī)則l盡可能減少高扇出結構,隨著深度增大扇入盡可能減少高扇出結構,隨著深度增大扇入l如果一個模塊的扇出數(shù)過大,就意味著該模塊過分復雜,需要協(xié)調(diào)和控制過多的下屬模塊。應當適當增加中間層次的控制模塊。l一般來說,頂層扇出高,中間扇出少,低層高扇入。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.4 啟發(fā)規(guī)則4.模塊的作用范圍保持在該模塊的控制范圍內(nèi)模塊的作用范圍保持在該模塊的控制范圍內(nèi)l控制域控制域指該模塊本身以及所有直接或間接從屬指該模塊本身以及所有直接或間接從屬于它的模塊。于它的模塊。l作用域作用域是指該模塊中一個判斷所影響的所有其是指該模塊中一

26、個判斷所影響的所有其它模塊;它模塊; 控制域控制域macbm m的控制域為的控制域為 mm,a a,b b,ccm m的作用域為的作用域為 mm,a a,cc 作用域:作用域:m m中的一個判定所影響的模塊。中的一個判定所影響的模塊。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.4 啟發(fā)規(guī)則l例:例:a: if then goto b1 b: b1: 作用域在控制域內(nèi)作用域在控制域內(nèi)a: if then goto m1 m: m1: goto c1 作用域超出了控制域作用域超出了控制域改進方法之一,可以把改進方法之一,可以把a a中的中的 if if 移到移

27、到m m中;中;改進改進方法之二,可以把方法之二,可以把c c移到移到a a下面。下面。macb第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.4 啟發(fā)規(guī)則5.5.降低接口的復雜程度降低接口的復雜程度l模塊接口的復雜性是引起軟件錯誤的一個主要原因。接口設計應該使得信息傳遞簡單并且與模塊的功能一致。6.6.單出口單入口,避免內(nèi)容耦合單出口單入口,避免內(nèi)容耦合l易于理解和維護。7.7.模塊功能可預測模塊功能可預測l相同輸入必產(chǎn)生相同輸出。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法把

28、面向數(shù)據(jù)流的設計方法把數(shù)據(jù)流數(shù)據(jù)流(信息流)映(信息流)映射成射成軟件結構軟件結構,數(shù)據(jù)流的類型數(shù)據(jù)流的類型決定了映射的方法。決定了映射的方法。1. 變換流變換流信息沿輸入通路進入系統(tǒng),同時由外部形式變信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。開軟件系統(tǒng)。5.5.1 模塊獨立模塊獨立第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法變換流變換流第第4 4章章 總體設

29、計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法2. 事務流事務流數(shù)據(jù)沿輸入通路到達一個處理,這個處理根據(jù)數(shù)據(jù)沿輸入通路到達一個處理,這個處理根據(jù)輸入數(shù)據(jù)的類型輸入數(shù)據(jù)的類型在若干個動作序列中在若干個動作序列中選出一個選出一個來來執(zhí)行。這類數(shù)據(jù)流稱為事務流。執(zhí)行。這類數(shù)據(jù)流稱為事務流。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法事務流事務流第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法變換分析是經(jīng)過若干步驟把具有變換流特點的變換分析是經(jīng)過

30、若干步驟把具有變換流特點的數(shù)據(jù)流圖按預先確定的模式映射成軟件結構。數(shù)據(jù)流圖按預先確定的模式映射成軟件結構。5.5.2 變換分析變換分析找出變換中找出變換中心及邏輯輸心及邏輯輸入入/ /出出設計軟件結設計軟件結構的頂層構的頂層自頂向下,自頂向下,逐步細化,逐步細化,設計中下層設計中下層模塊模塊設計步驟第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法例:汽車數(shù)字儀表板的設計例:汽車數(shù)字儀表板的設計5.5.3 變換流分析變換流分析功能:功能: 通過模通過模 - 數(shù)轉(zhuǎn)換實現(xiàn)傳感器和微處理機接口;數(shù)轉(zhuǎn)換實現(xiàn)傳感器和微處理機接口; 在發(fā)光二極管面板

31、上顯示數(shù)據(jù);在發(fā)光二極管面板上顯示數(shù)據(jù); 指示每小時英里數(shù)指示每小時英里數(shù)(mph),行駛的里程行駛的里程,每加侖油每加侖油行駛的英里數(shù)行駛的英里數(shù)(mpg)等等;等等; 指示加速或減速;指示加速或減速; 如果車速超過如果車速超過55mph ,則發(fā)出警告鈴聲。則發(fā)出警告鈴聲。第第4 4章章 總體設計總體設計計算機與軟件學院計算機與軟件學院 畢碩本畢碩本4.5 面向數(shù)據(jù)流的設計方法燃料流燃料流 傳感器信號傳感器信號sps旋轉(zhuǎn)信號旋轉(zhuǎn)信號讀讀旋轉(zhuǎn)旋轉(zhuǎn)信號信號收集收集和求和求平均平均確定確定加加/ /減減速速轉(zhuǎn)換轉(zhuǎn)換成成轉(zhuǎn)轉(zhuǎn)/ /分分計算計算里程里程計算計算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超速值超速值英里英里顯示顯示鈴聲鈴聲m

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論