【單元課程】活用 UML 三劍客與實作程式碼

§課程名稱: 活用 UML 三劍客與實作程式碼

§課程簡述:
 o 介紹系統分析的設計觀點與 UML 三劍客觀念引導。
 o 利用使用案例來捕捉系統的功能性需求,並快速導出到程式碼實作,以及撰寫測試程式碼驗證功能的正確性。

§課程目標:
 o 讓學員瞭解系統分析的基礎觀點 (需求功能觀點、結構設計觀點、實作觀點)
 o 引導學員如何活用 UML 三劍客 (使用案例模型、類別圖、循序圖)。
 o 帶領學員建立使用案例模型 (Use Case Model),並佐以分析類別與物件循序圖,快速導出到程式碼 (Java)的實作。

§課程特色:
 o 提供完整案例,示範與引導學員實際操作與練習。
 o 第一日上課時即會發送給學員教學光碟,內容提供 EA 7 試用版、JDK 1.6、Eclipse IDE 與本課程案例所有產出,以及研討會簡報等。
 o 本課程均保留與提供了學員免費再旁聽乙次同樣課程的權利,以一次低廉的收費,就可以擁有兩次上課的收穫,課程的師資、內容與品質,我們有信心是不會讓學員們失望的。

§準備教材:
 o 由授課講師提供講義,包括教材內容、案例分析與範例。
 o 學員可攜帶相關 UML 參考書籍,並對於書中內容有問題者,可以直接提問。

§使用工具:
 o EA(Enterprise Architect) 7.0(Trial) UML Tool、JDK 1.6、Java Eclipse IDE。

§授課講師:
 o 賴信仁(Ringle Lai) ,王克明(Kenming Wang) ,宋敏如(Cathy Sung)
 o 擅長以非常淺顯易懂的比喻及說明,將複雜的系統抽絲剝繭,重新釐清脈絡,讓學員一清二楚,並善於引導學員具備設計應有的反思能力。

§適合學員:
 o 系統分析/設計(SA/SD), PM, Programmer 等在職軟體開發者。
 o 學校資訊講師/在學相關資訊科系學生。

§課程費用:
 o $5,700 (含稅)。
 o 曾經上課過本公司的「單元系列課程」學員,優惠 $5,100,含稅。(請記得註明為舊生,本公司查詢確認即以優惠算)
 o 三人同行,或同時報名另一單元課程,亦比照舊生的優惠折扣,每位只需$5,100(含稅)。
 o 大學/研究所 資訊相關科系講師、助教或教授,出示相關證明,我們會以建教合作方式計費。(請另以電話聯絡)
 o 清貧或由家扶中心推薦,能出示相關證明,所有費用 免費!!


§課程說明:
我們希望能將焦點集中在系統分析三種觀點的設計與實現,也就是外部的功能觀點、內部的結構元素設計、與表達程式碼動態的物件互動;而這正是利用 UML 包括使用案例模型、類別圖與循序圖,號稱是 UML 三劍客所可以完成最精要的設計,也可以說這三者是在中小型的專案開發(我們定位中型專案在五千萬以內)最有效的設計利器。

我們一直主張,系統分析絕對不是與程式碼實作脫勾,在我們所揭露出的設計指引方針中,只要利用少數幾個設計原則,就可以很快速且直覺地從使用案例轉出到程式碼。而在其過程中,我們會建構代表每一個使用案例的控制物件,也可以把它視為是系統的代言人,先利用循序圖表達出參與者與控制物件的訊息互動,觀察出互動的訊息之後,再反回來設計分析性的控制類別,並很容易地就可以定義出它應該具備哪些 functional call。藉此,我們就可以利用如 EA UML 工具快速產出程式碼,得以建立程式框架。再來以後,我們就很清楚如何在控制類別的哪一個函式(method)上補充細節,包括演算邏輯、企業規則與欄位明細等。 系統分析與程式實作本來就是系統的一體兩面,若是無法保持這些設計產出間的一致性,那肯定是系統分析的作法有問題。

還有,我們從來都不主張寫文件,為文件而文件,那是最浪費時間與最糟糕的事。我們主張要做有效且精要 (essential)的設計產出 (artifacts),量少質精,然後再利用如 EA UML 工具的 "Document Generation" 機制,絕對可以產出上百頁美輪美奐包括需求規格、測試文件、字彙表、結構設計文件 ...等,保證會讓主管滿意。而這些過程,只花不到五分鐘!

以功能需求為導向的開發模式,是順應國內專案短線的生態需求,所以我們先專注在建構分析性的類別,讓系統最起碼先有實體的 MVC 框架,能隔閡 UI 與資料庫的耦合;而至於要讓系統能更順應需求的變動設計,則是在未來結構重整設計階段的課題—那是影響系統夠不夠有彈性,卻不是能不能做出來。我們主張務實,先做出來,並保留一些彈性,可以在未來資源充足與開發人員技能成長後,再施以結構的重整—也就是重構。

所以以功能為導向的系統開發,我們的兩個配套措施,一個就是分析性類別;另一個就是測試程式碼。這裡我們會揭露出 XP 最重要的設計精髓—測試先行 (Test First),如何能確保爾後每次的需求變動,更改到程式碼時,就要確實能執行自動化的測試,以確保變更並沒有影響到既有的功能。

三天的課程內,我們除了會預先提供一個完整的案例,會帶領各位學員實際演練並產出設計模型與程式碼(包括測試碼)等,同時還會當場由學員主動提出案例,等於是出考題一樣,由講師當場示範講解,當然,還是從需求分析到程式碼實作,一氣呵成。

另外,我們單元系列的課程,均有免費提供下午茶點,包括小蜜蜂咖啡、茶飲、美味的吊鐘燒與餅乾甜點等。品味咖啡的同時,學習軟體設計思維,那會是一件令人相當愉悅的快樂學習之旅。