UML建模知识及常见图解

Posted Java典籍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML建模知识及常见图解相关的知识,希望对你有一定的参考价值。

一、UML概述

  UML(UnifiedModelingLanguage)统一建模语言,是面向对象软件的标准化建模语言。由于面向对象软件开发需要经过OOA(面向对象分析)OOD(面向对象设计),OOP(面向对象编程)三个阶段,每个阶段都需要统一的符号设计描述和交流,而UML就是这种统一的符号表示。

  本文主要讲述UML2.0(最新版本)的各种图的定义及用法,UML2.0一共包括13种图形(大致分成静态图和动态图两类):活动图,类图,通信图(对应UML1.x的协作图),组件图,复合结构图(UML2.0新增),部署图,交互概观图(UML2.0新增),对象图,包图,顺序图,状态机图,定时(UML2.0新增),用例图,如下图所示:

    其中,最常用的UML图包括:用例图,类图,组件图,部署图,顺序图,活动图,状态机图等。

二、用例图

    用例图主要应用于系统需求分析阶段,从用户角度描述系统的需求功能,方便与客户交流,保证需求的唯一性。

  用例图包括用例、角色、用例和角色的关系,其中,用例以一个椭圆表示,用例的名称放在椭圆得中心或下面;角色以一个人形符号表示与系统交互的实体;用例和角色的关系用线段来表示。

    用例图所表示的要么是整个系统的全部用例,要么是某一具体功能的一组用例。下图是一个简单的用户管理模块的部分用例示意图:

UML建模知识及常见图解

    从用例图中可以很容易看出,普通用户有登录、修改密码、查看个人信息的功能;管理员功能包括:新增用户、查看用户信息、修改用户信息、删除用户、修改密码。

三、类图

  类图表示系统中有哪些实体及其它们之间的关系,用于系统设计阶段。

  类图用三个矩形表示,最上面的部分标识类的名称;中间的部分标识类的属性;最下面的部分标识类的方法,如下图所示:

  UML建模知识及常见图解

 

  类之间的基本关系:关联(包含聚合和组合)、泛化(继承)、实现、依赖

♣ 关联

  关联是一种拥有的关系,具有方向性,如果一个类单方向的访问另一个类,则称为单向关联(用一个箭头的实线表示);如果两个类对象可以互相访问,则称为双向关联(用两个箭头或不用箭头的实线表示);一个对象能访问关联对象的数目叫做“多重性”。

     【箭头及指向】:带普通箭头的实线,指向被拥有者。UML建模知识及常见图解    或不用箭头的实线。UML建模知识及常见图解

♣ 聚合

  整体与部分的关系,当某个实体聚合成另一个实体时,该实体还可以是另一个实体的部分,例如,学生既可以是足球俱乐部的成员,也可以是羽毛球俱乐部的成员。

  【箭头及指向】:带空心菱形的实线,菱形指向整体。UML建模知识及常见图解

♣ 组合

  整体与部分的关系,组合比聚合更加严格,当某个实体组合成另一个实体时,该实体还不可以是另一个实体的部分,例如手臂和人之间存在的是组合关系。

   【箭头及指向】:带实心菱形的实线,菱形指向整体。UML建模知识及常见图解

♣ 泛化

  泛化与继承是同一个概念。

   【箭头及指向】:带三角箭头的实线,箭头指向父类。UML建模知识及常见图解

♣ 实现

  一种类与接口的关系。

    【箭头及指向】:带三角箭头的虚线,箭头指向父接口。UML建模知识及常见图解

♣ 依赖

  如果一个类的改动会影响到另一个类,则两个类之间存在依赖关系,一般而言,依赖是单向的。

     【箭头及指向】:带普通箭头的虚线,箭头指向被依赖者。

  下面用一张图涵盖类图中类的基本关系:

UML建模知识及常见图解

四、组件图

  组件图用来表示组件与组件之间、类或接口与组件之间的关系图,使用UML建模知识及常见图解符号表示组件,使用圆圈表示接口。

  组件除了可以对外提供服务接口外,组件还可能依赖某个接口,下图显示包含组件关系的组件图:

  UML建模知识及常见图解

  其中,Oder组件提供了OrderQuery接口,Order组件需要依赖于Customer组件提供的CustomerLookup接口和Product组件提供的ProductQuery接口

五、部署图

  部署图包括了组件图中的符号,另外还增加了节点的概念,节点主要包括处理器(如计算机主机)和设备(如打印机),UML图中使用三维立方体表示节点,节点的名称位于立方体的顶部。如下图所示:

  UML建模知识及常见图解

六、顺序图

  顺序图也叫时序图,描述对象之间消息的发送顺序,强调时间顺序。用箭头表示消息、用竖虚线表示对象生命线。如下图所示:

  

分享技术干货和面试技巧,让你轻松get Java知识,欢迎关注订阅号Java典籍,收看更多精彩内容

 ▼长按下图↓↓↓二维码识别关注


如果你在学习java的过程中遇到什么问题或想让我分享的知识点都可以在评论区提出来哟(也可以私戳我哟)!

这篇文章如果对你有用,请点击【好看

以上是关于UML建模知识及常见图解的主要内容,如果未能解决你的问题,请参考以下文章

产品经理必会的UML建模方法论

产品经理必会的UML建模方法论

UML建模 UML建模之活动图

UML建模 UML建模之状态机图

软考知识点——UML(文末红包福利)

UML建模的要点总结