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 閱讀(329) 評論(1)  編輯  收藏 所屬分類: CoreJava

          FeedBack:
          # re: Difference between OOA and OOD
          2009-04-22 16:45 | hansen
          大家一起灌水了!  回復  更多評論
            
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 巴塘县| 互助| 桐梓县| 威海市| 德清县| 黔东| 丽水市| 皮山县| 安丘市| 内江市| 汕尾市| 田林县| 融水| 林州市| 康马县| 宜宾县| 沅陵县| 赫章县| 乐陵市| 内乡县| 滦平县| 新河县| 泽库县| 米易县| 鄂州市| 宁陕县| 南澳县| 邹城市| 齐河县| 碌曲县| 孝昌县| 潼关县| 玛纳斯县| 辉县市| 景洪市| 新泰市| 仁寿县| 大竹县| 金塔县| 乌鲁木齐市| 喀喇|