軟體架構[北科2022]

【課程名稱】軟體架構
【開課年度】110學年度第二學期
【開課系所】台北科技大學資工所
【上課教室】二教103(e)
【上課時間】周四 234

【課程授課】

講師:陳建村(Teddy Chen) teddy(at)teddysoft.tw

【課程規範】

需同意以下規定方可修課,選修此課代表同意以下規定。

  • 建議修過POSD或OOAD具備選修本課程資格(兩者至少修過其一)
  • 除課程練習需要經老師同意以外,上課禁止使用筆記型電腦、平板電腦、手機等電子產品。 
  • 上課準時,不可遲到。準時的標準為以上課鐘響為準,鐘響後比老師晚到都算遲到。遲到者該節中間休息前禁止進入教室。
  • 除不可抗力之因素以外 (例如出車禍、喪假等),因故缺席無需請假。但若該週有小考或作業Review,則該次成績以0分計算。
  • 三小時課程中,中間一次休息10分鐘 (約 10:30~10:40),下課時間為11:50。中間有任何事情需要離開教室請直接離開無須知會老師。
  • 上課可飲食,但請勿攜帶味道太重影響課程進行的食物,例如臭豆腐、炸雞排等。
  • 違反規定者老師得請學生離開教室。
  • 是否違反規定,以老師的解釋為準。

【評分標準】

  1. 作業/專案:60%
  2. 期末考:30%
  3. 平時成績(課堂互動與活動參與程度等):10%

【課程網頁】http://teddysoft.tw/sa2021/

【參考書籍與資料】(教科書有兩本)

  1. Clean Architecture  by Robert C. Martin (教科書) [CA]
  2. Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans (教科書) [DDD]
  3. Pattern, Principles, and Practices of Domain-Driven Design by Scott Millett and Nick Tune (參考書)
  4. Implementing Domain-Driven Design
    by Vaughn Vernon (參考書)

Last Update:2022-02-24 22:30

 

Week

Course Material Covered

Notes

1

(02/24)

  • 介紹課程內容、大綱、規則
  • HW1 說明
  • 軟體架構定義
  • HW1:(1)分組;(2) 每個人參考ezKanban設定文件 安裝開發環境;(3) 註冊https://miro.com/免費帳號,並將組員與Teddy加入miro; (4) Reading, Chapter 15 [CA]。 

2

(03/3)

  • Event Storming Workshop (I)
  • 上課請帶筆電 
  • HW2:(1) 聽完以下演講: Event Storming,下週上課小考。

3

(03/10)

  • HW2 Test
  • Event Storming Workshop (II)
  • 上課請帶筆電 
  • HW3: 截止時間 3/25 17:00 (1) Reading, Chapter 6 & 14 [DDD]。 (2) Event Storming Workshop, 修正 HW2的domain events,然後加上 Command, Read Model (Input), Policy, External System。採用分散式練習,組員不在同一地點,利用Miro與視訊或音訊設備溝通。需錄下 event storming workshop 的畫面(至少 30 分鐘長度,有影像與聲音)。

4

(03/17)

  • HW3 Test
  • Domain Modeling
    • 上課請帶筆電 
    • HW4:Reading,Chapter 24~26(Partial Boundaries、Layers and Boundaries、The Main Component)[CA]

5

(03/24)

  • 清明節補假,停課
 

 6

(03/31)

 

  • HW4 Test
  • The Clean Architecture (Chapter 22) [CA]
  •  Implementation (I): Test-Driven Development
  • HW5:(1) Iteration 1, implementing the 3 most important use cases. (3) Reading, Chapter 7-11 [CA].

7

(04/7)

  • DDD Building Blocks and the Strategic Design
 

  • Reading: [CA]
 

8

(04/14)

  • HW5 Review
 

  • HW6:Iteration 2

9

(04/21)

  • Event Sourcing and CQRS (1)
 

10

(04/28)

 

  • HW6 Review
  • Event Sourcing and CQRS (2)
  • HW7:Iteration 3

11

(05/5)

  • Event Sourcing and CQRS (3)。

 

 

12

(05/12)

  • HW7 Review
 

  • HW8:Iteration 4

13

(05/19)

 

  • SOLID Design Principles(Chapter 7~11)
 

14

(05/26)

  • HW8 Review (I) 

 

 

15

(06/2)

  • HW8 Review (II)

 

 

16

(06/9)

  • What is Design?
  • Boundary(Chapter 17)[CA]
  • Policy and Level(Chapter 19)[CA]
 

17

(06/16)

  • 期末考
 

18

(06/23)

  • Selected Topic (II)