網路選課系統的藍圖:用例圖帶你一探究竟
你有沒有想過,學校網站上簡單的選課功能,背後是如何被設計出來的?今天,我們就來聊聊一個名為「用例圖(Use Case Diagram)」的工具,它就像是軟體系統的藍圖,讓我們能夠清楚地看見系統的功能與使用者之間的互動。
事件開頭短結論:用例圖幫助我們從使用者的角度,了解系統的功能,以及這些功能是如何被組織起來的。
什麼是用例圖?
用例圖是一種視覺化的工具,用來描述使用者(也就是「參與者」)如何與系統互動,以及系統提供哪些服務。它側重於「系統能做什麼」,而不是「如何做」。簡單來說,就是一張圖,告訴我們系統有哪些功能,以及誰會使用這些功能。
網路選課系統的案例
假設我們要開發一個網路選課系統,那用例圖會怎麼呈現呢?
- 核心功能:選課
首先,最核心的功能當然就是「選課」。所有其他的案例都會圍繞著「選課」這個主軸。 - 參與者:學生
在這個系統中,主要的參與者就是「學生」。 - 主要情境
- 登入: 學生要使用選課功能,首先要「登入」。
- 重置密碼:如果忘記密碼,學生可以透過「重置密碼」功能來恢復。
- 瀏覽課程: 學生登入後,可以「瀏覽課程」,查看有哪些課可以選。
- 加選: 學生可以「加選」自己想上的課。
- 退選: 學生也可以「退選」不想上的課。
- 瀏覽選課單: 學生可以「瀏覽選課單」,查看自己的選課清單。
- 列印選課單: 學生可以「列印選課單」以便保存。
- 登入: 學生要使用選課功能,首先要「登入」。
圖形表示
用例圖使用不同的圖形來表示這些功能和關係:
- 參與者: 用人形圖示表示,例如「學生」。
- 用例(系統功能): 用橢圓形表示,例如「選課」、「登入」。
- 關聯: 參與者和用例之間的關係,例如學生與「選課」之間的關聯。
- Include(包含): 如果一個用例必須使用另一個用例的功能,就使用「include」關係,例如「選課」包含「登入」。
- Extend(擴展): 如果一個用例可以在特定情況下擴展另一個用例的功能,就使用「extend」關係,例如「登入」可以「重置密碼」。
個人心得
用例圖最大的優點,就是能讓開發團隊、使用者和相關人員,對系統的功能有一個共同的理解。它不像程式碼一樣複雜,而是用簡單易懂的方式,描述系統要做什麼。在開發的初期,用例圖可以幫助我們釐清需求,避免在開發過程中走偏路。
事件重點
- 用例圖是一種視覺化的工具,用於描述系統的功能和使用者之間的互動。
- 它從使用者的角度出發,強調系統能做什麼,而不是怎麼做。
- 對於開發團隊、使用者和相關人員,用例圖可以幫助他們對系統的功能達成共識。
結語
透過用例圖,我們可以像畫地圖一樣,清楚地規劃出網路選課系統的藍圖。下次當你使用網路選課系統時,不妨想想這個簡單卻強大的工具,是如何幫助我們更方便地選課的吧!
參考閱讀
- https://www.mysql.tw/2021/05/uml-usecase-activity-class.html
- https://www.processon.io/zh-tw/blog/use-case-diagram-uml
- https://online.visual-paradigm.com/tw/diagrams/solutions/free-use-case-diagram-tool/
- https://pengpon.github.io/system/2019/12/19/Use-case-diagram.html