UML是什么
UML定义:
-
<李>统一建模语言(统一建模语言,缩写UML) 李>
<李>非专利的第三代建模和规约语言李>
UML特点:
-
<李> UML是一种开放方法李>
<李>用于说明,可视化,构建和编写一个正在开发的,面向对象的,软件密集系统的制品的开放方法李>
<李> UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效李>
在UML2.2中一共定义了14中图示,大体分为三类:
-
<李>结构式图形:强调的是系统式的建模李>
<李>行为式图形:强调系统模型中触发的事件李>
<李>交互式图形:属于行为式图形的子集、强调系统模型中资料流程李>
1。结构式图形:
-
<李>静态图(类图,对象图、包图)李>
<李>实现图(组件图、部署图)李>
<李>剖面图李>
<李>复合结构图李>
2。行为式图形:
-
<李>活动图李>
<李>状态图李>
<李>用例图李>
3。交互式图形:
-
<李>通信图李>
<李>交互概述图(UML2.0) 李>
<李>时序图(UML2.0) 李>
<李>时间图(UML2.0) 李>
UML类图:
类图(类图):用于表示类,接口,实例等之间相互的静态关系,虽然名字叫类图,但类图中并不只有类。我们来看一个比较全面的UML类图样例:
首先在图的上方可以看到一个“动物“矩形框,这个矩形框就代表一个类,类图分三层,第一层是类的名称,如果是抽象类,类名会使用斜体表示。第二层是类的属性,也就是类的字段或变量。第三层是类的行为,也就是方法或者说函数。
图中左下角的“飞翔”表示一个接口图,与类图的主要区别是接口图顶端有<代码>,lt;, lt; interface& gt;和gt;> 代码。第一层自然是接口的名称,第二层则是接口方法。接口还有另一种表示方法,也就是图中的棒棒糖表示法。
然后我们来简单说说子类与父类及实现类与接口的关系在UML类图中的表示方式:
当类与类之间是继承关系时,使用空心三角形和实线来表示,而一个类实现了一个接口时,使用空心三角形和虚线来表示,不管是继承关系还是实现关系,三角形箭头都是由子类指向父类或接口
引用>类与类之间的关系及其在UML类图中的表示方式,关联关系:
当一个类“知道“另一个类时,那么它们就具有关联关系,关联关系使用实线箭头表示,例如图中的企鹅需要知道气候这个类,此时企鹅类与气候类就是关联关系
引用>聚合关系:
图中的大雁群和大雁这两个类就是聚合关系,我们都知道大雁是群居动物,多只大雁可以聚合成一个雁群,所以它们之间就满足聚合关系。聚合表示一种弱的“拥有关系”,体现的是一个对象可以包含B对象,但B对象不是一个对象的一部分。聚合关系使用空心菱形和实线箭头来表示
引用>合成(组合)关系:
合成是一种强的“拥有“关系,体现了严格的部分和整体的关系,部分与整体的生命周期一样上。图中的鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用实心的菱形和实线箭头来表示。另外,在图中合成关系的连线两端还有一个数字1和数字2,这被称为基数,表明这一端的类可以有几个实例。很显然,一只鸟应该有两只翅膀,所以翅膀的基数是2。如果一个类可能有无数个实例,则就用n来表示。除了合成关系外关联关系以及聚合关系也可以有基数
引用>依赖关系:
我们都知道动物维持生命就得进行新陈代谢,那么就需要氧气、水等物质。也就是说,动物依赖于氧气和水,所以它们之间是依赖关系,使用虚线箭头来表示。
引用> <人力资源/>接着我们再来看单个类的类图:
同样的从上至下分别是类名,属性以及行为。属性和行为前面都有权限表示符,+表示,——表示,#表示保护,~表示违约。属性和行为中有下划线的表示静态的,即静态的属性,方法。
UML急速入门