MDA(Model-Driven Architecture)與UML(Unified Modeling Language)同為OMG(Object Management Group)機構之標準。
MDA主要將生成的UML模型,分為下列三個階段:
● CIM(Computation Independent Model)——聚焦于系統環境及需求,但不涉及系統內部的結構與動作細節。
● PIM(Platform Independent Model)——聚焦于系統內部細節,但不涉及實現系統的具體平臺(Platform)。
● PSM(Platform Specific Model)——聚焦于系統落實于特定具體平臺的細節。例如,Spring、EJB2或.NET都是一種具體平臺。
最后,程序員會依據PSM的UML模型內容,按圖施工,編寫出適用于特定具體平臺的代碼。
MDA提出的解決方法——將企業及應用系統與實現技術平臺分離,且以統一建模語言UML來表達與平臺無關的PIM,然后再設計出適用于特定平臺的模型PSM。如此一來,因為分隔且封裝了企業與技術兩方面的變化,所以降低了兩者之間的牽動。
MDA主張將設計切分成PIM和PSM。
MDA項目開發的第一步驟從CIM開始,不同于PIM和PSM,CIM試圖表達信息系統的應用環境,而非信息系統本身。
在進行CIM時,關切的是與企業相關的營運目標、實現條件及運作流程等,先了解信息系統的應用環境,才有可能為企業量身打造出完善的信息系統。
在經歷構建CIM的過程中,除了可以逐步了解企業,同時也建立與業務人員之間的溝通方式及默契,還讓業務人員可以參與信息系統的開發。
CIM旨在記錄企業領域里的重要需求與概念。
PIM和PSM之間的界限,比較容易混淆,兩者所關切的主體都是信息系統,分別的界限在于“平臺”(Platform)一詞。
簡言之,PIM與PSM的界限在于,是否支持特定的具體平臺。前者與具體平臺無關,后者則得適合某一個特定的具體平臺。
分析步驟參考:(CIM、PIM階段)
CIM-1:定義業務流程,產生業務用例模型。
CIM-2:分析業務流程,產生活動圖。
CIM-3:定義系統范圍,產生系統用例圖。
PIM-1:分析系統流程,產生系統用例敘述。
PIM-2:分析業務規則,產生狀態圖
PIM-3:定義靜態結構,產生類圖。
PIM-4:定義操作及方法,生成序列圖。