This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Kenming's 軟體設計思維 會員登入 會員註冊

§ 詳細課程資訊與課程大綱:


UML 2.0 實務操作與入門應用 (星期六、日) — 第五梯次(08/26,27)
  課程大綱  我要報名

課程簡述:
  • 以 "問題-解決方案(Problem-Solution)" 的觀念傳授與實做方式,引導學員實際針對案例分析並利用 UML 工具畫出 UML 2.0 十三種圖。
課程目標:
  1. 畫每一個 UML 圖之前,會先以一個問題的陳述,來說明應用該圖形的時機與場合,然後提出具體的解決方案。
  2. 課程提供兩個案例,並涵蓋串連整個 UML 13 種圖。
  3. 完全以實務為主,指導學員如何利用 EA(Enterprise Architect)學會畫 UML 2.0 的圖形。
  4. 學員於課堂上實際親自操作 UML 工具,由講師示範與指導畫每一張圖的技巧與圖形的元素說明。


使用案例設計與實做程式碼 (星期六、日) — 第四梯次(09/09,10)
  課程大綱  我要報名

課程簡述:
  • 本課程旨在教導學員如何利用使用案例來捕捉系統的功能性需求,並瞭解如何掌握寫使用案例的核心原則與最佳實務。當學會如何建立正確的使用案例模型(Use Case Model),界定系統範圍、找出參與者、及寫出標準規範的使用案例敘述後, 馬上就可以直接利用 EA UML 工具產出具體可執行的應用與測試程式碼,以驗證使用案例的功能點(Functional Point)。
課程目標:
  1. 學習如何利用使用案例圖(Use Case Diagram)界定系統設計範圍、找出系統的參與者(Actor)與使用案例。
  2. 瞭解如何描述使用案例(Use Case),如何寫出正確、易讀性高的使用案例,並提供寫使用案例的範本(Template),說明主要欄位的作用與寫作時基本的規範與考量。
  3. 學習如何繪製出不同層級(level)的使用案例圖,包括企業層級(Business use case)的使用案例與使用者目標層級的使用案例(User-goal use case)。
  4. 指導學員如何實現(Realize)使用案例,以簡單的循序圖設計,並利用 EA 的 "Code-generation" 工具來產出 .NET (or J2EE) 的程式碼,包括可被執行的應用程式碼,以及功能測試程式碼。(眼見為憑,是強化信心的利器,之後可再對系統結構施以 "重整" 的技巧。)


軟體設計塑模與實作—活用 UML 與 Java Spring
(48 Hrs,每星期二、四晚上班) — 09/05 ~ 10/31)
  
課程大綱  我要報名

課程簡述:
  • 本課程引導與協助學員先對系統開發流程有全貌的認識,並傳授軟體設計必備的基礎功夫,然後才去了解如何利用 UML 表達設計思維,從系統外觀與結構等各個構面產出有效的設計。並強調馬上就可以從設計導出符合 J2EE 的實體三層式架構,還利用了最具彈性的 Spring Framework,結合 Struts 與 Hibernate,開發出高品質的 Enterprise 系統。快速產出程式碼(包含功能測試碼)的目的在於可以應付專案的交付,並且可以提昇團隊的信心(眼見為憑),然後在第二個開發的循環(Iteration),將程式碼重構,專注在系統的結構重整,而得以讓整體系統俱足彈性、延展性與可重用性。
課程目標:
  1. 讓你瞭解:
    • UML 2.0 13張設計圖的設計意涵與應用。
    • 軟體設計必須修練的哲理,包括物件與類別、封裝、介面與多型等觀念。
  2. 讓你知道:
    • 軟體開發流程的全貌,包括了開發人員的角色與職責,以及各階段的實際產出。
    • 如何利用 RUP 流程框架,制訂敏捷式(Agile)的開發流程,來找出適合自己團隊性格的流程。
  3. 讓你活用:
    • UML 三劍客,包括表達系統需求與功能的使用案例,表達系統靜態與動態結構的類別及循序圖。
    • 只要能寫好使用案例,就可以確保直接快速產出程式碼。
    • 如何利用正反向工程,來保持 Model 與程式碼的一致性。
  4. 讓你學會:
    • 如何應用 Spring Framework 在 J2EE 3-tier 的整體架構設計,包括:
      • 如何利用 Struts 設計 Web UI 程式。
      • 如何利用 Hibernate 設計永續性物件,並連結 MySQL 資料庫。
      • 如何利用 Java Bean 設計企業物件。
    • MVC 層次分明的物件合作與連結 — 從 Web 至 Middleware 至 Database。
    • 如何善用 EA UML 塑模工具與 Java Eclipse IDE 工具的整合。
    • 如何作好驗收測試,包括撰寫測試案例與利用 JUnit 撰寫功能測試碼

