目录
2.1 高级类
1.类目(Classifiers)
一般而言,有实例的的建模元素被称为类目。类目有结构特征(以属性的形式)和行为特征(以操作的形式)。
2.可见性(Visibility)
3.实例范围和静态范围(Instanceand Static Scope)
4.抽象元素、叶子元素和多态性元素(Abstract,Leaf, and Polymorphic Elements)
5.重数(Multiplicity)
6.属性(Attributes)
语法:
[可见性]属性名[’:’类型][‘[重数’]’][‘=’初始值][特征串{‘,’特征串}]
例:
origin 只有属性名
+origin 可见性和属性名
origin:Point 属性名和类型
name:String[0..1] 属性名、类型和重数
origin:Point = (0,0)属性名、类型和初始值
id:Integer { readonly} 属性名、类型和特性
7.操作(Operations)
参数的语法:
[方向] 参数名:类型 [=默认值]
方向可以是
in 输入参数
out输出参数
inout输入输出参数,调用者可修改
用于操作的特性:
leaf abstract
query
sequential guarded concurrent
static
8.模板类(Template class)
被参数化的元素。不能直接使用,必须首先对它进行实例化。(把形式参数绑定为实际参数)
9.标准元素(StandardElements)
2.2
高级关系
1.依赖
可用于类图中的类和对象之间的依赖关系上的构造型:
bind
derive
permit
instanceOf
instantiate
powertype
refine
use
用于包之间依赖的构造型:
import
access
用于用例之间的依赖的构造型:
extend
include
用于对象间交互语境的构造型
send
trace
2.泛化
泛化的约束:
complete,incomplete,disjoint,overlapping
3.关联
关联的基本修饰:关联名、角色、重数、聚合
在两个类之间的关联中,关联本身可以有特性。在UML中把这种情况建模为关联类。
用于关联的约束:
ordered
set
bag
order set
list 或 sequence
readonly
4.实现
2.3
接口
名称
2.4
可见性设计
(1)属性可见性
这是一种相对持久的可见性。
(2)参数可见性
这种可见性是相对暂时的。
(3)局部可见性
两种常见方式:
(4)全局可见性
这是一种相对持久的可见性。
2.5 将设计映射为代码
DCD
和 UP 术语
领域模型 vs. 设计模型类
2. 代码生成
编程和开发过程
在实现时候的创造性和变更
代码变更和迭代过程
从DCD创建类的定义
(1)定义带有方法和简单属性的类
(2)增加引用属性
引用属性和角色名字
(3)属性映射
(4) 从交互图中创建方法
(5) 代码中的容器/集合类
注意
小结