面向對象分析和設計基本概念

轉載:http://www.cnblogs.com/mywolrd/archive/2008/04/03/1930735.html

  面向對象分析和設計基本概念

        面向對象是基於一種哲學思想,它認爲:客觀實體和實體之間的聯繫構成了現實世界的所有問題,而每一個實體都可以抽象爲對象。這種思想儘可能地按照人類認識世界的方法和思維方式來分析和解決問題,使人們分析、設計一個系統的方法儘可能接近認識一個系統的方法。面向對象的基本觀點可以概括如。(1)客觀世界由對象組成,任何客觀實體都是對象,複雜對象可以由簡單對象組成。(2)具有相同數據和操作的對象可歸納成類,對象只是類的一個實例。(3)類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性。(4)對象之間的聯繫通過消息傳遞來維繫。由於類的封裝性,它具有某些對外界不可見的數據,這些數據只能通過消息請求調用可見方法來訪問。簡單的來說,面向對象=對象+類+繼承+消息。
         面向對象分析(OOA)是指利用面向對象的概念和方法爲軟件需求建造模型,以使用戶需求逐步精確化、一致化、完全化的分析過程。分析的過程也是提取需求的過程,主要包括理解、表達和驗證。由於現實世界中的問題通常較爲複雜,分析過程中的交流又具有隨意性和非形式化等特點,軟件需求規格說明的正確性、完整性和有效性就需要進一步驗證,以便及時加以修正。面向對象分析中建造的模型主要有對象模型、動態模型和功能模型。其關鍵是識別出問題域中的對象,在分析它們之間相互關係之後建立起問題域的簡潔、精確和可理解的模型。對象模型通常由五個層次組成:類與對象層、屬性層、服務層、結構層和主題層,此五個層次對應着在面向對象分析過程中建立對象模型的五項主要活動:發現對象、定義類、定義屬性、定義服務、設別結構。面向對象的分析過程如圖1所示。

面向對象分析過程模型
        
       分析是提取和整理用戶需求,並建立問題域精確模型的過程。面向對象設計(OOD)則是把分析階段得到的需求轉變成符合成本和質量要求的、抽象的系統實現方案的過程。從面向對象分析(OOA)到面向對象設計(OOD)是一個逐漸擴充模型的過程,也可以說面向對象設計是用面向對象觀點建立求解域模型的過程。面向對象分析主要是模擬問題域和系統任務,而面向對象設計是面向對象分析的擴充,主要增加各種組成部分。面向對象設計的模型又五層組成,在設計期間主要擴充四個組成部分:人機交互部分、問題域、任務管理和數據管理。人機交互部分包括有效的人機交互所必須的實際顯示和輸入。問題域部分放置面向對象分析結果並管理面向對象分析的某些類和對象、結構、屬性和方法。任務管理部分包括任務定義、通信和協調、硬件分配及外部系統。數據管理部分包括對永久性數據的訪問和管理。面向對象設計模型如圖2所示。

        爲了方便、高效地進行面向對象分析和設計,UMLUnified Modeling Language)被創造出來。UML是一種功能強大的、面向對象分析的可視化系統分析的建模語言,它採用一整套成熟的建模技術,廣泛地適用於各個應用領域。運用UML進行面向對象分析設計,通常都要經過下述三個步驟。(1)識別系統的用例和角色。首先要對項目進行需求調研,分析項目的業務流程圖和數據流程圖,以及項目中涉及的各級操作人員,識別出系統中的所有用例和角色;接着分析系統中各角色和用例見的聯繫,使用UML建模工具畫出系統的用例圖;最後,勾畫系統的概念層次模型,藉助UML建模工具描述概念層的類和活動圖。(2)進行系統分析並抽象出類。系統分析的任務是找出系統的所有要求並加以描述,同時建立特定領域模型。從實際需求抽象出類,並描述各個類之間的關係。(3)設計系統,並設計系統中的類及其行爲。設計階段由結構設計和詳細設計組成。結構設計是高層設計,其任務是定義包(子系統)、包間的依賴關係和主要的通信機制。包有利於描述系統的邏輯組成以及各個部分之間的依賴關係。詳細設計主要用來細化包的內容,清晰描述所有的類,同時使用UML的動態模型描述在特定環境下這些類的實例的行爲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章