§. 相關課程諮詢
聯絡電話:(02) 2722-7179
Email: service.hsdc@gmail.com
http://www.hsdc.com.tw

本週六(7/22) 所舉辦的「軟體設計鮮思維」如期在「開羅會議中心」舉辦,歡迎尚未報名參加的學員蒞臨參與研討會課程(尚有 10 餘名名額,若不及報名者,亦歡迎現場參加報名)。

只要擔負 NT$150 茶水與場地費,就可聽三場資深講師們的簡報與心得,同時更歡迎帶問題來與軟體設計的同好們一同參與討論。請參考:
http://www.hsdc.com.tw/modules/eguide/event.php?eid=18

本次賴信仁先生與樹頭孤鳥先生(筆名)將主講 Java Spring Framework 在軟體設計的應用與範例,精彩可期,另,Kenming Wang 將介紹由 OMG 所為 UML 推出的國際認證課程介紹與說明,並整理了約 30 餘題的考題,作為 Review 與解析,並同時提供了 EA 的 Model 檔供學員們帶回去參考與練習。

研討會時間:7/22(星期六),PM 1:10~5:00。
地址:台北市光復南路65號B2 (光復南路、市民大道交接口)。 TEL: (02) 2747-7808
(搭乘捷運可於捷運板南線/國父紀念館出口,往光復南路方向走路不到 5 分鐘即可到達。)

另,所有簡報教材已提供網路下載服務,請至:
http://www.hsdc.com.tw/modules/wfdownloads/index.php

本次的教材內容:

Spring Framework 初探 -- 賴信仁(Ringle Lai)

 o Spring架構簡介
 o Spring的AOP
 o Spring的MVC
 o 簡單範例實作Spring
 o Spring進階特性介紹

[輕裝迅捷的 J2EE 戰略思考與戰術運用 : 奧瑪哈灘頭 - 搶救 J2EE 大兵] -- 樹頭孤頭鳥(Tommy Lin)

 o D–Day 奧瑪哈灘頭
 o Mission – Saving Private J2EE
 o 從戰略到戰術 : J2EE Design Patterns 鐵三角 -
  DAO / Application Service / Domain Object
 o IOC 的應用
  ( 委外 / 測試 / IoC 在 GoF Design Patterns 上的應用)
 o Hibernate / Spring 的協同作戰
 o Spring 對於 Transaction 的火力支援
 o 心法與功法

UML OCUP 認證介紹與說明(含考題回顧與解析) -- 王克明(Kenming Wang)

 o OMG UML OCUP 認證介紹與說明
 o UML OCUP Foundametal 題型 Review 與解析
  o Classes (Basic)
  o Activities Diagram (Basic)
  o Interactions Diagram (Basic)
  o Use Case Diagram (Basic)
 o 附 EA Model 檔(考題圖形含於其內)

-------------------------------------------------------------------------
§研討會與課程諮詢(HSDc. 軟體設計專業顧問團隊):
 諮詢專線:TEL: 02-27227179
 服務信箱:service.hsdc@gmail.com

Classes 的考題

Classes 的考題部分,當然都是針對 UML 的結構(structure)部分。包括最基本的元素(element),以及 Comment, Relationship, Namespace, Multiplicity, Expression, Constraint, Feature, Package, Interface, Dependency …等,這些都是可以被類別化(Classifier)而成為類別(Class)的。考題當然就是針對前述所提及的定義部分,以及圖形語法部分,而圖形語法,考最多的大概就是這些類別之間的關連(association), 還有多重性(Multiplicity), 相依性(Dependency) 等部分,尤其許多考題,是直接就出自於這些類別術語解釋最後面的範例(Examples)部分。關於一些 Classes 的圖形語法的考題,我把所記得考過的部分列舉幾題較具代表性的,然後以簡單的說明來解析該問題的意義。

