《大象 Thinking in UML》学习笔记(五)——UML核心元素之关系、组件和节点

一、关系


关系抽象出对象之间的联系,让对象构成某个特定的结构。


关联关系(association)


关联关系是用一条直线表示的,描述不同类的的对象之间的结构关系。


单向关联关系是用一条带剪头的直线来表示,表明A关联B,但是B不关联A,比如用力模型里,参与者单向关联用例。


依赖关系(dependency)


依赖关系是用一条带箭头的虚线表示的,用来描述一个对象的修改会导致另一个对象修改。
依赖关系也有单向依赖和双向依赖之分,但双向依赖非常不推荐。


扩展关系(extends)


扩展关系是用一条带箭头的虚线加版型<<extends>>来表示的,特别用于在用例模型中说明向基本用例中的某个扩展点插入扩展用例。
扩展用例是用例场景中的某个“支流”,是一种可选的,即使该扩展用例不存在,其基本用例也是完整的。
使用场景有:
表明用例的某一部分是可选的系统行为;
表明只在特定条件下才执行分支流,比如触发警报;
表明可能有一组行为段,其中的一个或多个段可以在基本用例的扩展点处插入;
表明多个基本用例中都有可能出发一个可选的分支流。


包含关系(include)


包含关系是用一条带箭头的虚线加版型<<include>>来表示的,特别用于用例模型里执行基本用例的用例实例过程中插入的行为段。
包含用例是用例场景里关键的核心业务,是一种必选的,如果包含用力不存在,其基本用例也就不完整了。
使用场景有:
从基本用例中分解出这样的行为:它对于了解基本用的主要目的并不是必需的,只有它的结果比较重要;
分解出两个或更多个用例所共有的行为。


实现关系(realize)


实现关系是用一条带空心箭头的虚线表示,特别用于在用例模型中连接用例和用力实现,说明基本用例的一个实现方式。
实现所代表的含义是,基本用例描述了一个业务目标,但是该业务目标有多种可能的实现途径,每一种实现途径可以用用例实现来表示,而用例实现和基本用例之间就构成了实现关系。


精化关系(refine)


精化关系是用一条带剪头的虚线加版型<<refine>>来表示,特别用于用例模型,一个基本用例可以分解出许多更小的关键精化用例,用来更细致地展示基本用例的核心业务。
精化关系也可以用于模型与模型之间,表示某个模型是通过精化另一个模型而得来的。
精化关系的子对象并没有增加、减少、改变基本对象的行为和属性,仅仅是更加细致和明确化。


泛化关系(generalization)


泛化关系是用一条带空心箭头的直线表示,说明两个对象之间的继承关系。
泛化关系的子对象继承了基本对象的所有特征,并且子对象可以增加、改变基本对象的行为和属性。


聚合关系(aggregation)


聚合关系是用一条带空心菱形箭头的直线表示,常用于类图,表达实体整体由部分构成的语义。
聚合关系的整体和部分不是强依赖,即使整体不存在了,部分仍然存在。


组合关系(composition)


组合关系是用一条带实心菱形箭头的直线表示,常用于类图,表达实体整体拥有部分的语义。
组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,部分也将消亡。


二、组件


组件是系统中实际存在的可更换部分,符合一套接口标准并实现一组接口。
一个组件应当是一个独立的业务模块,有着完备的功能,可独立部署,一个组件可以看成是一个完备的服务。
组件一般都是在较高的抽象层次定义的,在许多应用项目中并不需要组件建模。但是,如果采用了组件化的开发架构,或者从一开始就决定采用组件化开发模式,那么从系统分析开始就应当着手建立组件模型,并在后续的模型中逐步精化。


三、节点


节点是带有至少一个处理器、内存以及可能还带有其他设备的处理元素。
在实际工作中,一般说来服务器、工作站或客户机都可以称为一个节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值