
- OOAD 教程
- OOAD - 首頁
- OOAD - 面向物件正規化
- OOAD - 面向物件模型
- OOAD - 面向物件系統
- OOAD - 面向物件原則
- OOAD - 面向物件分析
- OOAD - 動態建模
- OOAD - 功能建模
- OOAD - UML 分析模型
- OOAD - UML 基本符號
- OOAD - UML 結構圖
- OOAD - UML 行為圖
- OOAD - 面向物件設計
- OOAD - 實現策略
- OOAD - 測試與質量保證
- OOAD 有用資源
- OOAD - 快速指南
- OOAD - 有用資源
OOAD - 面向物件正規化
簡史
面向物件正規化起源於一種新的程式設計方法的初始概念,而對設計和分析方法的興趣則出現在後期。
第一種面嚮物件語言是 Simula(真實系統的模擬),由挪威計算中心的科研人員於 1960 年開發。
1970 年,艾倫·凱和他在施樂帕洛阿爾託研究中心的研究小組建立了一臺名為 Dynabook 的個人電腦,以及第一種純面向物件程式語言 (OOPL) - Smalltalk,用於為 Dynabook 程式設計。
在 1980 年代,Grady Booch 發表了一篇題為“面向物件設計”的論文,主要介紹了一種程式語言 Ada 的設計。在隨後的版本中,他將自己的想法擴充套件到了一種完整的面向物件設計方法。
在 1990 年代,Coad 將行為思想融入到面向物件方法中。
其他重要的創新包括 James Rumbaugh 的物件建模技術 (OMT) 和 Ivar Jacobson 的面向物件軟體工程 (OOSE)。
面向物件分析
面向物件分析 (OOA) 是識別軟體工程需求並根據軟體系統的物件模型開發軟體規範的過程,該模型包含相互互動的物件。
面向物件分析與其他形式的分析之間的主要區別在於,在面向物件的方法中,需求圍繞物件組織,物件集成了資料和函式。它們以系統與其互動的現實世界物件為模型。在傳統的分析方法中,這兩個方面——函式和資料——被分別考慮。
Grady Booch 將 OOA 定義為:“面向物件分析是一種分析方法,它從問題域詞彙中發現的類和物件的視角來檢查需求”。
面向物件分析 (OOA) 中的主要任務包括:
- 識別物件
- 透過建立物件模型圖來組織物件
- 定義物件的內部結構,或物件屬性
- 定義物件的行為,即物件操作
- 描述物件如何互動
OOA 中常用的模型包括用例和物件模型。
面向物件設計
面向物件設計 (OOD) 涉及實現面向物件分析期間產生的概念模型。在 OOD 中,分析模型中的概念(與技術無關)被對映到實現類,識別約束並設計介面,從而產生一個解決方案域模型,即關於如何在具體技術上構建系統的詳細描述。
實現細節通常包括:
- 重構類資料(如有必要),
- 實現方法,即內部資料結構和演算法,
- 實現控制,以及
- 實現關聯。
Grady Booch 將面向物件設計定義為:“一種設計方法,包含面向物件分解的過程以及描述正在設計的系統的邏輯和物理以及靜態和動態模型的符號”。
面向物件程式設計
面向物件程式設計 (OOP) 是一種基於物件的程式設計正規化(同時具有資料和方法),旨在結合模組化和可重用性的優勢。物件(通常是類的例項)用於相互互動以設計應用程式和計算機程式。
面向物件程式設計的重要特性包括:
- 程式設計自底向上方法
- 程式圍繞物件組織,分組到類中
- 關注資料以及操作物件資料的方法
- 物件透過函式進行互動
- 透過建立新類並向現有類新增特性來實現設計可重用性
面向物件程式語言的一些示例包括 C++、Java、Smalltalk、Delphi、C#、Perl、Python、Ruby 和 PHP。
Grady Booch 將面向物件程式設計定義為:“一種實現方法,其中程式被組織成協作的物件集合,每個物件都代表某個類的例項,並且所有類都是透過繼承關係聯合起來的類層次結構的成員”。