報名資訊
上課日期:2020/12/19,20,26,27 (六、日)
週六日上課 (09:30 ~ 16:30),共 24 小時。招生中 (滿三人即開課!)
上課地點:上課前一週公布 (台北市區近捷運站)。
(歡迎來電洽談企業內訓包班課程,課程案例與實作可以採該單位專案內容來規劃)
均一特優惠價 (慶祝疫情年的結束):NT$10,500 (含稅)
線上報名
課程介紹
軟體唯一不變的真理就是一直在變!
開發人員往往面臨的問題不在於如何寫出來 (實作技術議題),而是在於如何保持系統的「彈性、延展、可重用性」的應變設計,而這就是軟體結構設計的根本,如何把軟體作軟 (keeping software soft)。
OOD/OOP (Object-oriented Design/Programming)有別於傳統程序 (procedural)導向的開發模式,就在於如何運用「封裝、介面、多型」等已運用於其它成熟產業乃至生活面的應變思維與技能。對比軟體系統而言,即是基於以 "類 (class)"為單位的組織設計與實作。
本課程涵蓋兩個構面的結構設計-巨觀 (macro view)與微觀 (micro view)。
巨觀結構設計是基於現實系統的分散議題-Web UI端、實體資料庫,來提出不相依於特定實體元件的解決方案。這裡推出最實用具應變與重構的實體分層框架-Enterprise MVC (Model-View-Control)模式 (並非是廠商針對 Web 端提出的 Web MVC 技術),讓系統主結構 (業務邏輯/資料存取)有效隔離UI端與資料庫元件的耦合。
微觀結構設計則是傳統物件導向所談及從領域概念模型 ,導出到軟體物件與資料模型。課程會介紹如何捕捉軟體主結構核心的技巧,運用「交易模式 (transaction pattern)」。有別於古典OO一開始就要求較完整的設計 (太過理想化),現今系統開發則更為務實-運用重構 (re-factoring)的技巧,持續逐漸地重整系統,效果即是簡潔的程式碼 (clean code)。而伴隨著重構的一項必要機制與紀律就必然要求一開始就要撰寫單元測試程式碼 (unit test code)。
上述兩個構面是互補的。軟體主結構一開始就不會實作於特定的UI/資料庫端,以最純淨的 POCO/POJO (plain-old CLR/Java Object)物件來實作,如此才有機會得以實施後續的重構,而重構則取決於某一功能的複雜度與價值來評估,進而創造出系統整體的再利用價值。
本課程在結構設計的塑模會採以 UML 類別(Class)/循序(Sequence)圖,進而運用元件(component)/複合結構(composite structure)圖來表達上述巨觀與微觀的設計;而實作部份的案例程式碼則會同時採以 C#.NET 與 Java/Spring 並整理成專案範例檔可以透過IDE工具執行與參考。
課程目標
- 活用 UML 塑模表達結構設計,並讓設計圖形力求簡潔與層次感。
- 了解 UML 工具於結構面的設計應用。
- 了解 UML結構設計與實作程式碼之間的對應關係。
- 了解為何/如何實作分層結構框架,並以重構的態度逐漸導入到微觀的結構實作。
- 實作案例過程會帶領學員,把學習與作業成果,利用 Git 版控與重構程式碼。
課程對象
- 專職系統設計師(SD),想提昇在結構設計領域上所需的技能。
- 技術職開發人員,想知道如何有效組織程式碼結構。
- 對以物件導向設計與實務應用有興趣者。
- IT 與產品開發單位,想瞭解如何讓系統開發/維護更具彈性、可重用、延展性等特性。
課程大綱
課程單元 | 課程大綱 |
---|---|
結構設計基本功— 物件導向 (Object-oriented)思維 |
|
巨觀 (Macro View)的結構設計 |
|
微觀 (Micro View)的結構設計 |
|
實作案例研討 |
|
課程費用
- 均一特別優惠價:10,500 (慶祝疫情年的結束,滿3人即開課)
- 原價: NT$24,000元(含稅);線上報名並預繳報名費用者優惠:NT$12,000 (含稅)。
- 早鳥優惠 (至 03/31 前止)價:NT$10,800 (含稅)。
- 舊生優惠:NT$10,800元(含稅)。
- 兩人同行,費用再折抵95折、四人同行則折抵為9折。
- 本系列課程若期再次旁聽,原價三折 (NT$3,600)。
- 清貧或由家扶中心推薦,可留言說明或電話聯繫,所有費用 免費!
- 上述課程費用已含電子教材檔、UML Model檔、程式源碼 (含版控)。
- 為確保報名足額人數,煩請報名完成後再以 ATM 轉帳預約費用 ($1000,當然也可一次繳清)。
- ATM 轉帳帳號請參考報名表單內匯款帳號。並請於報名確認信所附鏈結點選編輯,可於報名表備註欄位內,註明您的轉帳帳號末 5 碼與轉帳金額。
參考產出
備註資訊
授課講師:
Kenming Wango 具有近20年豐富教學與顧問輔導經驗。
o 擅長引導學員反思並找出答案。
o 專長大型系統架構規劃、企業/系統流程與系統分析、
巨觀/微觀結構設計、精通 .NET/Java 兩大平台技術應用。
o 專職軟體設計顧問/講師。
備註:
o 教室設備包括白板與投影機,由講師親自說明與操作示範。o 學員最好能攜帶筆電(可無線上網),可於課程中實際操作與練習。
o 若未達上課人數(原則以5人以上)則延期至下一梯次開課;
已報名學員可申請退費(或可保留至下一梯次)。
o 開課前一週會以電子郵件/電話聯絡通知學員。
o 遇颱風等天候因素,則延至下一週上課日(會主動通知學員)。
如有課程相關問題,歡迎來信或來電洽詢
---------------------------------------------------
電郵: gnimnek168@gmail.com
Blog: http://www.kenming.idv.tw
軟體設計鮮思維:
https://www.facebook.com/groups/softthinking/
聯繫電話: 0922236977