2023/12/31
2024/02/14 (更新內容)
2024/02/26 (更新內容)
2024/03/06 (更新內容)
2024/03/11 (內容整理及名詞統一)
2024/03/19 (微調第4週進行方式)
2024/03/26 (微調報告說明)
2024/04/09 (調整第八週進度)
2024/04/29 (整合文件及進度報告成績)
2024/05/20 (調整第13週進度及自主學習週內容)
注意,「系統分析與設計」課程會需要用到「程式設計」、「創新與設計思考」及「資料庫」的相關概念,請自行複習,老師不會重複講授這些概念。另外,未來專題或工作會用到的工具,不一定是系上課程中教過的,自主學習新工具非常重要,建議利用本課程學習新工具。
這個教學網站是為了輔仁大學資訊管理學系112學年度的「系統分析與設計」課程。「系統分析與設計」課程主要會涵蓋:
課程評分標準
訪問學長姊 (小組作業 5%)
課堂參與 (5%)
文件及進度書面報告 (40%) (依組內分工給分)
Sprint Review 1 (21%)
系統描述、sprint1軟體需求規格、sprint1軟體設計規格
含daily scrum、spring review、spring retrospective、sprint1分工、測試報告 (額外加分)
Sprint Review 2 (9%)
sprint2軟體需求規格、sprint2軟體設計規格
含daily scrum、spring review、spring retrospective、sprint2分工、測試報告 (額外加分)
Final (10%)
sprint3軟體需求規格、sprint3軟體設計規格、系統專題實作檢討
含daily scrum、spring review、spring retrospective、sprint3分工、測試報告 (額外加分)
系統功能 (40%) (依組內分工給分)
Sprint Review 1 (8%)
Sprint Review 2 (16%)
Final (16%)
個人學期自主學習及課程心得與建議 (10%)
自主學習心得 (5%)
學習心得 (2%)
建議 (3%)
Homework
下週報告 (不超過5分鐘)
使用者、使用者情境介紹
現有系統或服務的問題或未滿足的價值
對應的解決方案
訪問大三、大四學長姊 (5%) ,兩週內繳交
每組訪問一位大三、大四學長姊,並上傳到EZ (2%),請先到tronclass討論區登記想要訪談的學長姊,不可以重複,以先登記的組別為主 ** 請先取得受訪者同意公開訪談內容,可透過視訊訪談,禁止透過line要求學長姐直接貼答案 **
受訪者姓名
從系統分析與設計課程中遇到甚麼問題? 如何解決?
從系統開發中遇到甚麼問題? 如何解決?
使用git嗎? 遇到甚麼問題?
使用哪個語言、資料庫開發? 為何? 優缺點是?
如何定期追蹤組員進度? 遇到甚麼問題?
(到目前為止,)專題遇到的最大問題是甚麼? 如何解決?
(到目前為止,)系統開發中遇到甚麼問題? 如何解決?
使用git嗎? 遇到甚麼問題?
使用哪個語言、資料庫開發? 跟SA所使用的一樣嗎? 為何? 優缺點是?
如何定期追蹤組員進度? 跟SA一樣嗎? 遇到甚麼問題?
對各位的建議是?
觀看Deeplink學長姊與專題相關之分享(至少兩個分享)並整理心得 (2%)
陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋
游凱淳、李函澐、劉蓉瑄
吳柏瑋
陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋
Make a Killing! Futures Warbler
廖奕慈、簡筠庭
許智傑
陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋、蘇彥碩
第28屆資服競賽得獎經驗分享 (EZ)
吳姳蓁、彭于芳、張瑋純
詹宜璠、林鈺惠、邱柏儒、丘卉妍
整理訪談結果並與deeplink分享內容比較,並且思考:我們覺得我們可能會遇到甚麼樣的問題? 預防方案或發生問題時的解決方案是? (1%)
各組報告 (不超過5分鐘)
使用者、使用者情境介紹
現有系統或服務的問題(pains)或未滿足的價值(gains)
解決方案是否能解決問題? 是否滿足這些價值?
選出大家最有興趣的題目,三~四組用同一個題目
針對各組報告深入探索
使用者是誰? 使用者情境?
確認pains與gains
先別急著想解決方案
從使用者的角度,到底要解決哪些問題? 或需要哪些價值 ?
探討解決方案
Homework
各組整理本週討論的內容,並進行更深入的了解 (如:訪談),請各組準備投影片,下週將以主題為主進行報告與討論,提出主題的各組請將本週的報告投影片上傳到tronclass討論區
進行使用者情境分析
現有系統的了解與分析:確認pains與gains
創業時,我們在知乎聊什麼? (deeplink學長姐分享,該場次未錄影,請參考投影片)
競品分析:確認pains與gains
競品分析方法論 (deeplink學長姐分享,該場次未錄影,請參考投影片)
整理目標客群,以及對應的pains與gains
Who & Why(pains & gains)
列出至多六項重要的待解決問題或待提供的價值
各組訪談目標客群並確認待解決問題或待提供的價值的重要性
解決方案是否能滿足需求?
各組整理本週討論的內容,逐步完成文件的第一章
發展背景與動機
使用者、使用者情境
待解決問題或待提供的價值
背景知識
競品(或相關系統、相關科技)分析
各主題報告使用者情境分析(含:競品分析)、目標客群、對應的pains及gains、解決方案
各組訪談目標客群並確認待解決問題或待提供的價值的重要性
訪談結果
解決方案能滿足需求嗎?
能有效解決問題? 能提供價值?
列出需求 (User Story Mapping)
有些需求比較大,沒辦法一次完成,列為Epic,再分解為User Story
有些需求比較小,可以將幾個User Story統整為一個Epic
Epic說明Story之間的關係
參考資料
需求不明確或多變動
需求切割為單位很小(可以很快開發完)的user story
將需求排優先順序,要開發前才去確認需求的細節
利用Scrum(Sprint)或Kanban(WIP)來控制進度
Homework
下次報告
請同一主題的各組上台報告問題及其解決方案(Epics & User Stories)。
討論想使用的開發工具
各組整理本週討論的內容,逐步完成文件的第一章
系統發展目的
功能性需求與非功能性需求
問題與解決方案(需求)對應表
系統範圍
功能性需求說明
簡單說明所有的Epic
各組報告
同一主題的各組上台報告問題及其解決方案(Epics),及各Epic對應的細節(user stories)。
如何決定Minimum Viable Product (MVP)?
根據待解決問題或待提供的價值的優先順序
重要的待確認假設
功能的相依性
就MVP的觀點,報告你們覺得最重要的六個User Story
題目大致底定,可以開始思考一下開發工具,可以利用過去所學的PHP+MySQL
Homework
補充資料
決定驗收組別,第14週完成驗收的組別(group A),系統功能分數加10%,第15週完成驗收的組別(group B),系統功能分數加5%。第16週無法完成驗收的組別,視情況扣分。
各組報告
說明列為MVP的user stories,列為MVP的原因
這些user story的接受/驗收條件
Sprint Planning
開始第一個Sprint
確定Sprint goal (最優先解決的問題/最優先提供的解決方案)
Sprint goal是指這個sprint預期完成的目標
盤點user story
盤點能在一個sprint之內完成的user story
根據Minimum Viable Product (MVP)去思考,不限6個user story
並討論這些user story的接受/驗收條件並思考細節 (資料庫及畫面)
專案管理 (吳濟聰老師專案管理課程教材) / 小專題那些事 (陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋學長姐 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
參考資料
SQL vs. NoSQL
聊聊 | 如何選擇合適的資料庫 (deeplink學長姐分享)
UI設計入門 (UI設計與Figma) (李偉成學長 deeplink分享)
Scss!讓你的CSS不再雜亂無章 (deeplink學長姐分享)
互動網頁需要的原來不是美感 (deeplink學長姐分享)
切版助教三個月目睹之怪現狀 (deeplink學長姐分享)
資訊架構 / [好書推薦] 資訊架構學 (deeplink分享)
參考資料
驗收條件與測試
利用驗收條件撰寫自動化測試腳本
自動化測試
各組報告
第一個sprint相關user story的接受/驗收條件條件、資料庫設計及畫面設計
User Story Mapping / User Story Mapping (吳濟聰老師powercam影片)
可利用Clickup分配工作與追蹤工作進度 / 小專題那些事 (陳姵淇、王曉瑜、羅巧筠、胡芸毓、徐浤瑋學長姐 deeplink分享)
各組報告
第一個sprint相關user story的接受/驗收條件條件、資料庫設計及畫面設計
User Story Mapping / User Story Mapping (吳濟聰老師powercam影片)
自動化測試
列為加分項目
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 B/C sprint review 1
Group A sprint review 2
Group B sprint review 2
驗收程序:
請於驗收前繳交文件至Tronclass,遲交者視遲交情況酌予扣分。
驗收系統功能,核對系統功能、資料庫與文件是否相符,不相符者視情況酌予扣分。
驗收標準:
若系統未完成整合,一律不驗收。請仔細測試系統,若系統還有語法錯誤或無法執行,也不驗收。
同組同學都應到場(上線),老師將依據分工表,驗收每一位同學負責的部份,並抽檢程式碼,若發現與實際狀況不符的現象,老師將當場要求更改分工表。
未於規定時間內完成驗收,視情況酌予扣分,驗收最後期限為6/17 16:00。
學期總成績滿50分但未達60分者,可以透過補救作業補救,老師會視分數差距給不同程度的補救作業(例如:修改文件或完成某個功能),補救作業完成期限為6/17 16:00。
請挑選任一方向進行自主學習
UX心理學 (吳濟聰老師powercam影片)
使用者經驗與心理學 (吳濟聰老師使用者經驗設計課程內容)
好書導讀: 設計的心理學 (吳濟聰老師 deeplink分享)
SQL vs. NoSQL
聊聊 | 如何選擇合適的資料庫 (deeplink學長姐分享)
Firebase (吳濟聰老師進階Web程式設計教材)
Scrum (吳濟聰老師敏捷式軟體開發課程內容)
The Scrum Guide (吳濟聰老師敏捷式軟體開發課程內容)
Team (吳濟聰老師敏捷式軟體開發課程內容)
Events (吳濟聰老師敏捷式軟體開發課程內容)
Artifacts (吳濟聰老師敏捷式軟體開發課程內容)
測試
繳交個人學期自主學習心得、課程心得與課程建議 (10%)
自主學習心得 (5%)
課程心得 (2%)
課程建議 (3%)
吳濟聰老師相關課程教材
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物件導向系統分析與設計 博碩文化