




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章第四章 總體設(shè)計(jì)總體設(shè)計(jì)軟件工程(Software Engineering)總體設(shè)計(jì)總體設(shè)計(jì) 總體設(shè)計(jì)總體設(shè)計(jì)(Summary Design)又稱為概要設(shè)計(jì)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。通過(guò)這個(gè)階段的工作將劃分出組成或初步設(shè)計(jì)。通過(guò)這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素系統(tǒng)的物理元素程序程序(Program)、文件、文件(File)、數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(Dada base)、人工過(guò)程和文檔、人工過(guò)程和文檔(Document)等等,但是每個(gè)物理元素仍然處于黑盒子等等,但是每個(gè)物理元素仍然處于黑盒子(Black Box)級(jí),這些黑盒子里的具體內(nèi)容將在以后仔細(xì)級(jí),這些黑盒子里的具體內(nèi)容將在以后仔細(xì)設(shè)計(jì)
2、。設(shè)計(jì)。 總體設(shè)計(jì)階段的另一項(xiàng)重要任務(wù)是:總體設(shè)計(jì)階段的另一項(xiàng)重要任務(wù)是: 設(shè)計(jì)軟件的結(jié)構(gòu)設(shè)計(jì)軟件的結(jié)構(gòu) 確定系統(tǒng)中每個(gè)程序是由哪些模塊組成確定系統(tǒng)中每個(gè)程序是由哪些模塊組成 確定模塊相互間的關(guān)系確定模塊相互間的關(guān)系 前一頁(yè)總體的設(shè)計(jì)過(guò)程總體的設(shè)計(jì)過(guò)程 軟件設(shè)計(jì)的概念和原理軟件設(shè)計(jì)的概念和原理 啟發(fā)式規(guī)則啟發(fā)式規(guī)則 圖形工具圖形工具 面向數(shù)據(jù)流的設(shè)計(jì)方法面向數(shù)據(jù)流的設(shè)計(jì)方法 本章主要內(nèi)容本章主要內(nèi)容前一頁(yè)前一頁(yè)總體的設(shè)計(jì)過(guò)程總體的設(shè)計(jì)過(guò)程設(shè)想供選擇的方案設(shè)想供選擇的方案 選取合理的方案選取合理的方案 推薦最佳方案推薦最佳方案 功能分解功能分解 設(shè)計(jì)軟件結(jié)構(gòu)設(shè)計(jì)軟件結(jié)構(gòu) 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 制
3、定測(cè)試計(jì)劃制定測(cè)試計(jì)劃 書寫文檔書寫文檔審核和復(fù)審審核和復(fù)審 前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程設(shè)想供選擇的方案 在總體設(shè)計(jì)階段分析員應(yīng)該考慮各種在總體設(shè)計(jì)階段分析員應(yīng)該考慮各種可能的實(shí)現(xiàn)方案可能的實(shí)現(xiàn)方案(Project),并且力求從中,并且力求從中選出最佳方案。在總體設(shè)計(jì)階段開始時(shí)只選出最佳方案。在總體設(shè)計(jì)階段開始時(shí)只有系統(tǒng)的邏輯模型,分析員有充分的自由有系統(tǒng)的邏輯模型,分析員有充分的自由分析比較不同的物理實(shí)現(xiàn)方案。分析比較不同的物理實(shí)現(xiàn)方案。 設(shè)想供選擇的方案的一種常用的方法設(shè)想供選擇的方案的一種常用的方法是:設(shè)想在數(shù)據(jù)流圖中處理分組的各種可是:設(shè)想在數(shù)據(jù)流圖中處理分組的各種可能的方法,
4、拋棄在技術(shù)上行不通的方法,能的方法,拋棄在技術(shù)上行不通的方法,余下的方法作為可能實(shí)現(xiàn)的策略,并且可余下的方法作為可能實(shí)現(xiàn)的策略,并且可以啟發(fā)供選擇的物理系統(tǒng)。以啟發(fā)供選擇的物理系統(tǒng)。 前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程選取合理方案 通常至少選取低成本、中等成本和高成通常至少選取低成本、中等成本和高成本的三種方案。對(duì)每個(gè)合理的方案分析員都本的三種方案。對(duì)每個(gè)合理的方案分析員都應(yīng)該準(zhǔn)備下列四份資料:應(yīng)該準(zhǔn)備下列四份資料: (1)系統(tǒng)流程圖)系統(tǒng)流程圖 (2)組成系統(tǒng)的物理元素的清單)組成系統(tǒng)的物理元素的清單 (3)成本)成本/效益分析效益分析 (4)實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃)實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃
5、前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程推薦最佳方案 分析員應(yīng)該綜合分析對(duì)比各種合理的方案,分析員應(yīng)該綜合分析對(duì)比各種合理的方案,推薦一個(gè)最佳的方案,并且為推薦的方案制定推薦一個(gè)最佳的方案,并且為推薦的方案制定詳細(xì)的實(shí)現(xiàn)計(jì)劃。詳細(xì)的實(shí)現(xiàn)計(jì)劃。 用戶和有關(guān)的技術(shù)專家應(yīng)該認(rèn)真審查分析用戶和有關(guān)的技術(shù)專家應(yīng)該認(rèn)真審查分析員所推薦的最佳系統(tǒng),如果該系統(tǒng)確實(shí)符合用員所推薦的最佳系統(tǒng),如果該系統(tǒng)確實(shí)符合用戶的需要,并且是在現(xiàn)有條件下完全能夠?qū)崿F(xiàn)戶的需要,并且是在現(xiàn)有條件下完全能夠?qū)崿F(xiàn)的,則應(yīng)該提請(qǐng)使用部門負(fù)責(zé)人進(jìn)一步審批。的,則應(yīng)該提請(qǐng)使用部門負(fù)責(zé)人進(jìn)一步審批。在接受分析員所推薦的方案之后,將進(jìn)入總體在接受分析
6、員所推薦的方案之后,將進(jìn)入總體設(shè)計(jì)過(guò)程的下一個(gè)重要階段設(shè)計(jì)過(guò)程的下一個(gè)重要階段結(jié)構(gòu)設(shè)計(jì)。結(jié)構(gòu)設(shè)計(jì)。 前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程功能分解 為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫(kù))。對(duì)這個(gè)系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫(kù))。對(duì)程序(特別是復(fù)雜的大型程序)的設(shè)計(jì),通常程序(特別是復(fù)雜的大型程序)的設(shè)計(jì),通常分為兩個(gè)階段完成:分為兩個(gè)階段完成: 結(jié)構(gòu)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)(Structure Design) :是總體設(shè):是總體設(shè)計(jì)階段的任務(wù),確定程序由那些模塊組計(jì)階段的任務(wù),確定程序由那些模塊組成,以及這些模塊之間的關(guān)系。成,以及這些模塊
7、之間的關(guān)系。 過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì)(Process Design):是詳細(xì)設(shè)計(jì):是詳細(xì)設(shè)計(jì)階段的任務(wù),確定每個(gè)模塊的處理過(guò)程。階段的任務(wù),確定每個(gè)模塊的處理過(guò)程。 前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程設(shè)計(jì)軟件結(jié)構(gòu) 為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解,通常程序中度把復(fù)雜的功能進(jìn)一步分解,通常程序中的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ堋?yīng)該的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ?。?yīng)該把模塊組織成良好的層次系統(tǒng),頂層模塊把模塊組織成良好的層次系統(tǒng),頂層模塊調(diào)用它下層模塊以實(shí)現(xiàn)程序的完整功能,調(diào)用它下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而每個(gè)
8、下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完完成程序的一個(gè)子功能,最下層的模塊完成最具體的功能成最具體的功能 。前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)通常包括下述四個(gè)步驟數(shù)據(jù)庫(kù)設(shè)計(jì)通常包括下述四個(gè)步驟: (1)模式設(shè)計(jì)()模式設(shè)計(jì)(Pattern Design) 模式設(shè)計(jì)的目的是確定物理數(shù)據(jù)庫(kù)結(jié)構(gòu)。第三范模式設(shè)計(jì)的目的是確定物理數(shù)據(jù)庫(kù)結(jié)構(gòu)。第三范式的實(shí)體及關(guān)系數(shù)據(jù)模型是模式設(shè)計(jì)過(guò)程的輸入,模式的實(shí)體及關(guān)系數(shù)據(jù)模型是模式設(shè)計(jì)過(guò)程的輸入,模式設(shè)計(jì)的主要問(wèn)題是處理具體的數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)式設(shè)計(jì)的主要問(wèn)題是處理具體的數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)約束。構(gòu)約束。 (2)子模
9、式設(shè)計(jì))子模式設(shè)計(jì) 子模式是用戶使用的數(shù)據(jù)視圖。子模式是用戶使用的數(shù)據(jù)視圖。 (3)完整性)完整性(Integrality)和安全性和安全性(Security)設(shè)計(jì)設(shè)計(jì) (4)優(yōu)化)優(yōu)化(Optimize) 主要目的是改進(jìn)模式和子模式以優(yōu)化數(shù)據(jù)的存取。主要目的是改進(jìn)模式和子模式以優(yōu)化數(shù)據(jù)的存取。 前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程制定測(cè)試計(jì)劃 在軟件開發(fā)的早期階段考慮測(cè)試在軟件開發(fā)的早期階段考慮測(cè)試(Testing)問(wèn)題,能促使軟件設(shè)計(jì)人員問(wèn)題,能促使軟件設(shè)計(jì)人員在設(shè)計(jì)時(shí)注意提高軟件的可測(cè)試性在設(shè)計(jì)時(shí)注意提高軟件的可測(cè)試性 。前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程書寫文檔 1.系統(tǒng)說(shuō)明系統(tǒng)說(shuō)明 2
10、.用戶手冊(cè)用戶手冊(cè) 3.測(cè)試計(jì)劃測(cè)試計(jì)劃 4.詳細(xì)的實(shí)現(xiàn)計(jì)劃詳細(xì)的實(shí)現(xiàn)計(jì)劃 5.數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)果數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)果 前一頁(yè)總總體體的的設(shè)設(shè)計(jì)計(jì)過(guò)過(guò)程程審核和復(fù)審 最后應(yīng)該對(duì)總體設(shè)計(jì)的結(jié)果進(jìn)最后應(yīng)該對(duì)總體設(shè)計(jì)的結(jié)果進(jìn)行嚴(yán)格的技術(shù)審查,通過(guò)之后再由行嚴(yán)格的技術(shù)審查,通過(guò)之后再由使用部門從管理和應(yīng)用的角度進(jìn)行使用部門從管理和應(yīng)用的角度進(jìn)行復(fù)審。復(fù)審。軟件設(shè)計(jì)的概念和原理軟件設(shè)計(jì)的概念和原理模塊化模塊化 抽象抽象 信息隱蔽和局部化信息隱蔽和局部化 模塊獨(dú)立模塊獨(dú)立 前一頁(yè)主要內(nèi)容前一頁(yè)軟件設(shè)計(jì)的概念和原理模塊化 模塊模塊(Modular)是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序?qū)ο蟮募?,它是單?dú)命
11、名的而且句等程序?qū)ο蟮募?,它是單?dú)命名的而且可通過(guò)名字來(lái)訪問(wèn)。模塊化就是把程序劃分可通過(guò)名字來(lái)訪問(wèn)。模塊化就是把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集總起來(lái)組成一個(gè)整體,可以完把這些模塊集總起來(lái)組成一個(gè)整體,可以完成指定的功能滿足問(wèn)題的要求。成指定的功能滿足問(wèn)題的要求。 前一頁(yè)軟件設(shè)計(jì)的概念和原理模塊化 設(shè)函數(shù)設(shè)函數(shù)C(x)定義問(wèn)題)定義問(wèn)題x的復(fù)雜程度,的復(fù)雜程度,函數(shù)函數(shù)E(x)確定解決問(wèn)題)確定解決問(wèn)題x需要的工作量需要的工作量(時(shí)間),對(duì)于兩個(gè)問(wèn)題(時(shí)間),對(duì)于兩個(gè)問(wèn)題p1和和p2,如果,如果 C(p1) C(p2) E(p1
12、) E(p2) C(p1p2) C(P1) + C(p2) E(p1p2) E(p1)+ E(p2) 前一頁(yè)模塊化與軟件成本前一頁(yè)軟件設(shè)計(jì)的概念和原理抽 象 人類在認(rèn)識(shí)復(fù)雜現(xiàn)象的過(guò)程中使用的人類在認(rèn)識(shí)復(fù)雜現(xiàn)象的過(guò)程中使用的最強(qiáng)有力的思維工具抽象最強(qiáng)有力的思維工具抽象(Abstract)。人們。人們?cè)趯?shí)踐中認(rèn)識(shí)到,在現(xiàn)實(shí)世界中一定事物、在實(shí)踐中認(rèn)識(shí)到,在現(xiàn)實(shí)世界中一定事物、狀態(tài)或過(guò)程之間總存在著某些相似的方面狀態(tài)或過(guò)程之間總存在著某些相似的方面(共性(共性)。把這些相似的方面集中和概括起。把這些相似的方面集中和概括起來(lái),暫時(shí)忽略它們之間的差異,這就是抽象。來(lái),暫時(shí)忽略它們之間的差異,這就是抽象。
13、前一頁(yè)軟件設(shè)計(jì)的概念和原理信息的隱蔽和局部化 使得一個(gè)模塊內(nèi)包括的信息使得一個(gè)模塊內(nèi)包括的信息(過(guò)程和過(guò)程和數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō),數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō),是不能訪問(wèn)的。是不能訪問(wèn)的。 “隱蔽隱蔽”(Hiding)意味著有效的模塊意味著有效的模塊化可以通過(guò)定義一組獨(dú)立的模塊而實(shí)現(xiàn),化可以通過(guò)定義一組獨(dú)立的模塊而實(shí)現(xiàn),這些獨(dú)立的模塊彼此間僅僅交換那些為了這些獨(dú)立的模塊彼此間僅僅交換那些為了完成系統(tǒng)功能而必須交換的信息。完成系統(tǒng)功能而必須交換的信息。 前一頁(yè)軟件設(shè)計(jì)的概念和原理模塊獨(dú)立 模塊獨(dú)立模塊獨(dú)立(Independence)的概念是模塊化、的概念是模塊化、抽象、信息隱
14、蔽和局部化概念的直接結(jié)果。開發(fā)抽象、信息隱蔽和局部化概念的直接結(jié)果。開發(fā)具有獨(dú)立功能而且和其他模塊之間沒(méi)有過(guò)多的相具有獨(dú)立功能而且和其他模塊之間沒(méi)有過(guò)多的相互作用的模塊,就可以做到模塊獨(dú)立互作用的模塊,就可以做到模塊獨(dú)立 。 第一,有效的模塊化(即具有獨(dú)立的模塊)第一,有效的模塊化(即具有獨(dú)立的模塊)的軟件比較容易開發(fā)出來(lái)。的軟件比較容易開發(fā)出來(lái)。 第二,獨(dú)立的模塊比較容易測(cè)試和維護(hù)。模第二,獨(dú)立的模塊比較容易測(cè)試和維護(hù)。模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合,內(nèi)聚衡量一個(gè)模塊內(nèi)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合,內(nèi)聚衡量一個(gè)模塊內(nèi)部各
15、個(gè)元素彼此結(jié)合的緊密程度;耦合衡量不同部各個(gè)元素彼此結(jié)合的緊密程度;耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度。模塊彼此間互相依賴(連接)的緊密程度。 耦合度可以分為七級(jí):耦合度可以分為七級(jí):非直接藕合非直接藕合數(shù)據(jù)藕合數(shù)據(jù)藕合控制藕合控制藕合特征藕合特征藕合外部藕合外部藕合公共藕合公共藕合內(nèi)容藕合內(nèi)容藕合藕藕合合度度低低高高軟件設(shè)計(jì)時(shí)應(yīng)盡量使用數(shù)據(jù)軟件設(shè)計(jì)時(shí)應(yīng)盡量使用數(shù)據(jù)藕合,減少控制藕合,限制藕合,減少控制藕合,限制外部環(huán)境藕合和公共數(shù)據(jù)藕外部環(huán)境藕合和公共數(shù)據(jù)藕合,杜絕內(nèi)容藕合。合,杜絕內(nèi)容藕合。耦合度數(shù)據(jù)耦合數(shù)據(jù)耦合 (Data Coupling):如果兩:如果兩個(gè)模塊彼此間通過(guò)
16、參數(shù)交換信息,個(gè)模塊彼此間通過(guò)參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù),那么而且交換的信息僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。這種耦合稱為數(shù)據(jù)耦合。特征耦合特征耦合 :如果兩個(gè)模塊都與:如果兩個(gè)模塊都與同一數(shù)據(jù)結(jié)構(gòu)有關(guān)。同一數(shù)據(jù)結(jié)構(gòu)有關(guān)??刂岂詈峡刂岂詈?Control Coupling) :如果傳遞的信息中有控制信息,如果傳遞的信息中有控制信息,則這種耦合稱為控制耦合。則這種耦合稱為控制耦合。 公共環(huán)境耦合公共環(huán)境耦合 (Common Coupling):當(dāng)兩個(gè)或多個(gè)模塊通過(guò)一個(gè)公共數(shù)當(dāng)兩個(gè)或多個(gè)模塊通過(guò)一個(gè)公共數(shù)據(jù)環(huán)境相互作用時(shí),它們之間的耦據(jù)環(huán)境相互作用時(shí),它們之間的耦合稱為公共環(huán)境耦合
17、。合稱為公共環(huán)境耦合。前一頁(yè) 數(shù)據(jù)耦合是低耦合。系統(tǒng)必須存在這種數(shù)據(jù)耦合是低耦合。系統(tǒng)必須存在這種耦合,因?yàn)橹挥挟?dāng)某些模塊的輸出數(shù)據(jù)作為耦合,因?yàn)橹挥挟?dāng)某些模塊的輸出數(shù)據(jù)作為另一些模塊的輸入數(shù)據(jù)時(shí),系統(tǒng)才能完成有另一些模塊的輸入數(shù)據(jù)時(shí),系統(tǒng)才能完成有價(jià)值的功能。價(jià)值的功能。 內(nèi)容耦合內(nèi)容耦合(Contain Coupling):最高程度的耦:最高程度的耦合是內(nèi)容耦合。一個(gè)模塊和合是內(nèi)容耦合。一個(gè)模塊和另一個(gè)模塊的內(nèi)部屬性有關(guān)。另一個(gè)模塊的內(nèi)部屬性有關(guān)。 原則:盡量使用數(shù)據(jù)耦合,少用特征耦原則:盡量使用數(shù)據(jù)耦合,少用特征耦合和控制耦合,限制公共環(huán)境耦合的范圍,合和控制耦合,限制公共環(huán)境耦合的范圍
18、,完全不用內(nèi)容耦合完全不用內(nèi)容耦合 。 c 模塊內(nèi)聚啟發(fā)式規(guī)則啟發(fā)式規(guī)則改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性模塊規(guī)模應(yīng)該適中模塊規(guī)模應(yīng)該適中 深度、寬度、扇出和扇入應(yīng)適當(dāng)深度、寬度、扇出和扇入應(yīng)適當(dāng) 模塊的作用域應(yīng)在控制域之內(nèi)模塊的作用域應(yīng)在控制域之內(nèi) 盡量降低模塊接口的復(fù)雜程度盡量降低模塊接口的復(fù)雜程度 設(shè)計(jì)單入口出口的模塊設(shè)計(jì)單入口出口的模塊 模塊功能應(yīng)該可以預(yù)測(cè)模塊功能應(yīng)該可以預(yù)測(cè) 前一頁(yè)主要內(nèi)容軟件結(jié)構(gòu)形態(tài) “形態(tài)”指的是系統(tǒng)結(jié)構(gòu)所表現(xiàn)出來(lái)的形狀。系統(tǒng)結(jié)構(gòu)的形狀用如下特征來(lái)定義:(1)深度:指結(jié)構(gòu)圖控制的層次。(2)寬度:指一層中最大的模塊個(gè)數(shù)。(3)扇出:指一個(gè)模塊直
19、接下屬模塊的個(gè)數(shù)。(4)扇入:指一個(gè)模塊直接上屬模塊的個(gè)數(shù)。系統(tǒng)的深度能夠粗略地描述系統(tǒng)的規(guī)模和復(fù)雜度。系統(tǒng)寬度的一個(gè)主要影響是扇出。一般認(rèn)為,扇出的域值大約為6或7。ABXB1CYC3C1C2深度為4寬度為4平均扇出為2圖5.12 軟件結(jié)構(gòu)形態(tài)影響范圍和控制范圍 判定的“影響范圍”是指包含“條件依賴”于該判定的處理的全部模塊。一個(gè)模塊的“控制范圍”是指模塊本身和它的全體子模塊??刂品秶陀绊懛秶脑O(shè)計(jì)原則:對(duì)于任何判定,影響范圍應(yīng)該是這個(gè)判定所在模塊的控制范圍的一個(gè)子集。而最理想的情況是,把影響范圍限制在給出判定的模塊本身和它的直接相連的子模塊中。圖形工具圖形工具層次圖和層次圖和HIPO圖圖
20、 結(jié)構(gòu)圖結(jié)構(gòu)圖 前一頁(yè)主要內(nèi)容前一頁(yè)圖形工具層次圖和HIPO圖 層次圖層次圖 用來(lái)描繪軟件的層次結(jié)構(gòu),層用來(lái)描繪軟件的層次結(jié)構(gòu),層次圖適合于在自頂向下設(shè)計(jì)軟件的過(guò)程中次圖適合于在自頂向下設(shè)計(jì)軟件的過(guò)程中使用。使用。 HIPO圖圖 是美國(guó)是美國(guó)IBM公司發(fā)明的層次公司發(fā)明的層次圖加圖加“輸入處理輸出圖輸入處理輸出圖”的英文縮寫的英文縮寫為了能使為了能使HIPO圖具有可追蹤性,在圖具有可追蹤性,在H圖圖(層次圖)里除了最頂層的方框之外,每(層次圖)里除了最頂層的方框之外,每個(gè)方框都加了編號(hào)。個(gè)方框都加了編號(hào)。 前一頁(yè)正文加工系統(tǒng)的層次圖正文加工系統(tǒng)的層次圖前一頁(yè)帶編號(hào)的層次圖(帶編號(hào)的層次圖(H圖
21、)圖)前一頁(yè)圖形工具結(jié)構(gòu)圖 Yourdon提出的結(jié)構(gòu)圖是進(jìn)行軟件結(jié)構(gòu)提出的結(jié)構(gòu)圖是進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)的另一個(gè)有力工具在結(jié)構(gòu)圖中通常還用設(shè)計(jì)的另一個(gè)有力工具在結(jié)構(gòu)圖中通常還用帶注釋的箭頭表示模塊調(diào)用過(guò)程中來(lái)回傳遞帶注釋的箭頭表示模塊調(diào)用過(guò)程中來(lái)回傳遞的信息。如果希望進(jìn)一步標(biāo)明傳遞的信息是的信息。如果希望進(jìn)一步標(biāo)明傳遞的信息是數(shù)據(jù)還是控制信息,則可以利用注釋箭頭尾數(shù)據(jù)還是控制信息,則可以利用注釋箭頭尾部的形狀來(lái)區(qū)分:尾部是部的形狀來(lái)區(qū)分:尾部是空心圓空心圓表示傳遞的表示傳遞的是數(shù)據(jù),是數(shù)據(jù),實(shí)心圓實(shí)心圓表示傳遞的是控制信息。表示傳遞的是控制信息。 前一頁(yè)產(chǎn)生最佳解的結(jié)構(gòu)圖前一頁(yè)判定為真時(shí)調(diào)用A為假時(shí)
22、調(diào)用BM循環(huán)調(diào)用A、B、C面向數(shù)據(jù)流的設(shè)計(jì)方法前一頁(yè) 面向數(shù)據(jù)流的設(shè)計(jì)方法的目標(biāo)是給出面向數(shù)據(jù)流的設(shè)計(jì)方法的目標(biāo)是給出設(shè)計(jì)軟件結(jié)構(gòu)的一個(gè)系統(tǒng)化的途徑。設(shè)計(jì)軟件結(jié)構(gòu)的一個(gè)系統(tǒng)化的途徑。 在軟件工程的需求分析階段,信息流在軟件工程的需求分析階段,信息流是一個(gè)關(guān)鍵,通常用數(shù)據(jù)流圖描繪信息在是一個(gè)關(guān)鍵,通常用數(shù)據(jù)流圖描繪信息在系統(tǒng)中加工和流動(dòng)的情況。通常所說(shuō)的結(jié)系統(tǒng)中加工和流動(dòng)的情況。通常所說(shuō)的結(jié)構(gòu)化設(shè)計(jì)方法(簡(jiǎn)稱構(gòu)化設(shè)計(jì)方法(簡(jiǎn)稱SD方法),也就是基方法),也就是基于數(shù)據(jù)流的設(shè)計(jì)方法。于數(shù)據(jù)流的設(shè)計(jì)方法。 面向數(shù)據(jù)流的設(shè)計(jì)方法面向數(shù)據(jù)流的設(shè)計(jì)方法概念概念 變換流分析設(shè)計(jì)變換流分析設(shè)計(jì) 事物流分析設(shè)計(jì)
23、事物流分析設(shè)計(jì)混合流分析設(shè)計(jì)混合流分析設(shè)計(jì) 設(shè)計(jì)優(yōu)化設(shè)計(jì)優(yōu)化 前一頁(yè)主要內(nèi)容前一頁(yè)面向數(shù)據(jù)流的設(shè)計(jì)方法概念 變換流 根據(jù)基本系統(tǒng)模型,信息通常以根據(jù)基本系統(tǒng)模型,信息通常以“外外部世界部世界”的形式進(jìn)入軟件系統(tǒng),經(jīng)過(guò)處理的形式進(jìn)入軟件系統(tǒng),經(jīng)過(guò)處理以后再以以后再以“外部世界外部世界”的形式離開系統(tǒng)。的形式離開系統(tǒng)。 信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當(dāng)數(shù)通路變換成外部形式離開軟件系統(tǒng)。當(dāng)數(shù)據(jù)
24、流圖具有這些特征時(shí),這種信息流就叫據(jù)流圖具有這些特征時(shí),這種信息流就叫作變換流作變換流 。前一頁(yè)變換流圖面向數(shù)據(jù)流的設(shè)計(jì)方法前一頁(yè)概念 事務(wù)流 數(shù)據(jù)沿輸入通路到達(dá)一個(gè)處理數(shù)據(jù)沿輸入通路到達(dá)一個(gè)處理T,這個(gè)處理,這個(gè)處理根據(jù)輸入數(shù)據(jù)的類型再若干個(gè)動(dòng)作序列中選出根據(jù)輸入數(shù)據(jù)的類型再若干個(gè)動(dòng)作序列中選出一個(gè)來(lái)執(zhí)行。這類數(shù)據(jù)流應(yīng)該劃為一類特殊的一個(gè)來(lái)執(zhí)行。這類數(shù)據(jù)流應(yīng)該劃為一類特殊的數(shù)據(jù)流,稱為事物流數(shù)據(jù)流,稱為事物流 (1)接收輸入數(shù)據(jù)(輸入數(shù)據(jù)又稱為事務(wù));)接收輸入數(shù)據(jù)(輸入數(shù)據(jù)又稱為事務(wù)); (2)分析每個(gè)事物以確定它的類型;)分析每個(gè)事物以確定它的類型; (3)根據(jù)事物類型選取一條活動(dòng)通道。
25、)根據(jù)事物類型選取一條活動(dòng)通道。前一頁(yè)事 務(wù) 流前一頁(yè)概念設(shè)計(jì)過(guò)程前一頁(yè)面向數(shù)據(jù)流的設(shè)計(jì)方法變換流分析設(shè)計(jì) 把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)定的模式映射成軟件結(jié)構(gòu) 。 (1)找出變換的中心;)找出變換的中心; (2)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第二層;)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第二層; (3)設(shè)計(jì)中下層模塊。)設(shè)計(jì)中下層模塊。 前一頁(yè)面向數(shù)據(jù)流的設(shè)計(jì)方法變換流分析設(shè)計(jì) 設(shè)計(jì)一個(gè)安裝在汽車上的數(shù)字儀表板,功設(shè)計(jì)一個(gè)安裝在汽車上的數(shù)字儀表板,功能如下:能如下: (1)通過(guò)模數(shù)轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理機(jī)接口;)通過(guò)模數(shù)轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理機(jī)接口; (2)
26、在發(fā)光二極管面板上顯示數(shù)據(jù);)在發(fā)光二極管面板上顯示數(shù)據(jù); (3)指示每小時(shí)英里數(shù)()指示每小時(shí)英里數(shù)(mph),行駛的英里數(shù)),行駛的英里數(shù)(mpg)等等;)等等; (4)指示加速或減速;)指示加速或減速; (5)超速報(bào)警。)超速報(bào)警。 前一頁(yè)面向數(shù)據(jù)流的設(shè)計(jì)方法變換流分析設(shè)計(jì)第第1步步 復(fù)查基本系統(tǒng)模型。復(fù)查基本系統(tǒng)模型。第第2步步 復(fù)查并精化數(shù)據(jù)流圖。復(fù)查并精化數(shù)據(jù)流圖。第第3步步 確定數(shù)據(jù)流圖具有變換特性。確定數(shù)據(jù)流圖具有變換特性。第第4步步 確定輸入流和輸出流的邊界,從而孤立出變確定輸入流和輸出流的邊界,從而孤立出變 換中心。換中心。第第5步步 完成完成“第一級(jí)分解第一級(jí)分解”。第第
27、6步步 完成完成“第二級(jí)分解第二級(jí)分解”。第第7步步 使用設(shè)計(jì)度量和啟發(fā)式規(guī)則對(duì)第一次分割得使用設(shè)計(jì)度量和啟發(fā)式規(guī)則對(duì)第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。到的軟件結(jié)構(gòu)進(jìn)一步精化。 前一頁(yè)數(shù)字儀表板數(shù)據(jù)流圖前一頁(yè)確定輸入流和輸出流的邊界前一頁(yè)完成第一級(jí)的分解前一頁(yè)完成第二級(jí)的分解前一頁(yè)未經(jīng)精化的結(jié)構(gòu)圖前一頁(yè) 精化的軟件結(jié)構(gòu)圖面向事務(wù)流的設(shè)計(jì)方法前一頁(yè)事務(wù)流的分析設(shè)計(jì) 事務(wù)分析的設(shè)計(jì)步驟和變換分析的設(shè)計(jì)步驟大部分相同或類似,主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。 (1)確定事務(wù)處理中心和每條加工路徑; (2)設(shè)計(jì)事務(wù)流的DFD的軟件結(jié)構(gòu); (3)對(duì)處理中心和每條加工路徑細(xì)化。 前一頁(yè)事務(wù)流分析的映射方法前一頁(yè)面向混合流的設(shè)計(jì)方法混合流分析設(shè)計(jì) 在大型系統(tǒng)中往往既有變換流,也有事在大型系統(tǒng)中往往既有變換流,也有事務(wù)流,一般采用變換流為主,事務(wù)流為輔的務(wù)流,一般采用變換流為主,事務(wù)流為輔的原則原則 。 (1)先劃出輸入輸出;)先劃出輸入輸出; (2)設(shè)計(jì)軟件結(jié)構(gòu)的上層;)設(shè)計(jì)軟件結(jié)構(gòu)的上層; (3)根據(jù))根據(jù)DFD各部分的特征,進(jìn)行各部分的特征,進(jìn)行變換流和事務(wù)流設(shè)計(jì)變換流和事務(wù)流設(shè)計(jì) 。前一頁(yè)設(shè)計(jì)優(yōu)化先使它動(dòng)起來(lái),先使它動(dòng)起來(lái), 再使它快起來(lái)再使它快起來(lái) 。本章內(nèi)容結(jié)束前一頁(yè)回首頁(yè)本章
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 攪拌機(jī)租賃合同協(xié)議
- 三農(nóng)村水資源管理方案
- 自愿離婚協(xié)議書參考樣板
- 不分手協(xié)議合同協(xié)議書
- 鎮(zhèn)江小區(qū)標(biāo)識(shí)牌施工方案
- 俄羅斯重油購(gòu)銷合同
- 西山區(qū)門窗拆除施工方案
- 2025年重慶中學(xué)的考試題及答案
- 達(dá)州市立交橋樁基施工方案
- 2025年憤怒的哇測(cè)試題及答案
- 2025年安徽港航集團(tuán)所屬企業(yè)招聘13人筆試參考題庫(kù)附帶答案詳解
- 2025年春花城版(2024)小學(xué)音樂(lè)一年級(jí)下冊(cè)教學(xué)計(jì)劃
- 民用無(wú)人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點(diǎn)題庫(kù)500題(含答案)
- WORD版A4橫版密封條打印模板(可編輯)
- 住建部《建筑業(yè)10項(xiàng)新技術(shù)(2017版)》解讀培訓(xùn)課件
- 迎澤公園文化廣場(chǎng)歌詞匯集
- 環(huán)境化學(xué)物的毒性作用及其影響因素
- Q∕GDW 12176-2021 反竊電監(jiān)測(cè)終端技術(shù)規(guī)范
- 中軟統(tǒng)一終端安全管理平臺(tái)v90使用手冊(cè)
- 判斷抽樣(課堂PPT)
- 簡(jiǎn)明疼痛評(píng)估量表(BPI)
評(píng)論
0/150
提交評(píng)論