~歡迎企業洽談包班需求 ~
「軟體開發/程式設計/智慧綠能課程主題館」 同步招生中 !!
課程源起
本課程旨在教授有志於擔任軟體架構師 (software architect)一職者,所應具備的相關技能。從對系統全貌有著概括的瞭解,再進而往精細面逐一實現。
從如何理解與調和軟體的三大面向-需求、結構與實作,並進而利用UML與 C#.NET/Java 程式碼建立可被驗證的軟體架構模型。
強調馬上就可以從需求分析與設計直接導出符合 Enterprise MVC (Model-View-Control) 責任分明的分層結構 (強調僅非 Web MVC 框架,兩者完全不同議題),利用 O-R (Object-Relation) Mapping 技術框架達成資料物件與資料庫的對映,而前端因不涉及資料存取與邏輯運算,所以可以有多種不同的展現方式 (如 Web MVC、Standalone Form、Console …。)。井然有序、層次分明的架構才得以開發出高度彈性、可維護性與延展性極佳的企業 (enterprise) 層級系統。
分層結構框架同時可以完全對應現今流行的微服務 (Microservices) 架構。定義Web API並透過 RESTful與 JSON資料傳遞,得以達成系統內部微服務之間的訊息傳遞。
學員們上完課後,能以課程中所提供的案例,包括 UML設計模型與程式碼等,當成範本而可以應用於工作實務上。 綜合理論知識與實務應用,得而實踐「虛」與「實」兩者調和的『知行合一』。
** 課程的案例實做技術主要會採以 C#.NET,課程中會擇一演示該平台的實作方式。
課程目標
- 瞭解軟體架構師所應具備的技能與素養
- 培養軟體架構師對系統三大面向 (需求、結構、實作) 的實務基礎
- 瞭解如何分析與規劃軟體架構模型,並得以驗證。
- 教授學員如何撰寫高品質的 SAD (Software Architecture Document) 文件,並符合國際標準的 UML 規範。
預備知識
- 本課程不講授程式語言的語法,所以與課學員仍須有基本的程式設計基礎
課程注意事項
- 本課程建議學員自備筆電
適合對象
- 有志於擔任全方位軟體架構師一職者
- 對於軟體系統分析與設計規劃有著極高度熱情的 Developer
- 系統專案經理與技術長等,希能撰寫出高品質的架構文件
- 資訊相關課程講師,希能瞭解軟體系統全貌與各面向的主要產出
課程大綱
| 課程單元 | 課程大綱 |
甚麼是軟體架構以及為什麼需要架構 | 認識軟體架構 為什麼採用架構 案例討論以 POS 系統為例
|
掌握 UML 的核心符號與建模思維,能將需求轉化為清晰的設計圖 | UML 在企業級系統中的角色與價值 常用圖表: - Use Case Diagram(用例圖) - Class Diagram(類別圖) - Sequence Diagram(序列圖) - Activity Diagram(活動圖) 建模流程:從需求訪談到模型建立 |
物件導向抽象化的精髓,並能應用設計原則建立可維護架構 | OOP 四大特性:封裝、繼承、多型、抽象 抽象化設計思維:介面 vs 抽象類別 SOLID 原則: - 單一職責原則 (SRP) - 開放封閉原則 (OCP) - 里氏替換原則 (LSP) - 介面隔離原則 (ISP) - 依賴反轉原則 (DIP) |
熟悉常見架構模式,能選擇合適的模式應對不同場景 | 分層架構 (Layered Architecture) - MVC / MVVM / Clean Architecture - Domain-Driven Design (DDD) 概念 - Microservices vs Monolith:優缺點與取捨 |
將 UML 與 OOP 設計落地到程式碼,並進行架構驗證 | 從 UML 到程式碼:如何將模型轉化為類別與介面 - 架構實作流程:初始化、依賴注入、模組化 - 測試與驗證:單元測試、整合測試、架構一致性檢查 |

