参考书籍《大象-Think in UML》
1. 什么是UML
UML是一种建模用的语言,它定义了一些建立模型所需要的、表达某种特定含义的基本元素,这些元素称为元模型,例如用例、类等。
另外,UML还定义了这些元模型互相之间关系的规则,以及如何用这些元素和规则绘制图形以建立模型来映射现实世界,这些规则和图形称为表示法或试图(View)。
2. 从现实世界到业务模型
现实世界无论是哪个行业、什么业务,其本质都是由人、事、物和规则组成。人是一切的中心,人做事就会使用一些物并产生另一些物,同时做事需要遵循一定的规则。人驱动系统,事体现过程,物记录结果,规则是控制。建立模型的关键就是弄明白有什么人,什么人做什么事,什么事产生什么物,中间有什么规则,再把人、事、物之间的关系定义出来,一个模型也就基本成型了。
在UML中,参与者(actor)代表了现实世界的“人”。参与者是信息来源的提供者,也是第一驱动着。换句话说,要建立的模型的意义完全被参与者决定,所建立的模型也是完全为参与者服务,参与者是整个建模过程的中心。
在UML中,用例(use case)代表了现实世界的“事”。
而这件事是怎么做的,依据什么规则,则通过被称为业务场景(business scenario)和用例场景(use case scenario)的UML试图来描绘的,这些场景便是现实世界中的“规则”。
最后,UML通过被称为业务对象模型的视图来说明在达成这些业务目标的过程中涉及到的事物,用逻辑概念来表示它们,并定于它们之间的关系,业务对象模型则代表了现实世界中的“物”。
从现实世界到业务模型
3. 从业务模型到概念模型
UML被称为概念化(Conceptual)的过程来建立适合计算机理解和实现的模型,这个模型称为分析模型(Analysis Model)。分析模型介于原始需求和计算机实现之间,是一种过渡模型。
绘制分析模型主要的元模型有:
(1) 边界类(boundary)----决定了外面能对里面做什么“事”。
(2) 实体类(entity)---------映射了现实世界中的“物”。
(3) 控制类(control) ------来表述原始需求中的动态信息,即业务或用例场景中的步骤和活动。
从业务模型到概念模型
4. 从概念模型到设计模型
在设计模型中,概念模型中的边界类可以被转化为操作界面或者系统接口;控制类可以被转化为计算程序或控制程序,例如工作流、算法体等;实体类可以转化为数据表、XML文档或者其他带有持久化特征的类。
由于软件项目可以选择不同的软件架构和框架,可以选择不同的编程语言,也可以选择不同的软件规范,还可以购买不同的中间件,因此同样的概念模型会因为选择不同而得到不同的设计模型。
从概念模型到设计模型