UML系列文章(10)---高级关系

依赖、泛化和关联是UML的3种最重要的关联构造块。除了前几部分描述的内容外,这些关系还有一些其他特性。也可以对多继承、导航、组合、精化和其他特性建模。使用第4种关系(实现)可以对接口与类或者接口与构件之间的联系建模,也可以对用况和协作之间的联系建模。在UML中,可按任何形式化程度对关系的语义建模。

  1. 入门

如果正在建造一所房屋,决定各房间的布局是一项关键的任务。通过对这些基本关系和用况的构思,可以形成一个相当完整的房屋楼层布置图。如果不考虑复杂的关系。最终会由于设计中的一些实际缺陷而失败。例如,不考虑把房间安排得把上下水管道装在公共的墙内,就要增加房屋建设的造价。当对软件密集型系统建模时,依赖、泛化和关联是要遇到的最常用的关系。然而为了捕获系统中的一些细节,就需要这些关系中的一些高级特性。比如下图,

2. 术语和概念

关系是事物之间的联系。在面向对象的建模中,4种最重要的关系是依赖、泛化、关联和实现。在图形上,把关系画成线段,用不同种类的线段区分不同的关系。

  • 依赖

依赖是一种使用关系,它描述了一个事物的规约变化可能会影响到使用它的另一个事物,但反之不然。在图形上,依赖画成一条指向被依赖事物的虚线。

依赖关系的衍型有:

1)绑定

2)导出

3)允许

4)实例之一

5)实例化

6)幂类型

7)精化

8)使用

包与包之间的依赖关系:

1)引入

2)访问

用况之间的依赖关系:

1)延伸

2)包含

  • 泛化

 

  • 关联

导航关联

关联可见性

 

限定

 

组合

 

 关联类

 

  • 实现

 

 

3.常见建模技术

对关系网建模,遵循如下策略:

  • 开始不要孤立地看问题。利用用况和脚本来驱使去发现一组抽象之间的关系。
  • 一般要从呈现的结构关系建模。这些关系反应了系统的静态视图
  • 识别使用一般、特殊关系的机会;少用多继承;
  • 寻找依赖
  • 只有在表达意图绝对必要时,才应用高级特性;
  • 不应该也不必要在一张图或视图内对一组抽象之间所有的关系建模。通过不同的视图来建立系统的关系。

4. 提示和技巧

对关系建模时应该具备如下特点:

  • 仅显示客户使用关系所需要的那些特征,隐藏所有的其他特征;
  • 关系的意图和语义要清晰
  • 不要过分的进行详述
  • 不要过分的简化

在UML绘制关系是,要遵循如下策略:

  • 在一个语境中,仅显示对理解抽象来说重要的关系特性;
  • 选择为关系的含义提供最佳可视化提示的衍型化的版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值