文章目录
本文介绍Java开发中的软技能之一,UML图。UML 即统一建模语言,它是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
UML 展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。最常用的有:用例图、类图、时序图、状态图、活动图、组件图和部署图等。
下面着重介绍一下 UML 类图,类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
许多项目立项文档、需求分析文档中,都会有关 UML 类图的涉及。类图基本上是一个系统的静态视图的图形表示,代表应用的不同方面,集合类图就表示整个系统。
画类图需要关注以下几点:
- 类图中的名称应该是有意义的描述,并且是面向系统的
- 画类图前应该先确定每个元素之间的关系
- 类图中每个类职责(属性和方法)应该清晰标明
- 对于每个类的属性应改精简,不必要的属性将使图表变得复杂
1. 可见性符号
+
public
#
protected
-
private
2. 类之间的关系
这里先附上类关系表格,可以先跳过这里,看完示例再回过头来看。
关系 | 表示 | 图示 | 解释 | 结构和语义 |
---|---|---|---|---|
泛化(Generalization) | A继承B,B为非抽象类 | 继承结构 | ||
实现(Realization) | A实现B,B为抽象类或接口 | 继承结构 | ||
聚合(Aggregation) | A聚合到B上,B由A组成 | 表示整体由部分构成的语义。 (不是强依赖:整体不存在了,部分仍然存在) | ||
组合(Composition) | A组成B,B由A组成 | 表示整体由部分构成的语义。 (强依赖:整体不存在了,部分也不存在了) | ||
关联(Association) | A知道B,但是B |