《UML用户指南》学习笔记(十)

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://jeffrey.blogbus.com/logs/67361.html

第十章 高级关系

第二章提到了UML中最重要的四种关系分别是dependency、association、generalization、 realization,在第五章也进一步学习了dependency、association和generalization。而这一章讲述的是这几种 关系的高级特性。

①dependency
dependency表明一个事物使用了另一个事物,在UML中定义了17种可用于dependency的构造型,这17种构造型可被分为6组,下面就详细说明这17种构造型:
⑴可应用到类图中的类和对象间的依赖关系
Ⅰ、绑定(bind)
表明源对目标模板使用给定的实际参数进行实例化,常应用于模板类。(模板类的概念不了解)
Ⅱ、导出(derive)
表明可以从目标计算出源。当对两个属性或关联之间的关系建模时,如果其中一个属性(关联)可以导出另一个属性(关联),就可以使用derive构造型。例如生日和年龄。
Ⅲ、友元(friend)
表明源对目标的特定可见性。常用于C++中的友元类建立的关系建模。
Ⅳ、的实例(instanceOf)
表明源对象时目标类元的一个实例。
Ⅴ、实例化(instantiate)
表明源创建目标的实例。
Ⅵ、强类型(powertype)
表明目标是源的强类型。(强类型是一个类元,其对象都是一个给定父类的子类)当对覆盖其他类的类建模时,例如数据库建模时可能碰到这种依赖关系。
Ⅶ、精化(refine)
表明源比目标处于更精细的抽象程度上。当对本质上相同但位于不同抽象层次的类建模时,要用精化。
Ⅷ、使用(use)
表明源元素的语义依赖于目标元素的公共部分的语义。当要显式地把一个依赖标记为使用关系时,就可以应用使用(use)。

⑵可应用到包之间的依赖关系
Ⅰ、访问(access)
表明源包有权引用目标包中的元素。
Ⅱ、引入(import)
是一种访问,它表明把目标包的公共内容加入到源包的命名空间。

⑶可应用到用况之间的依赖关系
Ⅰ、延伸(extend)
表明目标用况延伸了源用况的行为。
Ⅱ、包含(include)
表明源用况在其指定的位置上显式地合并了另一个用况的行为。

⑷可应用到对象之间的依赖关系
Ⅰ、变成(become)
描述了目标对象与源对象是相同的,但在后续的时间点上属性值、状态或角色可能会不同。
Ⅱ、调用(call)
表明源操作调用目标操作。
Ⅲ、复制(copy)
表明目标对象是源对象的精确复制,但目标对象是独立的。

⑸可应用到状态机的语境中的依赖关系
发送(send)

表明源操作向目标发送事件。

⑹可应用到把系统的元素组织成子系统和模型的语境中的依赖关系
跟踪(trace)
表明目标是源的历史上祖先。

②generalization
generalization表明了一般/特殊的事物之间的关系。在程序中体现为父类/子类,在UML中定义了应用到泛化关系上的一个构造型和4个约束。
一个构造型:
实现(implementation)

表明子类继承父类的实现,但既不公布也不支持父类的接口,因此它是违背可替换性的。在C++中私有继承建模时用到这种构造型。

4个约束:
Ⅰ、完全(complete)
表明已经在模型中给出了泛化关系的所有子类,不允许再有更多的子类。
Ⅱ、不完全(incomplete)
表明没有完全给出所有子类,可以在增加子类。
Ⅲ、互斥(disjoint)
表明父类的对象最多以给定的子类中的一个子类作为类型。
Ⅳ、重叠(overlapping)
表明父类的对象可能以给定的子类中的一个以上子类作为类型。

③association
是一种结构关系,它详述一个事物的对象与另一个事物的对象相联系。关联的4种基本修饰:名称、角色、多重性和聚合,在第二章有描述。对于它的高级用法,从下面几个方面描述:
Ⅰ、导航
关联的导航默认是双向的,但有些情况下是单向导航的,例如user和password,只能从user导出password,而不能从password导出user,这样的导航需要使用箭头标出其单向性。
Ⅱ、可见性
可见性用于限制关联对于外部对象的可见性。例如password是user私有的,对group而言,password是不可见的。
Ⅲ、限定
给定关联一端的对象,识别另一端的对象或对象集,可以使用限定来描述。
Ⅳ、接口说明符
这个说不清楚,可以看书中的例子。
Ⅴ、组合
组合是聚合的一种特殊情况,它具有强的拥有关系,整体与部分的生命周期是一致的。一个对象在一个时间内只能是一个组合的一部分。
Ⅵ、关联类
是关联关系的两端的对象之间的产生关系的类的描述。看书更明白意思。
Ⅶ、约束
UML中定义了5中可以用于关联关系的约束:
⒈隐式(implicit)
表示关系不是显式的,而仅是概念性的。例如两个父类有关联关系,那么这两个父类的子类之间就可以有隐式的关联关系。
⒉有序(ordered)
表明关联的一端的对象是显式有序的。
⒊可变(changeabel)
可以自由增加、移动和改变对象之间的链。
⒋只增(addonly)
可以从关联另一端的一个对象增加新的链。
⒌冻结(frozen)
一旦关联另一端的对象增加了一个链,就不能对它修改或删除。

④realization
realization是dependency和generalization在语义上的一些交叉,应用于接口语境和协作语境中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UML用户指南PDF是一个为UML(统一建模语言)用户提供指导的电子书。UML是一种用于软件系统建模和设计的标准化语言,它提供了一套图形化的符号和规范,能够帮助开发人员更好地理解和描述软件系统的结构和行为。 这本指南的目的是帮助初学者快速上手使用UML,以及提供有关每个UML图形符号的详细说明和用法指南用户可以通过该指南了解各种UML图表的使用场景和编写方法,从而更好地应用UML进行软件系统分析和设计。 该指南通常包含了对UML的简要介绍,包括其起源、主要概念和核心模型。随后,它会详细介绍UML中的各种图表,如用例图、类图、时序图、活动图等。对于每种图表,指南会提供图例和示例,以帮助用户理解其意义和使用方法。此外,它还会介绍UML中一些高级概念和技术,如设计模式和构件化等。 用户在阅读UML用户指南PDF时,可以根据自己的需求和经验水平进行选择性阅读。新手可以从基本的UML图表开始学习,逐步掌握UML的概念和语法,而有经验的开发人员可以深入研究UML的高级概念和技术,以提升系统设计和开发的质量和效率。 总之,UML用户指南PDF是一本帮助用户学习和应用UML的指导书,它通过提供详细的图示和说明,帮助用户理解和掌握UML的各种图表和技术,为软件系统建模和设计提供指导和支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值