版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2021/3/91軟件工程導(dǎo)論第 6 課第 5 章 總體設(shè)計 2021/3/92第5章 總體設(shè)計n分析階段“做什么” 軟件設(shè)計“怎樣做”n將分析模型轉(zhuǎn)換為軟件設(shè)計2021/3/93第5章 總體設(shè)計n總體設(shè)計的兩項任務(wù)總體設(shè)計的兩項任務(wù):n 劃分出組成系統(tǒng)的物理元素劃分出組成系統(tǒng)的物理元素-程序、文件、數(shù)據(jù)庫、人工過程和文檔n 設(shè)計軟件的結(jié)構(gòu)設(shè)計軟件的結(jié)構(gòu)-確定每個程序的模塊組成及模塊之間的相互關(guān)系。2021/3/94第5章 總體設(shè)計n軟件設(shè)計軟件設(shè)計是后續(xù)開發(fā)步驟及軟件維護工作基礎(chǔ)如果沒有設(shè)計,只能建立一個不穩(wěn)定的系統(tǒng)結(jié)構(gòu)2021/3/95第5章 總體設(shè)計n從工程管理的角度來看,軟件設(shè)計分兩步
2、完成n總體設(shè)計總體設(shè)計(概要設(shè)計),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。n詳細(xì)設(shè)計詳細(xì)設(shè)計,即過程設(shè)計。通過對結(jié)構(gòu)表示進行細(xì)化, 得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。2021/3/965.1 設(shè)計過程n總體設(shè)計的過程(兩個主要階段):n系統(tǒng)設(shè)計系統(tǒng)設(shè)計:確定系統(tǒng)的具體實現(xiàn)方案。n結(jié)構(gòu)設(shè)計結(jié)構(gòu)設(shè)計:確定軟件結(jié)構(gòu)。2021/3/97軟件設(shè)計的9個步驟2021/3/981設(shè)想供選擇的方案n提出各種可能的實現(xiàn)方案n以需求分析階段的數(shù)據(jù)流圖為出發(fā)點,畫自動化邊界,形成不同的實現(xiàn)系統(tǒng)方案n設(shè)想把數(shù)據(jù)流圖中的處理分組的各種可能方法,拋棄在技術(shù)上行不通的分組方法n余下的分組方法代表可能的實現(xiàn)策略,并且可以啟示
3、供選擇的物理系統(tǒng)2021/3/992 選取合理的方案n從前一步得到的一系列供選擇的方案中選取若干個合理的方案通常至少選取低成本、中等成本和高成本的三種方案n在此基礎(chǔ)上分析員對每種方案準(zhǔn)備四份文檔:(1) 系統(tǒng)流程圖n(2) 組成系統(tǒng)的物理元素清單n(3) 成本/效益分析n(4) 實現(xiàn)這個系統(tǒng)的進度計劃2021/3/9103 推薦最佳方案n綜合分析對比各種合理方案的利弊,從中選出一種自己認(rèn)為是最理想的方案推薦n用戶和技術(shù)專家應(yīng)認(rèn)真審查所推薦的最佳系統(tǒng)n如果該系統(tǒng)確實符合用戶的需要,并且是在現(xiàn)有條件下完全能夠?qū)崿F(xiàn)的,則應(yīng)該提請使用部門負(fù)責(zé)人進一步審批n在使用部門的負(fù)責(zé)人也接受了分析員所推薦的方案之
4、后,將進入總體設(shè)計過程的下一個重要階段結(jié)構(gòu)設(shè)計2021/3/9114 功能分解n首先是進行結(jié)構(gòu)設(shè)計,確定系統(tǒng)是由哪些模塊組成 的,以及這些模塊之間的關(guān)系,確定軟件體系結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)n其次是過程設(shè)計,確定每個模塊的處理過程確定詳細(xì)的數(shù)據(jù)結(jié)構(gòu)、算法n為確定軟件結(jié)構(gòu)首先需要從實現(xiàn)角度把復(fù)雜的功能進一步分n用算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個處理,如果一個處理 的功能過分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^ 簡單的功能n應(yīng)該使每個功能對大多數(shù)程序員而言都是明顯易懂的n工具: 系統(tǒng)層次圖System Design Hierarchy及(輸入/輸出圖)HIPO2021/3/9125 設(shè)計軟件結(jié)構(gòu)n任務(wù)
5、任務(wù): 確定模塊組織成良好的層次系統(tǒng),頂層模塊調(diào)用它的下層模塊以實現(xiàn)程序的完整功能,每個下層模塊 再調(diào)用更下層的模塊,從而完成程序的一個子功能, 最下層的模塊完成最具體的功能:n方法方法:n 層次圖n 結(jié)構(gòu)圖n 面向數(shù)據(jù)流的設(shè)計方法2021/3/9136 設(shè)計數(shù)據(jù)庫n任務(wù):在需求分析階段所確定的系統(tǒng)數(shù)據(jù)需求的基礎(chǔ)上,進一步設(shè)計數(shù)據(jù)庫n模式設(shè)計:確定數(shù)據(jù)庫的邏輯結(jié)構(gòu),常見的數(shù)據(jù)庫形式有關(guān)系、層次或網(wǎng)狀等n子模式設(shè)計:為系統(tǒng)中各用戶設(shè)計出各自的數(shù)據(jù)視圖n存儲模式設(shè)計:確定數(shù)據(jù)庫的空間需求、存儲格式、索引組成等2021/3/9147 制定測試計劃n優(yōu)點:n 早期階段考慮測試問題,促使軟件設(shè)計人員在設(shè)
6、計時注意提高軟件的可測試性2021/3/9158 書寫文檔n(1)系統(tǒng)說明系統(tǒng)說明主要內(nèi)容n 系統(tǒng)流程圖:描繪系統(tǒng)構(gòu)成方案、組成系統(tǒng)的物理元素n 成本/效益分析n 對最佳方案的概括描述、精化的數(shù)據(jù)流圖n 用層次圖或結(jié)構(gòu)圖描繪的軟件結(jié)構(gòu)n 用IPO圖或其它工具簡要描述各個模塊的算法n 模塊間接口關(guān)系、建立需求、功能和模塊三者之間的交叉參照關(guān) 系2021/3/9168 書寫文檔n用戶手冊用戶手冊:根據(jù)總體設(shè)計階段的結(jié)果,修改更正在需求分 析階段產(chǎn)生的初步的用戶手冊n測試計劃測試計劃:包括測試策略,測試方案,預(yù)期的測試結(jié)果, 測試進度計劃等等。n詳細(xì)的實現(xiàn)計劃詳細(xì)的實現(xiàn)計劃n數(shù)據(jù)庫設(shè)計結(jié)果數(shù)據(jù)庫設(shè)計
7、結(jié)果2021/3/9179審查和復(fù)審n技術(shù)審查n管理復(fù)審: 部門的負(fù)責(zé)人從事2021/3/9185.2 設(shè)計原理n5.2.1 模塊化n模塊模塊:由邊界元素限定的相鄰程序元素(例由邊界元素限定的相鄰程序元素(例如,如, 數(shù)據(jù)說明,可執(zhí)行的語句)的序列,而數(shù)據(jù)說明,可執(zhí)行的語句)的序列,而且有一個且有一個 總體標(biāo)識符代表它總體標(biāo)識符代表它n模塊化模塊化: 把程序劃分成獨立命名且可獨立訪把程序劃分成獨立命名且可獨立訪問的模塊問的模塊,每個模塊完成一個子功能,把這些每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足的功能滿足 用戶的需求
8、。用戶的需求。2021/3/9195.2 設(shè)計原理n模塊化依據(jù)模塊化依據(jù): 設(shè)函數(shù)設(shè)函數(shù)C(x)定義問題定義問題x的復(fù)雜程的復(fù)雜程度,函數(shù)度,函數(shù)E(x)確定解決問題確定解決問題x需要的工作量需要的工作量(時間時間)。對于兩個問題。對于兩個問題P1和和P2如果如果 C(P1)C(P2), 顯然顯然E(P1)E(P2)n C(P1+P2)C(P1)+C(P2) E(P1+P2)E(P1)+E(P2)n結(jié)論: 如果一個問題由如果一個問題由P1和和P2兩個問題組合兩個問題組合而成,那么它的復(fù)雜程度大于分別考慮每個而成,那么它的復(fù)雜程度大于分別考慮每個問題時的復(fù)雜程度之和問題時的復(fù)雜程度之和, 即把復(fù)
9、雜的問題分即把復(fù)雜的問題分解成許多容易解決的小問題,原來的問題也解成許多容易解決的小問題,原來的問題也就容易解決了就容易解決了2021/3/9202021/3/9215.2 設(shè)計原理n模塊化優(yōu)點模塊化優(yōu)點n軟件結(jié)構(gòu)清晰n使軟件容易測試和調(diào)試,提高軟件的可靠性提高軟件的可靠性n模塊化能夠提高軟件的可修改性n模塊化有助于軟件開發(fā)工程的組織管理。2021/3/9225.2.2 抽象n定義定義: 抽出事物的本質(zhì)特性而暫時不考慮它抽出事物的本質(zhì)特性而暫時不考慮它們的細(xì)節(jié)們的細(xì)節(jié)。n處理復(fù)雜問題的方法處理復(fù)雜問題的方法:忽略細(xì)節(jié),分層理解:忽略細(xì)節(jié),分層理解問題,自頂向下層層加細(xì)。問題,自頂向下層層加細(xì)。
10、n模塊化可以提出許多抽象的層次,模塊化可以提出許多抽象的層次,不同的層不同的層次用不同的方法解決問題次用不同的方法解決問題n 例:開發(fā)一個CAD軟件,實現(xiàn)一個二維軟件,實現(xiàn)一個二維繪圖系統(tǒng)的全部功能,供低級計算機輔助設(shè)繪圖系統(tǒng)的全部功能,供低級計算機輔助設(shè)計使用。計使用。2021/3/9235.2.2 抽象n抽象層次I:用問題所處環(huán)境的術(shù)語來描述這用問題所處環(huán)境的術(shù)語來描述這個軟件。個軟件。n該軟件包括一個計算機繪圖界面,向繪圖員該軟件包括一個計算機繪圖界面,向繪圖員顯示圖顯示圖 形,以及一個數(shù)字化儀界面,用以代形,以及一個數(shù)字化儀界面,用以代替繪圖板和丁字替繪圖板和丁字 尺。所有直線、折線、
11、矩形、尺。所有直線、折線、矩形、圓及曲線的描畫、所有圓及曲線的描畫、所有 的幾何計算、所有的的幾何計算、所有的剖面圖和輔助視圖都可以用這個剖面圖和輔助視圖都可以用這個 CAD軟件軟件實現(xiàn)實現(xiàn)。2021/3/9245.2.2 抽象n抽象層次II:任務(wù)需求的描述任務(wù)需求的描述。n列出列出“What”而不是而不是“How”。nCAD SOFTWARE TASKS:n user interaction task;n 2-D drawing creation task;n graphics display task;n drawing file management task;nEND2021/3/92
12、52021/3/9265.2.3 逐步求精n定義定義:為了能集中精力解決主要問題而盡量為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)的考慮。推遲對問題細(xì)節(jié)的考慮。n依據(jù)依據(jù): Miller法則法則-一個人在任何時候都只一個人在任何時候都只能把注意力集中在(能把注意力集中在(72)個知識塊上)個知識塊上n原則原則: 把精力集中在與當(dāng)前開發(fā)階段最相關(guān)把精力集中在與當(dāng)前開發(fā)階段最相關(guān)的那些方面上,而忽略那些對整體解決方案的那些方面上,而忽略那些對整體解決方案來說雖然是必要的,然而目前還不需要考慮來說雖然是必要的,然而目前還不需要考慮的細(xì)節(jié),這些細(xì)節(jié)將留到以后再考慮的細(xì)節(jié),這些細(xì)節(jié)將留到以后再考慮20
13、21/3/9275.2.3 逐步求精n實質(zhì)實質(zhì):把一個時期內(nèi)必須解決的種種問題按把一個時期內(nèi)必須解決的種種問題按優(yōu)先級排序的技術(shù)優(yōu)先級排序的技術(shù), 確保每個問題都將被解確保每個問題都將被解決,而且每個問題都將在適當(dāng)?shù)臅r候被解決決,而且每個問題都將在適當(dāng)?shù)臅r候被解決, 一個細(xì)化的過程一個細(xì)化的過程n抽象與求精是互補的過程抽象與求精是互補的過程n 抽象過程,數(shù)據(jù)數(shù)據(jù), 忽略底層細(xì)節(jié)忽略底層細(xì)節(jié)n 求精設(shè)計中揭示出低層細(xì)節(jié)2021/3/9285.2.4 信息隱藏和局部化信息隱藏和局部化n信息隱藏原理信息隱藏原理:應(yīng)該這樣設(shè)計和確定模塊,使得一 個模塊內(nèi)包含的信息(過程和數(shù)據(jù)過程和數(shù)據(jù))對對于不需要這
14、些信息的模塊來說,是不能訪問于不需要這些信息的模塊來說,是不能訪問的的n隱藏模塊的隱藏模塊的實現(xiàn)實現(xiàn)細(xì)節(jié)細(xì)節(jié), “細(xì)節(jié)隱藏細(xì)節(jié)隱藏”n獨立的模塊彼此間僅僅交換那些為了完成系統(tǒng)功能而必須交換的信息n局部化局部化: 把一些關(guān)系密切的軟件元素物理地把一些關(guān)系密切的軟件元素物理地放得彼此靠近放得彼此靠近n優(yōu)點優(yōu)點: 易于軟件的修改易于軟件的修改, 錯誤傳播大大減少錯誤傳播大大減少2021/3/9295.2.5 模塊獨立模塊獨立模塊獨立:每個模塊完成一個相對獨立的子功能,并且和其他模塊之間的關(guān)系很簡單獨立性的重要性獨立性的重要性n有效的模塊化的軟件比較容易開發(fā)出來n獨立的模塊比較容易測試和維護定性標(biāo)準(zhǔn)度
15、量 內(nèi)聚內(nèi)聚Cohesion :衡量一個模塊內(nèi)部各個元素彼衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度此結(jié)合的緊密程度n耦合耦合Coupling : 衡量不同模塊彼此間互相依賴衡量不同模塊彼此間互相依賴(連接連接)的緊密程度的緊密程度2021/3/9301 耦合數(shù)據(jù)耦合數(shù)據(jù)耦合Data coupling :兩個模塊彼此間通兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)據(jù)控制耦合控制耦合Control coupling : 傳遞的信息中有傳遞的信息中有控制信息控制信息(盡管有時這種控制信息以數(shù)據(jù)的盡管有時這種控制信息以數(shù)據(jù)的形式出現(xiàn)形式出現(xiàn))特征耦合
16、特征耦合: 當(dāng)把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而當(dāng)把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分?jǐn)?shù)據(jù)元被調(diào)用的模塊只需要使用其中一部分?jǐn)?shù)據(jù)元素素2021/3/9311 耦合公共環(huán)境耦合公共環(huán)境耦合Common coupling :當(dāng)兩個或當(dāng)兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,公共環(huán)境可以是全程變量、共享的通信區(qū)、公共環(huán)境可以是全程變量、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)、任何存儲介質(zhì)上內(nèi)存的公共覆蓋區(qū)、任何存儲介質(zhì)上 的文件的文件、物理設(shè)備等等、物理設(shè)備等等內(nèi)容耦合內(nèi)容耦合Content coupling:2021/3/932n控制耦合Con
17、trol coupling : 傳遞的信息中傳遞的信息中有控制信息有控制信息(盡管有時這種控制信息以數(shù)據(jù)盡管有時這種控制信息以數(shù)據(jù)的形式出現(xiàn)的形式出現(xiàn))2021/3/9332021/3/934公共環(huán)境耦合公共環(huán)境耦合Common coupling :當(dāng)兩個或當(dāng)兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,公共環(huán)境可以是全程變量、共享的通信區(qū)、公共環(huán)境可以是全程變量、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)、任何存內(nèi)存的公共覆蓋區(qū)、任何存 儲介質(zhì)上的文件儲介質(zhì)上的文件、物理設(shè)備等等、物理設(shè)備等等兩個模塊的公共環(huán)境,下面兩種可能耦合兩個模塊的公共環(huán)境,下面兩種可能耦合2
18、021/3/9352021/3/936內(nèi)容耦合內(nèi)容耦合Content Coupling(1)一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù);一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù);(2)一個模塊不通過正常入口而轉(zhuǎn)到另一個模塊的內(nèi)部;(3)兩個模塊有一部分程序代碼重疊(只可能出現(xiàn)只可能出現(xiàn)在匯編程序中在匯編程序中);(4)一個模塊有多個入口(這意味著一個模塊有幾這意味著一個模塊有幾種功能種功能)。2021/3/9372021/3/938n原則原則: 盡量使用數(shù)據(jù)耦合,少用控制耦合,盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,完全不用內(nèi)容耦合限制公共耦合的范圍,完全不用內(nèi)容耦合 設(shè)計原則:盡量使用數(shù)據(jù)耦合,少
19、用控制耦合,限制公共環(huán)境耦合,完全不用內(nèi)容耦合。數(shù)據(jù)耦合 控制耦合公共環(huán)境耦合 內(nèi)容耦合低高2021/3/9392 內(nèi)聚低內(nèi)聚 中內(nèi)聚 高內(nèi)聚n偶然內(nèi)聚 過程內(nèi)聚 順序內(nèi)聚n邏輯內(nèi)聚 通信內(nèi)聚 功能內(nèi)聚n時間內(nèi)聚n設(shè)計時應(yīng)該力求做到高內(nèi)聚,中內(nèi)聚也可用n實踐表明內(nèi)聚更重要。n2021/3/9402021/3/9412021/3/942高內(nèi)聚n順序內(nèi)聚順序內(nèi)聚Sequential cohesion :如果一個如果一個模塊內(nèi)的處理元素和同一個功能密切相關(guān),模塊內(nèi)的處理元素和同一個功能密切相關(guān),而且這些處理必須順而且這些處理必須順 序執(zhí)行序執(zhí)行(通常一個處理通常一個處理元素的輸出數(shù)據(jù)作為下一個處理元
20、素的輸入元素的輸出數(shù)據(jù)作為下一個處理元素的輸入數(shù)據(jù)數(shù)據(jù))n功能內(nèi)聚功能內(nèi)聚Functional cohesion :如果模塊如果模塊內(nèi)所有處理元素屬于一個整體,完成一個單內(nèi)所有處理元素屬于一個整體,完成一個單一的功能一的功能2021/3/9435.3 啟發(fā)規(guī)則啟發(fā)規(guī)則n人們在開發(fā)計算機軟件的長期實踐中積累了豐富的經(jīng)驗,總結(jié)這些經(jīng)驗得出了一些啟發(fā)式規(guī)則。n這些規(guī)則不是普遍適用不是普遍適用的,但在許多場合能給軟件工程師有益的啟示有益的啟示。n下面介紹7條啟發(fā)式規(guī)則2021/3/9445.3 啟發(fā)規(guī)則啟發(fā)規(guī)則1 改進軟件結(jié)構(gòu)提高模塊獨立性改進軟件結(jié)構(gòu)提高模塊獨立性n設(shè)計出軟件的初步結(jié)構(gòu)以后,應(yīng)該審查
21、分析這個結(jié)構(gòu),通過模塊分解或合并,力求降低耦合提高內(nèi)聚2 模塊規(guī)模應(yīng)該適中模塊規(guī)模應(yīng)該適中n過大不易理解(60行行)n太小則接口開銷過大n注意分解后不應(yīng)降低模塊的獨立性2021/3/9455.3 啟發(fā)規(guī)則啟發(fā)規(guī)則3 深度、寬度、扇出和扇入都應(yīng)適當(dāng)深度、寬度、扇出和扇入都應(yīng)適當(dāng)n深度深度: 軟件結(jié)構(gòu)中控制的層數(shù),它往往能粗軟件結(jié)構(gòu)中控制的層數(shù),它往往能粗略地標(biāo)志一個系統(tǒng)的大小和復(fù)雜程度略地標(biāo)志一個系統(tǒng)的大小和復(fù)雜程度n層數(shù)過多則應(yīng)該考慮合并層數(shù)過多則應(yīng)該考慮合并n寬度寬度: 軟件結(jié)構(gòu)內(nèi)同一個層次上的模塊總數(shù)軟件結(jié)構(gòu)內(nèi)同一個層次上的模塊總數(shù)的最大值的最大值n寬度越大系統(tǒng)越復(fù)雜2021/3/9465
22、.3 啟發(fā)規(guī)則啟發(fā)規(guī)則3 深度、寬度、扇出和扇入都應(yīng)適當(dāng)深度、寬度、扇出和扇入都應(yīng)適當(dāng)n扇出扇出: 一個模塊直接控制一個模塊直接控制(調(diào)用調(diào)用)的模塊數(shù)目的模塊數(shù)目扇出過大意味著模塊過分復(fù)雜,需要控制和協(xié)調(diào)扇出過大意味著模塊過分復(fù)雜,需要控制和協(xié)調(diào)過多的下級過多的下級 模塊模塊n扇出過小(例如總是例如總是1)也不好也不好n3或或4(扇出的上限通常是扇出的上限通常是59)扇入扇入:直接調(diào)用它的上級模塊個數(shù)直接調(diào)用它的上級模塊個數(shù)不能違背模塊獨立原理單純追求高扇入不能違背模塊獨立原理單純追求高扇入2021/3/9473 深度、寬度、扇出和扇入都應(yīng)適當(dāng)深度、寬度、扇出和扇入都應(yīng)適當(dāng)n深度、寬度、扇出
23、和扇入都應(yīng)適當(dāng)原則: n頂層扇出比較高,中層扇出較少,底層扇入頂層扇出比較高,中層扇出較少,底層扇入到公共的實用模塊中去到公共的實用模塊中去(底層模塊有高扇入底層模塊有高扇入。2021/3/9484模塊的作用域應(yīng)該在控制域之內(nèi)n模塊的作用域定義作用域定義為受該模塊內(nèi)一個判定影響的所有模塊的集合。模塊的控制域控制域是這個模塊本身以及所有直接或間接從屬于它的模塊的集合n例:在圖在圖5.2中模塊中模塊A的的n控制域控制域n是A、B、C、D、E、Fn等模塊的集合等模塊的集合2021/3/949n5 力爭降低模塊接口的復(fù)雜程度力爭降低模塊接口的復(fù)雜程度n應(yīng)該仔細(xì)設(shè)計模塊接口,使得信息傳遞簡單并且和模塊的
24、功能一致n6 設(shè)計單入口單出口的模塊設(shè)計單入口單出口的模塊n不要使模塊間出現(xiàn)內(nèi)容耦合n容易理解,維護維護n7 模塊功能應(yīng)該可以預(yù)測模塊功能應(yīng)該可以預(yù)測n只要輸入的數(shù)據(jù)相同就產(chǎn)生同樣的輸出2021/3/9505.4 描繪軟件結(jié)構(gòu)的圖形工具描繪軟件結(jié)構(gòu)的圖形工具5.4.1層次圖和HIPO圖n層次圖層次圖功能功能: 用來描繪軟件的層次結(jié)構(gòu)用來描繪軟件的層次結(jié)構(gòu)n層次圖層次圖符號符號說明說明:n矩形框代表模塊矩形框代表模塊n方框間的連線表示調(diào)用關(guān)系調(diào)用關(guān)系(而不像層次方而不像層次方框圖那樣表示組成關(guān)系框圖那樣表示組成關(guān)系)n適用適用范圍范圍:自頂向下設(shè)計自頂向下設(shè)計2021/3/951n注意注意:直線
25、表示調(diào)用關(guān)系直線表示調(diào)用關(guān)系2021/3/9525.4.1層次圖和HIPO圖nHIPO(層次圖加輸入層次圖加輸入/處理處理/輸出輸出)圖功能圖功能:用來用來描繪軟件的層次結(jié)構(gòu)描繪軟件的層次結(jié)構(gòu)n符號描述:n矩形框代表模塊矩形框代表模塊n方框間的連線表示調(diào)用關(guān)系(而不像層次方框而不像層次方框圖那樣表示組成關(guān)系圖那樣表示組成關(guān)系)n在H圖圖(層次圖層次圖)里除了最頂層的方框之外,里除了最頂層的方框之外,每個方框都加了編號每個方框都加了編號2021/3/9535.4.1層次圖和HIPO圖n和H圖中每個方框相對應(yīng),應(yīng)該有一張圖中每個方框相對應(yīng),應(yīng)該有一張IPO圖描繪這個方框代表的模塊的處理過程。圖描繪
26、這個方框代表的模塊的處理過程。HIPO圖中的每張圖中的每張IPO 圖內(nèi)都應(yīng)該明顯地標(biāo)圖內(nèi)都應(yīng)該明顯地標(biāo)出它所描繪的模塊在出它所描繪的模塊在H圖中的編號,以便追圖中的編號,以便追蹤了解這個模塊在軟件結(jié)構(gòu)中的位置蹤了解這個模塊在軟件結(jié)構(gòu)中的位置2021/3/9542021/3/9555.4.2 結(jié)構(gòu)圖結(jié)構(gòu)圖nYourdon提出的結(jié)構(gòu)圖,一個有力工具工具n功能:描繪軟件結(jié)構(gòu)的圖形工具描繪軟件結(jié)構(gòu)的圖形工具n符號描述:n方框代表模塊方框代表模塊,框內(nèi)注明模塊的名字或主要功框內(nèi)注明模塊的名字或主要功能能n箭頭(或直線或直線)表示模塊的調(diào)用關(guān)系表示模塊的調(diào)用關(guān)系n帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信
27、息帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息尾部是空心圓表示傳遞的是數(shù)據(jù)n尾部是實心圓表示傳遞的是控制信息2021/3/9562021/3/957結(jié)構(gòu)圖的附加符號2021/3/958n注意注意:n層次圖和結(jié)構(gòu)圖并不嚴(yán)格表示模塊的調(diào)用次序n層次圖和結(jié)構(gòu)圖并不指明什么時候調(diào)用下層模塊n層次圖作為描繪軟件結(jié)構(gòu)的文檔,結(jié)構(gòu)圖并不結(jié)構(gòu)圖并不合適合適n由層次圖導(dǎo)出結(jié)構(gòu)圖的過程,可以作為檢查由層次圖導(dǎo)出結(jié)構(gòu)圖的過程,可以作為檢查設(shè)計正確性和評價模塊獨立性的好方法設(shè)計正確性和評價模塊獨立性的好方法2021/3/9595.5面向數(shù)據(jù)流的設(shè)計方法n基本思路:面向數(shù)據(jù)流的設(shè)計方法定義了一些映射,利用這些映射把數(shù)據(jù)
28、流圖變換成軟件結(jié)構(gòu)。n5.5.1 概念n信息流的類型決定了映射的方法n信息流有兩種類型:n 變換流, 事務(wù)流2021/3/9601 變換流n信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當(dāng)數(shù)據(jù)流圖具有這些特征時,這種信息流稱為變換流n相應(yīng)于取得相應(yīng)于取得n數(shù)據(jù)、變換數(shù)據(jù)、變換n數(shù)據(jù)、給出數(shù)據(jù),數(shù)據(jù)、給出數(shù)據(jù),n變換型系統(tǒng)變換型系統(tǒng)n結(jié)構(gòu)圖由結(jié)構(gòu)圖由 輸輸n入、中心變換入、中心變換n和輸出等三部和輸出等三部n分組成分組成時間輸入流輸出流變換流外部表示內(nèi)部表示信息2021/3/9611事務(wù)流n數(shù)據(jù)沿輸入通路到達一個處理T,這個處理,這個處理根
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度公積金貸款購房合同標(biāo)準(zhǔn)解讀3篇
- 二零二五版企業(yè)間借款合同范本9篇
- 二零二五年度防盜門安全認(rèn)證及銷售合同2篇
- 二零二五年度車輛保險居間代理合同(含優(yōu)惠方案)3篇
- 二零二五版特色果樹種植基地承包經(jīng)營合同3篇
- 影視作品評價與獎項申報2025年度合同3篇
- 二零二五年綠色節(jié)能LED廣告租賃合同3篇
- 深圳市2025年度人才住房裝修補助購房合同3篇
- 二零二五版汽車抵押貸款車輛殘值評估合同3篇
- 二零二五年度金融產(chǎn)品發(fā)行與銷售合同3篇
- 軟件項目應(yīng)急措施及方案
- 2025河北邯鄲經(jīng)開國控資產(chǎn)運營管理限公司招聘專業(yè)技術(shù)人才5名高頻重點提升(共500題)附帶答案詳解
- 2024年民法典知識競賽考試題庫及答案(共50題)
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合卷(含答案)
- 鈑金設(shè)備操作培訓(xùn)
- 感染性腹瀉的護理查房
- 中考英語688高頻詞大綱詞頻表
- 九年級初三中考物理綜合復(fù)習(xí)測試卷3套(含答案)
- 管理制度評價表(填寫模板)
- 工地設(shè)計代表服務(wù)記錄
評論
0/150
提交評論