第 10 章

10.8 Case M01系統行為與互動模型實作

系統行為與互動建模

10.8.1 實作範圍

Case M01選擇提交報名、上傳專題文件、處理評分更正及結果確認與公告等代表情境。每張圖都維持分析層級,並追溯至既有UC、FR、BR、DR與AC。

10.8.2 報名與文件上傳

UC-01與UC-03具有不同目標,應分別建圖。身分驗證可作為共用互動參照;文件圖必須呈現BR-13的格式與容量檢查。

text
sequenceDiagram
  actor Captain as 隊長
  participant System as 報名與審查系統
  participant IdP as 校園身分驗證系統
  Captain->>System: 要求正式提交報名
  System->>IdP: 驗證使用者身分
  IdP-->>System: 身分有效
  System->>System: 檢查期限及團隊人數
  alt 符合BR-01與BR-09
    System->>System: 保存正式提交時間與狀態
    System-->>Captain: 回覆提交成功
  else 不符合提交條件
    System-->>Captain: 拒絕提交並說明原因
  end
Mermaid 圖形預覽Mermaid 11.12
查看並複製 Mermaid 程式碼
mermaid
sequenceDiagram
  actor Captain as 隊長
  participant System as 報名與審查系統
  participant IdP as 校園身分驗證系統
  Captain->>System: 要求正式提交報名
  System->>IdP: 驗證使用者身分
  IdP-->>System: 身分有效
  System->>System: 檢查期限及團隊人數
  alt 符合BR-01與BR-09
    System->>System: 保存正式提交時間與狀態
    System-->>Captain: 回覆提交成功
  else 不符合提交條件
    System-->>Captain: 拒絕提交並說明原因
  end

UC-03的主要成功情境與格式、容量例外已分別於前文示範,正式實作應把兩者視為同一使用案例的互補視圖,而不是兩項不同功能。

10.8.3 評分與更正

評審可在正式送出前修改草稿;正式送出後受BR-11限制。需要更正時,評審提出申請,由經授權的競賽承辦人員依FR-10處理,系統依DR-06保存更正前後內容與處理紀錄。處理結果值尚未定義,不在循序圖中自行列舉。

text
sequenceDiagram
  actor Reviewer as 評審
  actor Staff as 競賽承辦人員
  participant System as 報名與審查系統
  Reviewer->>System: 提出評分更正申請
  System->>System: 保存申請內容與提出時間
  System-->>Reviewer: 回覆申請已記錄
  Staff->>System: 要求處理更正申請
  System->>System: 驗證授權並讀取正式評分
  System->>System: 保存處理人員、時間、前後內容與結果
  System-->>Staff: 回覆處理完成
Mermaid 圖形預覽Mermaid 11.12
查看並複製 Mermaid 程式碼
mermaid
sequenceDiagram
  actor Reviewer as 評審
  actor Staff as 競賽承辦人員
  participant System as 報名與審查系統
  Reviewer->>System: 提出評分更正申請
  System->>System: 保存申請內容與提出時間
  System-->>Reviewer: 回覆申請已記錄
  Staff->>System: 要求處理更正申請
  System->>System: 驗證授權並讀取正式評分
  System->>System: 保存處理人員、時間、前後內容與結果
  System-->>Staff: 回覆處理完成

這張圖不把評審提出申請與競賽承辦人員處理申請誤認為同一次連續操作;兩段互動以已保存的更正申請銜接。處理結果值尚未定義,因此圖中只使用中性的「結果」。

10.8.4 結果確認與公告

UC-07與UC-08是兩次可以分別發生的系統服務,因此必須分成兩張圖。UC-07由主辦單位確認結果,系統保存確認狀態、確認人員及確認時間:

text
sequenceDiagram
  actor Organizer as 主辦單位
  participant System as 報名與審查系統
  Organizer->>System: 要求確認競賽結果
  System->>System: 驗證身分與確認資格
  System->>System: 保存確認狀態、確認人員與時間
  System-->>Organizer: 回覆確認完成
Mermaid 圖形預覽Mermaid 11.12
查看並複製 Mermaid 程式碼
mermaid
sequenceDiagram
  actor Organizer as 主辦單位
  participant System as 報名與審查系統
  Organizer->>System: 要求確認競賽結果
  System->>System: 驗證身分與確認資格
  System->>System: 保存確認狀態、確認人員與時間
  System-->>Organizer: 回覆確認完成

UC-08由競賽承辦人員在另一個時間點要求公告。系統必須重新讀取持久保存的確認狀態,不能假設UC-07剛剛才發生:

text
sequenceDiagram
  actor Staff as 競賽承辦人員
  participant System as 報名與審查系統
  Staff->>System: 要求公告競賽結果
  System->>System: 驗證身分並讀取確認狀態
  alt 結果已確認
    System->>System: 公告結果並保存公告紀錄
    System-->>Staff: 回覆公告完成
  else 結果尚未確認
    System-->>Staff: 拒絕公告
  end
Mermaid 圖形預覽Mermaid 11.12
查看並複製 Mermaid 程式碼
mermaid
sequenceDiagram
  actor Staff as 競賽承辦人員
  participant System as 報名與審查系統
  Staff->>System: 要求公告競賽結果
  System->>System: 驗證身分並讀取確認狀態
  alt 結果已確認
    System->>System: 公告結果並保存公告紀錄
    System-->>Staff: 回覆公告完成
  else 結果尚未確認
    System-->>Staff: 拒絕公告
  end

兩張圖透過「競賽結果確認狀態」銜接,而不是透過同一次會話的訊息順序銜接。UC-08的alt片段同時表達AC-20的拒絕情境與AC-21的成功情境,並與前文的競賽結果狀態圖一致。

10.8.5 追蹤與整體審查

互動主要依據審查重點
提交報名UC-01、UC-09、FR-13、FR-15、BR-01、BR-09、AC-14、AC-15身分、人數與期限檢查
上傳專題文件UC-03、UC-09、FR-11、FR-13、BR-13、AC-03~AC-05、AC-14、AC-15身分、PDF與20 MB限制
評分更正UC-06、FR-09、FR-10、BR-11、BR-12、DR-06不得直接改寫正式評分
確認結果UC-07、FR-17、BR-10保存確認狀態
公告結果UC-08、FR-18、BR-10、AC-20、AC-21未確認時拒絕公告

整體審查應比較使用案例文字、活動流程、資料模型、領域模型及循序圖,確認同一事件、狀態與規則沒有出現不同版本。