iT邦幫忙

2023 iThome 鐵人賽

DAY 11
1
自我挑戰組

保健食品建議量查詢網頁功能系列 第 11

Use Case一眼明瞭,說明好幫手

  • 分享至 

  • xImage
  •  

使用案例(use case),是UML(wiki: https://zh.wikipedia.org/zh-tw/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80 )行為式圖形的一種,用以從使用者的角度展示系統的功能。詳細資料請見 wiki: https://zh.wikipedia.org/zh-tw/%E7%94%A8%E4%BE%8B

Use Case是軟體設計內少數以使用者/用戶角度撰寫的文件,而這張圖,寫得好,可以一眼看出這個系統的全貌。不管是工程師,或是資訊人員都很受用。

我常用的UML作法順序是:
SA: 以use case起頭,來做最上層的功能區分,為大功能或模組的區分。然後每個案例再往下長 activity diagram,為子功能。在撰寫 activity diagram時,也同時對名詞下定義(naming),依activity diagram製作wireframe/prototype,欄位schema 也就差不多開出來了。資料生命周期/狀態若比較複雜的,也會畫一張state diagram。這階段溝通的目標主要是客戶使用者、長官、PM。

SD:針對activity diagram裡實作有要特別注意的項目再繪製 sequence diagram,說明程式架構內呼叫應用的情況。程式定義物件可以用 object diagram 繪製,同時定義 package,若是使用JPA/Spring Data的架構,就可以直接通用 SA時的 naming 跟 db schema直接使用,不用再墊一層程式內的定義,好處是工程師會跟客戶用一樣的名稱,我覺得對於降低溝通成本有幫助。溝通的目標主要是工程師。

因此在use case上,我會注重的點在於:

  • 有用到的 naming 在此就要開始統一定義

  • 角色(人):定義會用到的身份,角色權限。除了實體的使用者,管理者,系統管理者的角色使用功能權限定出來。若是有些外部系統,有需要可以分個 API 角色,或是system角色之類的來表示。

  • 模組/大功能:功能大餅圖列一列。

  • 簡報對象:若是自己的分析設計過程,會寫一個超大長篇,完整功能跟一堆備註的原稿,方便自己整個審視跟即時調整。但如果是要給長官客戶看的話,就是從草稿內開始找「會議主題」與「他們想看」的內容,再額外貼一張專門給人看的,有時後是偏業務的簡報,就是用pptx 重繪一個簡報風格的圖出來。

我覺得,UML 若用在溝通時,有時後不用太執著於圖形,箭頭/虛、實線方向…等,應該是以大部份的人都是看得懂,可以理解的方式為主,當然用得越正確,可以立馬看出對方的UML專業度。若是要放在文件裡自然要用正確。

以我的經驗,在溝通過程中,通常不會只講一個面向,因為好不容易橋一個時間,叫長官或一堆人來聽了,期間要是能用一張圖講多件事情,有時候我會覺得這樣方便一點。畢竟要看懂別人畫的一張圖就要花很久時間,叫他看N張圖,可能他還沒搞懂,會議時間就到了落跑,結果最需要聽的人沒聽到重點就是浪費時間。

簡單畫一下這次主題的use case:
https://ithelp.ithome.com.tw/upload/images/20230923/20162958DyOtaznhMU.png


上一篇
開發方法有很多種,別選隕石就好
下一篇
Activity Diagram流程設計好幫手
系列文
保健食品建議量查詢網頁功能30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言