• 課程時長

    9 小時 39 分

  • 課程級別

    中階

  • 授課語言

    中文

這堂課你將會學到

  • 在軟體開發技術蓬勃發展的現代,即便你使用 TDD 開發方法,因為你是使用 OO 的程式語言進行開發,所以不代表你不需要了解與洞悉基礎的 OOA (物件導向的系統分析) & OOD (物件導向的系統設計)。學習本課程可以幫助您打好軟體開發中最基本的 OOA 與 OOD。
  • 如果說 DDD 或者 TDD 是招式、那麼 OOA/OOD 絕對就是內功,是基礎中的基礎、甚至基礎到可以說 OOA/OOD 就是蹲馬步,學習本課程後,可以幫助你學習到扎實的基本功,讓你之後學什麼開發方法 (像是:TDD/ATDD 或 DDD) 都比別人快。
  • 課程中,我實際的帶著各位從無到有的 設計一個〔線上房屋貸款系統〕,從 系統分析/設計/撰寫程式 來講述 UML 的分析設計過程。您會在此課程中學到〔如何拿捏適當的需求並表現在圖形上?〕、〔繪圖如何恰到好處?〕、〔如何在 Scrum 下使用 UML〕等等、甚至你可以學習到透過 UML 來加速專案開發。
  • 課程內,我將 UML 分析的一些思維帶入 MVP (Minimum Viable Product) 概念、與在 Scrum 進行的專案裡,我使用 User Story 搭配 Use Case 來使用,配合 UML 分析的黃金三角 (點到為止的概念),讓您可以學習到,如何使用 UML 也不至讓專案前期會花許多時間在繪圖上、甚至學習到在最短的時間內,繪製出恰到好處的模型。
  • 若你正在學習 DDD (Domain-Driven Design),本課程絕對是你學習 DDD 的最佳跳板!因為 DDD 中要繪製好的領域模型,其基礎也都來自最基礎的 OOA/OOD
  • 另外,我也導入一個新的概念,從使用者需求、談架構設計 的概念,尤其進行專案時,更是如此,您或許有的經驗就是,前期的設計時間太長,因為您預先做了許多預先想好的設計,但是到最後實際開發的時候,卻發現許多的預先設計都不必要,因此在本課程裡,你將會學習到如何繪製 UML 的時候配合敏捷的概念、學習到如何點到為止的設計概念。
  • 還有課程中,我會使用先前所開過的實體課程【跨平台的 Web API Framework 框架設計】為基礎,來實作這個線上的房貸申請系統,這是一個基於 Clean Architecture 的架構設計的系統,不要錯過囉!

章節目錄

  • 1

    第 1 章 第一堂、近代軟體開發 與 UML

    • 單元 1 - 01小節、近代的軟體開發流程 與 軟體開發流程的演變?

    • 單元 2 - 02小節-1、物件導向系統分析與設計概論 (OOAD) 、為什麼要使用 Model 來設計系統?

    • 單元 3 - 02小節-2、物件導向系統分析與設計概論 (OOAD)、OOAD 的核心概念:領域概念

    • 單元 4 - 03小節、現代軟體系統分析的三個互補觀點

    • 單元 5 - 04小節、UML 基本介紹、何時該使用 UML? UML 中各種圖形介紹

  • 2

    第 2 章 第二堂、(扎穩馬步) 從身為UML兩大重心的「使用案例圖」與「類別圖」來探討分析概念

    • 單元 1 - 01小節、如何進行使用案例 (Use Case) 分析?

    • 單元 2 - 02小節、為什麼使用塑模來設計系統?有什麼好處?

    • 單元 3 - 03小節、從身為UML兩大重心的「使用案例圖」與「類別圖」來探討分析概念

    • 單元 4 - 04小節、類別圖概念、以及類別圖沒有時間的概念說明

    • 單元 5 - 05小節、分析階段的類別圖【領域模型 (Domain Class Diagram)】

    • 單元 6 - 06小節、Class Diagram 與 ER-Model 有什麼不一樣?

    • 單元 7 - 07小節、使用三層式架構 B-C-E 設計方式

  • 3

    第 3 章 第三堂、UML 塑模化系統分析進階技巧

    • 單元 1 - 01小節、再談使用案例 Use Case,進階使用案例的分析技巧

    • 單元 2 - 02小節、一般使用塑模的慣例、程式撰寫慣例、與原則

    • 單元 2 - 02小節、一般使用塑模的慣例、程式撰寫慣例、與原則

    • 單元 3 - 03小節、使用案例分析進行的方式(進階篇)

    • 單元 4 - 04小節、進行使用案例分析時該注意的幾個警訊

    • 單元 5 - 05小節、如何進行需求管理?

    • 單元 6 - 06小節、何謂「穩健圖(robustness diagram)」?如何使用穩健圖進行分析?

    • 單元 7 - 07小節、利用穩健圖分析的好處?

    • 單元 8 - 08小節、利用穩健圖分析順暢的到「類別圖」與「循序圖」

    • 單元 9 - 09小節、反覆設計 (Iterations) 中的「類別圖」與「循序圖」

    • 單元 10 - 10小節、何時需要使用到狀態圖(state diagrams)

    • 單元 11 - 11小節、何時使用活動圖(activity diagrams)

    • 單元 12 - 12小節、何謂〔正三角形法〕、〔倒三角形法〕、〔循環星形法〕

    • 單元 13 - 13小節、真實世界的開發流程(循環星形法)

  • 4

    第 4 章 第四堂、實作 - (使用前面課程所產生的圖形來撰寫程式)

    • 單元 1 - 01小節、實作概論、如何讓 UML 與實作產生關係?漫談 MDA (Model Driven Architecture)

    • 單元 2 - 02小節、挑選 UML 的 Case Tool

    • 單元 3 - 03小節-1、小試身手、循環星形法-Use Case

    • 單元 4 - 03小節-2、小試身手、循環星形法-Domain Class Diagram

    • 單元 5 - 03小節-3、小試身手、使用循環星形法 建構基本圖形 (不含參數)

    • 單元 6 - 03小節-4、小試身手、使用循環星形法 建構基本圖形 (加上含參數的設計)

    • 單元 7 - 03小節-5、小試身手、循環星形法-細緻類別圖

    • 單元 8 - 03小節-6、循環星形法-(總結)

    • 單元 9 - 04小節、Visual Studio 開發環境、架構設計說明 - Use ASP.NET MVC5

    • 單元 10 - 05小節、使用 Astah Professional 的 Generate C# Code 產生程式碼

    • 單元 11 - 06小節、建立Controller與Common專案

    • 單元 12 - 07小節、最後調整Login的程式碼

    • 單元 13 - 08小節、撰寫CustomerDetailBO的程式碼

    • 單元 14 - 09小節、撰寫(補)SessionHelper的程式碼

    • 單元 15 - 10小節、撰寫最後HousingLoansData的程式碼

    • 單元 16 - 11小節、最後Login_CheckUserSession的處理

    • 單元 18 - 13小節、(擴增EA) 循環星形法-Domain Class Diagram

    • 單元 17 - 12小節、(擴增EA) EA 環境設定說明

    • 單元 19 - 14小節、(擴增EA)循環星形法-Sequence Diagram(NoParame)

    • 單元 20 - 15小節、(擴增EA)循環星形法-Sequence Diagram(Parame)

    • 單元 21 - 16小節、(擴增EA)使用 Astah Professional 的 Generate Code