UML的定义:统一建模语言(英语:Unified Modeling Language,缩写UML),非专利的第三代建模和规约语言。
UML的特点:
UML是一种开放的方法;
用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法;
UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次已经被验证有效;
UML2.2中一共定义了14种图示,分类如下:
- 结构式图形:强调的是系统式的建模
静态图(类图,对象图,包图)
实现图(组件图,部署图)
剖面图
复合结构图
- 行为式图形:强调系统模型中触发的事件
活动图
状态图
用例图
- 交互式图形:属于行为式图形子集合,强调系统模型中资料流程。
通信图
交互概述图
时序图
时间图
接下来我们重点来聊一下UML中的类图。类图用于表示类,接口,实例等之间相互的静态关系。虽然名字叫类图,但类图中并不只有类。
首先我们要明白一件事情就是类图中的箭头方向是子类是指向父类。一个类实现了一个接口在类图中是一个虚线+空心三角号,一个类继承另一个类是一个实线+空心三角号。如下所示:
在类图中实线箭头是关联,虚线箭头是依赖的意思。其中企鹅类和气候类之间是关联关系,这种关系是一个类对象和另一个类对象有关联,通常是一个类中有另一个类对象作为属性。动物类和氧气类、水类是依赖关系,这种关系是一种使用关系,一个类需要借助另一个类来实现功能,一般是一个类使用另一个类作为参数使用,或作为返回值。
UML类图中空心菱形+实心箭头线表示聚合关系,这种关系具有独立的生命周期;实心菱形+实心箭头线表示组合关系,这种关系具有相同的生命周期,在表示组合对应关系时常用一些数字。大雁群类和大雁类是一种聚合关系,鸟类和翅膀类之间是一种组合关系。
我们在来聊一下UML中的时序图。时序图是显示对象之间交互的图,这些对象时按时间顺序排列的。其中时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等。下面这例子就向我们展示了我们写的代码(左边)和时序图(右边)之间的关系。
上面我们都是说的UML中类图中类与类之间的关系,如果我们真的有一个类图中的类我们是否明白其中的意思呢,那么我们可以看一个例子。
上图中,第一部分“GeelyClass”是类名,斜体,表示这是一个抽象类。第二部门是成员变量,其中+,-,#,~,分别表示public,private,protected.default访问权限,下面的有一个横线的成员变量表示是static类型的变量。第三部门是方法,其表示含义和变量类似,其中study()这个方法是斜体,表示是抽象方法。
最后我们在从整体看一个类图。如下图所示。
我们从上到下分析一下这个类图,在这个类图中氧气类和水类作为参数传入到动物类中,使用虚线箭头表示一种依赖关系。鸟类使用实线+空心三角表示一种继承关系。往右边看,是实心菱形+实心箭头线表示一种组合关系。在往下看大雁类、鸭类、企鹅类使用实线+空心三角表示继承鸟类。在左边中,大雁群类和大雁类之间使用空心菱形+实心箭头线表示聚合关系。右边的企鹅类和气候类之间使用实线箭头表示一种关联关系。大雁类和飞翔类之间是使用虚线+空心三角表示大雁类实现了飞翔接口。唐老鸭类使用实线+空心三角表示一种继承关系,而唐老鸭通过棒棒糖表示法实现了讲人话接口。
好了,关于UML就写到这了,够用了。
-------------------------------------------------------------------------
中原银行总行科技岗内推,加我微信:18236913621。更新时间:2018年12月14日。