總體設計樣式編輯母版文本樣式_第1頁
總體設計樣式編輯母版文本樣式_第2頁
總體設計樣式編輯母版文本樣式_第3頁
總體設計樣式編輯母版文本樣式_第4頁
總體設計樣式編輯母版文本樣式_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、樸 勇大連理工大學軟件學院email: 軟件工程2022-3-20大連理工大學軟件學院2第第5章章 總體設計總體設計 結構化設計結構化設計(Structured Design, SD) 工作通常工作通常劃分為劃分為概要設計和詳細設計概要設計和詳細設計兩階段。兩階段。 概要設計主要任務:分析軟件規(guī)格說明,對軟件概要設計主要任務:分析軟件規(guī)格說明,對軟件進行功能分解,進行功能分解,劃分為模塊劃分為模塊,設計出,設計出模塊結構模塊結構。 詳細設計階段:詳細設計每個模塊,確定每個模詳細設計階段:詳細設計每個模塊,確定每個模塊功能的塊功能的算法和數(shù)據(jù)結構算法和數(shù)據(jù)結構。2022-3-20大連理工大學軟件

2、學院3 5.1 設計過程設計過程 5.2 設計原理設計原理 5.3 啟發(fā)規(guī)則啟發(fā)規(guī)則 5.4 描繪軟件結構的圖形工具描繪軟件結構的圖形工具 5.5 面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法 5.6 小結小結2022-3-20大連理工大學軟件學院45.1 設計過程設計過程 設想供選擇的方案設想供選擇的方案 選擇合理的方案選擇合理的方案 推薦最佳方案推薦最佳方案 功能分解功能分解 設計軟件結構設計軟件結構 設計數(shù)據(jù)庫設計數(shù)據(jù)庫 制定測試計劃制定測試計劃 書寫文檔書寫文檔 審查和復審審查和復審2022-3-20大連理工大學軟件學院55.2 設計原理設計原理 模塊化模塊化 模塊模塊是由邊界元素限定的相

3、鄰的程序元素的是由邊界元素限定的相鄰的程序元素的序列,而且有一個總體標識符來代表。序列,而且有一個總體標識符來代表。 面向對象范型中的對象是模塊,對象內的方面向對象范型中的對象是模塊,對象內的方法也是模塊。模塊是構成程序的基本構件。法也是模塊。模塊是構成程序的基本構件。2022-3-20大連理工大學軟件學院6模塊化和軟件成本2022-3-20大連理工大學軟件學院7每個模塊完成一個子功能,把這些模塊集成起每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用來構成一個整體,可以完成指定的功能滿足用戶的需求。戶的需求。模塊化優(yōu)點:模塊化優(yōu)點:結構清晰結構清晰容易閱讀和理解

4、容易閱讀和理解容易測試和調試容易測試和調試有助于提高軟件的有助于提高軟件的可靠性可靠性可修改性可修改性便于組織和管理便于組織和管理抽象抽象 人類在認識復雜現(xiàn)象的過程中使用的最強人類在認識復雜現(xiàn)象的過程中使用的最強有力的思維工具是有力的思維工具是抽象抽象。 在現(xiàn)實世界中一定事物、狀態(tài)或過程之間在現(xiàn)實世界中一定事物、狀態(tài)或過程之間總存在著某些相似的方面總存在著某些相似的方面(共性共性)。 把這些相似的方面集中和概括起來,暫時把這些相似的方面集中和概括起來,暫時忽略它們之間的差異,這就是抽象。忽略它們之間的差異,這就是抽象。 抽象就是抽出事物的本質特性而暫時不考抽象就是抽出事物的本質特性而暫時不考慮

5、它們的細節(jié)。慮它們的細節(jié)。2022-3-20大連理工大學軟件學院8逐步求精逐步求精 逐步求精是人類解決復雜問題時采用的基逐步求精是人類解決復雜問題時采用的基本技術,也是許多軟件工程技術的基礎。本技術,也是許多軟件工程技術的基礎。 逐步求精:逐步求精:“為了能集中精力解決主要問題而為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮。盡量推遲對問題細節(jié)的考慮?!?求精實際上是細化過程。求精實際上是細化過程。2022-3-20大連理工大學軟件學院9抽象與求精抽象與求精 一對互補的概念一對互補的概念 抽象使得設計者能夠說明過程和數(shù)據(jù),同時卻抽象使得設計者能夠說明過程和數(shù)據(jù),同時卻忽略低層細節(jié)。忽略低

