MDA
MDA就是Model-Driven Architecture,勾勒出理想的軟體開發方式(架構),主張將設計分成3部份
- CIM ( Computation Independent Model )
- 著重於系統環境及需求
- 不涉及系統內部的結構與運作細節
- PIM ( Platform Independent Model )
- 著重於系統內部細節
- 不涉及實作系統的實體平台
- PSM ( Platform Specific Model )
- 著重於特殊實體平台的細節
在分析階段,畫出PIM,再讓工具根據我們的實際平台產生PSM,最後再產生程式碼。
而PIM跟PSM各要做什麼事呢?
PIM主要是做抽象化的Class Diagram -> 來滿足All Case
PSM主要是根據實際狀況描繪出Class Diagram -> 來滿足Single Case
這2者的分水嶺在於『平台』
PIM表達的設計必須無關或獨立於任何一個特定平台,而PSM必須要能夠真正落實及適合某一個特定平台
根據寫給SA的UML/MDA實務手冊一書中提到,作者定義了以下的步驟及產出
- CIM-1:定義企業流程,產出企業UC模式
- CIM-2:分析企業流程,產出活動圖
- CIM-3:定義系統範圍,產出系統UC圖
- PIM-1:分析系統流程,產出系統UC敘述
- PIM-2:分析企業規則,產出狀態圖
- PIM-3:定義靜態結構,產出類別圖
- PIM-4:定義操作及方法,產出循序圖
接下來我會根據每一點,提出我讀後感及一些想法來給大家
Reference