




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院第3章 概要設計(第3.1-3.3節(jié))武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院主要內容概要設計任務和過程概要設計任務和過程軟件設計基本原則軟件設計基本原則面向數據流圖的設計方法面向數據流圖的設計方法武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.1 概要設計的任務和過程 需求分析需求分析:軟件系統(tǒng)必須軟件系統(tǒng)必須“做什么做什么” ;軟件設計軟件設計:“如何如何做做”才可以滿足需求規(guī)格說明中規(guī)定的各項需求。才可以滿足需求規(guī)格說明中規(guī)定的各項需求。 從工程管理的角度來看,軟件設計通常分為兩步,即概要設從工程管
2、理的角度來看,軟件設計通常分為兩步,即概要設計和詳細設計。計和詳細設計。概要設計的基本目的是回答概要設計的基本目的是回答“概括地說,軟件系統(tǒng)應如實現概括地說,軟件系統(tǒng)應如實現”這一問題。因此,概要設計有時稱為初步設計或總體設計。這一問題。因此,概要設計有時稱為初步設計或總體設計。概要設計的關鍵是確定軟件的總體結構,即確定軟件系統(tǒng)的概要設計的關鍵是確定軟件的總體結構,即確定軟件系統(tǒng)的組成成份(子系統(tǒng)或模塊)以及各組成成份之間的相互關系。組成成份(子系統(tǒng)或模塊)以及各組成成份之間的相互關系。詳細設計是對概要設計結果的進一步細化,其主要任務是確詳細設計是對概要設計結果的進一步細化,其主要任務是確定軟
3、件系統(tǒng)各組成成份內部的數據結構和算法過程。定軟件系統(tǒng)各組成成份內部的數據結構和算法過程。方法:結構化方法、面向對象方法方法:結構化方法、面向對象方法 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院結構化設計DFD數據流圖ERD實體關系圖STD狀態(tài)轉換圖武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院面向對象設計功能模型數據流圖對象模型類圖行為模型狀態(tài)轉換圖、時序圖等武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院概要設計的內容1、數據設計(對象設計)、數據設計(對象設計)-數據結構數據結構2、軟件結構設計(子系統(tǒng)設計)、軟件結構設計(子系統(tǒng)設計) -結構元素關系
4、結構元素關系3、接口設計(消息設計)、接口設計(消息設計)-如何通信如何通信4、過程設計(方法設計)、過程設計(方法設計)-過程化描述過程化描述武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院把分析模型轉變成軟件設計把分析模型轉變成軟件設計數據設計數據設計側重于數據結構的定義。側重于數據結構的定義。系統(tǒng)結構設計系統(tǒng)結構設計定義軟件系統(tǒng)各主要成份之間的關系。定義軟件系統(tǒng)各主要成份之間的關系。接口設計接口設計用于描述軟件內部、軟件與協作系統(tǒng)之間以用于描述軟件內部、軟件與協作系統(tǒng)之間以及軟件與使用者之間的通信方式。及軟件與使用者之間的通信方式。過程設計過程設計則是把結構成份轉換成軟件的過程
5、性描述。則是把結構成份轉換成軟件的過程性描述。在編碼步驟,根據這種過程性描述,生成源程序代碼,在編碼步驟,根據這種過程性描述,生成源程序代碼,然后通過測試最終得到完整有效的軟件。然后通過測試最終得到完整有效的軟件。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院概要設計階段的文檔概要設計階段的文檔概要設計階段完成時應編寫以下文檔:概要設計階段完成時應編寫以下文檔: 概要設計說明書概要設計說明書 數據庫設計說明書數據庫設計說明書 用戶手冊用戶手冊 制定初步的測試計劃制定初步的測試計劃武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.2 軟件設計基本原則 模塊化模塊化逐步求精
6、逐步求精抽象抽象信息隱藏信息隱藏武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.2.1 抽象與求精抽象是一種常用的思考和解決問題的方式,即抽取事物的本質的共同特性而暫時避開不必要的低層細節(jié)。 方式:過程抽象、數據抽象和控制抽象。抽象過程是指具有特定功能的一個命名的指令序列。(如:二維圖形創(chuàng)建 )抽象數據則是描述數據對象的一個命名的數據集合。(如:“圖畫”數據對象 ) 抽象控制包含了一種程序控制機制而無須刻畫其內部細節(jié)。(如:操作系統(tǒng)中的“同步信號量”) 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院求精求精是由N. Wirth最初提出的一種自頂向下設計策略,其主要思想
7、是:將某個宏觀功能不斷分解,逐步確定過程細節(jié),直至用程序設計語言描述的算法實現為止。抽象使得設計人員能夠避開過早地陷入細節(jié)之中刻畫過程和數據。求精能夠幫助設計人員隨著設計過程的深入而不斷呈現更低層次的信息。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院抽象抽象(Abstraction): 忽略細節(jié),分層理解問題,自頂向下層層加細。忽略細節(jié),分層理解問題,自頂向下層層加細。例:例:開發(fā)一個開發(fā)一個CAD軟件,實現一個二維繪圖系統(tǒng)的全軟件,實現一個二維繪圖系統(tǒng)的全部功能,供低級計算機輔助設計使用。部功能,供低級計算機輔助設計使用。 抽象層次抽象層次I I:用問題所處環(huán)境的術語來描述這
8、個軟件。:用問題所處環(huán)境的術語來描述這個軟件。該軟件包括一個計算機繪圖界面,向繪圖該軟件包括一個計算機繪圖界面,向繪圖員顯示圖形,以及一個數字化儀界面,用員顯示圖形,以及一個數字化儀界面,用以代替繪圖板和丁字尺。所有直線、折線、以代替繪圖板和丁字尺。所有直線、折線、矩形、圓及曲線的描畫、所有的幾何計算、矩形、圓及曲線的描畫、所有的幾何計算、所有的剖面圖和輔助視圖都可以用這個所有的剖面圖和輔助視圖都可以用這個CADCAD軟件實現軟件實現。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院 抽象層次抽象層次IIII:任務需求的描述。列出:任務需求的描述。列出“What”而而不是不是“How
9、”。 CAD SOFTWARE TASKS: user interaction task; 2-D drawing creation task; graphics display task; drawing file management task; END武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院 抽象層次抽象層次IIIIII:程序過程表示。以:程序過程表示。以2-D2-D繪圖生成任務繪圖生成任務為例為例: PROCEDURE 2-D drawing creation REPEAT UNTILE (drawing creation task terminates) DO WH
10、ILE (digitizer interaction occurs) Digitizer interface task; CASE of Line: line drawing task; Rectangle: rectangle drawing task; Circle: circle drawing task; END case; DO WHILE (keyboard interaction occurs) keyboard interaction task; CASE of View: auxiliary view task; Section: cross sectioning task;
11、 END case; END REPETITION; END PROCEDURE. 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院抽象與求精是一對互補的概念。抽象與求精是一對互補的概念。抽象使得設計者能夠說明過程和數據,同時卻忽抽象使得設計者能夠說明過程和數據,同時卻忽略低層細節(jié)。事實上,可以把抽象看作是一種通略低層細節(jié)。事實上,可以把抽象看作是一種通過忽略多余的細節(jié)同時強調有關的細節(jié),而實現過忽略多余的細節(jié)同時強調有關的細節(jié),而實現逐步求精的方法。逐步求精的方法。求精則幫助設計者在設計過程中揭示出低層細節(jié)。求精則幫助設計者在設計過程中揭示出低層細節(jié)。這兩個概念都有助于設計者在這兩
12、個概念都有助于設計者在設計演化過程中創(chuàng)設計演化過程中創(chuàng)造出完整的設計模型造出完整的設計模型。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.2.2 模塊化和信息隱藏模塊模塊是由邊界元素限定的相鄰的程序元素是由邊界元素限定的相鄰的程序元素( (例如,數據說明,例如,數據說明,可執(zhí)行的語句可執(zhí)行的語句) )的序列,而且有一個總體標識符來代表它。的序列,而且有一個總體標識符來代表它。像像PascalPascal或或AdaAda這樣的塊結構語言中的這樣的塊結構語言中的BeginBeginendend對,或者對,或者C C,C+C+和和JavaJava語言中的語言中的對,都是邊界元素的例子
13、。因此,對,都是邊界元素的例子。因此,過程、函數、子程序和宏等,都可作為模塊。面向對象范過程、函數、子程序和宏等,都可作為模塊。面向對象范型中的對象是模塊,對象內的方法也是模塊。模塊是構成型中的對象是模塊,對象內的方法也是模塊。模塊是構成程序的基本構件程序的基本構件。模塊化模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能。每個模塊完成一個子功能。把這些把這些模塊集成起來構成一個整體,可以完成指定的功能模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求滿足用戶的需求。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機
14、學院3.2.2 模塊化和信息隱藏經驗斷言:經驗斷言:C(P1+P2)C(P1)+E(P2)分而治之:把一個大問題分解成若干小問題來分而治之:把一個大問題分解成若干小問題來解決時將會更加容易。解決時將會更加容易。 (成本?)(成本?)最小代價區(qū) M代價模塊數目接口開發(fā)代軟件開發(fā)總代價模塊開發(fā)代價武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院模塊化的好處模塊化的好處采用模塊化原理可以使軟件結構清晰,不僅容易設計也容易采用模塊化原理可以使軟件結構清晰,不僅容易設計也容易閱讀和理解。閱讀和理解。因為程序錯誤通常局限在有關的模塊及它們之間的接口中,因為程序錯誤通常局限在有關的模塊及它們之間的
15、接口中,所以模塊化使軟件容易測試和調試,因而有助于提高軟件的所以模塊化使軟件容易測試和調試,因而有助于提高軟件的可靠性。可靠性。因為變動往往只涉及少數幾個模塊,所以模塊化能夠提高軟因為變動往往只涉及少數幾個模塊,所以模塊化能夠提高軟件的可修改性。件的可修改性。模塊化也有助于軟件開發(fā)工程的組織管理,一個復雜的大型模塊化也有助于軟件開發(fā)工程的組織管理,一個復雜的大型程序可以由許多程序員分工編寫不同的模塊,并且可以進一程序可以由許多程序員分工編寫不同的模塊,并且可以進一步分配技術熟練的程序員編寫困難的模塊。步分配技術熟練的程序員編寫困難的模塊。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機
16、學院信息隱藏如何確保模塊數落在如何確保模塊數落在“最小代價區(qū)最小代價區(qū)”?依據什么標?依據什么標準劃分模塊?準劃分模塊? 由由Parnas倡導的倡導的“信息隱藏信息隱藏”是指模塊中所包含是指模塊中所包含的信息(包括數據和過程)對不需要這些信息的其的信息(包括數據和過程)對不需要這些信息的其它模塊是不可訪問的。它模塊是不可訪問的。抽象有助于定義組成軟件的過程(或信息)實體;抽象有助于定義組成軟件的過程(或信息)實體;隱藏定義并加強了對模塊內部訪問的約束,有助于隱藏定義并加強了對模塊內部訪問的約束,有助于分離模塊的實現者和使用者。分離模塊的實現者和使用者。武漢紡織大學武漢紡織大學 數學與計算機學院
17、數學與計算機學院3.2.3 模塊獨立性模塊獨立性是模塊化、抽象和信息隱藏的直接模塊獨立性是模塊化、抽象和信息隱藏的直接產物,其基本含義是每一個模塊只完成功能需產物,其基本含義是每一個模塊只完成功能需求中的一個特定的子功能,而且從程序結構的求中的一個特定的子功能,而且從程序結構的其它部分來看這一模塊只具有一個簡單的接口。其它部分來看這一模塊只具有一個簡單的接口。 模塊的功能獨立性可以使得模塊既容易開發(fā)又模塊的功能獨立性可以使得模塊既容易開發(fā)又容易維護。容易維護。 模塊獨立性有兩個定性的度量標準:內聚度和模塊獨立性有兩個定性的度量標準:內聚度和耦合度。耦合度。 武漢紡織大學武漢紡織大學 數學與計算
18、機學院數學與計算機學院內聚度內聚度(內聚度(Cohesion)是指模塊內部各成分聯系緊)是指模塊內部各成分聯系緊密的程度密的程度。通常,內聚度越高,模塊的獨立性就越強。通常,內聚度越高,模塊的獨立性就越強。 G. Myers定義了七種類型的內聚,大致按照內聚定義了七種類型的內聚,大致按照內聚程度從高到低的順序是:程度從高到低的順序是:功能內聚、信息內聚功能內聚、信息內聚、通通信內聚、過程內聚信內聚、過程內聚、時間內聚、邏輯內聚和偶然內時間內聚、邏輯內聚和偶然內聚聚。 設計模塊時,應該盡可能避免使用偶然內聚等低級設計模塊時,應該盡可能避免使用偶然內聚等低級內聚的模塊,爭取高級內聚的模塊,以提高模
19、塊的內聚的模塊,爭取高級內聚的模塊,以提高模塊的獨立性。獨立性。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院偶然內聚模塊內部各成分在功能上不相關或關系松散模塊內部各成分在功能上不相關或關系松散。例如:例如:程序員在寫程序時,發(fā)現一組不同語程序員在寫程序時,發(fā)現一組不同語句分別在多個子程序中出現,于是將這組語句分別在多個子程序中出現,于是將這組語句單獨組成一個模塊,這樣的模塊便是偶然句單獨組成一個模塊,這樣的模塊便是偶然內聚模塊。內聚模塊。 缺點:模塊不易理解,不易維護,不易復用。缺點:模塊不易理解,不易維護,不易復用。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院
20、 模塊內各部分間無聯系模塊內各部分間無聯系ABCMMOVE O TO RREAD FILE FMOVE S TO T模塊模塊M中的三個語句沒有任何聯系中的三個語句沒有任何聯系缺點:缺點:可理解性差可理解性差, 可修改性差可修改性差。例例: :武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院邏輯內聚模塊完成多個邏輯上相近或相關的功能,并且模塊完成多個邏輯上相近或相關的功能,并且每一次調用只選擇該模塊中的每一次調用只選擇該模塊中的一個功能一個功能執(zhí)行。執(zhí)行。 (多個邏輯功能交織多個邏輯功能交織)例如:模塊完成所有類型的輸入和輸出,如磁例如:模塊完成所有類型的輸入和輸出,如磁盤、磁帶等。盤
21、、磁帶等。與偶然內聚相比,它表明了模塊各成分之間在與偶然內聚相比,它表明了模塊各成分之間在功能上的關系。功能上的關系。 但為了執(zhí)行不同的功能,需但為了執(zhí)行不同的功能,需要傳遞控制信息(控制耦合)。要傳遞控制信息(控制耦合)。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院邏輯內聚模塊邏輯內聚模塊ABCEFGABCEFGA1B1C1EFGEFG模塊內部邏輯模塊內部邏輯E E、F F、G G邏輯邏輯功能相似,組功能相似,組成新模塊成新模塊EFGEFG公用代碼段公用代碼段公用代碼段公用代碼段缺點:增強了耦合程度(控制耦合)不易修改,效率低。缺點:增強了耦合程度(控制耦合)不易修改,效率低
22、。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院時間內聚模塊完成模塊完成多個多個具有時間相關性的具有時間相關性的功能功能。例如:初始化模塊。(時間相關)例如:初始化模塊。(時間相關)時間內聚的模塊其內部的多個功時間內聚的模塊其內部的多個功能通常都是弱相關的,但是,這能通常都是弱相關的,但是,這些功能些功能通常與其它模塊中的功能通常與其它模塊中的功能強相關強相關。在一般情況下,時間內。在一般情況下,時間內聚模塊的各部分可以以任意次序聚模塊的各部分可以以任意次序執(zhí)行,因而與邏輯內聚相比,其執(zhí)行,因而與邏輯內聚相比,其內部邏輯要簡單些。內部邏輯要簡單些。 模塊X(故障處理)1.保留現場2
23、.報警武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院過程內聚模塊完成模塊完成多個多個需要按一定的需要按一定的步驟依次完成的步驟依次完成的功能功能。(過。(過程相關程相關-控制耦合)控制耦合)例如:在用程序流程圖設計例如:在用程序流程圖設計模塊時,若將程序流程圖中模塊時,若將程序流程圖中的一部分劃出各自組成模塊,的一部分劃出各自組成模塊,便形成過程內聚。便形成過程內聚。 模塊X(順序讀)1.讀第一個數據塊2.讀第二個數據塊3.讀第三個數據塊(循環(huán))(判定)(計算)武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院過程內聚模塊過程內聚模塊讀入讀入成績單成績單讀入并審查讀入并審查
24、成績單成績單審查審查成績單成績單統(tǒng)計統(tǒng)計成績成績打印打印成績成績統(tǒng)計并打印統(tǒng)計并打印成績成績武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院通信內聚模塊完成模塊完成多個多個需要按一定的步需要按一定的步驟依次完成的驟依次完成的功能功能,并且這些,并且這些功能的完成都依賴于相同的公功能的完成都依賴于相同的公用數據用數據。(數據相關。(數據相關數據或數據或標記耦合)標記耦合)例如:一個模塊的各功能部分例如:一個模塊的各功能部分都使用了相同的輸入數據和都使用了相同的輸入數據和(或)產生了相同的輸出數據。(或)產生了相同的輸出數據。在使用數據流圖來劃分模塊時,在使用數據流圖來劃分模塊時,通常會
25、得到通信內聚的模塊。通常會得到通信內聚的模塊。模塊X從文件F讀出數據1.由數據產生報表A2. 由數據產生報表B函數函數A函數函數B函數函數C數據集數據集武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院信息內聚模塊完成多個功能,而模塊完成多個功能,而每一個功能都有各自的每一個功能都有各自的入口點和獨立的代碼,入口點和獨立的代碼,但功能都依賴于同樣的但功能都依賴于同樣的數據結構數據結構。(數據相關)。(數據相關)通常,信息內聚的模塊,通常,信息內聚的模塊,其前一成分的輸出是后其前一成分的輸出是后一成分的輸入一成分的輸入。武漢紡織大
26、學武漢紡織大學 數學與計算機學院數學與計算機學院功能內聚模塊只完成一個單一的功能或者只實現一模塊只完成一個單一的功能或者只實現一個單一的目標,則稱為功能內聚。個單一的目標,則稱為功能內聚。這樣的模塊很容易被復用,也很容易維護。這樣的模塊很容易被復用,也很容易維護。 1. 輸入系數輸入系數2. 求方程的根求方程的根3. 打印方程的根打印方程的根求一元二次方程求一元二次方程根的模塊根的模塊武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院模塊的內聚性類型:模塊的內聚性類型:低低 巧合內聚巧合內聚 內內 邏輯內聚邏輯內聚 聚聚 時間內聚時間內聚 性性 過程內聚過程內聚 通信內聚通信內聚 信息
27、內聚信息內聚 高高 功能內聚功能內聚模模塊塊獨獨立立性性弱弱( (功能分散功能分散) )強強( (功能單一功能單一) )武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院耦合度耦合(耦合(Coupling)是模塊之間相互關聯緊密)是模塊之間相互關聯緊密的程度。的程度。一般地,模塊的耦合度越低,模塊的獨立性越一般地,模塊的耦合度越低,模塊的獨立性越強。強。 Great deal of dependenceIndependent Highly coupledLoosely coupledUncoupled Goal: as loose as possible = as independen
28、t as possible武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院模塊之間的耦合程度從低到高也可分為七種:非直模塊之間的耦合程度從低到高也可分為七種:非直接耦合、數據耦合、標記耦合、控制耦合、外部耦接耦合、數據耦合、標記耦合、控制耦合、外部耦合、公共耦合、內容耦合。合、公共耦合、內容耦合。 在設計模塊時,應該盡量使用數據耦合,必要時使在設計模塊時,應該盡量使用數據耦合,必要時使用標記耦合,少用控制耦合,限制使用公共耦合,用標記耦合,少用控制耦合,限制使用公共耦合,最好不要使用內容耦合。最好不要使用內容耦合。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院內容耦合兩
29、個模塊中一個模塊直接引用另一個模塊的兩個模塊中一個模塊直接引用另一個模塊的內容(數據,語句,標號等)內容(數據,語句,標號等)。內容耦合一般出現在用低級語言(如匯編語內容耦合一般出現在用低級語言(如匯編語言)編寫的程序中。言)編寫的程序中。 對于內容耦合的兩個模塊,如果一個修改了,對于內容耦合的兩個模塊,如果一個修改了,另一個也必須修改。內容耦合的模塊不易于另一個也必須修改。內容耦合的模塊不易于復用。復用。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院例例1:A訪問訪問C的內部的內部數據或不通過正數據或不通過正常入口而轉入常入口而轉入C的內部。的內部。ABCDA:goto C1C
30、:C1: 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院例例2:部分代碼重疊:部分代碼重疊(常出現在匯編程(常出現在匯編程序中)序中)B A例例3:一個模塊有:一個模塊有多個入口(功能)多個入口(功能)A:entry 1:entry 2:武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院公共耦合兩個模塊都能夠存取同一公共數據環(huán)境兩個模塊都能夠存取同一公共數據環(huán)境。公共數據環(huán)境可以是全局數據結構、共享的通信區(qū)、內存公共數據環(huán)境可以是全局數據結構、共享的通信區(qū)、內存的公共覆蓋區(qū)、任何存儲介質上的文件等。的公共覆蓋區(qū)、任何存儲介質上的文件等。 公共耦合有兩種情況:若一個模塊只向公
31、共數據環(huán)境傳送公共耦合有兩種情況:若一個模塊只向公共數據環(huán)境傳送數據,而另一個模塊只從中取數據,則這種公共耦合叫松數據,而另一個模塊只從中取數據,則這種公共耦合叫松散公共耦合;若兩個模塊對公共數據環(huán)境既取又送數據,散公共耦合;若兩個模塊對公共數據環(huán)境既取又送數據,則稱這種耦合為緊密公共耦合。則稱這種耦合為緊密公共耦合。 公共耦合有很多缺點,如難以理解,帶來副作用,難以維公共耦合有很多缺點,如難以理解,帶來副作用,難以維護,難以復用,因無法控制數據的存取而易于導致計算機護,難以復用,因無法控制數據的存取而易于導致計算機犯罪等。犯罪等。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院Gl
32、obal : V1 V2A:A1=V1+V2B:V1=B1Global : V1 V2A:V1+B:V2=B1+V1問題:問題: 公共部分的改動將影響所有調用它的模塊;公共部分的改動將影響所有調用它的模塊; 公共部分的數據存取無法控制;公共部分的數據存取無法控制; 復雜程度隨耦合模塊的個數增加而增加。復雜程度隨耦合模塊的個數增加而增加。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院外部耦合一組模塊訪問同一單一類型全局變量或全局一組模塊訪問同一單一類型全局變量或全局數組數組。例如,例如,C語言程序中各模塊訪問聲明為語言程序中各模塊訪問聲明為extern類型的外部變量。類型的外部變量。
33、 外部耦合類似于公共耦合,但外部耦合中不外部耦合類似于公共耦合,但外部耦合中不存在依賴于數據結構內部各項的物理安排。存在依賴于數據結構內部各項的物理安排。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院控制耦合一個模塊傳遞控制信息給另外一個模塊,顯式地控一個模塊傳遞控制信息給另外一個模塊,顯式地控制另外一個模塊的邏輯。制另外一個模塊的邏輯。例如,當傳遞功能代碼到一個具有邏輯內聚的模塊例如,當傳遞功能代碼到一個具有邏輯內聚的模塊中時,便是在傳遞控制信息。又如,當一個控制開中時,便是在傳遞控制信息。又如,當一個控制開關作為參數傳遞時,也將是控制耦合。關作為參數傳遞時,也將是控制耦合。
34、控制耦合的一個缺點是,兩個模塊之間不是獨立的,控制耦合的一個缺點是,兩個模塊之間不是獨立的,被調用模塊必須知道調用模塊的內部結構和邏輯,被調用模塊必須知道調用模塊的內部結構和邏輯,結果是模塊的可復用性降低了。另外,控制耦合通結果是模塊的可復用性降低了。另外,控制耦合通常與邏輯內聚有關,因此,它也具有邏輯內聚的缺常與邏輯內聚有關,因此,它也具有邏輯內聚的缺點。點。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院ABFlagF2F1FnFlag接口單一,接口單一,但仍然影響但仍然影響被控模塊的被控模塊的內部邏輯。內部邏輯。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院控制耦
35、合舉例控制耦合舉例 讀入分數讀入分數 輸出結果輸出結果計算平均分計算平均分 計算最高分計算最高分平均平均/ /最高最高? ?調用邏輯性模塊調用邏輯性模塊 B B時,須先傳遞時,須先傳遞控制信號控制信號( (平均分平均分 / /最高分最高分) ),以選,以選擇所需的操作。擇所需的操作??刂颇K必須知控制模塊必須知道被控模塊的內道被控模塊的內部邏輯,增強了部邏輯,增強了相互依賴相互依賴。B B武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院標記耦合在函數或過程調用時傳遞的參數是結構變量在函數或過程調用時傳遞的參數是結構變量(如記錄名、數組名、文件名等),但是被(如記錄名、數組名、文件名等
36、),但是被調用模塊只操縱參數中的一部分數據調用模塊只操縱參數中的一部分數據。這種耦合的缺點是,由于無法控制對數據的這種耦合的缺點是,由于無法控制對數據的存取,易如導致對數據的非法存取等。存取,易如導致對數據的非法存取等。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院標記耦合舉例標記耦合舉例計算水電費計算水電費計算水費計算水費計算電費計算電費住戶情況住戶情況水費水費電費電費住戶情況住戶情況“住戶情況住戶情況”是一個數據結構,圖中模塊都與此數據結是一個數據結構,圖中模塊都與此數據結構有關。構有關。“計算水費計算水費”和和“計算電費計算電費”本無關,由于引用了此數本無關,由于引用了此數
37、據結構產生依賴關系,它們之間也是標記偶合。據結構產生依賴關系,它們之間也是標記偶合。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院數據耦合所有的參數都是簡單變量,或者雖然有結構所有的參數都是簡單變量,或者雖然有結構變量,但是,被調用模塊需要該結構中的所變量,但是,被調用模塊需要該結構中的所有數據有數據。如果一個系統(tǒng)中只有數據耦合,那么其它耦如果一個系統(tǒng)中只有數據耦合,那么其它耦合存在的所有問題都不會存在,維護就會很合存在的所有問題都不會存在,維護就會很容易。容易。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院數據耦合舉例數據耦合舉例計算水電費計算水電費計算水費計算水費
38、計算電費計算電費用水量用水量用電量用電量水費水費電費電費武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院非直接耦合兩個模塊都不需要另一模塊的存在而能兩個模塊都不需要另一模塊的存在而能獨立工作獨立工作。非直接耦合雖然耦合度低,但在一個軟非直接耦合雖然耦合度低,但在一個軟件系統(tǒng)中不可能所有模塊間都沒有任何件系統(tǒng)中不可能所有模塊間都沒有任何聯系。聯系。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院 兩個模塊沒有直接關系兩個模塊沒有直接關系( (模快??? 1和模快和???)2),模塊獨立性,模塊獨立性最強。最強。模塊模塊1 1模塊模塊2 2模塊模塊3 3模塊模塊4 4武漢紡織
39、大學武漢紡織大學 數學與計算機學院數學與計算機學院模塊間耦合的類型:模塊間耦合的類型: 低低 非直接耦合非直接耦合耦耦 數據耦合數據耦合合合 標志耦合標志耦合性性 控制耦合控制耦合 外部耦合外部耦合 公共耦合公共耦合 高高 內容耦合內容耦合模模塊塊獨獨立立性性弱弱( (低耦合低耦合) )強強( (中耦合中耦合) )( (較強耦合較強耦合) )( (強耦合強耦合) )武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.3面向數據流圖的設計方法 面向數據流圖的設計方法是一種結構化設計方法。面向數據流圖的設計方法是一種結構化設計方法。首先,研究、分析和審查數據流圖,確保數據流首先,研究、分
40、析和審查數據流圖,確保數據流圖符合實際,必要時還要進一步精化數據流圖。圖符合實際,必要時還要進一步精化數據流圖。然后,確定數據流圖的類型,即然后,確定數據流圖的類型,即變換型變換型數據流或數據流或事務型事務型數據流。數據流。再依據數據流圖的類型采用數據流分析法或事務再依據數據流圖的類型采用數據流分析法或事務分析法導出系統(tǒng)初始的軟件結構。分析法導出系統(tǒng)初始的軟件結構。最后,依據軟件設計原理和一些優(yōu)化策略改進系最后,依據軟件設計原理和一些優(yōu)化策略改進系統(tǒng)初始的軟件結構,形成最終的軟件結構。統(tǒng)初始的軟件結構,形成最終的軟件結構。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院目標系統(tǒng)的目
41、標系統(tǒng)的DFDSC 圖圖 - Structured Chart 該圖常用來表示系統(tǒng)的該圖常用來表示系統(tǒng)的軟件結構軟件結構。利。利用它可以清楚地表達軟件結構中用它可以清楚地表達軟件結構中模塊間的模塊間的層次調用關系和模塊之間的聯系層次調用關系和模塊之間的聯系。 SD目標系統(tǒng)的目標系統(tǒng)的SC武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院變換型數據流變換型數據流特征:數據流圖可明顯地分成輸入、變換、特征:數據流圖可明顯地分成輸入、變換、輸出三部分輸出三部分信息沿著輸入路徑進入系統(tǒng),并將輸入信息的外部形式經過編輯、格信息沿著輸入路徑進入系統(tǒng),并將輸入信息的外部形式經過編輯、格式轉換、合法性
42、檢查、預處理等輔助性加工后變成內部形式式轉換、合法性檢查、預處理等輔助性加工后變成內部形式內部形式的信息由變換中心進行處理內部形式的信息由變換中心進行處理然后沿著輸出路徑經過格式轉換、組成物理塊、緩沖處理等輔助性加然后沿著輸出路徑經過格式轉換、組成物理塊、緩沖處理等輔助性加工后變成輸出信息送到系統(tǒng)外工后變成輸出信息送到系統(tǒng)外外外部部表表示示內內部部表表示示信息信息時間時間變換流變換流輸入流輸入流輸出流輸出流武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院事務型數據流事務型數據流特征:數據流沿著輸入路徑到達一個事務中心,事特征:數據流沿著輸入路徑到達一個事務中心,事務中心根據輸入數據的
43、類型在若干條動作路徑中選務中心根據輸入數據的類型在若干條動作路徑中選擇一條來執(zhí)行擇一條來執(zhí)行事務中心的任務是:接收輸入數據事務中心的任務是:接收輸入數據(即事務即事務);分析;分析每個事務的類型;根據事務類型選擇執(zhí)行一條動作每個事務的類型;根據事務類型選擇執(zhí)行一條動作路徑路徑動作路徑動作路徑事務中心事務中心輸入路徑輸入路徑T武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.3.1 軟件結構的圖形表示 層次(層次(Hierarchy)圖主要用來描繪軟件的層)圖主要用來描繪軟件的層次結構,用矩形框代表一個模塊,用矩形框間次結構,用矩形框代表一個模塊,用矩形框間的連線表示模塊間的調用關系
44、。的連線表示模塊間的調用關系。 倉庫管理系統(tǒng)進倉處理1出倉處理2數據處理3查詢3.1統(tǒng)計3.2報表打印3.3層次圖常與IPO圖一起使用,形成HIPO圖,層次圖中的每個方框對應一個IPO圖。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院改進的IPO圖武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院軟件結構圖軟件結構圖的主要內容有:模塊、模塊軟件結構圖的主要內容有:模塊、模塊間的調用關系和模塊之間傳遞的信息。間的調用關系和模塊之間傳遞的信息。在結構化設計方法中,軟件結構是軟件在結構化設計方法中,軟件結構是軟件系統(tǒng)模塊層次結構,反映了整個系統(tǒng)功系統(tǒng)模塊層次結構,反映了整個系統(tǒng)功
45、能及其之間的關系。能及其之間的關系。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院模塊 在軟件系統(tǒng)的軟件結構圖中,模塊類型:在軟件系統(tǒng)的軟件結構圖中,模塊類型:傳入模塊、傳出模塊、變換模塊、協調傳入模塊、傳出模塊、變換模塊、協調模塊、源模塊等。模塊、源模塊等。 在軟件結構圖中,模塊用方框來表示,在軟件結構圖中,模塊用方框來表示,并用名字標識該方框。并用名字標識該方框。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院ASC 圖中的主要內容圖中的主要內容1 1、模塊、模塊-在在SC圖中用圖中用矩形框矩形框表示,并用名字來標記它表示,并用名字來標記它- - 模塊調用關系模塊調
46、用關系2 2、模塊、模塊的調用關系和接口的調用關系和接口B被調用模塊被調用模塊調用模塊調用模塊A(查詢學生查詢學生)B(查找學生記錄查找學生記錄)數據信號數據信號控制信號控制信號學學號號查找查找成功成功信號信號- - 模塊間接口的表示模塊間接口的表示武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院傳出模塊 從上級模塊獲得數據,進行某些處理,再將其結果 傳給下屬模塊。在此,將它傳送的數據流稱為邏輯輸出 數據流。 傳出模塊DD邏輯輸出數據流成績輸出成績輸出 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院2022-4-9
47、變換模塊 也叫加工模塊。它是從上級模塊獲得數據,進行 特定的處理,將其轉換為其他形式,再傳回上級模塊 它所加工的數據流叫做變換數據流。 變換模塊CB變換數據流武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院協調模塊 對所有下屬模塊進行協調和管理的模塊。在一個 好的系統(tǒng)結構圖中,協調模塊應在較高層出現。協調模塊YXYX武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院主模塊C變換成D取得C給出D取得BB變換成CD變換成E給出E取得AA變換成BAABBBCCDCDED取得數據CD變換數據給出數據協調模塊變換模塊傳出模塊- 具有變換型系統(tǒng)結構圖DFD-SC武漢紡織大學武漢紡織大學
48、數學與計算機學院數學與計算機學院調用關系 在軟件結構圖中,模塊間的調用關系主要有三種:在軟件結構圖中,模塊間的調用關系主要有三種:順序調用、選擇調用和循環(huán)調用順序調用、選擇調用和循環(huán)調用。方框之間的箭頭表示模塊之間的調用與被調用關系。方框之間的箭頭表示模塊之間的調用與被調用關系。 模塊間調用的次序,習慣上是從左至右。模塊間調用的次序,習慣上是從左至右。ABCD(a)順序調用A順序調用B、C和DABCD(b)選擇調用A調用B或C和DABCD(c)循環(huán)調用A循環(huán)調用B、C和D武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院數據或控制信息 在軟件結構中,模塊傳遞的信息用帶名稱的短線箭在軟件
49、結構中,模塊傳遞的信息用帶名稱的短線箭頭來表示。箭頭方向代表信息傳遞的方向。頭來表示。箭頭方向代表信息傳遞的方向。 若箭頭線尾是帶空心圓圈,則表示該箭頭線代表的若箭頭線尾是帶空心圓圈,則表示該箭頭線代表的是是數據數據;若箭頭線尾是帶實心圓圈,則表示該箭頭;若箭頭線尾是帶實心圓圈,則表示該箭頭線代表的是線代表的是控制控制。 查詢成績學號查詢標識記錄地址讀學生記錄武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院3.3.2 數據流分析 數據流分析,又稱變換分析數據流分析,又稱變換分析,是一種將變換型數據流圖映射是一種將變換型數據流圖映射為變換型軟件結構圖的軟件系為變換型軟件結構圖的軟件系統(tǒng)
50、設計方法。統(tǒng)設計方法。 變換型數據流圖一般呈線性形變換型數據流圖一般呈線性形狀,大致由三部分組成:傳入狀,大致由三部分組成:傳入路徑、變換中心和傳出路徑。路徑、變換中心和傳出路徑。 變換型軟件結構圖則大致由四變換型軟件結構圖則大致由四部分模塊組成:輸入模塊、中部分模塊組成:輸入模塊、中心加工模塊,輸出模塊和主控心加工模塊,輸出模塊和主控模塊。模塊。 變換中心傳入路徑傳出路徑主控模塊輸入模塊中心加工模塊輸出模塊武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院傳入/傳出路徑和變換中心的標識 一般,可以采用一般,可以采用試探的辦法試
51、探的辦法來確定系統(tǒng)的變換中心和傳入來確定系統(tǒng)的變換中心和傳入/傳出傳出路徑。路徑。 從數據流圖的物理輸入始端出發(fā),沿數據流一步步往數據流圖從數據流圖的物理輸入始端出發(fā),沿數據流一步步往數據流圖的輸出未端移動,直到遇到的數據流不能再被看作是系統(tǒng)的輸的輸出未端移動,直到遇到的數據流不能再被看作是系統(tǒng)的輸入數據為止,則其前一個數據流便是入數據為止,則其前一個數據流便是系統(tǒng)的邏輯輸入系統(tǒng)的邏輯輸入。 從數據流圖的物理輸出未端一步步往數據流圖的輸入始端移動,從數據流圖的物理輸出未端一步步往數據流圖的輸入始端移動,直到遇到的數據流不能再被看作是系統(tǒng)的輸入數據為止,則其直到遇到的數據流不能再被看作是系統(tǒng)的輸
52、入數據為止,則其后一個數據流便是后一個數據流便是系統(tǒng)的邏輯輸出系統(tǒng)的邏輯輸出。 從物理輸入始端至系統(tǒng)的邏輯輸入構成系統(tǒng)的從物理輸入始端至系統(tǒng)的邏輯輸入構成系統(tǒng)的傳入路徑部分傳入路徑部分。從物理輸出未端至系統(tǒng)的邏輯輸出構成系統(tǒng)的從物理輸出未端至系統(tǒng)的邏輯輸出構成系統(tǒng)的傳出路徑部分傳出路徑部分。邏輯輸入和邏輯輸出之間的部分構成邏輯輸入和邏輯輸出之間的部分構成變換中心部分。變換中心部分。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院一個例子 在找出系統(tǒng)的傳入在找出系統(tǒng)的傳入/傳出路徑和變換中心后,傳出路徑和變換中心后,在數據流圖中用分界線來標識它們,在數據流圖中用分界線來標識它們, 1編
53、輯2校驗3計算4顯示格式化6存儲格式化5顯示7存儲初始數據編輯數據有效數據計算結果計算結果顯示數據存儲數據顯示信息D1 數據記錄表變換中心變換中心武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院第一級分解 將數據流圖映射為一個能為信息的輸入、將數據流圖映射為一個能為信息的輸入、變換和輸出提供控制的特定結構變換和輸出提供控制的特定結構。數據處理控制數據輸入控制數據計算控制數據輸出控制有效數據計算結果有效數據計算結果武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院第二級分解 將數據流圖中的每一個加工處理映射為軟件結構圖中一個模塊。將數據流圖中的每一個加工處理映射為軟件結構圖中一
54、個模塊。 對于對于傳入路徑中的加工處理傳入路徑中的加工處理,從變換中心的邊界開始,沿著傳,從變換中心的邊界開始,沿著傳入路徑向外移動,把傳入路徑中遇到的每個加工處理映射成軟入路徑向外移動,把傳入路徑中遇到的每個加工處理映射成軟件結構圖中輸入信息處理控制模塊直接或間接調用的模塊。件結構圖中輸入信息處理控制模塊直接或間接調用的模塊。對于對于傳出路徑中的加工處理傳出路徑中的加工處理,從變換中心的邊界開始,沿著傳,從變換中心的邊界開始,沿著傳出路徑向外移動,把傳出路徑中遇到的每個加工處理映射成軟出路徑向外移動,把傳出路徑中遇到的每個加工處理映射成軟件結構圖中輸出信息處理控制模塊直接或間接調用的模塊。件
55、結構圖中輸出信息處理控制模塊直接或間接調用的模塊。對于對于變換中心的加工處理變換中心的加工處理,則直接映射為變換流控制模塊直接,則直接映射為變換流控制模塊直接調用的模塊。調用的模塊。 武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院例子數據處理控制數據輸入控制數據計算控制數據輸出控制有效數據計算結果有效數據計算結果校驗編輯計算顯示格式化存儲格式化有效數據編輯數據計算結果有效數據顯示存儲計算結果計算結果顯示數據存儲數據武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院例:統(tǒng)計成績的輸入、輸出流邊界例:統(tǒng)計成績的輸入、輸出流邊界2.7打印難度分析表2.5分析試題難度難度分析結果難
56、度分析表2.6打印分類統(tǒng)計表2.4分類統(tǒng)計成績分類統(tǒng)計結果分類統(tǒng)計表考生名冊2.2審定合格者2.8打印考生通知單2.3產生考生通知信息考生通知信息考生通知單正式成績清單合格標準2.1檢查成績清單成績清單正確成績清單試題得分清單錯誤成績清單武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院“統(tǒng)計成績統(tǒng)計成績”第一級分解的結構圖第一級分解的結構圖統(tǒng)計成績統(tǒng)計成績輸入控制輸入控制統(tǒng)計成績統(tǒng)計成績統(tǒng)計成績統(tǒng)計成績輸出控制輸出控制統(tǒng)計成績統(tǒng)計成績處理模塊處理模塊“統(tǒng)計成績統(tǒng)計成績”第一級分解的結構第一級分解的結構圖圖武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院“統(tǒng)計成績統(tǒng)計成績”第
57、二級分解的結構第二級分解的結構圖圖武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院例:汽車數字儀表板的設計例:汽車數字儀表板的設計功能:功能: 通過模通過模 - 數轉換實現傳感器和微處理機接口;數轉換實現傳感器和微處理機接口; 在發(fā)光二極管面板上顯示數據;在發(fā)光二極管面板上顯示數據; 指示每小時英里數指示每小時英里數(mph),行駛的里程,每加侖油行駛的里程,每加侖油行駛的英里數行駛的英里數(mpg)等等;等等; 指示加速或減速;指示加速或減速; 如果車速超過如果車速超過55mph ,則發(fā)出警告鈴聲。則發(fā)出警告鈴聲。武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院第一步:第
58、一步:DFD的分界,先分出的分界,先分出I、P、O三塊三塊燃料流燃料流 傳感器信號傳感器信號SPS旋轉信號旋轉信號讀讀旋轉旋轉信號信號收集收集和求和求平均平均確定確定加加/ /減減速速轉換轉換成成轉轉/ /分分計算計算里程里程計算計算mph,超超速值速值產生產生加加/ /減減速顯示速顯示計算計算燃料燃料消耗消耗計算計算gph讀和讀和校核校核產生產生mpg顯示顯示產生產生mph顯示顯示發(fā)出發(fā)出鈴聲鈴聲產生產生里程里程顯示顯示SPS SPS箭頭指示箭頭指示燃燒流燃燒流上箭頭上箭頭水平線水平線下箭頭下箭頭rpmrpmgphmphmpgmph超速值超速值英里英里顯示顯示鈴聲鈴聲mph顯示顯示mpg顯示
59、顯示武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院一般問題的一般問題的一級分解方一級分解方法:法:數字儀表板數字儀表板控制控制數據轉換數據轉換控制控制驅動儀表板驅動儀表板接收傳感器接收傳感器信號信號MPIO武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院第二步:映射第二步:映射ADCBMICBDA:每個處理直接對應:每個處理直接對應一個下層模塊。一個下層模塊。P:由邊界向回溯,將:由邊界向回溯,將每個遇到的處理器映每個遇到的處理器映成相應的層模塊。成相應的層模塊。I:由邊界向外推,方:由邊界向外推,方法與法與 類似類似OI武漢紡織大學武漢紡織大學 數學與計算機學院數學與計
60、算機學院例:例: 數字儀表板數字儀表板控制控制數據轉換數據轉換控制控制驅動儀表板驅動儀表板接收傳感器接收傳感器信號信號計算計算gph讀燃料流讀燃料流轉換成轉換成rpm收集收集sps讀旋轉信號讀旋轉信號確定確定加加/ /減速減速計算計算mph計算計算mpg計算計算里程里程加加/ /減速減速顯示顯示顯示顯示mpg顯示顯示mph顯示顯示里程里程發(fā)出發(fā)出鈴聲鈴聲發(fā)光二極管顯示發(fā)光二極管顯示武漢紡織大學武漢紡織大學 數學與計算機學院數學與計算機學院第三步:修改第三步:修改 本著高內聚、低耦合的原則。本著高內聚、低耦合的原則。注:每個模塊應附一簡要說明描述注:每個模塊應附一簡要說明描述 進出該模塊的信息(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中醫(yī)藥現代化國際市場拓展:荷蘭市場深度研究報告
- 體檢中心服務質量與增值服務一體化發(fā)展策略2025年研究報告
- 護工陪護服務協議6篇
- 2025年教育游戲化在幼兒美術教育中的應用與設計報告
- FTKernelAPI BT協議內核庫使用許可合同7篇
- 政治與氣候變化的合法性-洞察闡釋
- 2025年鉗型表項目申請報告
- 工程合同范本與工程地質勘察合同6篇
- 社區(qū)平臺驅動的共享經濟創(chuàng)新-洞察闡釋
- 新版安全生產管理合同書模板
- 光伏并網前單位工程驗收報告-2023
- 創(chuàng)新創(chuàng)業(yè)教育的課程設計與實施研究
- JGT368-2012鋼筋桁架樓承板規(guī)范
- 燃氣行業(yè)的數字化轉型
- 新整理校園話劇!紀念偉大愛國詩人的話劇劇本《屈原》
- 馬克思主義基本原理介紹課件
- 刑事附帶民事授權委托書(6篇)
- 23CG60 預制樁樁頂機械連接(螺絲緊固式)
- 自殺風險的評估與記錄-生
- 廉潔心得體會500字(5篇)
- 初中音樂-歌曲《天之大》教學課件設計
評論
0/150
提交評論