6、層細節(jié)。 抽象是一種通過忽略多余的細節(jié)同時強調有關抽象是一種通過忽略多余的細節(jié)同時強調有關的細節(jié),而實現(xiàn)逐步求精的方法。的細節(jié),而實現(xiàn)逐步求精的方法。 求精則幫助設計者在設計過程中揭示出低層細求精則幫助設計者在設計過程中揭示出低層細節(jié)。節(jié)。 這兩個概念都有助于設計者在設計演化過程中這兩個概念都有助于設計者在設計演化過程中創(chuàng)造出完整的設計模型。創(chuàng)造出完整的設計模型。2022-3-20大連理工大學軟件學院10信息隱藏和局部化信息隱藏和局部化 信息隱藏原理指出:應該這樣設計和確定信息隱藏原理指出:應該這樣設計和確定模塊,使得一個模塊內包含的信息模塊,使得一個模塊內包含的信息(過程和過程和數(shù)據(jù)數(shù)據(jù))對

7、于不需要這些信息的模塊來說,是對于不需要這些信息的模塊來說,是不能訪問的。不能訪問的。2022-3-20大連理工大學軟件學院112022-3-20大連理工大學軟件學院12模塊獨立模塊獨立 “模塊獨立模塊獨立”概念是模塊化、抽象、逐步求精和信概念是模塊化、抽象、逐步求精和信息隱藏等概念的直接結果,也是完成有效的模塊設息隱藏等概念的直接結果,也是完成有效的模塊設計的基本標準。計的基本標準。 模塊的獨立程度可以由兩個定性標準來度量,這兩模塊的獨立程度可以由兩個定性標準來度量,這兩個標準分別稱為個標準分別稱為內聚和耦合內聚和耦合。耦合衡量不同模塊彼此間互相依賴耦合衡量不同模塊彼此間互相依賴( (連接連

8、接) )緊密程度;緊密程度;內聚衡量一個模塊內部各個元素彼此結合的緊密程度。內聚衡量一個模塊內部各個元素彼此結合的緊密程度。2022-3-20大連理工大學軟件學院13 4.3.1 耦合耦合 耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合是對一個軟件結構內不同模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復雜程度,進入或訪問一個耦合強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點,以及通過接口的數(shù)據(jù)。模塊的點,以及通過接口的數(shù)據(jù)。 在軟件設計中應該追求盡可能在軟件設計中應該追求盡可能松散耦合松散耦合的系統(tǒng)。在這樣的的系統(tǒng)。在這樣的系統(tǒng)中可以研究、測試或維護任何一個模塊,而不需要

9、對系統(tǒng)中可以研究、測試或維護任何一個模塊,而不需要對系統(tǒng)的其他模塊有很多了解。系統(tǒng)的其他模塊有很多了解。 此外,由于模塊間聯(lián)系簡單,發(fā)生在一處的錯誤傳播到整此外,由于模塊間聯(lián)系簡單,發(fā)生在一處的錯誤傳播到整個系統(tǒng)的可能性就很小。因此,模塊間的耦合程度強烈影個系統(tǒng)的可能性就很小。因此,模塊間的耦合程度強烈影響系統(tǒng)的可理解性、可測試性、可靠性和可維護性。響系統(tǒng)的可理解性、可測試性、可靠性和可維護性。2022-3-20大連理工大學軟件學院14 非直接耦合非直接耦合 數(shù)據(jù)耦合:簡單的數(shù)據(jù)參數(shù)。數(shù)據(jù)耦合:簡單的數(shù)據(jù)參數(shù)。 標記(特征)耦合:傳遞參數(shù)表記錄信息,如文標記(特征)耦合:傳遞參數(shù)表記錄信息,如

10、文件、數(shù)組、指針等。件、數(shù)組、指針等。 控制耦合:控制變量,有可能是一個簡單變量,控制耦合:控制變量,有可能是一個簡單變量,但可能改變程序流程。但可能改變程序流程。將判斷點上移,將控制耦合轉變?yōu)閿?shù)據(jù)耦合,導致將將判斷點上移,將控制耦合轉變?yōu)閿?shù)據(jù)耦合,導致將下層模塊進一步分解,增加了模塊個數(shù),所以要合理下層模塊進一步分解,增加了模塊個數(shù),所以要合理使用控制耦合。使用控制耦合。 外部耦合:一組模塊都訪問同一全局簡單變量。外部耦合:一組模塊都訪問同一全局簡單變量。2022-3-20大連理工大學軟件學院15 公共耦合:一組模塊訪問同一個公共數(shù)據(jù)環(huán)境。公共耦合:一組模塊訪問同一個公共數(shù)據(jù)環(huán)境。公共區(qū)可以

