第 9 章

9.8 類別圖工具、AI輔助與品質檢查

物件導向分析與領域建模

9.8.1 工具的選擇

類別圖可使用圖形化建模工具或文字式建模工具建立。選擇工具時,應考量:

  • 是否支援類別、屬性、關聯、多重性及一般化?
  • 是否能保存模型元素,而不只是繪製圖形?
  • 是否便於版本管理、差異比較與團隊協作?
  • 是否能輸出適合教材、文件與網站使用的格式?
  • 是否能在模型變更時同步更新不同圖面?

Mermaid與PlantUML適合文字式版本管理及快速產圖;完整UML建模工具則較適合管理大型模型與元素之間的關係。工具不能替代語意判斷,即使語法正確,模型仍可能違背需求。

9.8.2 AI可以協助的工作

AI可以協助:

  • 從需求文字擷取候選名詞。
  • 將同義詞分組,並提出統一命名建議。
  • 提出候選類別、屬性與關聯。
  • 將已確認的模型轉換為Mermaid或PlantUML程式碼。
  • 比較類別圖與需求、使用案例及活動圖是否一致。
  • 找出缺少來源、相互矛盾或多重性不明的模型元素。
  • 產生領域專家審查時需要提出的問題。

AI輸出的模型只能視為候選內容。AI可能誤判動作的類別、將介面欄位當成領域屬性、虛構多重性,或把軟體設計模式混入分析模型。

9.8.3 建立有依據的提示詞

提示詞應提供明確範圍與證據,並要求AI區分事實、推論和待確認事項。例如:

提示詞若只要求「畫一張完整類別圖」,AI往往會為了追求完整而補入未經確認的內容。要求來源與信心程度,可以降低這類風險。

9.8.4 類別模型品質檢查

類別模型至少應檢查下列面向:

  • 範圍: 類別是否屬於目前系統範圍。
  • 命名: 是否沿用需求中的一致名詞。
  • 定義: 每個類別是否具有清楚且不重疊的意義。
  • 屬性: 是否為業務所需,而非任意加入的技術欄位。
  • 關聯: 是否具有可解釋的業務語意。
  • 多重性: 是否有需求或領域知識支持。
  • 結構: 是否誤用聚合、組合或繼承。
  • 追溯: 重要元素是否能連回需求、規則或流程。
  • 一致性: 是否與使用案例、活動圖及驗收準則相符。
  • 可讀性: 圖面是否避免交叉線過多及不必要細節。

9.8.5 AI Lab:產生並審查候選類別模型

可使用UC-06「處理評分更正」進行練習:

  1. 提供FR-09、FR-10、BR-11、BR-12及DR-06。
  2. 要求AI提出候選類別、屬性、關聯與多重性。
  3. 要求AI逐項列出需求依據,不足者標為待確認。
  4. 檢查是否區分「評分」與「評分更正申請」。
  5. 檢查是否誤稱評審可以直接修改已正式送出的評分。
  6. 修正模型並轉換為Mermaid類別圖。
  7. 以基本流程與例外情境再次檢核。

練習成果應同時包含圖形、文字定義、追蹤表及待確認事項,不能只提交一張圖。