“四色原型”介绍及其样例

“四色原型”是一种很重要的面向对象建模方法,自《彩色UML建模》一书中提出至今已有20年的历史,但是它前卫经典的思想和方法在今天仍然被人们借鉴和使用。本文将简析“四色原型”建模方法,并以购物订单为例描述“四色原型”的实际应用。

前提条件
“四色原型”的建模方法依赖UML的基础知识,UML是一种主流的建模语言,“四色原型”是在UML建模的基础上增添了一些描述,很清晰的明确业务含义。UML的相关知识:实体、关系(关联、聚合、继承)等,本文主要介绍“四色原型”,对UML的知识不赘述。

基本知识
“四色原型”是在使用UML建模的时候,把实体分为四类,并标注不同的颜色的一种建模方法。这种方法是模型设计经验的一种沉淀,能让我们更加深刻的理解每个对象的职责,以及对象之间的相互关系,通过四种颜色,能帮我们更好的分析建模对象,让我们分析复杂业务的同时也更直观的将对象关系一目了然呈现给大家,同时也能表达出比一般的黑白模型更加丰富的领域信息。

“四色原型”的定义如下:
“四色原型”介绍及其样例
四色原型是领域模型的一种原型,原型的意思是指领域中的任何模型及其关系都可以抽象为“四色原型”。使用“四色原型”方法进行UML建模的时候,对于每一个要建模的对象,分析其属于“四色原型”中的哪一种类型,在建模时将对象通过所属类型颜色表明,最终完成的建模图中可以更清晰明确各个对象的类型和业务含义。
用一句话来概括四色原型就是:一个什么样的人或物品以某种角色在某个时刻或某段时间内参与某个活动。其中“什么样的”就是DESC,“人或物品”就是PPT,”角色”就是ROLE,而“某个时刻或某个时间段内的某个活动”就是MI。

应用案例
我们以购物下订单为例来说明“四色原型”使用方法。
下订单的过程分析:首先用户要登录,然后选择要购买的产品,产品肯定属于一个产品分类,然后用户以买家的角色下订单,订单有订单头(包括订单日期、用户、地址、派送方式、订单总金额等)、订单明细(销售的产品名称、产品规格、产品数量、单价等)。把这个过程中涉及到的对象抽象如下:
“四色原型”介绍及其样例
识别了实体属于的四色之后,就可以在UML上建模,并涂上颜色,明确关系。如下:
“四色原型”介绍及其样例
备注:

  1. 以上是一个最小化的例子来说明“四色原型”建模方法,实际建模的时候考虑的细节会更多。
  2. 案例的关系不是“四色原型”关注的重点,那是UML的内容,“四色原型”的重点在于通过四色(四种类型的实体)来识别实体。
  3. “四色原型”有一个规则:就是MI(事件)不能与PPT(事物)直接打交道,必须通过ROLE(角色)来打交道。在本例中,每个淘宝用户可以扮演两种角色,买家和卖家,本例中我们只使用了买家这个角色,因为只有买家才下订单,订单只能通过买家与用户关联,而不能直接关联。
    “四色原型”介绍及其样例