11、降低語句的數(shù)量和內存的耗費,但增公共區(qū)可以降低語句的數(shù)量和內存的耗費,但增加耦合度。加耦合度。 內容耦合:一組模塊使用另一模塊內部數(shù)據(jù);模內容耦合:一組模塊使用另一模塊內部數(shù)據(jù);模塊通過非正常渠道進入另一模塊執(zhí)行。塊通過非正常渠道進入另一模塊執(zhí)行。 耦合是影響軟件復雜程度的一個重要因素。應該耦合是影響軟件復雜程度的一個重要因素。應該采取下述設計原則:采取下述設計原則: 盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內容耦合。合的范圍,完全不用內容耦合。2022-3-20大連理工大學軟件學院16 4.3.2 內聚內聚 內聚標志一個模

12、塊內各個元素彼此結合的緊密程內聚標志一個模塊內各個元素彼此結合的緊密程度,它是信息隱蔽和局部化概念的自然擴展。簡度,它是信息隱蔽和局部化概念的自然擴展。簡單地說,單地說,理想內聚的模塊只做一件事情理想內聚的模塊只做一件事情。 設計時應該力求做到設計時應該力求做到高內聚高內聚,通常中等程度的內,通常中等程度的內聚也是可以采用的,而且效果和高內聚相差不多;聚也是可以采用的,而且效果和高內聚相差不多;但是,低內聚很壞,不要使用。但是,低內聚很壞,不要使用。2022-3-20大連理工大學軟件學院17 功能內聚:模塊內所有元素屬于一個整體,完成功能內聚:模塊內所有元素屬于一個整體,完成單一功能。單一功能

13、。 信息內聚:模塊完成多個功能,每個功能都在同信息內聚:模塊完成多個功能,每個功能都在同一數(shù)據(jù)結構上操作一數(shù)據(jù)結構上操作(按一定的順序)(按一定的順序),各功能有,各功能有唯一的出口點和入口點。唯一的出口點和入口點。 通信內聚:模塊內各功能部分使用了相同的輸入通信內聚:模塊內各功能部分使用了相同的輸入數(shù)據(jù),或產(chǎn)生了相同的輸出數(shù)據(jù)。數(shù)據(jù),或產(chǎn)生了相同的輸出數(shù)據(jù)。2022-3-20大連理工大學軟件學院18 過程內聚:模塊中包含有一組任務,必須按照一過程內聚:模塊中包含有一組任務,必須按照一定的順序執(zhí)行完成功能。定的順序執(zhí)行完成功能。(沒有公共數(shù)據(jù)),通(沒有公共數(shù)據(jù)),通常上一任務的輸出是下一任務

14、的輸入。常上一任務的輸出是下一任務的輸入。 時間內聚:任務需在同一時間段完成。時間內聚:任務需在同一時間段完成。(各種初(各種初始化)始化) 邏輯內聚:相關功能通過邏輯關系組成在模塊內。邏輯內聚:相關功能通過邏輯關系組成在模塊內。(應合理使用,否則增加模塊數(shù))(應合理使用,否則增加模塊數(shù)) 巧合內聚:各部分之間沒有任何聯(lián)系,或有聯(lián)系巧合內聚:各部分之間沒有任何聯(lián)系,或有聯(lián)系也很松散。也很松散。2022-3-20大連理工大學軟件學院19 內聚和耦合是密切相關的,模塊內的高內聚往往意味著內聚和耦合是密切相關的,模塊內的高內聚往往意味著模塊間的松耦合。模塊間的松耦合。 內聚和耦合都是進行模塊化設計的

15、有力工具,但是實踐內聚和耦合都是進行模塊化設計的有力工具,但是實踐表明表明內聚更重要內聚更重要,應該把更多注意力集中到提高模塊,應該把更多注意力集中到提高模塊的的內聚程度上。內聚程度上。 事實上,沒有必要精確確定內聚的級別。重要的是設計事實上,沒有必要精確確定內聚的級別。重要的是設計時力爭做到高內聚,并且能夠辨認出低內聚的模塊,有時力爭做到高內聚,并且能夠辨認出低內聚的模塊,有能力通過修改設計提高模塊的內聚程度降低模塊間的耦能力通過修改設計提高模塊的內聚程度降低模塊間的耦合程度,從而獲得合程度,從而獲得較高的模塊獨立性。較高的模塊獨立性。2022-3-20大連理工大學軟件學院205.3 啟發(fā)規(guī)

