與資策會合作規劃的「軟體架構師」培訓課程

這是明年 (2015)元月份與資策會「數位教育研究所」所合作規劃,課程主題就定為「軟體架構師培訓班」。

綜觀軟體架構的三大構面-需求分析、結構設計、程式設計,軟體架構師要能有足夠的高度與相關技能來調和這三大面向。幾年前寫的幾篇文章,可以參考-「從軟體架構師(Architect)的觀點來看軟體開發流程」。

原來課程時數為24小時,不過整個內容規劃後時間實在有些勉強,所以協調後再調整為28個小時。兩個星期假日 (星期六、日)上完,共四天時間。

當然,短短幾十個小時也不可能窮盡涵蓋到軟體各層面的細節,所以內容的規劃係以整體性軟體架構的框架 (skeleton)為主。從介紹三大構面所各應具備的相關核心技能與技術外,再佐以實際的案例並透過實作產出得以當為範本。至於如何培養出快速聚焦的能力、有效調和各個構面的開發與相關產出,這就需要有志於往軟體架構師一職者,所應長期修鍊與學習的方向所在。

課程內容的比重,我把主軸擺在「實作性的架構設計」。這仍是比較現實的問題,在中小型系統,實作面的技術,還是決定系統開發成敗的主要關鍵。所以課程會以實際的案例演練,第一期的課程係以 Java Spring Framework 當為實作的技術與架構設計的標的 (當然再下一季的課程會考量改以 C#.NET Framework)。一致性的架構設計與規劃的理論基礎,而可以套用在不同的實作技術。

這裡我列出所規劃的課程大綱。若想瞭解更多細節或欲報名本課程的學員,可以至本文開頭所列的資策會網址瀏覽報名;另外,若讀者有一些想法與建議或問題,也歡迎在此留言討論。

課程單元 課程內容大綱
軟體架構導論 。What and Why Architecture?
。瞭解架構的三大面向-需求分析、結構設計、程式實作
。比較 Architecture/Structure/Framework 的區別與定義
。以架構為中心的開發模式
。架構的 POC (Proof of Concept)與主要產出(UML Template)
需求分析 。定義系統開發範圍 (System Boundary)
。系統需求架構設計-利用使用案例模型
。 從使用案例橋接到實作的關鍵-界定使用者期望與需求陳述
。UML 產出-使用案例、功能類別 (Class)與物件合作循序 (Sequence)圖 (Diagram)
結構設計 。定義Enterprise MVC (Model-View-Control)的分層架構規劃與設計
。展示層 (Presentation Layer)-UI 與 SOA
。領域層 (Domain Layer)-企業Domain的商務邏輯
。永續層 (Persistence Layer)-Data Access 與 Adapter
。UML 產出-類別與元件 (Component)圖
Java Spring 實作 。 Spring Framework 的核心觀念-IoC (Inversion of Control)
。Spring MVC-Web UI 的架構設計與實作
。JPA (Java Persistence API) with Hibernate-透過 JEE 標準介面實現資料存取與交易處理
案例研討 。以 推特 (Twitter)系統架構設計與開發為例
 --利用使用案例建立需求架構模型
 --Pure Web-tier UI 設計-隔離商業邏輯與資料存取
 --領域物件與資料庫的結構設計
 --Java Spring 的實作程式碼

文章導覽

   

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *