posts - 1,  comments - 25,  trackbacks - 0
          OOA與OOD的區別
          上討論了OOA階段和OOD階段所應完成的主要工作,由于這兩個階段的劃分沒有公認
          的標準,有些工作是在OOA階段完成還是在OOD階段完成還存在著爭議。有人認為OOA和
          OOD可以交叉進行;有人認為OOD是對OOA結果的改進和細化,所以只提OOA;有人則更
          強調OOD。盡管OOA和OOD存在著某些交叉和聯系,但它們之間仍有許多差別,如:
          1)OOA將現實世界中的實體抽象為問題對象,并構造問題域中的系統需求模型;OOD將
          問題對象轉化為解域中的類并在解域中構造出問題的解。
          2)OOA側重于用戶需求的分析和對問題域的理解,分析人員關心的是系統結構及對象間
          的關系;OOD則側重于系統的實現,設計人員關心的是對象的行為及其實現。
          3)OOA標識了一組對象,并通過其相互作用來刻劃系統,該階段的工作與程序設計語言
          無關;OOD定義了一組類,并設計出系統的實現藍圖,概要設計與程序設計語言無關,但詳細
          設計則與之有比較密切的聯系。(
          4)OOA識別的對象是對客觀世界實體的抽象,標識對象的準則是:該對象的引入是否有助于對問題域的理解;OOD中構造類的準則是:該類的構造是否可行,是否有效地實現了抽象
          數據類型,是否有助于系統的實現和提高軟件質量。(
          5)兩個階段都沒有提及系統對象,但原因不同。在OOA階段,分析與實現無關,分析所涉
          及的范圍與解域無關,系統對象自然不用考慮。OOD建立的對象模型本身就是要設計的軟件
          系統,對系統對象的考慮是隱含的。
          6)組裝結構和分類結構在兩個階段所起的作用不同。在OOA階段,它們的引入主要是為
          了理解問題;而在OOD階段,它們的引入則主要是針對軟件的構造和實現。分類結構通過繼
          承機制來實現,因而代碼得到了有效地復用;組裝結構則將一些類組合在一起構成較大的軟件
          構件。
          7)OOA并沒有考慮對象的產生問題,當其對應的實體在現實世界中出現時,它也就在問
          題域中產生了。OOA也不考慮對象屬性的取值和服務算法的實現。而在OOD階段這些問題
          都必須詳細考慮。
          8)OOD涉及到重載問題;而OOA沒有考慮,因為考慮過多的實現細節對理解問題和分
          析用戶需求沒有多大幫助。
          posted on 2009-03-31 15:37 Daniel 閱讀(331) 評論(1)  編輯  收藏 所屬分類: CoreJava

          FeedBack:
          # re: Difference between OOA and OOD
          2009-04-22 16:45 | hansen
          大家一起灌水了!  回復  更多評論
            
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 双鸭山市| 安顺市| 崇礼县| 灵台县| 康马县| 板桥市| 调兵山市| 恭城| 宁德市| 治多县| 双辽市| 望谟县| 乃东县| 福海县| 天气| 南郑县| 西安市| 随州市| 沅江市| 志丹县| 湘潭市| 杭锦后旗| 柏乡县| 尖扎县| 垦利县| 高平市| 桂平市| 佳木斯市| 城固县| 武平县| 邛崃市| 龙江县| 三原县| 临汾市| 安丘市| 普安县| 临沧市| 英超| 晋城| 应用必备| 建昌县|