16、則啟發(fā)規(guī)則 軟件工程師們在開發(fā)計算機軟件的長期實踐中積累軟件工程師們在開發(fā)計算機軟件的長期實踐中積累了豐富的經(jīng)驗,總結這些經(jīng)驗得出了一些啟發(fā)規(guī)則。了豐富的經(jīng)驗,總結這些經(jīng)驗得出了一些啟發(fā)規(guī)則。 啟發(fā)規(guī)則雖然不像前兩節(jié)講述的基本原理那樣普遍啟發(fā)規(guī)則雖然不像前兩節(jié)講述的基本原理那樣普遍適用,但能給軟件工程師有益的啟示,往往能幫助適用,但能給軟件工程師有益的啟示,往往能幫助找到改進軟件設計提高軟件質量的途徑,因找到改進軟件設計提高軟件質量的途徑,因此此有助有助于實現(xiàn)有效的模塊化于實現(xiàn)有效的模塊化。2022-3-20大連理工大學軟件學院21 改進改進軟件結構軟件結構提高模塊獨立性提高模塊獨立性 模塊模

17、塊規(guī)模規(guī)模應該適中應該適中 深度、寬度、扇出和扇入深度、寬度、扇出和扇入都應適當都應適當 模塊的模塊的作用域作用域應該在應該在控制域控制域之內之內 力爭降低力爭降低模塊接口模塊接口的復雜程度的復雜程度 設計設計單入口單出口單入口單出口的模塊的模塊 模塊功能模塊功能應該可以預測應該可以預測2022-3-20大連理工大學軟件學院22圖4.3 模塊的作用域和控制2022-3-20大連理工大學軟件學院235.4 描繪軟件結構的圖形工具描繪軟件結構的圖形工具 層次圖和層次圖和HIPO圖圖 通常使用通常使用層次圖層次圖描繪軟件的層次結構。描繪軟件的層次結構。 在層次圖中一個矩形框代表一個模塊,框間的在層次

18、圖中一個矩形框代表一個模塊,框間的連線表示調用關系連線表示調用關系(位于上方的矩形框所代表位于上方的矩形框所代表的模塊調用位于下方的矩形框所代表的模塊的模塊調用位于下方的矩形框所代表的模塊)。2022-3-20大連理工大學軟件學院24正文加工系統(tǒng)的層次圖2022-3-20大連理工大學軟件學院25 HIPO圖圖是美國是美國IBM公司發(fā)明的公司發(fā)明的“層次圖加層次圖加輸入輸入/處理處理/輸出圖輸出圖”的英文縮寫。的英文縮寫。 為了使為了使HIPO圖具有圖具有可追蹤性可追蹤性,在,在H圖圖(即層即層次圖次圖)里除了頂層的方框之外,每個方框都里除了頂層的方框之外,每個方框都加了加了編號編號。 編號方法

19、數(shù)據(jù)流圖的編號方法相同。編號方法數(shù)據(jù)流圖的編號方法相同。2022-3-20大連理工大學軟件學院26正文加工系統(tǒng)的H圖2022-3-20大連理工大學軟件學院27 結構圖結構圖 Yourdon提出的提出的結構圖結構圖是進行軟件結構設計是進行軟件結構設計的另一個有力工具。的另一個有力工具。 結構圖和層次圖類似,也是描繪軟件結構的圖結構圖和層次圖類似,也是描繪軟件結構的圖形工具。形工具。 結構圖中帶注釋的箭頭表示模塊調用過程中來結構圖中帶注釋的箭頭表示模塊調用過程中來回傳遞的信息?;貍鬟f的信息。 尾部是空心圓表示傳遞的是數(shù)據(jù),實心圓表示尾部是空心圓表示傳遞的是數(shù)據(jù),實心圓表示傳遞的是控制信息傳遞的是控