Q1. 下列圖形中,Unique 代表的意義為何?

圖1. Multiplicity 的考題
圖1. Multiplicity 的考題

Ans:
A MultiplicityElement also includes specifications of whether the values in an instantiation of this element must be unique.

※解析
{Unique} 與 {Order} 是屬於多重性(Multiplicity)對值(Value)的一種限制,圖一當 Account 限制為 {Unique},則代表 Account 的多重值(multivalue),每一個被具化(instantiation)元素(element)的值都必須是唯一的;若限制為 {Ordered},則代表每一個被具化元素的值都必須依循序性(sequential)的方式來排列。

多重性可以同時有 {Unique} 與 {Order} 的限制,視兩者的組合與否,其集合型態的名稱則會不一樣,可參考表一。

isOrdered

isUnique

Collection Type

false

true

Set

true

true

OrderedSet

false

false

Bag

true

false

Sequence

表1. Collection Types for Properties

Q2. 參考下圖2,Types 套件(Package)內的元素係被ShoppingCart 利用 <<import>> 的方式來存取;而 Auxiliary 套件內的元素,則是被 ShoppingCart 利用 <<access>> 的方式來存取;然後,ShoppingCart 再被 WebShop 以 <<import>> 來存取。那麼,WebShop 可以存取哪些套件呢?

圖2. Package 相依性(Dependency) 的考題
圖2. Package 相依性(Dependency) 的考題

Ans:
WebShop 可以存取 ShoppingCart 與 Types 兩個套件內的元素。

※解析
這是屬於 Package 相依性(Dependency)的語法解釋問題。<<import>> 代表的是 “public” 的套件存取;而 <<access>> 則是 “private” 的套件存取,如同圖二的表達,Auxiliary 套件內的元素是被 ShoppingCart 以 <<access>> 的關鍵字(keyword)來存取使用,而未來則不能再透過 ShoppingCart 套件來被其它套件給存取;反之 <<import>> 則可以。

Q3. 參考下圖3,下列陳述,何則是正確的?

圖3. {xor} constraint 的考題
圖3. {xor} constraint 的考題

Ans:
Account 同時僅能連結 Person 與 Corporation 之一,而不能兩者同時連結,也不能兩者都沒有。

※解析
這是屬於 {constraint} 的考題,{constraint} 可以以自然語言或程式語言來表達元素、元素與元素之間的限制說明。上圖3,則是限制被用在關連(association)上,而其限制的意義,則依其 {constraint} 內的敘述,如 {xor} 代表著的就是兩者的連結,只能有其一。

Q4. 參考圖4,空心菱形代表的意義為何?

圖4. association 的考題
圖4. association 的考題

Ans: ternary association (三元關連)

※解析
Team, Year, Player 類別三者互為關連,此為三元(ternary)關係,在類別圖中係以空心菱形來表達之;而 Player 又有連結指向 Year,此兩者的關係為二元(binary)關係。

Q5. 參考圖5,請選擇適當的陳述(單選題)。

圖5. Association-ends with various adornments 的考題
圖5. Association-ends with various adornments 的考題

Ans:

※解析
adornments 的意義為 “裝飾”,這是考你對於在 association 的端點(end)的語法表達問題。{subsets b} 代表著的是 d (role-name)為 b 的子集合。 (老實說,這題考出來我根本不會,我是用猜的,沒想到讓我給猜對了。!^^ )

Q6. 參考圖6,Bank 類別底下有利用一個四方形框住(accountNo)的符號,其意義為何?

圖6. association 的考題
圖6. association 的考題

Ans: Qualified Association (限定關連)

※解析
這仍是屬於關連(association)的表示法,限定關連(Qualified Association)的語法是用在關連,而非類別。它是被使用在 “1對多” 或 “多對多” 的關連上。上圖6的意思為 Bank 係利用 accountNo 來辨識(identify) Person。

Q7. 參考圖7,下列陳述,何者為真?(單選題)

圖7. permit dependency 的考題
圖7. permit dependency 的考題

Ans:
the Employee class grants access rights to Executive objects. This means that executive objects may access the private properties of salary and homePhoneNumber.

※解析
相依性(Dependency)的考題蠻多的,尤其是在 stereotype 的表達上。以上圖7為例,<<permit>> 代表了 Employee 類別內的所有屬性(properties),均可被 Executive 類別來存取。

