軟體架構[北科2020]
【課程名稱】軟體架構
【開課年度】108學年度第二學期
【開課系所】台北科技大學資工所
【上課教室】科研大樓334e
【上課時間】周四 2、3、4節
【課程授課】
講師:陳建村(Teddy Chen) teddy(at)teddysoft.tw
【課程規範】
需同意以下規定方可修課,選修此課代表同意以下規定。
- 未修過POSD或OOAD者請勿選修本課程(兩者至少修過其一)。
- 除課程練習需要經老師同意以外,上課禁止使用筆記型電腦、平板電腦、手機等電子產品。
- 上課準時,不可遲到。準時的標準為以上課鐘響為準,鐘響後比老師晚到都算遲到。遲到者該節中間休息前禁止進入教室。
- 除不可抗力之因素以外 (例如出車禍、喪假等),因故缺席無需請假。但若該週有小考或作業Review,則該次成績以0分計算。
- 三小時課程中,中間一次休息10分鐘 (約 10:30~10:40),下課時間為11:50。中間有任何事情需要離開教室請直接離開無須知會老師。
- 上課可飲食,但請勿攜帶味道太重影響課程進行的食物,例如臭豆腐、炸雞排等。
- 違反規定者老師得請學生離開教室。
- 是否違反規定,以老師的解釋為準。
【評分標準】
- 作業:60%
- 期末考:30%
- 平時成績(課堂互動與活動參與程度等):10%
【課程網頁】</sa2019/>
【參考書籍與資料】(教科書有兩本)
- Clean Architecture by Robert C. Martin(教科書) [CA]
- Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans (教科書) [DDD]
- Pattern, Principles, and Practices of Domain-Driven Design by Scott Millett and Nick Tune (參考書)
- Implementing Domain-Driven Design
by Vaughn Vernon (參考書)
Last Update:2020-03-04 22:30
Week
Course Material Covered
Notes
1
(03/05)
介紹課程內容、大綱、規則
HW1 說明
軟體架構定義
HW1:(1) 試用LeanKit (學號結尾單號) 或Kanbanize (學號結尾雙號) ,系統功能玩過一次,對於看板系統有基本的了解。(2) 註冊https://miro.com/ 免費帳號
上課投影片,按此下載 。
2
(03/12)
Event Storming Workshop (I)
上課請帶筆電
HW2:(1) Reading,Chapter 5 [DDD];(2) 完成Kanban系統的domain events;(3) 將 domain events 依據「內聚性(切割bounded context)」在時間軸上分群。
3
(03/19)
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/26)
HW3 Test
Domain Modeling
- 上課請帶筆電
- HW4:Reading,Chapter 24~26(Partial Boundaries、Layers and Boundaries、The Main Component)[CA]
5
(04/02)
- 清明節補假,停課
6
(04/09)
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/16)
DDD Building Blocks and the Strategic Design
Reading: [CA]
8
(04/23)
HW5 Review
HW6:Iteration 2
9
(04/30)
- Event Sourcing and CQRS
10
(05/7)
HW6 Review
HW7:Iteration 3
11
(05/14)
- MVC、MVP、PM、MVVM。
12
(05/21)
HW7 Review
HW8:Iteration 4
13
(05/28)
- SOLID Design Principles(Chapter 7~11)
14
(06/04)
- HW8 Review (I)
15
(06/11)
- HW8 Review (II)
16
(06/18)
- What is Design?
- Boundary(Chapter 17)[CA]
- Policy and Level(Chapter 19)[CA]
17
(06/25)
- 期末考
18
(07/02)
- Selected Topic (II)