20、制信息。2022-3-20大連理工大學軟件學院28結構圖的例子產(chǎn)生最佳解的一般結構2022-3-20大連理工大學軟件學院29判定為真時調用A,為假時調用B2022-3-20大連理工大學軟件學院30模塊M循環(huán)調用模塊A,B,C層次圖或結構圖都層次圖或結構圖都不嚴格表示模塊的不嚴格表示模塊的調用次序。調用次序。更多使用結構圖來更多使用結構圖來驗證設計的正確性驗證設計的正確性和模塊的獨立性。和模塊的獨立性。2022-3-20大連理工大學軟件學院315.5 面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法 面向數(shù)據(jù)流的設計方法面向數(shù)據(jù)流的設計方法的目標是給出設計的目標是給出設計軟件結構軟件結構的一個系統(tǒng)化的途

21、徑。的一個系統(tǒng)化的途徑。 在需求分析階段,信息流是一個關鍵考慮因素,通在需求分析階段,信息流是一個關鍵考慮因素,通常用數(shù)據(jù)流圖描繪信息在系統(tǒng)中加工和流動情況。常用數(shù)據(jù)流圖描繪信息在系統(tǒng)中加工和流動情況。利用這些數(shù)據(jù)流圖中的利用這些數(shù)據(jù)流圖中的“映射映射“可以把數(shù)據(jù)流圖變換成軟可以把數(shù)據(jù)流圖變換成軟件結構。件結構。任何軟件系統(tǒng)都可以用數(shù)據(jù)流圖表示,所以面向數(shù)據(jù)流的任何軟件系統(tǒng)都可以用數(shù)據(jù)流圖表示,所以面向數(shù)據(jù)流的設計方法理論上可以設計任何軟件的結構。設計方法理論上可以設計任何軟件的結構。通常的結構化設計方法,也就是基于數(shù)通常的結構化設計方法,也就是基于數(shù)據(jù)流的設計方法。據(jù)流的設計方法。2022-

22、3-20大連理工大學軟件學院32概念概念面向數(shù)據(jù)流的設計方法把信息流面向數(shù)據(jù)流的設計方法把信息流映射映射成軟件成軟件結構,信息流的類型決定了映射的方法。信結構,信息流的類型決定了映射的方法。信息流有下述兩種類型。息流有下述兩種類型。1.變換流變換流2.事務流事務流2022-3-20大連理工大學軟件學院33變換流和事務流2022-3-20大連理工大學軟件學院34面向數(shù)據(jù)面向數(shù)據(jù)流方法的流方法的設計過程設計過程變換事務事務分析變換分析2022-3-20大連理工大學軟件學院35 變換分析變換分析 變換分析變換分析是一系列設計步驟的總稱,經(jīng)過這些是一系列設計步驟的總稱,經(jīng)過這些步驟把具有變換流特點的數(shù)

23、據(jù)流圖按預先確定步驟把具有變換流特點的數(shù)據(jù)流圖按預先確定的模式映射成軟件結構。的模式映射成軟件結構。2022-3-20大連理工大學軟件學院36設計步驟設計步驟1. 復查基本系統(tǒng)模型。復查基本系統(tǒng)模型。2. 復查并精化數(shù)據(jù)流圖。復查并精化數(shù)據(jù)流圖。3. 確定數(shù)據(jù)流圖具有變換特性還是事務特性。確定數(shù)據(jù)流圖具有變換特性還是事務特性。4. 確定輸入流和輸出流的邊界,從而孤立出變換確定輸入流和輸出流的邊界,從而孤立出變換中心。中心。5. 完成完成“第一級分解第一級分解”。6. 完成完成“第二級分解第二級分解”。7. 使用設計度量和啟發(fā)規(guī)則對第一次分割得到的使用設計度量和啟發(fā)規(guī)則對第一次分割得到的軟件結構

24、進一步精化。軟件結構進一步精化。2022-3-20大連理工大學軟件學院37數(shù)字儀表數(shù)字儀表板系統(tǒng)的板系統(tǒng)的數(shù)據(jù)流圖數(shù)據(jù)流圖2022-3-20大連理工大學軟件學院38具有邊具有邊界的數(shù)界的數(shù)據(jù)流圖據(jù)流圖2022-3-20大連理工大學軟件學院39第一級分解的方法2022-3-20大連理工大學軟件學院40數(shù)字儀表板系統(tǒng)的第一級分解2022-3-20大連理工大學軟件學院41第二級分解的方法2022-3-20大連理工大學軟件學院42未經(jīng)精化的輸入結構未經(jīng)精化的輸入結構2022-3-20大連理工大學軟件學院43未經(jīng)精化的變換結構2022-3-20大連理工大學軟件學院44未經(jīng)精化的輸出結構2022-3-20