Q8. 參考圖8,下列陳述,何者為真?(單選題)

圖8. use dependency 的考題
圖8. use dependency 的考題

Ans: a Order class requires the Line Item class for its full implementation.

※解析
這仍是相依性的語法表示考題。<<use>> 代表著 Order 類別需要 LineItem 類別的完整實現。若是用在 Iterface 的表達中,就是一種 <<required>> 的關係。

Q9. 參考圖9,下列陳述,何者為真?(單選題)

圖9. Interface 的圖示表示語法的考題
圖9. Interface 的圖示表示語法的考題

Ans:
Isensor is the required interface of TheftAlarm as well as the provided interface of ProximitySensor

※解析
這是屬於 Interface 的圖示表示語法的考題。這該算是基本常識,應該要知道,因為會大量應用在 “Component Diagram”或 “Composite-Structure Diagram” 中。起碼要知道 “凹型(socket)” 代表著是 “required” 的介面表示;而 “球型(ball)” 則表示著是 “provided” 的介面表示。 兩者形成了一種 “ball and socket” 的關係。

  • Names a, b, and d on three of the ends.
  • Multiplicities 0..1 on a, * on b, 1 on the unnamed end, and 0..1 on d.
  • Specification of ordering on b.
  • Subsetting on d. For an instance of class C, the collection d is a subset of the collection b. This is equivalent to the OCL
    constraint: context C inv: b->includesAll(d)

OCUP Foundamental 認證依我個人去考試的經驗後,分析其題型可分為三類:

  1. 基本術語的定義
  2. UML 圖形元素與圖(diagram)的說明
  3. 基本應用題

本篇我先討論什麼是 "基本術語" 定義。

請記得,所有的考題,除了少數基本應用題外,內容均取自於 「UML Superstructure」,所以理論上只要熟讀 superstructure 就絕對可以考得上。但是,superstructure 是 UML 2.0 官方(OMG)所制訂的規格書,這份規格並非是被用來學習 UML 基本觀念的,適用對象反而是製作開發 UML 工具廠商所必須研讀的,它定義的反而是比較偏向是 "metamodel library",讓未來 UML 元素來 "reuse" 與 "擴充" 之。

所以,這裡所謂的 "基本術語",可是比一般 UML 書籍所定義的基本術語還來得更基本。我所記得的考題,有關術語的定義部分有:
element, namespace, relationship, package, interface, dependency, import, association, constraint, feature, behavior, operation, message ...等。

然後,在這些基本術語的解釋中,經常會提及到的 "Glossary" 也會考到,例如:
metaclass, active class, abstract class, classifier, collaboration occurrence ...等。

熟背嗎? 我是背不起來的,也不打算背,太辛苦了,基本術語與定義說明看過就算了,有個印象即可。反而是,在 "UML Exams Foundamental Coverage Map" 內有列出以每一個基本圖形為主題的那一張圖必看。例如下列三張圖,一張是 "Root Diagram",另一張是 "Namespace Diagram",以及 "Package Diagram",圖形內的每一個元素與其關係,大概要能知道是在幹什麼,然後把它們給 "影像化" 到你的腦中,如此當考出基本術語的定義與解釋時,你比較容易從腦海裡的影像抓出來對映至選擇題內的敘述,也才能判斷出哪一個陳述才是正確的。

例如,Q. Element 的定義為何?
Ans. An element is a constituent of a model. Element is an abstract metaclass with no superclass. It is used as the common superclass for all metaclasses in the infrastructure library.

※解析※
對照 "Root Diagram",你可以看出,Element 在 UML 規格的定義中,就是 "萬物的本質",是所有 UML Model 中最最基本的抽象元素,據此可以衍生出包括 Class, Assocation, Relationship, Package ...等。

Q. comment 可以 "attach" 多少個 element(1 或 多個)?
Ans. 多個。

※解析※
從 "Root Diagram" 中,可以看出 Element 與 Comment 關連的多重性(Multiplicity)是屬於多對多的關係。

ocup_root_diagram
(點小圖可看原圖)

Q. Namespace 所包含的元素可以有哪些?(複選題)?
Ans. NameElement, PackageableElement, Package.

※解析※
從 "Namespace Diagram" 可以看出,Namespace 結合(composite, 黑色菱形)了上述三者的元素。

