




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院第3章 概要設(shè)計(第3.1-3.3節(jié))武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院主要內(nèi)容概要設(shè)計任務(wù)和過程概要設(shè)計任務(wù)和過程軟件設(shè)計基本原則軟件設(shè)計基本原則面向數(shù)據(jù)流圖的設(shè)計方法面向數(shù)據(jù)流圖的設(shè)計方法武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.1 概要設(shè)計的任務(wù)和過程 需求分析需求分析:軟件系統(tǒng)必須軟件系統(tǒng)必須“做什么做什么” ;軟件設(shè)計軟件設(shè)計:“如何如何做做”才可以滿足需求規(guī)格說明中規(guī)定的各項需求。才可以滿足需求規(guī)格說明中規(guī)定的各項需求。 從工程管理的角度來看,軟件設(shè)計通常分為兩步,即概要設(shè)從工程管
2、理的角度來看,軟件設(shè)計通常分為兩步,即概要設(shè)計和詳細(xì)設(shè)計。計和詳細(xì)設(shè)計。概要設(shè)計的基本目的是回答概要設(shè)計的基本目的是回答“概括地說,軟件系統(tǒng)應(yīng)如實現(xiàn)概括地說,軟件系統(tǒng)應(yīng)如實現(xiàn)”這一問題。因此,概要設(shè)計有時稱為初步設(shè)計或總體設(shè)計。這一問題。因此,概要設(shè)計有時稱為初步設(shè)計或總體設(shè)計。概要設(shè)計的關(guān)鍵是確定軟件的總體結(jié)構(gòu),即確定軟件系統(tǒng)的概要設(shè)計的關(guān)鍵是確定軟件的總體結(jié)構(gòu),即確定軟件系統(tǒng)的組成成份(子系統(tǒng)或模塊)以及各組成成份之間的相互關(guān)系。組成成份(子系統(tǒng)或模塊)以及各組成成份之間的相互關(guān)系。詳細(xì)設(shè)計是對概要設(shè)計結(jié)果的進(jìn)一步細(xì)化,其主要任務(wù)是確詳細(xì)設(shè)計是對概要設(shè)計結(jié)果的進(jìn)一步細(xì)化,其主要任務(wù)是確定軟
3、件系統(tǒng)各組成成份內(nèi)部的數(shù)據(jù)結(jié)構(gòu)和算法過程。定軟件系統(tǒng)各組成成份內(nèi)部的數(shù)據(jù)結(jié)構(gòu)和算法過程。方法:結(jié)構(gòu)化方法、面向?qū)ο蠓椒ǚ椒ǎ航Y(jié)構(gòu)化方法、面向?qū)ο蠓椒?武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院結(jié)構(gòu)化設(shè)計DFD數(shù)據(jù)流圖ERD實體關(guān)系圖STD狀態(tài)轉(zhuǎn)換圖武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院面向?qū)ο笤O(shè)計功能模型數(shù)據(jù)流圖對象模型類圖行為模型狀態(tài)轉(zhuǎn)換圖、時序圖等武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院概要設(shè)計的內(nèi)容1、數(shù)據(jù)設(shè)計(對象設(shè)計)、數(shù)據(jù)設(shè)計(對象設(shè)計)-數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)2、軟件結(jié)構(gòu)設(shè)計(子系統(tǒng)設(shè)計)、軟件結(jié)構(gòu)設(shè)計(子系統(tǒng)設(shè)計) -結(jié)構(gòu)元素關(guān)系
4、結(jié)構(gòu)元素關(guān)系3、接口設(shè)計(消息設(shè)計)、接口設(shè)計(消息設(shè)計)-如何通信如何通信4、過程設(shè)計(方法設(shè)計)、過程設(shè)計(方法設(shè)計)-過程化描述過程化描述武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院把分析模型轉(zhuǎn)變成軟件設(shè)計把分析模型轉(zhuǎn)變成軟件設(shè)計數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計側(cè)重于數(shù)據(jù)結(jié)構(gòu)的定義。側(cè)重于數(shù)據(jù)結(jié)構(gòu)的定義。系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要成份之間的關(guān)系。定義軟件系統(tǒng)各主要成份之間的關(guān)系。接口設(shè)計接口設(shè)計用于描述軟件內(nèi)部、軟件與協(xié)作系統(tǒng)之間以用于描述軟件內(nèi)部、軟件與協(xié)作系統(tǒng)之間以及軟件與使用者之間的通信方式。及軟件與使用者之間的通信方式。過程設(shè)計過程設(shè)計則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過程
5、性描述。則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過程性描述。在編碼步驟,根據(jù)這種過程性描述,生成源程序代碼,在編碼步驟,根據(jù)這種過程性描述,生成源程序代碼,然后通過測試最終得到完整有效的軟件。然后通過測試最終得到完整有效的軟件。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院概要設(shè)計階段的文檔概要設(shè)計階段的文檔概要設(shè)計階段完成時應(yīng)編寫以下文檔:概要設(shè)計階段完成時應(yīng)編寫以下文檔: 概要設(shè)計說明書概要設(shè)計說明書 數(shù)據(jù)庫設(shè)計說明書數(shù)據(jù)庫設(shè)計說明書 用戶手冊用戶手冊 制定初步的測試計劃制定初步的測試計劃武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.2 軟件設(shè)計基本原則 模塊化模塊化逐步求精
6、逐步求精抽象抽象信息隱藏信息隱藏武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.2.1 抽象與求精抽象是一種常用的思考和解決問題的方式,即抽取事物的本質(zhì)的共同特性而暫時避開不必要的低層細(xì)節(jié)。 方式:過程抽象、數(shù)據(jù)抽象和控制抽象。抽象過程是指具有特定功能的一個命名的指令序列。(如:二維圖形創(chuàng)建 )抽象數(shù)據(jù)則是描述數(shù)據(jù)對象的一個命名的數(shù)據(jù)集合。(如:“圖畫”數(shù)據(jù)對象 ) 抽象控制包含了一種程序控制機制而無須刻畫其內(nèi)部細(xì)節(jié)。(如:操作系統(tǒng)中的“同步信號量”) 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院求精求精是由N. Wirth最初提出的一種自頂向下設(shè)計策略,其主要思想
7、是:將某個宏觀功能不斷分解,逐步確定過程細(xì)節(jié),直至用程序設(shè)計語言描述的算法實現(xiàn)為止。抽象使得設(shè)計人員能夠避開過早地陷入細(xì)節(jié)之中刻畫過程和數(shù)據(jù)。求精能夠幫助設(shè)計人員隨著設(shè)計過程的深入而不斷呈現(xiàn)更低層次的信息。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院抽象抽象(Abstraction): 忽略細(xì)節(jié),分層理解問題,自頂向下層層加細(xì)。忽略細(xì)節(jié),分層理解問題,自頂向下層層加細(xì)。例:例:開發(fā)一個開發(fā)一個CAD軟件,實現(xiàn)一個二維繪圖系統(tǒng)的全軟件,實現(xiàn)一個二維繪圖系統(tǒng)的全部功能,供低級計算機輔助設(shè)計使用。部功能,供低級計算機輔助設(shè)計使用。 抽象層次抽象層次I I:用問題所處環(huán)境的術(shù)語來描述這
8、個軟件。:用問題所處環(huán)境的術(shù)語來描述這個軟件。該軟件包括一個計算機繪圖界面,向繪圖該軟件包括一個計算機繪圖界面,向繪圖員顯示圖形,以及一個數(shù)字化儀界面,用員顯示圖形,以及一個數(shù)字化儀界面,用以代替繪圖板和丁字尺。所有直線、折線、以代替繪圖板和丁字尺。所有直線、折線、矩形、圓及曲線的描畫、所有的幾何計算、矩形、圓及曲線的描畫、所有的幾何計算、所有的剖面圖和輔助視圖都可以用這個所有的剖面圖和輔助視圖都可以用這個CADCAD軟件實現(xiàn)軟件實現(xiàn)。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院 抽象層次抽象層次IIII:任務(wù)需求的描述。列出:任務(wù)需求的描述。列出“What”而而不是不是“How
9、”。 CAD SOFTWARE TASKS: user interaction task; 2-D drawing creation task; graphics display task; drawing file management task; END武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院 抽象層次抽象層次IIIIII:程序過程表示。以:程序過程表示。以2-D2-D繪圖生成任務(wù)繪圖生成任務(wù)為例為例: 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. 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院抽象與求精是一對互補的概念。抽象與求精是一對互補的概念。抽象使得設(shè)計者能夠說明過程和數(shù)據(jù),同時卻忽抽象使得設(shè)計者能夠說明過程和數(shù)據(jù),同時卻忽略低層細(xì)節(jié)。事實上,可以把抽象看作是一種通略低層細(xì)節(jié)。事實上,可以把抽象看作是一種通過忽略多余的細(xì)節(jié)同時強調(diào)有關(guān)的細(xì)節(jié),而實現(xiàn)過忽略多余的細(xì)節(jié)同時強調(diào)有關(guān)的細(xì)節(jié),而實現(xiàn)逐步求精的方法。逐步求精的方法。求精則幫助設(shè)計者在設(shè)計過程中揭示出低層細(xì)節(jié)。求精則幫助設(shè)計者在設(shè)計過程中揭示出低層細(xì)節(jié)。這兩個概念都有助于設(shè)計者在這兩
12、個概念都有助于設(shè)計者在設(shè)計演化過程中創(chuàng)設(shè)計演化過程中創(chuàng)造出完整的設(shè)計模型造出完整的設(shè)計模型。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.2.2 模塊化和信息隱藏模塊模塊是由邊界元素限定的相鄰的程序元素是由邊界元素限定的相鄰的程序元素( (例如,數(shù)據(jù)說明,例如,數(shù)據(jù)說明,可執(zhí)行的語句可執(zhí)行的語句) )的序列,而且有一個總體標(biāo)識符來代表它。的序列,而且有一個總體標(biāo)識符來代表它。像像PascalPascal或或AdaAda這樣的塊結(jié)構(gòu)語言中的這樣的塊結(jié)構(gòu)語言中的BeginBeginendend對,或者對,或者C C,C+C+和和JavaJava語言中的語言中的對,都是邊界元素的例子
13、。因此,對,都是邊界元素的例子。因此,過程、函數(shù)、子程序和宏等,都可作為模塊。面向?qū)ο蠓哆^程、函數(shù)、子程序和宏等,都可作為模塊。面向?qū)ο蠓缎椭械膶ο笫悄K,對象內(nèi)的方法也是模塊。模塊是構(gòu)成型中的對象是模塊,對象內(nèi)的方法也是模塊。模塊是構(gòu)成程序的基本構(gòu)件程序的基本構(gòu)件。模塊化模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能。每個模塊完成一個子功能。把這些把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求滿足用戶的需求。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機
14、學(xué)院3.2.2 模塊化和信息隱藏經(jīng)驗斷言:經(jīng)驗斷言:C(P1+P2)C(P1)+E(P2)分而治之:把一個大問題分解成若干小問題來分而治之:把一個大問題分解成若干小問題來解決時將會更加容易。解決時將會更加容易。 (成本?)(成本?)最小代價區(qū) M代價模塊數(shù)目接口開發(fā)代軟件開發(fā)總代價模塊開發(fā)代價武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院模塊化的好處模塊化的好處采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱讀和理解。閱讀和理解。因為程序錯誤通常局限在有關(guān)的模塊及它們之間的接口中,因為程序錯誤通常局限在有關(guān)的模塊及它們之間的
15、接口中,所以模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的所以模塊化使軟件容易測試和調(diào)試,因而有助于提高軟件的可靠性??煽啃浴R驗樽儎油簧婕吧贁?shù)幾個模塊,所以模塊化能夠提高軟因為變動往往只涉及少數(shù)幾個模塊,所以模塊化能夠提高軟件的可修改性。件的可修改性。模塊化也有助于軟件開發(fā)工程的組織管理,一個復(fù)雜的大型模塊化也有助于軟件開發(fā)工程的組織管理,一個復(fù)雜的大型程序可以由許多程序員分工編寫不同的模塊,并且可以進(jìn)一程序可以由許多程序員分工編寫不同的模塊,并且可以進(jìn)一步分配技術(shù)熟練的程序員編寫困難的模塊。步分配技術(shù)熟練的程序員編寫困難的模塊。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機
16、學(xué)院信息隱藏如何確保模塊數(shù)落在如何確保模塊數(shù)落在“最小代價區(qū)最小代價區(qū)”?依據(jù)什么標(biāo)?依據(jù)什么標(biāo)準(zhǔn)劃分模塊?準(zhǔn)劃分模塊? 由由Parnas倡導(dǎo)的倡導(dǎo)的“信息隱藏信息隱藏”是指模塊中所包含是指模塊中所包含的信息(包括數(shù)據(jù)和過程)對不需要這些信息的其的信息(包括數(shù)據(jù)和過程)對不需要這些信息的其它模塊是不可訪問的。它模塊是不可訪問的。抽象有助于定義組成軟件的過程(或信息)實體;抽象有助于定義組成軟件的過程(或信息)實體;隱藏定義并加強了對模塊內(nèi)部訪問的約束,有助于隱藏定義并加強了對模塊內(nèi)部訪問的約束,有助于分離模塊的實現(xiàn)者和使用者。分離模塊的實現(xiàn)者和使用者。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院
17、數(shù)學(xué)與計算機學(xué)院3.2.3 模塊獨立性模塊獨立性是模塊化、抽象和信息隱藏的直接模塊獨立性是模塊化、抽象和信息隱藏的直接產(chǎn)物,其基本含義是每一個模塊只完成功能需產(chǎn)物,其基本含義是每一個模塊只完成功能需求中的一個特定的子功能,而且從程序結(jié)構(gòu)的求中的一個特定的子功能,而且從程序結(jié)構(gòu)的其它部分來看這一模塊只具有一個簡單的接口。其它部分來看這一模塊只具有一個簡單的接口。 模塊的功能獨立性可以使得模塊既容易開發(fā)又模塊的功能獨立性可以使得模塊既容易開發(fā)又容易維護(hù)。容易維護(hù)。 模塊獨立性有兩個定性的度量標(biāo)準(zhǔn):內(nèi)聚度和模塊獨立性有兩個定性的度量標(biāo)準(zhǔn):內(nèi)聚度和耦合度。耦合度。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算
18、機學(xué)院數(shù)學(xué)與計算機學(xué)院內(nèi)聚度內(nèi)聚度(內(nèi)聚度(Cohesion)是指模塊內(nèi)部各成分聯(lián)系緊)是指模塊內(nèi)部各成分聯(lián)系緊密的程度密的程度。通常,內(nèi)聚度越高,模塊的獨立性就越強。通常,內(nèi)聚度越高,模塊的獨立性就越強。 G. Myers定義了七種類型的內(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)聚、邏輯內(nèi)聚和偶然內(nèi)聚聚。 設(shè)計模塊時,應(yīng)該盡可能避免使用偶然內(nèi)聚等低級設(shè)計模塊時,應(yīng)該盡可能避免使用偶然內(nèi)聚等低級內(nèi)聚的模塊,爭取高級內(nèi)聚的模塊,以提高模
19、塊的內(nèi)聚的模塊,爭取高級內(nèi)聚的模塊,以提高模塊的獨立性。獨立性。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院偶然內(nèi)聚模塊內(nèi)部各成分在功能上不相關(guān)或關(guān)系松散模塊內(nèi)部各成分在功能上不相關(guān)或關(guān)系松散。例如:例如:程序員在寫程序時,發(fā)現(xiàn)一組不同語程序員在寫程序時,發(fā)現(xiàn)一組不同語句分別在多個子程序中出現(xiàn),于是將這組語句分別在多個子程序中出現(xiàn),于是將這組語句單獨組成一個模塊,這樣的模塊便是偶然句單獨組成一個模塊,這樣的模塊便是偶然內(nèi)聚模塊。內(nèi)聚模塊。 缺點:模塊不易理解,不易維護(hù),不易復(fù)用。缺點:模塊不易理解,不易維護(hù),不易復(fù)用。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院
20、 模塊內(nèi)各部分間無聯(lián)系模塊內(nèi)各部分間無聯(lián)系A(chǔ)BCMMOVE O TO RREAD FILE FMOVE S TO T模塊模塊M中的三個語句沒有任何聯(lián)系中的三個語句沒有任何聯(lián)系缺點:缺點:可理解性差可理解性差, 可修改性差可修改性差。例例: :武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院邏輯內(nèi)聚模塊完成多個邏輯上相近或相關(guān)的功能,并且模塊完成多個邏輯上相近或相關(guān)的功能,并且每一次調(diào)用只選擇該模塊中的每一次調(diào)用只選擇該模塊中的一個功能一個功能執(zhí)行。執(zhí)行。 (多個邏輯功能交織多個邏輯功能交織)例如:模塊完成所有類型的輸入和輸出,如磁例如:模塊完成所有類型的輸入和輸出,如磁盤、磁帶等。盤
21、、磁帶等。與偶然內(nèi)聚相比,它表明了模塊各成分之間在與偶然內(nèi)聚相比,它表明了模塊各成分之間在功能上的關(guān)系。功能上的關(guān)系。 但為了執(zhí)行不同的功能,需但為了執(zhí)行不同的功能,需要傳遞控制信息(控制耦合)。要傳遞控制信息(控制耦合)。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院邏輯內(nèi)聚模塊邏輯內(nèi)聚模塊ABCEFGABCEFGA1B1C1EFGEFG模塊內(nèi)部邏輯模塊內(nèi)部邏輯E E、F F、G G邏輯邏輯功能相似,組功能相似,組成新模塊成新模塊EFGEFG公用代碼段公用代碼段公用代碼段公用代碼段缺點:增強了耦合程度(控制耦合)不易修改,效率低。缺點:增強了耦合程度(控制耦合)不易修改,效率低
22、。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院時間內(nèi)聚模塊完成模塊完成多個多個具有時間相關(guān)性的具有時間相關(guān)性的功能功能。例如:初始化模塊。(時間相關(guān))例如:初始化模塊。(時間相關(guān))時間內(nèi)聚的模塊其內(nèi)部的多個功時間內(nèi)聚的模塊其內(nèi)部的多個功能通常都是弱相關(guān)的,但是,這能通常都是弱相關(guān)的,但是,這些功能些功能通常與其它模塊中的功能通常與其它模塊中的功能強相關(guān)強相關(guān)。在一般情況下,時間內(nèi)。在一般情況下,時間內(nèi)聚模塊的各部分可以以任意次序聚模塊的各部分可以以任意次序執(zhí)行,因而與邏輯內(nèi)聚相比,其執(zhí)行,因而與邏輯內(nèi)聚相比,其內(nèi)部邏輯要簡單些。內(nèi)部邏輯要簡單些。 模塊X(故障處理)1.保留現(xiàn)場2
23、.報警武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院過程內(nèi)聚模塊完成模塊完成多個多個需要按一定的需要按一定的步驟依次完成的步驟依次完成的功能功能。(過。(過程相關(guān)程相關(guān)-控制耦合)控制耦合)例如:在用程序流程圖設(shè)計例如:在用程序流程圖設(shè)計模塊時,若將程序流程圖中模塊時,若將程序流程圖中的一部分劃出各自組成模塊,的一部分劃出各自組成模塊,便形成過程內(nèi)聚。便形成過程內(nèi)聚。 模塊X(順序讀)1.讀第一個數(shù)據(jù)塊2.讀第二個數(shù)據(jù)塊3.讀第三個數(shù)據(jù)塊(循環(huán))(判定)(計算)武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院過程內(nèi)聚模塊過程內(nèi)聚模塊讀入讀入成績單成績單讀入并審查讀入并審查
24、成績單成績單審查審查成績單成績單統(tǒng)計統(tǒng)計成績成績打印打印成績成績統(tǒng)計并打印統(tǒng)計并打印成績成績武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院通信內(nèi)聚模塊完成模塊完成多個多個需要按一定的步需要按一定的步驟依次完成的驟依次完成的功能功能,并且這些,并且這些功能的完成都依賴于相同的公功能的完成都依賴于相同的公用數(shù)據(jù)用數(shù)據(jù)。(數(shù)據(jù)相關(guān)。(數(shù)據(jù)相關(guān)數(shù)據(jù)或數(shù)據(jù)或標(biāo)記耦合)標(biāo)記耦合)例如:一個模塊的各功能部分例如:一個模塊的各功能部分都使用了相同的輸入數(shù)據(jù)和都使用了相同的輸入數(shù)據(jù)和(或)產(chǎn)生了相同的輸出數(shù)據(jù)。(或)產(chǎn)生了相同的輸出數(shù)據(jù)。在使用數(shù)據(jù)流圖來劃分模塊時,在使用數(shù)據(jù)流圖來劃分模塊時,通常會
25、得到通信內(nèi)聚的模塊。通常會得到通信內(nèi)聚的模塊。模塊X從文件F讀出數(shù)據(jù)1.由數(shù)據(jù)產(chǎn)生報表A2. 由數(shù)據(jù)產(chǎn)生報表B函數(shù)函數(shù)A函數(shù)函數(shù)B函數(shù)函數(shù)C數(shù)據(jù)集數(shù)據(jù)集武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院信息內(nèi)聚模塊完成多個功能,而模塊完成多個功能,而每一個功能都有各自的每一個功能都有各自的入口點和獨立的代碼,入口點和獨立的代碼,但功能都依賴于同樣的但功能都依賴于同樣的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)。(數(shù)據(jù)相關(guān))。(數(shù)據(jù)相關(guān))通常,信息內(nèi)聚的模塊,通常,信息內(nèi)聚的模塊,其前一成分的輸出是后其前一成分的輸出是后一成分的輸入一成分的輸入。武漢紡織大
26、學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院功能內(nèi)聚模塊只完成一個單一的功能或者只實現(xiàn)一模塊只完成一個單一的功能或者只實現(xiàn)一個單一的目標(biāo),則稱為功能內(nèi)聚。個單一的目標(biāo),則稱為功能內(nèi)聚。這樣的模塊很容易被復(fù)用,也很容易維護(hù)。這樣的模塊很容易被復(fù)用,也很容易維護(hù)。 1. 輸入系數(shù)輸入系數(shù)2. 求方程的根求方程的根3. 打印方程的根打印方程的根求一元二次方程求一元二次方程根的模塊根的模塊武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院模塊的內(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)聚 信息
27、內(nèi)聚信息內(nèi)聚 高高 功能內(nèi)聚功能內(nèi)聚模模塊塊獨獨立立性性弱弱( (功能分散功能分散) )強強( (功能單一功能單一) )武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院耦合度耦合(耦合(Coupling)是模塊之間相互關(guān)聯(lián)緊密)是模塊之間相互關(guān)聯(lián)緊密的程度。的程度。一般地,模塊的耦合度越低,模塊的獨立性越一般地,模塊的耦合度越低,模塊的獨立性越強。強。 Great deal of dependenceIndependent Highly coupledLoosely coupledUncoupled Goal: as loose as possible = as independen
28、t as possible武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院模塊之間的耦合程度從低到高也可分為七種:非直模塊之間的耦合程度從低到高也可分為七種:非直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、公共耦合、內(nèi)容耦合。合、公共耦合、內(nèi)容耦合。 在設(shè)計模塊時,應(yīng)該盡量使用數(shù)據(jù)耦合,必要時使在設(shè)計模塊時,應(yīng)該盡量使用數(shù)據(jù)耦合,必要時使用標(biāo)記耦合,少用控制耦合,限制使用公共耦合,用標(biāo)記耦合,少用控制耦合,限制使用公共耦合,最好不要使用內(nèi)容耦合。最好不要使用內(nèi)容耦合。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院內(nèi)容耦合兩
29、個模塊中一個模塊直接引用另一個模塊的兩個模塊中一個模塊直接引用另一個模塊的內(nèi)容(數(shù)據(jù),語句,標(biāo)號等)內(nèi)容(數(shù)據(jù),語句,標(biāo)號等)。內(nèi)容耦合一般出現(xiàn)在用低級語言(如匯編語內(nèi)容耦合一般出現(xiàn)在用低級語言(如匯編語言)編寫的程序中。言)編寫的程序中。 對于內(nèi)容耦合的兩個模塊,如果一個修改了,對于內(nèi)容耦合的兩個模塊,如果一個修改了,另一個也必須修改。內(nèi)容耦合的模塊不易于另一個也必須修改。內(nèi)容耦合的模塊不易于復(fù)用。復(fù)用。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院例例1:A訪問訪問C的內(nèi)部的內(nèi)部數(shù)據(jù)或不通過正數(shù)據(jù)或不通過正常入口而轉(zhuǎn)入常入口而轉(zhuǎn)入C的內(nèi)部。的內(nèi)部。ABCDA:goto C1C
30、:C1: 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院例例2:部分代碼重疊:部分代碼重疊(常出現(xiàn)在匯編程(常出現(xiàn)在匯編程序中)序中)B A例例3:一個模塊有:一個模塊有多個入口(功能)多個入口(功能)A:entry 1:entry 2:武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院公共耦合兩個模塊都能夠存取同一公共數(shù)據(jù)環(huán)境兩個模塊都能夠存取同一公共數(shù)據(jù)環(huán)境。公共數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存公共數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)、任何存儲介質(zhì)上的文件等。的公共覆蓋區(qū)、任何存儲介質(zhì)上的文件等。 公共耦合有兩種情況:若一個模塊只向公
31、共數(shù)據(jù)環(huán)境傳送公共耦合有兩種情況:若一個模塊只向公共數(shù)據(jù)環(huán)境傳送數(shù)據(jù),而另一個模塊只從中取數(shù)據(jù),則這種公共耦合叫松數(shù)據(jù),而另一個模塊只從中取數(shù)據(jù),則這種公共耦合叫松散公共耦合;若兩個模塊對公共數(shù)據(jù)環(huán)境既取又送數(shù)據(jù),散公共耦合;若兩個模塊對公共數(shù)據(jù)環(huán)境既取又送數(shù)據(jù),則稱這種耦合為緊密公共耦合。則稱這種耦合為緊密公共耦合。 公共耦合有很多缺點,如難以理解,帶來副作用,難以維公共耦合有很多缺點,如難以理解,帶來副作用,難以維護(hù),難以復(fù)用,因無法控制數(shù)據(jù)的存取而易于導(dǎo)致計算機護(hù),難以復(fù)用,因無法控制數(shù)據(jù)的存取而易于導(dǎo)致計算機犯罪等。犯罪等。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院Gl
32、obal : V1 V2A:A1=V1+V2B:V1=B1Global : V1 V2A:V1+B:V2=B1+V1問題:問題: 公共部分的改動將影響所有調(diào)用它的模塊;公共部分的改動將影響所有調(diào)用它的模塊; 公共部分的數(shù)據(jù)存取無法控制;公共部分的數(shù)據(jù)存取無法控制; 復(fù)雜程度隨耦合模塊的個數(shù)增加而增加。復(fù)雜程度隨耦合模塊的個數(shù)增加而增加。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院外部耦合一組模塊訪問同一單一類型全局變量或全局一組模塊訪問同一單一類型全局變量或全局?jǐn)?shù)組數(shù)組。例如,例如,C語言程序中各模塊訪問聲明為語言程序中各模塊訪問聲明為extern類型的外部變量。類型的外部變量。
33、 外部耦合類似于公共耦合,但外部耦合中不外部耦合類似于公共耦合,但外部耦合中不存在依賴于數(shù)據(jù)結(jié)構(gòu)內(nèi)部各項的物理安排。存在依賴于數(shù)據(jù)結(jié)構(gòu)內(nèi)部各項的物理安排。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院控制耦合一個模塊傳遞控制信息給另外一個模塊,顯式地控一個模塊傳遞控制信息給另外一個模塊,顯式地控制另外一個模塊的邏輯。制另外一個模塊的邏輯。例如,當(dāng)傳遞功能代碼到一個具有邏輯內(nèi)聚的模塊例如,當(dāng)傳遞功能代碼到一個具有邏輯內(nèi)聚的模塊中時,便是在傳遞控制信息。又如,當(dāng)一個控制開中時,便是在傳遞控制信息。又如,當(dāng)一個控制開關(guān)作為參數(shù)傳遞時,也將是控制耦合。關(guān)作為參數(shù)傳遞時,也將是控制耦合。
34、控制耦合的一個缺點是,兩個模塊之間不是獨立的,控制耦合的一個缺點是,兩個模塊之間不是獨立的,被調(diào)用模塊必須知道調(diào)用模塊的內(nèi)部結(jié)構(gòu)和邏輯,被調(diào)用模塊必須知道調(diào)用模塊的內(nèi)部結(jié)構(gòu)和邏輯,結(jié)果是模塊的可復(fù)用性降低了。另外,控制耦合通結(jié)果是模塊的可復(fù)用性降低了。另外,控制耦合通常與邏輯內(nèi)聚有關(guān),因此,它也具有邏輯內(nèi)聚的缺常與邏輯內(nèi)聚有關(guān),因此,它也具有邏輯內(nèi)聚的缺點。點。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院ABFlagF2F1FnFlag接口單一,接口單一,但仍然影響但仍然影響被控模塊的被控模塊的內(nèi)部邏輯。內(nèi)部邏輯。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院控制耦
35、合舉例控制耦合舉例 讀入分?jǐn)?shù)讀入分?jǐn)?shù) 輸出結(jié)果輸出結(jié)果計算平均分計算平均分 計算最高分計算最高分平均平均/ /最高最高? ?調(diào)用邏輯性模塊調(diào)用邏輯性模塊 B B時,須先傳遞時,須先傳遞控制信號控制信號( (平均分平均分 / /最高分最高分) ),以選,以選擇所需的操作。擇所需的操作??刂颇K必須知控制模塊必須知道被控模塊的內(nèi)道被控模塊的內(nèi)部邏輯,增強了部邏輯,增強了相互依賴相互依賴。B B武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院標(biāo)記耦合在函數(shù)或過程調(diào)用時傳遞的參數(shù)是結(jié)構(gòu)變量在函數(shù)或過程調(diào)用時傳遞的參數(shù)是結(jié)構(gòu)變量(如記錄名、數(shù)組名、文件名等),但是被(如記錄名、數(shù)組名、文件名等
36、),但是被調(diào)用模塊只操縱參數(shù)中的一部分?jǐn)?shù)據(jù)調(diào)用模塊只操縱參數(shù)中的一部分?jǐn)?shù)據(jù)。這種耦合的缺點是,由于無法控制對數(shù)據(jù)的這種耦合的缺點是,由于無法控制對數(shù)據(jù)的存取,易如導(dǎo)致對數(shù)據(jù)的非法存取等。存取,易如導(dǎo)致對數(shù)據(jù)的非法存取等。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院標(biāo)記耦合舉例標(biāo)記耦合舉例計算水電費計算水電費計算水費計算水費計算電費計算電費住戶情況住戶情況水費水費電費電費住戶情況住戶情況“住戶情況住戶情況”是一個數(shù)據(jù)結(jié)構(gòu),圖中模塊都與此數(shù)據(jù)結(jié)是一個數(shù)據(jù)結(jié)構(gòu),圖中模塊都與此數(shù)據(jù)結(jié)構(gòu)有關(guān)。構(gòu)有關(guān)?!坝嬎闼M計算水費”和和“計算電費計算電費”本無關(guān),由于引用了此數(shù)本無關(guān),由于引用了此數(shù)
37、據(jù)結(jié)構(gòu)產(chǎn)生依賴關(guān)系,它們之間也是標(biāo)記偶合。據(jù)結(jié)構(gòu)產(chǎn)生依賴關(guān)系,它們之間也是標(biāo)記偶合。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院數(shù)據(jù)耦合所有的參數(shù)都是簡單變量,或者雖然有結(jié)構(gòu)所有的參數(shù)都是簡單變量,或者雖然有結(jié)構(gòu)變量,但是,被調(diào)用模塊需要該結(jié)構(gòu)中的所變量,但是,被調(diào)用模塊需要該結(jié)構(gòu)中的所有數(shù)據(jù)有數(shù)據(jù)。如果一個系統(tǒng)中只有數(shù)據(jù)耦合,那么其它耦如果一個系統(tǒng)中只有數(shù)據(jù)耦合,那么其它耦合存在的所有問題都不會存在,維護(hù)就會很合存在的所有問題都不會存在,維護(hù)就會很容易。容易。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院數(shù)據(jù)耦合舉例數(shù)據(jù)耦合舉例計算水電費計算水電費計算水費計算水費
38、計算電費計算電費用水量用水量用電量用電量水費水費電費電費武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院非直接耦合兩個模塊都不需要另一模塊的存在而能兩個模塊都不需要另一模塊的存在而能獨立工作獨立工作。非直接耦合雖然耦合度低,但在一個軟非直接耦合雖然耦合度低,但在一個軟件系統(tǒng)中不可能所有模塊間都沒有任何件系統(tǒng)中不可能所有模塊間都沒有任何聯(lián)系。聯(lián)系。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院 兩個模塊沒有直接關(guān)系兩個模塊沒有直接關(guān)系( (??炷?? 1和模快和???)2),模塊獨立性,模塊獨立性最強。最強。模塊模塊1 1模塊模塊2 2模塊模塊3 3模塊模塊4 4武漢紡織
39、大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院模塊間耦合的類型:模塊間耦合的類型: 低低 非直接耦合非直接耦合耦耦 數(shù)據(jù)耦合數(shù)據(jù)耦合合合 標(biāo)志耦合標(biāo)志耦合性性 控制耦合控制耦合 外部耦合外部耦合 公共耦合公共耦合 高高 內(nèi)容耦合內(nèi)容耦合模模塊塊獨獨立立性性弱弱( (低耦合低耦合) )強強( (中耦合中耦合) )( (較強耦合較強耦合) )( (強耦合強耦合) )武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.3面向數(shù)據(jù)流圖的設(shè)計方法 面向數(shù)據(jù)流圖的設(shè)計方法是一種結(jié)構(gòu)化設(shè)計方法。面向數(shù)據(jù)流圖的設(shè)計方法是一種結(jié)構(gòu)化設(shè)計方法。首先,研究、分析和審查數(shù)據(jù)流圖,確保數(shù)據(jù)流首先,研究、分
40、析和審查數(shù)據(jù)流圖,確保數(shù)據(jù)流圖符合實際,必要時還要進(jìn)一步精化數(shù)據(jù)流圖。圖符合實際,必要時還要進(jìn)一步精化數(shù)據(jù)流圖。然后,確定數(shù)據(jù)流圖的類型,即然后,確定數(shù)據(jù)流圖的類型,即變換型變換型數(shù)據(jù)流或數(shù)據(jù)流或事務(wù)型事務(wù)型數(shù)據(jù)流。數(shù)據(jù)流。再依據(jù)數(shù)據(jù)流圖的類型采用數(shù)據(jù)流分析法或事務(wù)再依據(jù)數(shù)據(jù)流圖的類型采用數(shù)據(jù)流分析法或事務(wù)分析法導(dǎo)出系統(tǒng)初始的軟件結(jié)構(gòu)。分析法導(dǎo)出系統(tǒng)初始的軟件結(jié)構(gòu)。最后,依據(jù)軟件設(shè)計原理和一些優(yōu)化策略改進(jìn)系最后,依據(jù)軟件設(shè)計原理和一些優(yōu)化策略改進(jìn)系統(tǒng)初始的軟件結(jié)構(gòu),形成最終的軟件結(jié)構(gòu)。統(tǒng)初始的軟件結(jié)構(gòu),形成最終的軟件結(jié)構(gòu)。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院目標(biāo)系統(tǒng)的目
41、標(biāo)系統(tǒng)的DFDSC 圖圖 - Structured Chart 該圖常用來表示系統(tǒng)的該圖常用來表示系統(tǒng)的軟件結(jié)構(gòu)軟件結(jié)構(gòu)。利。利用它可以清楚地表達(dá)軟件結(jié)構(gòu)中用它可以清楚地表達(dá)軟件結(jié)構(gòu)中模塊間的模塊間的層次調(diào)用關(guān)系和模塊之間的聯(lián)系層次調(diào)用關(guān)系和模塊之間的聯(lián)系。 SD目標(biāo)系統(tǒng)的目標(biāo)系統(tǒng)的SC武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院變換型數(shù)據(jù)流變換型數(shù)據(jù)流特征:數(shù)據(jù)流圖可明顯地分成輸入、變換、特征:數(shù)據(jù)流圖可明顯地分成輸入、變換、輸出三部分輸出三部分信息沿著輸入路徑進(jìn)入系統(tǒng),并將輸入信息的外部形式經(jīng)過編輯、格信息沿著輸入路徑進(jìn)入系統(tǒng),并將輸入信息的外部形式經(jīng)過編輯、格式轉(zhuǎn)換、合法性
42、檢查、預(yù)處理等輔助性加工后變成內(nèi)部形式式轉(zhuǎn)換、合法性檢查、預(yù)處理等輔助性加工后變成內(nèi)部形式內(nèi)部形式的信息由變換中心進(jìn)行處理內(nèi)部形式的信息由變換中心進(jìn)行處理然后沿著輸出路徑經(jīng)過格式轉(zhuǎn)換、組成物理塊、緩沖處理等輔助性加然后沿著輸出路徑經(jīng)過格式轉(zhuǎn)換、組成物理塊、緩沖處理等輔助性加工后變成輸出信息送到系統(tǒng)外工后變成輸出信息送到系統(tǒng)外外外部部表表示示內(nèi)內(nèi)部部表表示示信息信息時間時間變換流變換流輸入流輸入流輸出流輸出流武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院事務(wù)型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流特征:數(shù)據(jù)流沿著輸入路徑到達(dá)一個事務(wù)中心,事特征:數(shù)據(jù)流沿著輸入路徑到達(dá)一個事務(wù)中心,事務(wù)中心根據(jù)輸入數(shù)據(jù)的
43、類型在若干條動作路徑中選務(wù)中心根據(jù)輸入數(shù)據(jù)的類型在若干條動作路徑中選擇一條來執(zhí)行擇一條來執(zhí)行事務(wù)中心的任務(wù)是:接收輸入數(shù)據(jù)事務(wù)中心的任務(wù)是:接收輸入數(shù)據(jù)(即事務(wù)即事務(wù));分析;分析每個事務(wù)的類型;根據(jù)事務(wù)類型選擇執(zhí)行一條動作每個事務(wù)的類型;根據(jù)事務(wù)類型選擇執(zhí)行一條動作路徑路徑動作路徑動作路徑事務(wù)中心事務(wù)中心輸入路徑輸入路徑T武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.3.1 軟件結(jié)構(gòu)的圖形表示 層次(層次(Hierarchy)圖主要用來描繪軟件的層)圖主要用來描繪軟件的層次結(jié)構(gòu),用矩形框代表一個模塊,用矩形框間次結(jié)構(gòu),用矩形框代表一個模塊,用矩形框間的連線表示模塊間的調(diào)用關(guān)系
44、。的連線表示模塊間的調(diào)用關(guān)系。 倉庫管理系統(tǒng)進(jìn)倉處理1出倉處理2數(shù)據(jù)處理3查詢3.1統(tǒng)計3.2報表打印3.3層次圖常與IPO圖一起使用,形成HIPO圖,層次圖中的每個方框?qū)?yīng)一個IPO圖。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院改進(jìn)的IPO圖武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖的主要內(nèi)容有:模塊、模塊軟件結(jié)構(gòu)圖的主要內(nèi)容有:模塊、模塊間的調(diào)用關(guān)系和模塊之間傳遞的信息。間的調(diào)用關(guān)系和模塊之間傳遞的信息。在結(jié)構(gòu)化設(shè)計方法中,軟件結(jié)構(gòu)是軟件在結(jié)構(gòu)化設(shè)計方法中,軟件結(jié)構(gòu)是軟件系統(tǒng)模塊層次結(jié)構(gòu),反映了整個系統(tǒng)功系統(tǒng)模塊層次結(jié)構(gòu),反映了整個系統(tǒng)功
45、能及其之間的關(guān)系。能及其之間的關(guān)系。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院模塊 在軟件系統(tǒng)的軟件結(jié)構(gòu)圖中,模塊類型:在軟件系統(tǒng)的軟件結(jié)構(gòu)圖中,模塊類型:傳入模塊、傳出模塊、變換模塊、協(xié)調(diào)傳入模塊、傳出模塊、變換模塊、協(xié)調(diào)模塊、源模塊等。模塊、源模塊等。 在軟件結(jié)構(gòu)圖中,模塊用方框來表示,在軟件結(jié)構(gòu)圖中,模塊用方框來表示,并用名字標(biāo)識該方框。并用名字標(biāo)識該方框。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院ASC 圖中的主要內(nèi)容圖中的主要內(nèi)容1 1、模塊、模塊-在在SC圖中用圖中用矩形框矩形框表示,并用名字來標(biāo)記它表示,并用名字來標(biāo)記它- - 模塊調(diào)用關(guān)系模塊調(diào)
46、用關(guān)系2 2、模塊、模塊的調(diào)用關(guān)系和接口的調(diào)用關(guān)系和接口B被調(diào)用模塊被調(diào)用模塊調(diào)用模塊調(diào)用模塊A(查詢學(xué)生查詢學(xué)生)B(查找學(xué)生記錄查找學(xué)生記錄)數(shù)據(jù)信號數(shù)據(jù)信號控制信號控制信號學(xué)學(xué)號號查找查找成功成功信號信號- - 模塊間接口的表示模塊間接口的表示武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院傳出模塊 從上級模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其結(jié)果 傳給下屬模塊。在此,將它傳送的數(shù)據(jù)流稱為邏輯輸出 數(shù)據(jù)流。 傳出模塊DD邏輯輸出數(shù)據(jù)流成績輸出成績輸出 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院2022-5-1
47、7變換模塊 也叫加工模塊。它是從上級模塊獲得數(shù)據(jù),進(jìn)行 特定的處理,將其轉(zhuǎn)換為其他形式,再傳回上級模塊 它所加工的數(shù)據(jù)流叫做變換數(shù)據(jù)流。 變換模塊CB變換數(shù)據(jù)流武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院協(xié)調(diào)模塊 對所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。在一個 好的系統(tǒng)結(jié)構(gòu)圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)。協(xié)調(diào)模塊YXYX武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院主模塊C變換成D取得C給出D取得BB變換成CD變換成E給出E取得AA變換成BAABBBCCDCDED取得數(shù)據(jù)CD變換數(shù)據(jù)給出數(shù)據(jù)協(xié)調(diào)模塊變換模塊傳出模塊- 具有變換型系統(tǒng)結(jié)構(gòu)圖DFD-SC武漢紡織大學(xué)武漢紡織大學(xué)
48、 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院調(diào)用關(guān)系 在軟件結(jié)構(gòu)圖中,模塊間的調(diào)用關(guān)系主要有三種:在軟件結(jié)構(gòu)圖中,模塊間的調(diào)用關(guān)系主要有三種:順序調(diào)用、選擇調(diào)用和循環(huán)調(diào)用順序調(diào)用、選擇調(diào)用和循環(huán)調(diào)用。方框之間的箭頭表示模塊之間的調(diào)用與被調(diào)用關(guān)系。方框之間的箭頭表示模塊之間的調(diào)用與被調(diào)用關(guān)系。 模塊間調(diào)用的次序,習(xí)慣上是從左至右。模塊間調(diào)用的次序,習(xí)慣上是從左至右。ABCD(a)順序調(diào)用A順序調(diào)用B、C和DABCD(b)選擇調(diào)用A調(diào)用B或C和DABCD(c)循環(huán)調(diào)用A循環(huán)調(diào)用B、C和D武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院數(shù)據(jù)或控制信息 在軟件結(jié)構(gòu)中,模塊傳遞的信息用帶名稱的短線箭在軟
49、件結(jié)構(gòu)中,模塊傳遞的信息用帶名稱的短線箭頭來表示。箭頭方向代表信息傳遞的方向。頭來表示。箭頭方向代表信息傳遞的方向。 若箭頭線尾是帶空心圓圈,則表示該箭頭線代表的若箭頭線尾是帶空心圓圈,則表示該箭頭線代表的是是數(shù)據(jù)數(shù)據(jù);若箭頭線尾是帶實心圓圈,則表示該箭頭;若箭頭線尾是帶實心圓圈,則表示該箭頭線代表的是線代表的是控制控制。 查詢成績學(xué)號查詢標(biāo)識記錄地址讀學(xué)生記錄武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院3.3.2 數(shù)據(jù)流分析 數(shù)據(jù)流分析,又稱變換分析數(shù)據(jù)流分析,又稱變換分析,是一種將變換型數(shù)據(jù)流圖映射是一種將變換型數(shù)據(jù)流圖映射為變換型軟件結(jié)構(gòu)圖的軟件系為變換型軟件結(jié)構(gòu)圖的軟件系
50、統(tǒng)設(shè)計方法。統(tǒng)設(shè)計方法。 變換型數(shù)據(jù)流圖一般呈線性形變換型數(shù)據(jù)流圖一般呈線性形狀,大致由三部分組成:傳入狀,大致由三部分組成:傳入路徑、變換中心和傳出路徑。路徑、變換中心和傳出路徑。 變換型軟件結(jié)構(gòu)圖則大致由四變換型軟件結(jié)構(gòu)圖則大致由四部分模塊組成:輸入模塊、中部分模塊組成:輸入模塊、中心加工模塊,輸出模塊和主控心加工模塊,輸出模塊和主控模塊。模塊。 變換中心傳入路徑傳出路徑主控模塊輸入模塊中心加工模塊輸出模塊武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院傳入/傳出路徑和變換中心的標(biāo)識 一般,可以采用一般,可以采用試探的辦法
51、試探的辦法來確定系統(tǒng)的變換中心和傳入來確定系統(tǒng)的變換中心和傳入/傳出傳出路徑。路徑。 從數(shù)據(jù)流圖的物理輸入始端出發(fā),沿數(shù)據(jù)流一步步往數(shù)據(jù)流圖從數(shù)據(jù)流圖的物理輸入始端出發(fā),沿數(shù)據(jù)流一步步往數(shù)據(jù)流圖的輸出未端移動,直到遇到的數(shù)據(jù)流不能再被看作是系統(tǒng)的輸?shù)妮敵鑫炊艘苿樱钡接龅降臄?shù)據(jù)流不能再被看作是系統(tǒng)的輸入數(shù)據(jù)為止,則其前一個數(shù)據(jù)流便是入數(shù)據(jù)為止,則其前一個數(shù)據(jù)流便是系統(tǒng)的邏輯輸入系統(tǒng)的邏輯輸入。 從數(shù)據(jù)流圖的物理輸出未端一步步往數(shù)據(jù)流圖的輸入始端移動,從數(shù)據(jù)流圖的物理輸出未端一步步往數(shù)據(jù)流圖的輸入始端移動,直到遇到的數(shù)據(jù)流不能再被看作是系統(tǒng)的輸入數(shù)據(jù)為止,則其直到遇到的數(shù)據(jù)流不能再被看作是系統(tǒng)的
52、輸入數(shù)據(jù)為止,則其后一個數(shù)據(jù)流便是后一個數(shù)據(jù)流便是系統(tǒng)的邏輯輸出系統(tǒng)的邏輯輸出。 從物理輸入始端至系統(tǒng)的邏輯輸入構(gòu)成系統(tǒng)的從物理輸入始端至系統(tǒng)的邏輯輸入構(gòu)成系統(tǒng)的傳入路徑部分傳入路徑部分。從物理輸出未端至系統(tǒng)的邏輯輸出構(gòu)成系統(tǒng)的從物理輸出未端至系統(tǒng)的邏輯輸出構(gòu)成系統(tǒng)的傳出路徑部分傳出路徑部分。邏輯輸入和邏輯輸出之間的部分構(gòu)成邏輯輸入和邏輯輸出之間的部分構(gòu)成變換中心部分。變換中心部分。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院一個例子 在找出系統(tǒng)的傳入在找出系統(tǒng)的傳入/傳出路徑和變換中心后,傳出路徑和變換中心后,在數(shù)據(jù)流圖中用分界線來標(biāo)識它們,在數(shù)據(jù)流圖中用分界線來標(biāo)識它們, 1
53、編輯2校驗3計算4顯示格式化6存儲格式化5顯示7存儲初始數(shù)據(jù)編輯數(shù)據(jù)有效數(shù)據(jù)計算結(jié)果計算結(jié)果顯示數(shù)據(jù)存儲數(shù)據(jù)顯示信息D1 數(shù)據(jù)記錄表變換中心變換中心武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院第一級分解 將數(shù)據(jù)流圖映射為一個能為信息的輸入、將數(shù)據(jù)流圖映射為一個能為信息的輸入、變換和輸出提供控制的特定結(jié)構(gòu)變換和輸出提供控制的特定結(jié)構(gòu)。數(shù)據(jù)處理控制數(shù)據(jù)輸入控制數(shù)據(jù)計算控制數(shù)據(jù)輸出控制有效數(shù)據(jù)計算結(jié)果有效數(shù)據(jù)計算結(jié)果武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院第二級分解 將數(shù)據(jù)流圖中的每一個加工處理映射為軟件結(jié)構(gòu)圖中一個模塊。將數(shù)據(jù)流圖中的每一個加工處理映射為軟件結(jié)構(gòu)圖中
54、一個模塊。 對于對于傳入路徑中的加工處理傳入路徑中的加工處理,從變換中心的邊界開始,沿著傳,從變換中心的邊界開始,沿著傳入路徑向外移動,把傳入路徑中遇到的每個加工處理映射成軟入路徑向外移動,把傳入路徑中遇到的每個加工處理映射成軟件結(jié)構(gòu)圖中輸入信息處理控制模塊直接或間接調(diào)用的模塊。件結(jié)構(gòu)圖中輸入信息處理控制模塊直接或間接調(diào)用的模塊。對于對于傳出路徑中的加工處理傳出路徑中的加工處理,從變換中心的邊界開始,沿著傳,從變換中心的邊界開始,沿著傳出路徑向外移動,把傳出路徑中遇到的每個加工處理映射成軟出路徑向外移動,把傳出路徑中遇到的每個加工處理映射成軟件結(jié)構(gòu)圖中輸出信息處理控制模塊直接或間接調(diào)用的模塊。
55、件結(jié)構(gòu)圖中輸出信息處理控制模塊直接或間接調(diào)用的模塊。對于對于變換中心的加工處理變換中心的加工處理,則直接映射為變換流控制模塊直接,則直接映射為變換流控制模塊直接調(diào)用的模塊。調(diào)用的模塊。 武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院例子數(shù)據(jù)處理控制數(shù)據(jù)輸入控制數(shù)據(jù)計算控制數(shù)據(jù)輸出控制有效數(shù)據(jù)計算結(jié)果有效數(shù)據(jù)計算結(jié)果校驗編輯計算顯示格式化存儲格式化有效數(shù)據(jù)編輯數(shù)據(jù)計算結(jié)果有效數(shù)據(jù)顯示存儲計算結(jié)果計算結(jié)果顯示數(shù)據(jù)存儲數(shù)據(jù)武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院例:統(tǒng)計成績的輸入、輸出流邊界例:統(tǒng)計成績的輸入、輸出流邊界2.7打印難度分析表2.5分析試題難度難度分析結(jié)果
56、難度分析表2.6打印分類統(tǒng)計表2.4分類統(tǒng)計成績分類統(tǒng)計結(jié)果分類統(tǒng)計表考生名冊2.2審定合格者2.8打印考生通知單2.3產(chǎn)生考生通知信息考生通知信息考生通知單正式成績清單合格標(biāo)準(zhǔn)2.1檢查成績清單成績清單正確成績清單試題得分清單錯誤成績清單武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院“統(tǒng)計成績統(tǒng)計成績”第一級分解的結(jié)構(gòu)圖第一級分解的結(jié)構(gòu)圖統(tǒng)計成績統(tǒng)計成績輸入控制輸入控制統(tǒng)計成績統(tǒng)計成績統(tǒng)計成績統(tǒng)計成績輸出控制輸出控制統(tǒng)計成績統(tǒng)計成績處理模塊處理模塊“統(tǒng)計成績統(tǒng)計成績”第一級分解的結(jié)構(gòu)第一級分解的結(jié)構(gòu)圖圖武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院“統(tǒng)計成績統(tǒng)計成績”
57、第二級分解的結(jié)構(gòu)第二級分解的結(jié)構(gòu)圖圖武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院例:汽車數(shù)字儀表板的設(shè)計例:汽車數(shù)字儀表板的設(shè)計功能:功能: 通過模通過模 - 數(shù)轉(zhuǎn)換實現(xiàn)傳感器和微處理機接口;數(shù)轉(zhuǎn)換實現(xiàn)傳感器和微處理機接口; 在發(fā)光二極管面板上顯示數(shù)據(jù);在發(fā)光二極管面板上顯示數(shù)據(jù); 指示每小時英里數(shù)指示每小時英里數(shù)(mph),行駛的里程,每加侖油行駛的里程,每加侖油行駛的英里數(shù)行駛的英里數(shù)(mpg)等等;等等; 指示加速或減速;指示加速或減速; 如果車速超過如果車速超過55mph ,則發(fā)出警告鈴聲。則發(fā)出警告鈴聲。武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院第一步:
58、第一步:DFD的分界,先分出的分界,先分出I、P、O三塊三塊燃料流燃料流 傳感器信號傳感器信號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超速值超速值英里英里顯示顯示鈴聲鈴聲mph顯示顯示mpg顯
59、示顯示武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院一般問題的一般問題的一級分解方一級分解方法:法:數(shù)字儀表板數(shù)字儀表板控制控制數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換控制控制驅(qū)動儀表板驅(qū)動儀表板接收傳感器接收傳感器信號信號MPIO武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院第二步:映射第二步:映射ADCBMICBDA:每個處理直接對應(yīng):每個處理直接對應(yīng)一個下層模塊。一個下層模塊。P:由邊界向回溯,將:由邊界向回溯,將每個遇到的處理器映每個遇到的處理器映成相應(yīng)的層模塊。成相應(yīng)的層模塊。I:由邊界向外推,方:由邊界向外推,方法與法與 類似類似OI武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與
60、計算機學(xué)院例:例: 數(shù)字儀表板數(shù)字儀表板控制控制數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換控制控制驅(qū)動儀表板驅(qū)動儀表板接收傳感器接收傳感器信號信號計算計算gph讀燃料流讀燃料流轉(zhuǎn)換成轉(zhuǎn)換成rpm收集收集sps讀旋轉(zhuǎn)信號讀旋轉(zhuǎn)信號確定確定加加/ /減速減速計算計算mph計算計算mpg計算計算里程里程加加/ /減速減速顯示顯示顯示顯示mpg顯示顯示mph顯示顯示里程里程發(fā)出發(fā)出鈴聲鈴聲發(fā)光二極管顯示發(fā)光二極管顯示武漢紡織大學(xué)武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院數(shù)學(xué)與計算機學(xué)院第三步:修改第三步:修改 本著高內(nèi)聚、低耦合的原則。本著高內(nèi)聚、低耦合的原則。注:每個模塊應(yīng)附一簡要說明描述注:每個模塊應(yīng)附一簡要說明描述 進(jì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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省安陽市文峰區(qū)2024-2025學(xué)年九年級上學(xué)期1月期末化學(xué)試題(含答案)
- 2019-2025年軍隊文職人員招聘之軍隊文職政治學(xué)能力檢測試卷B卷附答案
- 臨床急救知識培訓(xùn)課件
- 酒吧員工禁止戀愛合同(2篇)
- 2025年反電信網(wǎng)絡(luò)詐騙法測試題庫及參考答案
- 自體輸血知識培訓(xùn)課件
- 農(nóng)資產(chǎn)品經(jīng)銷代理合作協(xié)議
- 共享單車租賃服務(wù)協(xié)議
- 睡前故事故事解讀
- 遼寧省大連市2024-2025學(xué)年高一上學(xué)期1月期末考試生物學(xué)試題(含答案)
- 數(shù)據(jù)挖掘?qū)д?第5章-分類-其他技術(shù)
- 年產(chǎn)4萬噸鄰苯二甲酸酐的工藝設(shè)計
- 西醫(yī)醫(yī)師開具中藥及中藥飲片處方權(quán)限考核試題及答案
- DB37-T 5026-2022《居住建筑節(jié)能設(shè)計標(biāo)準(zhǔn)》
- BACnet介紹解讀課件
- 全套IECQ QC080000-2017 有害物質(zhì)過程管理體系程序文件
- 《三角形的分類》-完整版課件
- 鐵路工程預(yù)算定額標(biāo)準(zhǔn)
- 叉車使用申請表
- 《中外歷史綱要上》第4課 西漢與東漢-統(tǒng)一多民族封建國家的鞏固(課件)(共23張PPT)
- [轉(zhuǎn)載]鄭桂華《安塞腰鼓》教學(xué)實錄
評論
0/150
提交評論