UML入门

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日。

 

 

 

 

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值