第7章 面向?qū)ο笤O(shè)計(jì)_第1頁(yè)
第7章 面向?qū)ο笤O(shè)計(jì)_第2頁(yè)
第7章 面向?qū)ο笤O(shè)計(jì)_第3頁(yè)
第7章 面向?qū)ο笤O(shè)計(jì)_第4頁(yè)
第7章 面向?qū)ο笤O(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——第7章面向?qū)ο笤O(shè)計(jì)

面向?qū)ο蟮脑O(shè)計(jì)

第7章面向?qū)ο笤O(shè)計(jì)

軟件設(shè)計(jì)概述面向?qū)ο笤O(shè)計(jì)建模系統(tǒng)架構(gòu)設(shè)計(jì)系統(tǒng)元素設(shè)計(jì)面向?qū)ο笤O(shè)計(jì)例如

面向?qū)ο蟮脑O(shè)計(jì)

7.1軟件設(shè)計(jì)概述7.1.1軟件設(shè)計(jì)的概念

模塊與構(gòu)件抽象與細(xì)化信息隱蔽

軟件復(fù)用

面向?qū)ο蟮脑O(shè)計(jì)

1.模塊與構(gòu)件

模塊(Module)

是一個(gè)擁有明確定義的輸入、輸出和特征的程序?qū)嶓w。如函數(shù)、過(guò)程、子程序、宏等若模塊的所有輸入都是實(shí)現(xiàn)功能必不可少的,所有輸出都有動(dòng)作產(chǎn)生,即成為定義明確的模塊。可重復(fù)使用的軟件組件。

軟件構(gòu)件(SoftwareComponent)

現(xiàn)有的可復(fù)用構(gòu)件,大多是在對(duì)象的基礎(chǔ)上創(chuàng)立。

面向?qū)ο蟮脑O(shè)計(jì)

2、抽象與細(xì)化

抽象

提取客觀世界中一群事物的某些本質(zhì)共性,而暫時(shí)忽略他們的非本質(zhì)的細(xì)節(jié),是一個(gè)從特別到一般的過(guò)程。分層次考慮和處理問(wèn)題(數(shù)據(jù)和過(guò)程)過(guò)程抽象:把完成一個(gè)特定功能的動(dòng)作序列抽象為一個(gè)過(guò)程名和參數(shù)表,以后通過(guò)指定過(guò)程名和實(shí)際參數(shù)調(diào)用此過(guò)程。數(shù)據(jù)抽象:把一個(gè)數(shù)據(jù)對(duì)象的定義抽象為一個(gè)數(shù)據(jù)類型名,用此類型名可定義多個(gè)具有一致性質(zhì)的數(shù)據(jù)對(duì)象。

細(xì)化

從高到低的逐步分解過(guò)程。

面向?qū)ο蟮脑O(shè)計(jì)

3、信息隱蔽

定義

把系統(tǒng)分解為模塊時(shí)應(yīng)遵守的指導(dǎo)思想。

基本思想

模塊內(nèi)部的數(shù)據(jù)和過(guò)程,不需要這些信息的模塊不可訪問(wèn);每一個(gè)模塊只完成一個(gè)相對(duì)獨(dú)立的特定功能;模塊之間僅僅交換那些完成系統(tǒng)功能必需交換的信息。提高模塊的獨(dú)立性,當(dāng)修改或維護(hù)模塊時(shí)減少把一個(gè)模塊的錯(cuò)誤擴(kuò)散到其他模塊中去的機(jī)遇。

目的

面向?qū)ο蟮脑O(shè)計(jì)

4、軟件復(fù)用

Designwithreuse,designforreuse

面向?qū)ο蟮脑O(shè)計(jì)

7.1.2軟件設(shè)計(jì)的任務(wù)

軟件設(shè)計(jì)的任務(wù)

把分析階段產(chǎn)生的軟件需求說(shuō)明轉(zhuǎn)換為用適當(dāng)手段表示的軟件設(shè)計(jì)文檔。解決“如何做〞的問(wèn)題

內(nèi)容

數(shù)據(jù)設(shè)計(jì):信息模型軟件數(shù)據(jù)結(jié)構(gòu);體系結(jié)構(gòu)設(shè)計(jì):定義軟件主要組成部件之間的關(guān)系;接口設(shè)計(jì):軟件內(nèi)部、外部及與人之間的通信(數(shù)據(jù)流和控制流)過(guò)程設(shè)計(jì):將軟件體系結(jié)構(gòu)的組成部件轉(zhuǎn)變?yōu)閷?duì)軟件組件的過(guò)程性描述。

面向?qū)ο蟮脑O(shè)計(jì)

7.1.3模塊化設(shè)計(jì)

定義

把大型軟件依照規(guī)定的原則劃分成一個(gè)個(gè)較小的、相對(duì)獨(dú)立但又相互關(guān)聯(lián)的模塊。

指導(dǎo)思想

