是“co
tai
sa”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对
f象。
实例分析
联通客户响应OSS。系统有故障单、业务开通、资源核查、割接、业务重保、网络品质性能等功能模块。现在我们抽出部分需求做为例子讲解。大家可以参照着类图,好好理解。
1.通知分为一般通知、割接通知、重保通知。这个是继承关系。2.NoticeService和实现类NoticeServiceImpl是实现关系。3.NoticeServiceImpl通过save方法的参数引用Notice是依赖关系。同时调用了BaseDao完成功能,也是依赖关系。4.割接通知和故障单之间通过中间类通知电路关联,是一般关联。5.重保通知和预案库间是聚合关系。因为预案库可以事先录入,和重保通知没有必然联系,可以独立存在。在系统中是手工从列表中选择。删除重保通知,不影响预案。6.割接通知和需求单之间是聚合关系。同理,需求单可以独立于割接通知存在。也就是说删除割接通知,不影响需求单。7.通知和回复是组合关系。因为回复不能独立于通知存在。也就是说删除通知,该条通知对应的回复也要级联删除。经过以上的分析,相信大家对类的关系已经有比较好的理解了。大家有什么其它想法或好的见解,欢迎拍砖。PS:还是那句话:以上类图用E
terpriseArchitect75所画,在此推荐一下EA非常不错。可以替代Visio和Rose了。Visio功能不够强大,Rose太重。唯有EA比较合适。
fr