ocup_namespace_diagram
(點小圖可看原圖)

Q. What's Package?
Ans. Package is a Namespace and a Packageable element.

※解析※
從 "Package Diagram" 中,可以看出,Package 是繼承自 "Namespace" and "Packageable element"。

ocup_package_diagram
(點小圖可看原圖)

※延伸參考※
通過 OMG UML OCUP Fundamental 認證考試

上星期五下午,決定在 「Prometric 國際認證考試中心」 線上報名 OMG UML OCUP 認證考試,預約了今天下午 2:30 在復興南路一段資策會訓練中心考試,然後利用假日,花了兩天的時間 "瀏覽" 一下 UML 2.0 Superstructure 規格,下午就過去把它給通過考試了。

OCUP 認證,共分為三個 level:

  • Fundamental。
  • Intermediate。
  • Advanced。

通過這三級的考試,算是取得了 OMG 國際組織所認可的 UML 專家(Expert)執照(license),但為何要取得 OCUP 認證,有何好處呢? 嘿,官方的 FAQ 說明,非常實際也現實:To take more money!!

不過,對我本身倒是沒啥實質的幫助,我考這個認證的目的只有兩個:

  1. 我本來就很熟 UML,考試就是為了證明這點。
  2. 評估 OCUP 的內容,是否我們顧問團隊可以未來規劃成為 UML 認證課程,協助學員考取認證,並學習適當的軟體知識與技巧,甚而,與 104 等人力銀行合作,協助與輔導取得認證學員謀得更好的工作與職位。

後面這點比較重要,畢竟,提昇大中華地區軟體人員的設計水平,一直是我們 HSDc. 顧問團隊成立的使命之一。

本來想,只是 "Fundmental" 基本而已,哪需要準備? 但,就在前兩個禮拜,我一位對 UML 非常熟悉的朋友,也是沒有準備就去應考了,結果當天考完後他打電話給我,他差了四題沒考上! 哇!! 我還以為他應該不是滿分也離滿分很近才對,怎麼有可能沒考過? 他告訴我,完全與想像得不一樣,總共 84 題的題目中,應用題不超過 1/3,其餘全是 UML 術語的基本定義與圖形語法的定義,完全取自於 UML 2.0 Superstructure 規格的定義與說明。重點是,Superstructure 這份規格書實在不是給人看的,內容非常非常地艱澀沈悶,那不是懂不懂的問題而已,而是,唉,我很難解釋,親自下載自行看過就知道啦,"UML User Guide" 這類已經算是很悶的書了,但 Superstructure,絕對比該書還要再悶上 10 倍以上。

這可不是開玩笑的,我考過 20 餘科各類型的認證考試,就屬 OCUP 的認證考試費用最貴了,報考費用是 USD$ 200 !! 折合新台幣約要 NT$6500,沒考過,需要等三個星期後才能再繼續考,連續三次沒過,一年內不得再考。 我可不願意與我的錢過意不去,所以只好勉強自己,花了兩天的時間,靜靜地看過 superstructure 規格,對術語的定義、圖形與語法等有過印象。

我還是要強調,superstructure 實在不是給人看的,你要勉強看它,甚至指望去背它,你會很痛苦,我可不幹這種事。在兩天的準備時間內,我同時參考了比較有些 "人性化" 的 UML 參考書籍,它們對 UML 基本語法的解釋有比較多一點的範例,三本需要參考的書籍:

  • UML Toolkit 2.0。
  • UML Bible 2.0。
  • UML User Guide。

至於 "UML Distilled", "Applying UML and Patterns" 這兩本最有指標的 UML 經典書籍,對考試基本是沒啥幫助,請記得,OCUP 根本就是在考你對 UML 的術語與圖形元素等語法的定義熟不熟而已,而不是考你如何利用 UML 表達在軟體設計的思考與應用上,完全是兩回事!

舉個例子,什麼叫做 "基本術語" ?:

  1. 什麼是 element?
    Ans: a constituent of a model.
  2. 什麼是 active class?
    Ans: A class whose instances are active objects. and An object that may execute its own behavior without requiring method invocation.
  3. 什麼是 metaclass?
    Ans: A class whose instances are classes. Metaclasses are typically used to construct metamodels.
  4. Which of the following applies to a package? (choose two)
    a. Package is a Namespace.
    b. Package is a packagable element.
    c. Package only helps to organize Class diagrams.
    d. ......
    Ans: a and b

