第 8 章

8.1 從需求與流程進入資料分析

資料分析與資料建模

8.1.1 資料支持系統功能

一項功能需求通常隱含多項資料需求。FR-11要求系統允許隊長上傳專題文件,至少涉及文件名稱、格式、大小、上傳時間、所屬報名及上傳者等資料。BR-13又要求文件採PDF格式且單一檔案不得超過20 MB,因此格式與大小不只是畫面欄位,也是必須檢查的資料限制。

資料分析的目的不是把每個畫面欄位抄成一張表,而是找出系統必須長期理解的業務事實:

  • 哪些事物需要被獨立辨識?
  • 需要記錄哪些資訊?不會再使用的資料無需記錄。不記錄的資料將來無法出現在資訊系統。
  • 不同資料之間如何連結?
  • 哪些資訊可以省略?不填也沒關係。哪些資訊必須存在?沒資訊就不該允許繼續系統操作。
  • 哪些資訊可以補輸入?可以暫時存在,直到執行哪一個功能之前才規定一定要輸入?
  • 哪些限制來自正式需求或業務規則?

8.1.2 資料模型與其他分析模型

不同模型從不同角度描述同一系統:

模型主要問題對資料建模的貢獻
需求規格系統必須滿足什麼提供資料限制與業務規則
使用案例參與者要完成什麼目標找出輸入、輸出及持久保存的資訊
活動圖工作如何進行找出流程中被建立、讀取或改變的資料
資料模型系統必須知道哪些事實組織實體、屬性、關係與限制

資料模型不能取代流程模型。資料的實體關聯圖(Entity Relationship Diagram, ERD)中的兩個實體有關係,不代表流程一定依某個順序進行;活動圖中的箭頭也不等於資料實體之間的關係。

8.1.3 資料分析的範圍

系統包括很多功能,這些功能涉及不同的資料,為了簡化分析,系統分析人員應先決定某一資料模型涵蓋哪些業務範圍,再逐步把所有資料都納入。例如,Case M01可以分成報名與文件上傳、評審分派、評分與更正、結果確認與公告四個範圍。局部模型可先處理其中一項,再逐步整合。

不屬於目前需求範圍的資料不應因為「未來可能有用」就加入。例如,若系統不處理學生修課紀錄,就不應把完整選課資料納入競賽報名模型。系統不可能無限擴大,已經確認不在系統範圍內的資料,無需納入。

8.1.4 資料分析的主要產出

資料分析通常產生:

  • 資料實體及其定義。
  • 重要屬性與識別方式。
  • 實體之間的關係、基數與選擇性。
  • 資料字典與允許值說明。
  • 唯一性、必填、參照及狀態限制。
  • 模型元素與需求來源的追蹤關係。
  • 假設、風險及待確認事項。