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:定义操作及方法,生成序列图。