這就叫做 "基本術語" !! 你若沒有研讀 superstructure,有誰會知道這些?

當然,還有它會列出許多 UML 的圖形元素,讓你去辨識並回答它,例如,畫了一個循序圖(Sequence Diagram),然後要你指出哪一個是 "Lifeline",嘿,UML Toolkit 那本書還寫錯呢,可不是垂直下來的那條虛線,而是利用四方形線條框起來,裡面寫了物件名稱:類別名稱 那個圖形才是("UML Distilled" 是將它稱為 participant)。你若對每一種圖的基本元素認識不夠清楚,你根本不知道該如何選擇,又如有一題:在 activity 圖形中,其中方塊符號的圖形,被哪兩個圖形元素同時來使用? (Ans: Decision and Merge)。

有些應用題,尤其是使用案例圖,一次考好幾題,都是同樣的圖形,然後會問你在 Actor 與 Use Case, Use Case 與 Use Case 之間的關係,你若對 <<include>> , <<extend>> 這種語法與其本質不熟的話(甚至它還搭配了繼承的關係),這幾題就全泡湯了,該應用題型我記得很清楚,我會把它給獨立以另一篇文章來討論之。

當然,硬要讀 superstructure 還是有訣竅的,就是謹記,規格書內的所有術語,包括 element, relatioship, namespace, association, multiplicity, classifier, package, constraint ...等,全都是類別(Class),而這些類別的關連組合,包括 assocation, aggregiation/composition, gereralization/specialization 關係等,就成為一張張各個 "特定功能" 的類別圖了。所以,你要能對 "類別" 的抽象化要能有相當的體會,看這份規格,才會有感覺。

我是用很輕鬆的態度來看這份規格的,對於每一個重要術語,如同前述,我會看過一遍,然後轉到 "Semantic" "Notation" 與 "Presentation Options" 看其說明,看過就好,不去背它,有點印象即可。畢竟,OCUP 如同其它認證考試,都是選擇題,只要讓我有點印象,"大概" 就可以推理猜出來了。要去背它,我說過,你會很痛苦,一個星期也看不完,算起來 foundmental 部分也有 200 餘頁,不算少,我在兩天之內把這些部分全看過一遍,應該算是瀏覽性的閱讀吧。對了,若在每一個術語最後部分有附 Examples,一定要用心看它,這最重要!! 有許多的考題會來自於此。

考試的題目總共有 84 題,其中四題不計分,那四題? 我也不知道,大概像這種問題:OMG 的全名是什麼? 這種應該不會計分吧。 (有人還以為全名是 "Object Model Group" ,當然不是,是 "Object Management Group") 考試時間是 90 分鐘,全部選擇題,其中單選與複選題大約各佔一半左右吧。
每一題都可以 "mark" 起來,等到回答至最後一題可以再選擇【Review】那些被 "mark" 的問題重新選擇。我那位朋友最有趣,他一看到第一題就 mark 起來,然後再翻下一題又 mark 起來,下一題還是,結果... 每一題他都沒把握,到最後幾乎所有時間都用完了,也沒時間 review "mark" 的那些問題。

我算是考認證的老手了,回答選擇題,我幾乎是以 "直覺式" 作答,"大概" 覺得這答案看起來比較順,就給它點選下去了,然後點【Next】繼續下一題作答,如此速度很快,84 題我大概花了約 50 分鐘就做完了,然後花了約 10 餘分鐘 review 我所 mark,約有 20 題的題目。反正,都是憑感覺,好像很少有我覺得很篤定一定會答對的題目。還算不錯,考完後還剩約半小時的時間,我也懶得待在裡面,點選【End】後分數馬上跳出來,84 題,及格題數是 46 題,我答對 61 題,而且在每一大部分都很平均,16 題約錯 3~4 題,算是過得無驚無險。

我是在資策會的數位教育訓練中心考試的,我已經有快五年的時間沒有再考所謂的認證,才知道現在什麼東西都不能帶進考場內,包括筆、白紙、電子辭典、甚至手機,都不能帶進去。考題當然全都是英文,所以,可是要對英文字彙,尤其是術語,要先能看懂才行的呢,我好像有一題,某個單字就看不懂,還是關鍵字,害我在那邊猜好幾分鐘。

