(软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则
文章目錄
- 一:面向對象設計概念
- (1)定義
- (2)設計與分析的關系
- (3)分類
- 二:面向對象的設計準則
- (1)模塊化
- (2)抽象
- (3)信息隱藏
- (4)低耦合
- A:交互耦合
- B:繼承耦合
- (5)高內聚
- A:服務內聚
- B:類內聚
- C:一般一特殊內聚
- (6)可重用
一:面向對象設計概念
(1)定義
設計是把分析階段得到的需求轉變成符合成本和質量要求的、抽象的系統實現方案的過程。從面向對象分析到面向對象設計是一個逐漸擴充模型的過程,即面向對象設計就是用面向對象觀點建立求解域模型的過程
(2)設計與分析的關系
- 分析結果可以直接映射成設計結果,而在設計過程中又會加深和補充對系統需求的理解,進一步完善分析結果
- 分析和設計活動是一個多次反復迭代的過程
- 分析是提取和整理用戶需求,并建立問題域精確模型的過程。設計則是把分析階段得到的需求轉變成符合成本和質量要求的、抽象的系統實現方案的過程
(3)分類
- 系統設計:確定實現系統的策略和目標系統的高層結構
- 對象設計:確定解空間中的類、關聯、接口形式及實現服務的算法
二:面向對象的設計準則
(1)模塊化
面向對象軟件開發模式支持了把系統分解成模塊設計的原理,對象是面向對象軟件系統中的模塊,它是把數據結構和操作這些數據的方法緊密地結合在一起所構成的模塊
(2)抽象
面向對象的程序設計語言不僅支持過程抽象,而且支持數據抽象,對象類實際上是具有繼承機制的抽象數據類型,它對外開放的公共接口構成了類的規格說明(協議),這種接口規定了外界可以使用的合法操作符,利用這些操作符可以對類實例中包含的數據進行操作
- 規格說明抽象:使用者無須知道操作符的實現算法和類中數據元素的具體表示方法,就可以通過這些操作符使用類中定義的數據,這種抽象稱為規格說明抽象
- 參數化抽象:指當描述類的規格說明時并不具體指定所要操作的數據類型,而是把數據類型作為參數,使得類的抽象程度更高,應用范圍更廣,可重用性更高
(3)信息隱藏
在面向對象的軟件中,信息隱藏通過對象的封裝來實現,即類結構分離了接口與實現,從而支持了信息隱藏。對于類,屬性的表示方法和操作的實現算法都是隱藏的
(4)低耦合
A:交互耦合
對象間的耦合通過消息連接來實現,則這種耦合是交互耦合。要使交互耦合盡可能松散,必須遵守下述準則。
- 盡量降低消息連接的復雜程度。應該盡量減少消息中包含的參數個數,降低參數的復雜程度
- 減少對象發送或接收的消息數
B:繼承耦合
繼承是一般類與特殊類之間耦合的一種形式。通過繼承關系結合起來的基類和派生類構成了系統中粒度更大的模塊,因此,它們彼此之間應該結合得越緊密越好
(5)高內聚
A:服務內聚
一個服務應該完成一個且僅完成一個功能
B:類內聚
設計類的準則是,一個類應該只有一個用途,它的屬性和服務應該是高內聚的。如果某個類有多個用途,應該把它分解成多個專用的類
C:一般一特殊內聚
設計出的一般一特殊結構應該是對相應的領域知識的正確抽取。緊密的繼承耦合與高度的一般一特殊內聚是一致的
(6)可重用
- 盡量使用已有的類
- 如果需要創建新類,則在設計這些新類的協議時應該考慮將來的可重復使用性
總結
以上是生活随笔為你收集整理的(软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 1552/1506 [Cerc
- 下一篇: 2016年股市上扬将一路顺畅