UML建模:扩展与应用
立即解锁
发布时间: 2025-08-16 02:43:48 阅读量: 2 订阅数: 10 


UML用户指南:从入门到精通
# UML建模:扩展与应用
## 1. UML中的关系建模
在UML建模中,存在着多种关系,这些关系对于准确描述系统结构至关重要。
### 1.1 课程与教师的关系
课程(Course)和教师(Instructor)之间存在关联,表明教师教授课程。每门课程至少有一位教师,而每位教师可以教授零门或多门课程。
### 1.2 学校与部门、学生的关系
学校(School)与部门(Department)之间是复合聚合关系。学校与学生(Student)和部门之间是聚合关系。学校可以有零个或多个学生,每个学生可以是一个或多个学校的注册成员;学校有一个或多个部门,每个部门只属于一个学校。通过明确学校是整体,学生和部门是其部分,能清晰体现组织上的层级关系。
### 1.3 部门与教师的关系
部门与教师之间有两种关联。一种是每位教师被分配到一个或多个部门,每个部门有一个或多个教师,这被建模为聚合关系,因为部门在学校结构中级别高于教师。另一种是每个部门恰好有一位教师担任系主任,一位教师最多只能担任一个部门的系主任,有些教师不担任任何部门的系主任。
### 1.4 UML关系建模的提示
在UML中进行关系建模时,有以下提示:
- 使用依赖关系:仅当建模的关系不是结构性时使用。
- 使用泛化关系:仅当存在“是一种”关系时使用,多重继承通常可以用聚合代替。
- 避免循环泛化关系:要注意避免引入循环泛化关系。
- 保持泛化关系平衡:继承层次不应过深(超过五层左右应进行审视)或过宽(可寻找中间抽象类的可能性)。
- 使用关联关系:主要用于对象之间存在结构关系的情况。
在绘制UML关系时:
- 线条使用:始终一致地使用直线或斜线。直线能强调相关事物指向一个共同事物的连接;斜线在复杂图表中通常更节省空间。在同一图表中使用两种线条有助于突出不同组的关系。
- 避免交叉线:避免线条交叉。
- 显示必要关系:只显示理解特定事物分组所必需的关系,多余的关系(尤其是冗余关联)应省略。
## 2. UML的通用机制
UML有四种通用机制,即规格说明、修饰、通用划分和可扩展机制,这里主要介绍修饰和可扩展机制。
### 2.1 注释(Notes)
注释是一种独立的重要修饰。它是用于呈现附加到一个元素或一组元素的约束或注释的图形符号。注释可用于向模型附加信息,如需求、观察、评审和解释等。注释对模型的语义没有影响,其内容不会改变所附模型的含义。注释可以包含文本或图形的任意组合,还可以包含实时URL,甚至链接或嵌入其他文档。UML为注释指定了一个标准构造型——需求,用于表示陈述某种责任或义务的注释类别。
### 2.2 构造型(Stereotypes)、标记值(Tagged Values)和约束(Constraints)
这些是UML的可扩展机制,允许以受控方式扩展语言。
- 构造型:扩展UML的词汇,允许创建类似于现有构建块但特定于问题的新构建块。图形上,构造型显示为用尖括号括起来的名称,放在另一个元素名称之上。还可以为构造型定义图标,以提供视觉提示。
- 标记值:扩展UML元素的属性,允许在元素的规格说明中创建新信息。图形上,标记值显示为用方括号括起来的字符串,放在另一个元素名称之下。常见用途包括指定与代码生成或配置管理相关的属性。
- 约束:扩展UML元素的语义,允许添加新规则或修改现有规则。图形上,约束显示为用方括号括起来的字符串,放在相关元素附近或通过依赖关系连接到该元素。可以使用自由文本编写约束,也可以使用UML的对象约束语言(OCL)更精确地指定语义。
### 2.3 其他修饰
修饰是添加到元素基本符号上的文本或图形项,用于可视化元素规格说明中的细节。例如,关联的基本符号是一条线,但可以用两端的角色和多重性等细节进行修饰。在使用UML时,一般规则是从每个元素的基本符号开始,仅在必要时添加其他修饰以传达对模型重要的特定信息。对于类、组件和节点等元素,可以在通常的分区下方添加额外的分区来提供更多信息,但要明确命名额外分区,并且谨慎使用,以免图表过于杂乱。
## 3. 常见建模技术
### 3.1 建模注释
使用注释的最常见目的是写下自由形式的观察、评审或解释。通过将这些注释直接放在模型中,模型可以成为开发过程中创建的所有不同工件的公共存储库。具体操作步骤如下:
1. 将注释作为文本放在注释框中,并将其放置在与其引用的元素相邻的位置。可以通过依赖关系将注释与元素连接起来,以显示更明确的关系。
2. 可以根据需要隐藏或显示模型元素,不必在元素可见的所有地方
0
0
复制全文
相关推荐









