求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code
会员   
订购 | 案例 | 学习资源 | 培训&咨询 | 解决方案 | 模型框架 | 用户组 | 客户专区 | 联系我们
 
学习视频
在线讲座
文章
白皮书
教程
EA手册库
sysml指南
Archimate
解决方案
学习中心库
市场活动
Code模型
 

工具 > Enterprise Architect > 技术文档   1035 次浏览  5 次
 

UML 2 教程 - 类图


类图

类图显示了任何面向对象系统的构建块。类图描述模型的静态视图,或者模型的一部分,描述它有什么属性和行为,而不是详细描述实现操作的方法。类图在说明类和接口之间的关系时非常有用。泛化、聚合和关联分别在反映继承、组合或使用和连接方面都很有价值。

下图说明了类之间的聚合关系。较轻的聚合指示类“Account”使用AddressBook,但不一定包含它的实例。其他连接器的强复合聚合指示目标类对源类的所有权或包含性,例如,Contact和ContactGroup值将包含在AddressBook中。

类是定义对象能够生成的属性和行为的元素。该行为由类能够理解的可能消息以及适合于每个消息的操作来描述。类也可以有约束、标记值和原型的定义。

类符号

类用矩形表示,矩形显示类的名称,也可以显示操作和属性的名称。分隔用来划分类名、属性和操作。

在下面的图中,类包含了最上面的部分中的类名,下一个部分详细描述了属性,“center”属性显示了初始值。最后一个隔间显示了操作setWidth, setLength和setPosition以及它们的参数。属性或操作名前面的符号表示元素的可见性:如果使用了+符号,属性或操作具有公共级别的可见性;如果使用了-符号,则属性或操作是私有的。此外,#符号允许将操作或属性定义为受保护的,而~符号表示包的可见性。


接口

接口是实现者同意满足的行为规范;这是一份合同。通过实现接口,可以保证类支持所需的行为,这允许系统以相同的方式处理不相关的元素——即通过公共接口。

接口可以以与类类似的样式绘制,并指定操作,如下所示。 它们也可以画成一个没有详细明确操作的圆圈。 当绘制为圆形时,与圆形符号的实现链接不带目标箭头。/


尽管不是基本 UML 的一部分,但表是可以使用构造型完成的示例。它在右上角用一个小表格图标绘制。表属性是原型《column》。大多数表都会有一个主键,它是一个或多个字段,形成用于访问表的唯一组合,加上一个被构造型为《PK》的主键操作。一些表将有一个或多个外键,即一个或多个字段一起映射到相关表中的主键,加上一个外键操作,它是原型《FK》。


关联

关联意味着两个模型元素有一个关系——通常作为一个类中的实例变量实现。这个连接器可以包括两端的命名角色、基数、方向和约束。关联是元素之间的一般关系类型。对于两个以上的元素,还可以使用菱形表示工具箱元素。当为类图生成代码时,命名的关联结束成为目标类中的实例变量。因此,在下面的例子中,“playsFor”将成为“Player”类中的一个实例变量。


泛化

泛化用于指示继承。 从具体分类器到一般分类器,泛化的含义是源继承了目标的特征。 下图显示了泛化子类的父类。 隐式地,Circle 类的实例化对象将具有属性 x_position、y_position 和 radius 以及方法 display()。 请注意,“Shape”类是抽象的,名称以斜体表示。



下图显示了相同信息的等效视图。



聚合

聚合用于描述由较小组件组成的元素。 聚合关系由指向目标或父类的白色菱形箭头表示。

一种更强的聚合形式 - 复合聚合 - 由黑色菱形箭头表示,用于一次最多可以包含一个组合的组件。 如果组合聚合的父级被删除,通常它的所有部分都会随之删除; 但是,可以从合成中单独删除一部分,而不必删除整个合成。 组合是传递的、不对称的关系并且可以是递归的。

下图说明了弱聚合和强聚合之间的区别。 通讯簿由多个联系人和联系人组组成。 联系人组是联系人的虚拟分组; 一个联系人可能包含在多个联系人组中。 如果您删除通讯录,所有联系人和联系人组也将被删除; 如果删除联系人组,则不会删除任何联系人。


关联类

关联类是允许关联连接具有操作和属性的构造。 以下示例表明,将员工分配给项目不仅仅是在两个类之间建立简单的关联链接:员工在项目中担任的角色本身就是一个复杂的实体,包含不属于的细节在员工或项目类中。 例如,一名员工可能同时从事多个项目,并且每个项目都有不同的职位和安全级别。


依赖

依赖关系用于对模型元素之间的广泛依赖关系进行建模。 它通常会在设计过程的早期使用,其中已知两个元素之间存在某种联系,但要确切知道这种关系是什么还为时过早。 在设计过程的后期,依赖关系将被定型(可用的定型包括《instantiate》、《trace》、《import》等),或者替换为更具体的连接器类型。

跟踪

跟踪关系是依赖关系的一种特殊化,它链接模型元素或跨模型表示相同想法的元素集。跟踪通常用于跟踪需求和模型更改。由于更改可能在两个方向上发生,因此这种依赖关系的顺序通常被忽略。关系的属性可以指定跟踪映射,但跟踪通常是双向的、非正式的并且很少可计算。

实现

源对象实现或实现目的地。实现用于表示模型中的可追溯性和完整性——一个业务流程或需求由一个或多个用例实现,这些用例又由一些类实现,这些类又由一个组件等实现。映射需求、类等贯穿您的系统设计,直至建模抽象层级,确保系统的大图记住并反映约束和定义它的所有小图和细节。实现显示为带有实线箭头的虚线。



嵌套

嵌套是一种连接器,显示源元素嵌套在目标元素中。下面的图表显示了内部类的定义,尽管在EA中更常见的是通过它们在项目视图层次结构中的位置来显示它们。

1035 次浏览  5 次
相关推荐

文章:uml概览
文章:企业架构、TOGAF与 ArchiMate 概览
文章: 人、技术、过程、工具、质量 ——“以人为本”的工程哲学
视频:BPMN建模和验证
课程:基于 UML 和EA进行分析设计