分解模塊獨(dú)立性分解模塊獨(dú)立性自頂向下與由底向上

內(nèi)容

面向?qū)ο蟮脑O(shè)計(jì)

1.分解

分解是處理繁雜問(wèn)題的常用方法

傳統(tǒng)軟件工程:利用分解畫分層DFD圖;設(shè)計(jì)階段:利用分解實(shí)現(xiàn)模塊化設(shè)計(jì);OO軟件工程:利用分解劃分類和對(duì)象。

將繁雜問(wèn)題分解可以降低解題的總工作量和繁雜度

已知若C(p1)

C(p2),則E(p1)E(p2)

由經(jīng)驗(yàn):C(p1+p2)C(p1)+C(p2)所以:E(p1+p2)E(p1)+E(p2)各個(gè)擊破理論

面向?qū)ο蟮脑O(shè)計(jì)

將模塊數(shù)控制在最小成本區(qū)內(nèi)可以使總的開發(fā)工作量保持最小。

軟件開發(fā)工作量

總成本最小成本區(qū)M接口成本

模塊成本模塊數(shù)

面向?qū)ο蟮脑O(shè)計(jì)

2.模塊獨(dú)立性

概括了把軟件劃分為模塊時(shí)要遵守的準(zhǔn)則,也是判斷模塊構(gòu)造是不是合理的標(biāo)準(zhǔn)。堅(jiān)持模塊的獨(dú)立性,是獲得良好設(shè)計(jì)的關(guān)鍵。衡量標(biāo)準(zhǔn)

模塊本身的內(nèi)聚模塊內(nèi)部各個(gè)成分之間的聯(lián)系又稱塊內(nèi)聯(lián)系或模塊強(qiáng)度模塊間的耦合一個(gè)模塊與其他模塊之間的聯(lián)系又稱塊間聯(lián)系

模塊獨(dú)立性越高,塊內(nèi)聯(lián)系越強(qiáng),塊間聯(lián)系越弱。

面向?qū)ο蟮脑O(shè)計(jì)

1.內(nèi)聚cohesion從功能角度對(duì)模塊內(nèi)部聚合能力的度量。偶然性內(nèi)聚弱邏輯性內(nèi)聚時(shí)間性內(nèi)聚過(guò)程性內(nèi)聚通信性內(nèi)聚順序性內(nèi)聚功能性內(nèi)聚強(qiáng)

1

2

3

4

5

6

7

低內(nèi)聚

中內(nèi)聚

高內(nèi)聚

面向?qū)ο蟮脑O(shè)計(jì)

低內(nèi)聚

偶然性內(nèi)聚

塊內(nèi)各組成部分在功能上是互不相關(guān)的。

模塊內(nèi)部成分的組合純屬偶然。

面向?qū)ο蟮脑O(shè)計(jì)

低內(nèi)聚偶然內(nèi)聚(CoincidentalCohesion)

一些無(wú)任何聯(lián)系語(yǔ)句可能在多個(gè)模塊中重復(fù)屢屢,為節(jié)省存儲(chǔ),把它們抽出來(lái)組成一個(gè)新的模塊。缺點(diǎn)(1)不易修改和維護(hù)(2)模塊的內(nèi)容不易理解,很難描述所完成的功能,增加程序的模糊。(3)可能會(huì)把一個(gè)完整的程序段分割到大量模塊內(nèi),在程序運(yùn)行過(guò)程中將會(huì)頻繁地相互調(diào)用和訪問(wèn)數(shù)據(jù)。

面向?qū)ο蟮脑O(shè)計(jì)

低內(nèi)聚偶然內(nèi)聚(巧合內(nèi)聚)A例:MMOVEREADMOVEO

B

C

TORFILEFSTOT

模塊M中的三個(gè)語(yǔ)句沒(méi)有任何聯(lián)系缺點(diǎn):可理解性差,可修改性差

面向?qū)ο蟮脑O(shè)計(jì)

低內(nèi)聚

規(guī)律性內(nèi)聚由若干個(gè)規(guī)律功能相像的成分組成。執(zhí)行時(shí)須從模塊外引入判斷量,增大塊間耦合。

讀入分?jǐn)?shù)

平均/最高?計(jì)算平均分輸出結(jié)果計(jì)算最高分

面向?qū)ο蟮脑O(shè)計(jì)

規(guī)律內(nèi)聚模塊AEBFCGE、F、G規(guī)律功能相像,組成新模塊EFGCA1B1C1公用代碼段

A

B

公用代碼段

EFG模塊內(nèi)部規(guī)律EFG缺點(diǎn):加強(qiáng)了耦合程度(控制耦合)不易修改,效率低

面向?qū)ο蟮脑O(shè)計(jì)

低內(nèi)聚

時(shí)間性內(nèi)聚

模塊所包含的成分,是由一致的執(zhí)行時(shí)間將他們連接到一起。

要求在同一時(shí)間內(nèi)執(zhí)行。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論