我用的是jude这工具,现在叫Astah,据说不好用,但是好歹是免费的。
不明白线有什么区别和功能,特总结在这。
这两种我明白,
左边是继承,更标准的解释是泛化(generalization)
右边是实现(Realization),但下面这八种不明白
左上一:Unspecified Association To Unspecified Association (不明解释对不明解释)
左上二:Unspecified Association To Navigable Association (不明解释对可操纵解释)
左上三:Non-Navigable Association To Navigable Association(非可操纵解释对可操纵解释)
左上四:Navigable Association To Navigable Association(可操纵解释对可操纵解释)
箭头加直线就是关联(Association) : 对象之间一种引用关系,比如客户类与订单类之间的关系。这种关系通常使用类的属性表达。关联又分为一般关联、聚合关联与组合关联。后两种在后面分析。在类图使用带箭头的实线表示,箭头从使用类指向被关联的类。可以是单向和双向
左下一:Aggregation To Unspecified Association(聚合对不明解释)
左下二:Aggregation To (聚合对可操纵解释)
聚合(Aggregation) : 表示has-a的关系,是一种不稳定的包含关系。较强于一般关联,有整体与局部的关系,并且没有了整体,局部也可单独存在。如公司和员工的关系,公司包含员工,但如果公司倒闭,员工依然可以换公司。在类图使用空心的菱形表示,菱形从局部指向整体。
左下三:Composition To Unspecified Association(组成对不明解释)
左下四:CompositionTo To Navigable Association(组成对可操纵解释)
组合(Composition) : 表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在。如公司和部门的关系,没有了公司,部门也不能存在了;调查问卷中问题和选项的关系;订单和订单选项的关系。在类图使用实心的菱形表示,菱形从局部指向整体。