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沒有考慮,因為考慮過多的實現細節對理解問題和分
析用戶需求沒有多大幫助。
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(3)
隨筆檔案
文章分類
- CoreJava(23)
- DB(2)
- Eclipse的相關(18)
- File Version Control(1)
- JAVA2一些基本語法(1)
- JS(1)
- Maven2(1)
- SWT(2)
- Web Test Framework(1)
- WebService(5)
- XML(1)
文章檔案
- 2013年4月 (1)
- 2012年7月 (1)
- 2012年6月 (2)
- 2012年4月 (1)
- 2011年12月 (2)
- 2011年8月 (2)
- 2011年5月 (6)
- 2011年4月 (1)
- 2011年1月 (1)
- 2010年12月 (2)
- 2010年11月 (1)
- 2010年10月 (2)
- 2010年9月 (2)
- 2010年8月 (3)
- 2009年12月 (3)
- 2009年11月 (1)
- 2009年8月 (1)
- 2009年6月 (1)
- 2009年3月 (3)
- 2008年10月 (4)
- 2008年8月 (5)
- 2008年7月 (1)
- 2008年5月 (3)
- 2008年3月 (3)
- 2007年10月 (1)
- 2007年5月 (2)
- 2006年5月 (3)
相冊
搜索
最新評論

- 1.?re: Java Path[未登錄]
- Very helpful, 3ks a lot
- --coder
- 2.?re: MyEclipse + AXIS2
- 評論內容較長,點擊標題查看
- --wangqf
- 3.?re: JVM 內存初學 (堆(heap)、棧(stack)和方法區(method) )
- 寫得挺好的,容易理解。
- --陳同兵
- 4.?re: 獲得當前運行jar包存放路徑的方法
- 評論內容較長,點擊標題查看
- --mu
- 5.?re: MyEclipse + AXIS2
-
從tomcat中的axis2 web應用WEB-INF/lib目錄中加載所有jar包到項目的classpath中。
能不能具體說說怎么做?我將jar文件全部拷貝到項目的lib里……不行 - --zmaike