25、大連理工大學軟件學院45精化后的數(shù)字儀表板系統(tǒng)的軟件結構2022-3-20大連理工大學軟件學院46 上述七個設計步驟的目的是,開發(fā)出軟件的整體上述七個設計步驟的目的是,開發(fā)出軟件的整體表示。也就是說,一旦確定了軟件結構就可以把表示。也就是說,一旦確定了軟件結構就可以把它作為一個整體來復查,從而能夠評價和精化軟它作為一個整體來復查,從而能夠評價和精化軟件結構。件結構。 在這個時期進行修改只需要很在這個時期進行修改只需要很少的附加工作,但少的附加工作,但是卻能夠對軟件的質量特別是軟件的可維護性產(chǎn)是卻能夠對軟件的質量特別是軟件的可維護性產(chǎn)生深遠的影響。生深遠的影響。2022-3-20大連理工大學軟件

26、學院47 事務分析事務分析 雖然在任何情況下都可以使用變換分析方法設計軟件結雖然在任何情況下都可以使用變換分析方法設計軟件結構,但是在數(shù)據(jù)流具有明顯的事務特點時,也就是有一構,但是在數(shù)據(jù)流具有明顯的事務特點時,也就是有一個明顯的個明顯的“發(fā)射中心發(fā)射中心”(事務中心事務中心)時,還是以采用事務分時,還是以采用事務分析方法為宜。析方法為宜。 事務分析的設計步驟和變換分析的設計步驟大部分相同事務分析的設計步驟和變換分析的設計步驟大部分相同或類似,主要差別僅在于由數(shù)據(jù)流圖到軟件結構的映射或類似,主要差別僅在于由數(shù)據(jù)流圖到軟件結構的映射方法不同。方法不同。 對于一個大系統(tǒng),常常把變換分析和事務分析應用

27、到同對于一個大系統(tǒng),常常把變換分析和事務分析應用到同一個數(shù)據(jù)流圖的不同部分,由此得到的子結構形成一個數(shù)據(jù)流圖的不同部分,由此得到的子結構形成“構構件件”,可以利用它們構造完整的軟件結構。,可以利用它們構造完整的軟件結構。2022-3-20大連理工大學軟件學院48事務分析的映射方法事務分析的映射方法2022-3-20大連理工大學軟件學院49 設計優(yōu)化設計優(yōu)化 (refactoring) 考慮設計優(yōu)化問題時應該記住,考慮設計優(yōu)化問題時應該記住,“一個不能工作的一個不能工作的最佳最佳設計設計的價值是值得懷疑的的價值是值得懷疑的”。 軟件設計人員應該致力于開發(fā)能夠滿足所有功能和性能要軟件設計人員應該致

28、力于開發(fā)能夠滿足所有功能和性能要求,而且按照求,而且按照設計原理和啟發(fā)式設計設計原理和啟發(fā)式設計規(guī)則衡量是值得接受規(guī)則衡量是值得接受的軟件。的軟件。 應該在應該在設計的早期階段設計的早期階段盡量對軟件結構進行精化??梢詫ПM量對軟件結構進行精化??梢詫С霾煌能浖Y構,然后對它們進行評價和比較,力求得出不同的軟件結構,然后對它們進行評價和比較,力求得到到“最好最好”的結果。的結果。 這種優(yōu)化的可能,是把這種優(yōu)化的可能,是把軟件結構設計和過程設計分開軟件結構設計和過程設計分開的真的真正優(yōu)點之一。正優(yōu)點之一。2022-3-20大連理工大學軟件學院505.6 小結小結 軟件工程方法學采用軟件工程方法學采用結構化設計技術結構化設計技術完成設計工作。完成設計工作。 軟件設計在軟件工程過程中處于軟件設計在軟件工程過程中處于技術核心技術核心地位,是軟件開地位,是軟件開發(fā)過程中決定軟件產(chǎn)品質量的關鍵階段。發(fā)過程中決定軟件產(chǎn)品質量的關鍵階段。 軟件設計必須軟件設計必須依據(jù)對軟件產(chǎn)品的需求依據(jù)對軟件產(chǎn)品的需求來進行,結構化設計來進行,結構化設計把結構化分析的結果作為基本輸入信息。把結構化分析的結果作為基本輸入信息。 由由數(shù)據(jù)模型、功能模型和行為模型數(shù)據(jù)模型、功能模型和行為模型描

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論