通過 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

文章導覽

   

共有 15 則迴響

  1. Take or Make ,我其實也分不清楚。

    不過我並不想硬凹,原來規格上註明的的確是用 “Make” 這個字眼。

    不過,沒想到誤用了 “Take” 這個字眼,經各位的解釋,也還挺有趣的。 ^^

    • 確實是我記錯了,原來 OCUP 規格上的文字是 “To make more money”。

      照理應感謝你的提醒。不過,你用這樣損人的文字語氣,實在挺沒禮貌且幼稚。 (雖然事實上我的英語程度的確不好)

  2. 上周参加考试,通过了
    考试其实挺简单了,主要是能否看懂规格书,特别是它的母版图,看懂了就简单了

    • OMG 提供的 UML 認證,我認為是相當的失敗!

      它的對象並非是針對軟體設計人員,而是針對 UML 工具開發人員。 基本上,考過這個認證,完全測試不出來軟體人員的設計水平。

  3. Hi tiger:
    要去驗證語法的正確性很簡單,就是要去查官方(OMG) 的 UML2 規格就可以知道了。
    不過,老實說,我對這類語法的正確與否並不會那麼在乎,當初是因為要考試才勉強去背的。

  4. 引述
    ————
    UML Toolkit 那本書還寫錯呢,可不是垂直下來的那條虛線,而是利用四方形線條框起來,裡面寫了物件名稱:類別名稱 那個圖形才是(“UML Distilled” 是將它稱為 participant)。
    ————
    似乎大多數的教學,都說lifeline是垂直下來那條虛線…
    http://irw.ncit.edu.tw/peterju/se.html

    我是初學者,為充實OO,在網路上找相關資料,不經意找到你的文章,但是此篇內容有一點我感到疑惑—“上引述內容”

  5. 請問一下OCUP Coverage Map(PDF)和
    UML Superstructure Specification, v2.0
    的頁數似乎對應不太起來,請問 是版本的差異嗎?謝謝

發佈回覆給「santa junior」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *