UML关系

        在UML中有几种关系,关联(Association),依赖(Dependency),泛化(Generalization),实现(Realization)。其中关联又可以分为聚合(Aggregation)和组合(Composition)。
        这些关系的强弱顺序为:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
        

关联:是一种结构关系,指明一个事物的对象与另一个事物的对象间的联系。

        【UML表示法】实线+箭头。

        【箭头指向】从关联的对象指向被关联的对象。

         


聚合:是整体与部分的关系,部分可以离开整体而单独存在。如大雁和雁群,大雁离开雁群,也可以单独存在。

        【UML表示法】带空心的菱形的实线。

        【箭头指向】空心菱形指向整体。

         


组合:也是整体与部分的关系,但部分不能离开整体而单独存在。如鸟和翅膀,翅膀不能作为单独的个体存在。

        【UML表示法】带实心的菱形的实线。

        【箭头指向】实心菱形指向整体。

            


泛化:是一种特殊/一般关系。可以看做为继承关系。事物之间的关系是什么是什么的关系,如管理者和工程师都是雇员,就可以采用泛化关系。

        【UML表示法】实线+空心三角。

        【箭头指向】从子元素指向父元素,从特殊元素指向一般元素。

             


依赖:是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义。是一种使用using的关系。基本上所有事物之间的关系都可以用依赖表示,而且依赖关系很弱,所以能不用依赖就不用。

        【UML表示法】虚线+箭头

        【箭头指向】从依赖事物指向独立事物。

         


实现:是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。类元是指类,
状态类,类元角色,构件,数据类型,接口,节点,信号,子系统,用例的实例。

        【UML表示法】虚线+空心三角

  【箭头指向】一般为接口

         

原则:

        能不使用依赖关系就不使用,能使用聚合或组合就不使用关联。


### 绘制UML关系图的方法 在UML中,关系图是一种重要的表达方式,它通过图形化的方式描述系统的结构和行为。以下是关于如何绘制UML关系图的一些指导: #### 使用工具支持 Visual Paradigm 是一种强大的 UML 建模工具,能够帮助用户轻松创建各种类型的 UML 图形[^2]。对于初学者来说,这款工具提供了直观的界面以及详细的教程文档来引导用户完成绘图过程。 #### 创建具体图表实例 以活动图为例子,在启动 Visual Paradigm 后可以通过新建项目并选择相应的模板来进行操作。当需要定义一个新的活动图时,按照提示输入名称比如 `Activity Diagram Tutorial` 并确认即可获得空白画布开始构建自己的逻辑流程[^3]。 #### 关于约束的应用 如果涉及到复杂场景下的条件判断或者特定规则设定,则可以利用UML中的约束机制。需要注意的是,在不同的版本间可能存在差异;例如从UML 1.x升级至2.0后,约束不再局限于单条消息之上而是有了更灵活的表现形式[^1]。 ```java // 示例代码展示简单的类之间关联关系 public class Student { private String name; public void enrollCourse(Course course){ System.out.println(name+" has enrolled into "+course.getName()); } } public class Course{ private String name; public String getName(){ return this.name; } } ``` 上述Java伪代码展示了两个实体Class之间的基本连接模式,这正是我们在制作UML类图时候所要捕捉的内容之一。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值