其中還有個大問題,考試中心是使用 Windows 中文系統,竟然有些英文題目內某些單字會變成亂碼,尤其是 <<include>>, <<extend>> 這些都變成亂碼了,相當麻煩,去抗議也沒用,倒不如多花些時間用力去猜,考完後再去抗議也不遲。對了,請記得使用滑鼠不要用他們提供的滑鼠墊,根本滑不動,我用力滑了 20 幾題後才發現把滑鼠墊拿開直接在桌面移還比較順手。

OCUP 的考試算是 "black box",不像國內已經考爛掉如 MCSE/MCSD, SCJP ...等,有一堆考古題。全部沒有考古題! 甚至在官方網站也沒有提供範例題,你得要真槍實戰,真要對 UML 有些了解才能去考。

對了,除了還有兩個 level 的考試外,我打算下次先考 IBM Rational 的 UML 認證,它的題目就活很多了,我在 "Object Design" Forum 有看過其範例題,這好像比較對我的胃口,我喜歡題目長長的,然後考你的是需要思考在軟體設計應用面的,不要定義與語法,那是給 UML 工具廠商考的,一般軟體設計人員,根本沒必要花那麼多時間在這些無聊的術語與定義上。

相關參考資訊:
ˇOCUP Certification FAQ
ˇUML Superstructure Specification, v2.0
ˇOCUP Coverage Map(PDF)
ˇOCUP Exams Info

軟體設計塑模與實作—活用 UML 與 Java Spring (48 Hrs)   課程大綱  我要報名

課程簡述:
  • 本課程引導與協助學員先對系統開發流程有全貌的認識,並傳授軟體設計必備的基礎功夫,然後才去了解如何利用 UML 表達設計思維,從系統外觀與結構等各個構面產出有效的設計。並強調馬上就可以從設計導出符合 J2EE 的實體三層式架構,還利用了最具彈性的 Spring Framework,結合 Struts 與 Hibernate,開發出高品質的 Enterprise 系統。快速產出程式碼(包含功能測試碼)的目的在於可以應付專案的交付,並且可以提昇團隊的信心(眼見為憑),然後在第二個開發的循環(Iteration),將程式碼重構,專注在系統的結構重整,而得以讓整體系統俱足彈性、延展性與可重用性。
課程特色:
  1. 帶領學員實際走過(實戰練習與操作)兩個開發循環(Iteration):
    • #1. 從使用案例轉循序圖,快速產出程式碼 — 實現系統功能,提昇團隊信心。
    • #2. 重構程式碼,活用設計樣式(design pattern),專注核心結構設計 — 讓系統的結構更有彈性。
  2. 贈送 Vmware 虛擬 OS 映象檔(Image file):
    • 讓學員可以帶回家,透過免費的 Vmware Player,安裝後即可擁有實際的開發平台與應用系統。
    • 包含了 Linux, J2EE Frameworks, JBoss, Eclipse IDE, 以及具體可執行的應用程式與原始程式碼。
  3. 提供最少兩個完整的案例研討(Case Study),自然又流暢地整合:
    • 開發流程,包含了各階段的設計產出(artifacts)與文件。
    • 系統分析與設計 — 提供 UML Model 檔。
    • 應用程式的實作與部署 — 提供每一層(tier)的原始程式碼。
  4. 本課程均保留與提供了學員免費再旁聽乙次同樣課程的權利,以一次低廉的收費,就可以擁有兩次上課的收穫,課程的師資、內容與品質,我們有信心是不會讓學員們失望的。
