MDA

MDA

MDA就是Model-Driven Architecture,勾勒出理想的軟體開發方式(架構),主張將設計分成3部份

  • CIM ( Computation Independent Model )
    1. 著重於系統環境及需求
    2. 不涉及系統內部的結構與運作細節
  • PIM ( Platform Independent Model )
    1. 著重於系統內部細節
    2. 不涉及實作系統的實體平台
  • PSM ( Platform Specific Model )
    1. 著重於特殊實體平台的細節

 

在分析階段,畫出PIM,再讓工具根據我們的實際平台產生PSM,最後再產生程式碼。

mda-overview

而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

OO and MDA 

MDA與軟體開發工具