2025/01/25 (更新日期、進度)
2025/02/14 (更新)
2025/02/26 (更新)
2025/03/01 (更新)
2025/03/10 (更新)
2025/03/18 (更新)
2025/03/24 (更新)
2025/04/18 (更新)
2025/04/22 (更新)
2025/05/12 (更新)
2025/05/13 (更新)
注意,「系統分析與設計」課程會需要用到「程式設計」、「創新與設計思考」及「資料庫」的相關概念,請自行複習,老師不會重複講授這些概念。另外,未來專題或工作會用到的工具,不一定是系上課程中教過的,自主學習新工具非常重要,建議利用本課程學習新工具。
這個教學網站是為了輔仁大學資訊管理學系113學年度的「系統分析與設計」課程。「系統分析與設計」課程主要會涵蓋:
課程評分標準
訪問學長姊 (小組作業 5%)
課堂參與 (5%)
文件及進度書面報告 (40%) (依組內分工給分)
Sprint Review 1 (21%)
系統描述 (35%)、sprint1軟體需求規格(20%)、sprint1軟體設計規格(30%)
daily scrum、spring review、spring retrospective、sprint1分工 (15%)
測試報告(額外加分)
Sprint Review 2 (9%)
sprint2軟體需求規格 (30%)、sprint2軟體設計規格 (40%)
daily scrum、spring review、spring retrospective、sprint2分工 (20%)
測試報告(10%)
Final (10%)
sprint3軟體需求規格 (25%)、sprint3軟體設計規格 (40%)、系統專題實作檢討 (10%)
daily scrum、spring review、spring retrospective、sprint3分工 (15%)
測試報告 (10%)
系統功能 (40%) (依組內分工給分)
小組分工 (5%)
以Git上的紀錄為評估基礎
個人學期自主學習及課程心得與建議 (5%)
自主學習心得 (3%)
學習心得 (1%)
建議 (1%)
Homework
下週報告 (不超過5分鐘)
針對哪一個(或幾個)SDG
使用者、使用者情境介紹
可利用Persona
現有系統或服務的問題或未滿足的價值
可利用Customer Journey Map探索
對應的解決方案
可利用Service Blueprint
訪問大三、大四學長姊 (5%) ,兩週內繳交
每組訪問一位大三、大四學長姊,並上傳到tronclass (2%),請先到tronclass討論區登記想要訪談的學長姊,不可以重複,以先登記的組別為主 ** 請先取得受訪者同意公開訪談內容,可透過視訊訪談,禁止透過line要求學長姐直接貼答案 **
受訪者姓名
從系統分析與設計課程中遇到甚麼問題? 如何解決?
從系統開發中遇到甚麼問題? 如何解決?
使用git嗎? 遇到甚麼問題?
使用哪個語言、資料庫開發? 為何? 優缺點是?
使用生成式人工智慧嗎? 如何使用? 遇到甚麼問題?
嘗試過自動測試嗎? 遇到甚麼問題?
如何定期追蹤組員進度? 遇到甚麼問題?
(到目前為止,)專題遇到的最大問題是甚麼? 如何解決?
(到目前為止,)專題系統開發中遇到甚麼問題? 如何解決?
使用git嗎? 遇到甚麼問題?
使用哪個語言、資料庫開發? 跟SA所使用的一樣嗎? 為何? 優缺點是?
使用生成式人工智慧嗎? 如何使用? 遇到甚麼問題?
嘗試過自動測試嗎? 遇到甚麼問題?
如何定期追蹤組員進度? 跟SA一樣嗎? 遇到甚麼問題?
對各位的建議是?
觀看Deeplink學長姊與專題相關之分享(至少兩個分享)並整理心得 (2%)
陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋
游凱淳、李函澐、劉蓉瑄
吳柏瑋
陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋
Make a Killing! Futures Warbler
廖奕慈、簡筠庭
許智傑
陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋、蘇彥碩
第28屆資服競賽得獎經驗分享 (EZ)
吳姳蓁、彭于芳、張瑋純
詹宜璠、林鈺惠、邱柏儒、丘卉妍
顏佩臻、葉文心、游文瑄、劉幼祺、王乙婷、庾光威
整理訪談結果並與deeplink分享內容比較,並且思考:我們覺得我們可能會遇到甚麼樣的問題? 預防方案或發生問題時的解決方案是? (1%)
各組報告 (不超過5分鐘)
針對哪一個(或幾個)SDG
使用者、使用者情境介紹
現有系統或服務的問題(pains)或未滿足的價值(gains)
解決方案是否能解決問題? 是否滿足這些價值?
選出大家最有興趣的題目,三~四組用同一個題目
提出主題的各組請將本週的報告投影片上傳到tronclass討論區
Homework
下週由主題提供組主持,每個主題30分鐘,深入討論:
整理目標客群 (Who),進行使用者情境分析
確認任務 (What)、pains與gains (Why)
創業時,我們在知乎聊什麼? (deeplink學長姐分享,該場次未錄影,請參考投影片)
競品分析 (有沒有既有的產品?)
競品分析方法論 (deeplink學長姐分享,該場次未錄影,請參考投影片)
各組訪談目標客群並確認待解決問題或待提供的價值的重要性 (排序)
原本的解決方案是否能滿足需求?
各組整理本週討論的內容,逐步完成文件的第一章
發展背景與動機
使用者、使用者情境 (任務)
待解決問題或待提供的價值
背景知識
競品(或相關系統、相關科技)分析
主題提供組主持討論,每個主題不超過30分鐘,深入討論
確認大家對於以下內容已有共識
發展背景與動機
使用者、使用者情境 (任務)
待解決問題或待提供的價值
背景知識
競品(或相關系統、相關科技)分析
討論系統發展目的及系統範圍
Value Proposition Canvas
Pain Killer, Value Creators
老師介紹User Story及User Story Mapping
有些需求比較大,沒辦法一次完成,列為Epic,再分解為User Story
有些需求比較小,可以將幾個User Story統整為一個Epic
Epic說明Story之間的關係
如何決定Minimum Viable Product (MVP)?
根據待解決問題或待提供的價值的優先順序
重要的待確認假設
功能的相依性
參考資料
需求不明確或多變動
需求切割為單位很小(可以很快開發完)的user story
將需求排優先順序,要開發前才去確認需求的細節
利用Scrum(Sprint)或Kanban(WIP)來控制進度
Homework
下次報告
選最重要的需求並以Epic/User Story呈現需求
討論想使用的開發工具
各組整理本週討論的內容,逐步完成文件的第一章
系統發展目的
功能性需求與非功能性需求
問題與解決方案(需求)對應表
系統範圍
功能性需求說明
簡單說明所有的Epic
確定產品目標 (product goal)
Epic/User Story討論,每組邀請其他組同學提供建議
是否符合需求
是否依照User Story的格式撰寫
I am, I want, So that
題目大致底定,可以開始思考一下開發工具
Homework
下次報告
Sprint Planning
同一主題的各組設定相同的Sprint Goal
根據Sprint Goal盤點對應的Epic/User Story
各組整理本週討論的內容,逐步完成文件的第一章
發展背景與動機
使用者、使用者情境
待解決問題或待提供的價值
系統發展目的
功能性需求與非功能性需求
問題與解決方案(需求)對應表
系統範圍
功能性需求說明
簡單說明所有的Epic
背景知識
競品(或相關系統、相關科技)分析
系統限制(可行性分析)
使用者角色說明
使用者故事對應
補充資料
決定驗收組別,第14週完成驗收的組別(group A),系統功能分數加10%,第15週完成驗收的組別(group B),系統功能分數加5%。第16週無法完成驗收的組別,視情況扣分。
開始第一個Sprint
根據產品目標 (product goal)確定sprint goal (最優先解決的問題/最優先提供的解決方案)
Sprint goal是指這個sprint預期完成的目標
根據sprint goal盤點user story
盤點能在一個sprint之內完成的user story
根據Minimum Viable Product (MVP)去思考
並討論這些user story的接受/驗收條件並思考細節 (資料庫及畫面)
工作分配
專案管理 (吳濟聰老師專案管理課程教材) / 小專題那些事 (陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋學長姐 deeplink分享)
利用Git整合程式碼
git新手入門教學 (deeplink學長姐分享)
Homework
各組整理本週討論的內容,逐步完成文件的第一、二章及第三章的資料庫及畫面設計
完成第一個sprint相關user story的接受/驗收條件條件、資料庫設計及畫面設計
預告: 未來的sprint的各種報告(口頭報告當天23:59前上傳到TronClass)
Sprint goal、epic及user story
Daily Scrum摘要 (開了幾次、遇到的問題、解決的方法)
Sprint Review
整理大家的建議,以及對應的處理
Sprint Retrospective
團隊合作方式、開發方式應該進行甚麼樣的調整
下個Sprint的Sprint goal及user story
參考資料
可利用Clickup或github project分配工作與追蹤工作進度
小專題那些事 (陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋學長姐 deeplink分享)
Sprint Review
根據Sprint Goal,所完成User Story的功能展示
與Sprint Goal、Product Goal的差距
聽取利害關係人的建議,以及可能的需求更動
Sprint Retrospective
造成與目標的差距的原因 (問題)
調整作法 (解決方案)
有需要的話,老師會協助
各組觀摩
第一個sprint相關user story的接受/驗收條件條件、資料庫設計及畫面設計
是否符合目標 (product goal / sprint goal)?
是否能如期達成目標?
Daily Scrum
重點不在於進度報告,而是解決進度上的問題
需求上的疑惑
討論如何解決,而不是指責
請記錄遇到甚麼問題以及解決方案
是否需要進行優先順序、工作分配等調整?
SQL vs. NoSQL
Firebase Firestore (吳濟聰老師進階web程式設計教材)
聊聊 | 如何選擇合適的資料庫 (deeplink學長姐分享)
UI設計入門 (UI設計與Figma) (李偉成學長 deeplink分享)
Scss!讓你的CSS不再雜亂無章 (deeplink學長姐分享)
互動網頁需要的原來不是美感 (deeplink學長姐分享)
切版助教三個月目睹之怪現狀 (deeplink學長姐分享)
視覺層級 (吳濟聰老師碩士在職班使用者經驗設計課程教材)
互動設計 (吳濟聰老師碩士在職班使用者經驗設計課程教材)
資訊架構 / [好書推薦] 資訊架構學 (deeplink分享)
參考資料
Group A/B sprint review 1
口頭報告
請於報告前前繳交文件至Tronclass,遲交者視遲交情況酌予扣分。
文件包含
第一章、第二章、第三章 (只需要sprint 1相關設計)
附錄
Sprint goal
Daily Scrum摘要 (開了幾次、遇到的問題、解決的方法)
分工與貢獻度說明
口頭報告內容每組25分鐘報告 (含Q & A)
Sprint goal及user story
Sprint goal是指這個sprint預期完成的目標,當專案比較大的時候,會設定每個 sprint預期完成的目標,可能完成某幾個Epic,或者確認某個/些問題是否可以解決。
預計完成的user story vs. 實際完成的user story
結果與接受條件的對照
老師會視情況隨機要求驗收系統功能,核對系統功能、資料庫與文件是否相符,不相符者視情況酌予扣分。
小組繳交sprint review、sprint retrospective、sprint planning報告 (報告當天23:59前上傳到TronClass)
Sprint Review
整理大家的建議,以及對應的處理
Sprint Retrospective
團隊合作方式、開發方式應該進行甚麼樣的調整
Sprint Planning
下個Sprint的Sprint goal及user story
Group A sprint review 2
Group B sprint review 2
Group C sprint review 2
驗收程序:
請於驗收前繳交文件至Tronclass,遲交者視遲交情況酌予扣分。
驗收系統功能,核對系統功能、資料庫與文件是否相符,不相符者視情況酌予扣分。
老師先驗收第3個sprint的進度,接下來依據分工表驗收。
接下來由助教進行系統的驗收、評分。
驗收標準:
若系統未完成整合,一律不驗收。請仔細測試系統,若系統還有語法錯誤或無法執行,也不驗收。
同組同學都應到場(上線),老師將依據分工表,驗收每一位同學負責的部份,並抽檢程式碼,若發現與實際狀況不符的現象,老師將當場要求更改分工表。
未於規定時間內完成驗收,視情況酌予扣分,驗收最後期限為6/10 16:00。
總成績可能不及格的同學,請提前繳交自主學習作業,學期總成績滿50分但未達60分者,可以透過補救作業補救,老師會視分數差距給不同程度的補救作業(例如:修改文件或完成某個功能),補救作業完成期限為6/10 16:00,延長至6/13 16:00。
繳交個人學期自主學習心得、課程心得與課程建議 (5%)
自主學習心得 (3%)
課程心得 (1%)
課程建議 (1%)
請挑選任一方向進行自主學習
參加專題發表,並訪談一位學長姐以及參加心得
專題遇到的最大問題是甚麼? 如何解決?
專題系統開發中遇到甚麼問題? 如何解決?
使用git嗎? 遇到甚麼問題?
使用哪個語言、資料庫開發? 跟SA所使用的一樣嗎? 為何? 優缺點是?
使用生成式人工智慧嗎? 如何使用? 遇到甚麼問題?
嘗試過自動測試嗎? 遇到甚麼問題?
如何定期追蹤組員進度? 跟SA一樣嗎? 遇到甚麼問題?
對各位的建議是?
對於學長姐的發表有何心得?
UX心理學 (吳濟聰老師powercam影片)
使用者經驗與心理學 (吳濟聰老師使用者經驗設計課程內容)
好書導讀: 設計的心理學 (吳濟聰老師 deeplink分享)
SQL vs. NoSQL
聊聊 | 如何選擇合適的資料庫 (deeplink學長姐分享)
Firebase (吳濟聰老師進階Web程式設計教材)
Scrum (吳濟聰老師敏捷式軟體開發課程內容)
The Scrum Guide (吳濟聰老師敏捷式軟體開發課程內容)
Team (吳濟聰老師敏捷式軟體開發課程內容)
Events (吳濟聰老師敏捷式軟體開發課程內容)
Artifacts (吳濟聰老師敏捷式軟體開發課程內容)
測試
吳濟聰老師相關課程教材
Ashrafi, N. & Ashrafi, H. (2009) Object-Oriented Systems Analysis and Design , Pearson Education International
Fowler, Martin (2007), UML Distilled, Third Edition , Addison Wesley Publisher
Marakas, George M. (2001) Systems Analysis and Design: An Active Approach, Prentice Hall
Satzinger, Jackson & Burd, (2012) Introduction to Systems Analysis and Design - An Agile Iterative Approach, 6th ed.
游峰碩 (2010) UML物件導向系統分析與設計 博碩文化