課程目標:
  1. 讓你瞭解:
    • UML 2.0 13張設計圖的設計意涵與應用。
    • 軟體設計必須修練的哲理,包括物件與類別、封裝、介面與多型等觀念。
  2. 讓你知道:
    • 軟體開發流程的全貌,包括了開發人員的角色與職責,以及各階段的實際產出。
    • 如何利用 RUP 流程框架,制訂敏捷式(Agile)的開發流程,來找出適合自己團隊性格的流程。
  3. 讓你活用:
    • UML 三劍客,包括表達系統需求與功能的使用案例,表達系統靜態與動態結構的類別及循序圖。
    • 只要能寫好使用案例,就可以確保直接快速產出程式碼。
    • 如何利用正反向工程,來保持 Model 與程式碼的一致性。
  4. 讓你學會:
    • 如何應用 Spring Framework 在 J2EE 3-tier 的整體架構設計,包括:
      • 如何利用 Struts 設計 Web UI 程式。
      • 如何利用 Hibernate 設計永續性物件,並連結 MySQL 資料庫。
      • 如何利用 Java Bean 設計企業物件。
    • MVC 層次分明的物件合作與連結 — 從 Web 至 Middleware 至 Database。
    • 如何善用 EA UML 塑模工具與 Java Eclipse IDE 工具的整合。
    • 如何作好驗收測試,包括撰寫測試案例與利用 JUnit 撰寫功能測試碼。
授課日期
  1. 2006/09/05 ~ 2006/10/31。
  2. 每星期二、四 (pm 6:40 ~ 9:40), 共 48 小時。
授課地點:
  1. 開羅會議中心,地址:台北市光復南路65號B2 (光復南路、市民大道交接口)。
  2. 參考交通與地圖
適合學員:
  • 對 Java 程式語法有基本程度的了解即可。(本課程並不教授 Java 語法)。
  • PM, 技術長, 系統分析/設計(SA/SD), 程式撰寫人員,大學院校學生。
課程費用:
  1. 原價 $22,000,現提供八折超值優惠,僅需 $17,600 (含稅)。
  2. 曾經上課過本公司的「單元系列課程」學員,再給予 $2,400 的減免,只需 $15,200 (含稅)。
  3. 三人同行,亦給予如「單元系列課程」的優惠折扣,每位只需 $15,200 (含稅)。
師資簡介:
  • 講師群均多年來擔任國內各領域單位教育訓練與顧問輔導,包括中科院、工研院、陸總部、台積電、台灣電通、技術學院、空中大學等多所院校、南港軟體園區、北中南多家 ISV...等。
  • 極為豐富的系統開發實戰經驗,包括指導海峽兩岸協同系統開發、大型系統的整體架構設計、多個異質系統整合設計...等。
  • 擁有包括 Novell CNE/CNI, Microsoft MCSE/MCDBA, Orcal OCP, Java SCJP, OMG UML OCUP 等多張國際證照,從系統、資料庫管理至純軟體抽象設計與實務平台開發,包括 .NET/J2EE 等,均具備深厚的功力。
  • 最擅長的莫過於以非常淺顯易懂的比喻及說明,將複雜的系統抽絲剝繭,重新釐清脈絡,讓學員一清二楚,並善於引導學員具備設計應有的反思能力。
使用教材:
  1. HSDc. 專業講師多年來的教育與輔導實務所撰寫的教材,包括豐富的內容與範例、程式碼等。
  2. 提供學員 DVD 教學光碟乙片,包括 Vmware 映象檔、HSDc 歷屆研討會簡報、UML 2.0 操作示範錄影(Flash)等。
  3. 學員可攜帶相關 UML 與 J2EE 參考書籍,並對於書中內容有問題者,由講師樂意為學員們解答。
開發工具:
  1. EA 6.1(Trial) UML Editor and Java Eclipse IDE。
  2. Application Server: JBoss。
  3. J2EE Frameworks: Spring with Struts+Hibernate。
備註:
  1. 教室設備包括白板與投影機,由講師親自說明與操作示範。(學員可攜帶錄音筆)
  2. 學員最好能攜帶 Notebook,可以於課程中實際操作與練習。
  3. 報名滿 10 名即確定開班,第一次開課前一週會以電子郵件與電話聯絡學員。
  4. 凡參加本課程培訓之學員,依課程相關規定學習上課期滿後,由 HSDc 顧問中心授予結業證書,但課程缺課達五分之一者,則不發給結業證書。
  5. 為確保報名足額人數,煩請先以 ATM 轉帳預約費用($1000),並請於報名表備註欄位內,註明您的轉帳帳號末 5 碼與轉帳金額。(若實在不及轉帳者,仍可現場報名,但請在報名表內註明)。
  6. ATM 帳號: 新光銀行 (103) 帳號: 0772-50-100979-9

§. 課程諮詢
聯絡電話:(02) 2722-7179
Email:
service.hsdc@gmail.com
http://www.hsdc.com.tw