图2.1 通讯录的初始模型。
这个模型展示了人和组织的相似责任。
图2.2 使用当事者来泛化之后的图2.1 。
很多用到人或组织的情形,应该使用当事者。
建模示范视频全程字幕,umlchina.com/url/video.html
图2.3 用显式级别表示的组织结构。
这样一个结构不灵活又难以复用。
图2.4 带层级关系的组织超类型。
层级关联提供了最大的灵活性。级别导致的约束必须作为规则添加在子类型上。
图2.5 两个组织层级结构。
组织的子类型未展示。如果有很多层级结构,这个模型将很快失控。
图2.6 使用类型化关系。
组织之间的每一个关系都由一个组织结构类型定义。如果有很多个关系,这样做比显式关联更好。
图2.7 给图2.6添加规则。
该规则强制执行约束,例如销售办事处向分部汇报。
建模示范视频全程字幕,umlchina.com/url/video.html
图2.8 当责。
使用当事者,当责可以涵盖广泛的当事者间责任,包括管理、雇佣和合约。
图2.9 当责的知识级和操作级。
知识级对象定义操作级对象的合法配置。只能根据相应的当责类型和当事者类型在当事者之间创建当责。
图2.10 允许当事者类型具有子类型和超类型。
给当事者类型添加泛化使定义知识级变得更容易
图2.11 层级当责类型。
所添加的约束意味着通过此类型的当责来链接的当事者必须形成一个层级结构。
图2.12 分级当责类型。
分级当责支持固定级别,如销售办事处、分部、地区。
图2.13 重新平衡当责类型的子类型。
一个更好地组织当责类型层级结构的方式。
图2.14 操作范围
操作范围定义当责在创建时所承担的责任。它们可以用于职务描述。
图2.15 岗位。
如果当责和操作范围由岗位定义,并且在岗位持有者变更时不会变更,就使用岗位。对岗位的任命是当责。