2011-04-13 65 views
1

在現實中,我在新的地平線在Java中獲得獎學金,(前往點)有,我們就可以開始預定義模式:在開始Java基礎類之前,我可以從UML類開始嗎?

Fundamentals of the Java Programming Language <SL-110-SE6> 
Java Programming Language (SL-275-SE6) 
Object-Oriented Analysis and Design Using UML (OO-226-SE6) 
Developing Applications With the Java SE Platform (SL-285-SE6) 
Developing Applications for the Java EE Platform (FJ-310-EE5) 
Web Component Development with Servlet and JSP Technologies (SL-314-EE5) 
Web 2.0 and Java Web Site Development (DTH-314) 
Windows SharePoint Services 3.0 - Level 1 
Windows SharePoint Services 3.0 - Level 2 
Windows SharePoint Services - Level 1 Building Collaborative Solutions with Team Web Sites 

現在他們(新地平線中心)計劃來教我們一開始他們說UML是爲了我們的(我的同學)的緣故,但是在Sun Educational Center http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D61808GC10&p_org_id=1001&lang=US上UML之前有一個嚴格的先決條件,現在我和我的同學們不知道該怎麼辦?

萬分感謝

+0

有什麼先決條件?請更清楚地告訴我們,您向我們展示的代碼塊是...這是一個課程列表嗎?另外,我可以看到UML和Java在一起......但是Windows SharePoint Services? – 2011-04-13 03:44:39

+0

這是一個課程列表,只是想區分文本列表。 – 2011-04-13 03:49:34

回答

1

這將可能irk的「你不需要stinkin'UML,只需編寫代碼」的人羣。但無論如何...

你不需要學習Java - 學習面向對象的原則之前 - 或任何其他編程語言。實際上,不是有一些優點,首先學習java(或類似的)。

我不會擔心太陽陳述Java作爲一種預-REQ的UML。他們的觀點與你的觀點不同(即他們希望讓你在Java中「進步」到「設計」)。

這當然是一種平衡。這裏有一些要記住的事情:

  • 也許設計面向對象軟件的最重要的技能就是能夠從問題領域確定良好的抽象。 (例如參見domain driven design)。 UML類圖是說明這些抽象(類)及其關係的好方法。
  • 關係位非常重要 - 而且常常被低估。理解一個領域的關鍵 - 並且很好地表達 - 就是理解這些關係。他們是祕密醬油。 UML類圖給你提供了一個更好的詞彙表和記錄關係的符號,而不是編程語言提供的任何
  • 瞭解封裝的原理。特別是界面與實施的分離。這不是UML特有的(事實上UML並不是特別擅長鼓勵它)。但是,Java更糟 - 糟糕得多。 Java在支持封裝屬性方面失敗了。要真正理解它,請閱讀Bertrand Meyer的前幾章Object Oriented Software Construction
  • 瞭解如何在課堂上分配行爲責任。如果識別靜態關係是優秀面向對象的第一個關鍵原則,那麼這是第二個(並且建立在封裝上)。應用程序級功能是通過對象之間的交互來實現的。同樣,這與任何編程語言無關。 UML活動和序列圖對此很有幫助。

這些都是面向對象優先方法的優點。 UML是一種很好的可視化這些東西的語言。最大的缺點是缺乏可執行性。沒有什麼比看到你的設計「運行」更能增強理解。很少有支持執行模型的UML工具(又稱「模擬」)。這是編程語言要好得多的地方 - 例如大量的單元測試框架。然而,有些UML工具支持執行,可能值得檢查。

一個長答案的位,爲此道歉。總結回答你的第一個問題:你需要在學習UML之前學習java嗎?不,絕對不是。

hth。

0

一些實際經驗,OOP是學習UML前必要的,否則,你會發現,UML是非常枯燥和乏味。

要了解一些基本的OOP技術,Java Programming Language (SL-275-SE6)將是一個不錯的選擇。

Fundamentals of the Java Programming Language <SL-110-SE6>未免太根本。

Developing Applications With the Java SE Platform (SL-285-SE6) 
Developing Applications for the Java EE Platform (FJ-310-EE5) 
Web Component Development with Servlet and JSP Technologies (SL-314-EE5) 
Web 2.0 and Java Web Site Development (DTH-314) 

上述類適合有經驗的Java程序員。

的remainings不與Java相關的。

0

要開始學習java,UML不是強制性的。但是,如果你有面向對象概念的UML的理解,並且有實現,那麼對於學習任何面向對象的語言的那種建議不僅僅是java,而且會更好。

對於你來說,如果你有更少的時間或者時間限制,那麼得到UML的書並開始在你的家中學習,並且如果你有充足的時間首先開始一些UML基礎類並且在一些內容被覆蓋之後,再啓動你的java類。 你可以得到這些書UML參考:

http://www.amazon.com/Unified-Modeling-Language-Addison-Wesley-Technology/dp/0201571684 http://www.amazon.com/Unified-Modeling-Language-Reference-Manual/dp/020130998X

+0

嗨Mukesh,感謝您的關心,這不是時間問題,我已經在3天前開始使用UML,但沒有做任何事情,UML對我來說太過分了,這可能是因爲我應該已經開始使用Java Fundamentals和OOP,關於本書的問題,我使用UML OO-226書進行了面向對象的分析和設計 – 2011-04-13 06:13:17

相關問題