面向對象分析和面向對象設計的區別


http://blog.csdn.net/elegant_design/article/details/9259609

一、總述

       面向對象分析的輸入是用戶的功能需求,輸出是簡單的、理性化的分析模型,此階段的工作更多側重於如何理解軟件的功能需求;

       面向對象設計的輸入是面向對象分析的結果,蔬菜水果最終的、細化后的設計模型,此階段的工作更多側重於如何得到一個合適的、完整的解決方案。

 

二、主要區別

 

(1)  在側重點上,面向對象分析側重於理解問題,描述軟件要做什么,而面向對象設計側重於理解解決方案,描述軟件要如何做。

 

(2) 面向對象分析一般只考慮理想餓設計,不關心技術和實現層面的細節,而面向對象設計需要得到更具體、更詳盡,更接近於真實的代碼的設計方案。

 

(3) 在設計結果的描方式上,面向對象分析階段側重於描述對象的行為,而面向對象設計階段側重於描述對象的屬性和方法。

 

(4) 面向對象分析只關注功能性需求,而面向對象設計既關注功能性需求,也關注非功能性需求。

 

(5) 面向對象分析產生的系統模型通常規模較小,而面向對象設計產生的系統模型規模較大,內容也比較詳盡、完整。

 

三、分析設計工具(RationalRose + UML)

1、需求分析階段

      常借助於“用例圖”、“順序圖”對功能模型進行建模;

      用例描述,一般包括:用例名稱,系統范圍,用戶目標,前置條件,執行過程,擴展情況,后置條件。

      順序圖着眼於整個系統。

 

2、面向對象分析階段(包含需求分析階段的用例建模)

      常借助於“類圖、對象圖”,“順序圖、協作圖”,“狀態圖”進行靜態模型建模和動態模型建模。

      這里的類圖主要指通過用例分析得到的實體類、控制類和邊界類。

      順序圖也着眼於各個分析類對象間的協作。

 

3、面向對象設計階段

      常借助於“類圖”,“順序圖、協作圖”,“狀態圖”來細化各個類以及對象間的協作、關系的可見性;

      這里的類圖,要具體到屬性、方法,類之間的關系依賴(繼承、組合、聚合)

      這里的順序圖要具體到各個類的實例之間的消息傳遞、函數調用。

      面向對象設計階段常借助一些設計模式達到軟件的可擴展行,應對軟件的可預測到的變化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM