UML简单介绍
Posted Vitooo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML简单介绍相关的知识,希望对你有一定的参考价值。
UML基本概念介绍
UML的组成主要有:事物、图和关系。
事物:是UML中重要的组成部分,主要包含了结构、行为、分组和注释
关系:把各个元素紧密的联系在一起,主要包含了关联、依赖、继承(泛化)和实现;
图:是一种表达形式
UML图:
上图中的很多图,在工作中很少有用到,以下总结一些常见的图的基本使用。
1用例图
以下是一个常见的基本用例图,用例图可以描述业务中谁用系统的什么功能,可抽象功能节点和用户群体。
这个图含有这么的几个元素:
小人:代表角色,是系统用户的抽象,这个角色会是一个执行者,是与系统打交道的。角色可以是具体到某类人,也是可以指系统。
外方框:指的是系统的边界
内框:一般使用“动词+名词”的陈述句,用来描述具体用例做什么
线条:线条一般会有三种画法
a. 不带箭头:简单的关联关系
b. 角色和用例(箭头指向角色):系统对角色做什么事情,一般很少出现这个情况。
c. 角色和用例(箭头指向用例):角色对系统做什么事情
首先用例图中只有关系:
继承(Generalization):如下图则表示Tiger继承自Animal,Animal拥有的属性,Tiger也都可以拥有。使用方法为实现的空箭头。
扩展(Extend):在用例的基础上,还可以做额外的工作;用法为【导出报表】功能扩展了【查看报表】的功能
3. 包含(Include):子用例为父级用例的一部分;虚线箭头指向 子用例,线上标注《include》
如下为一个完整的订餐系统的阶段用例图
说明:
a. 录入员、领导一次继承一般用户的功能;
b. 【打印报表】的用例可以扩展【查看一般报表】用例;
c. 【查看数据】、【新增数据】、【修改数据】是包含在【管理数据菜单】用例中。
一般用例确认后,就会进入编写用例表,这样就可以更清晰明确的定义一个用例,如下为寻找的一个用例表模板
2类图 & 对象图
如下分别为类图和对象图的示意,类图和对象图常见用在技术设计阶段,如类图中会定义类的名字、类中的变量及变量属性、还有类里面的方法,而对象图则是类的抽象。
类图之间存在如下的关系,一个完整的类图设计应该包含了类图+ 关系。
3流程分析三剑客:状态机图、活动图、顺序图(时序图)
三个图都是分析流程和对象的最佳利器,但是三个图针对的场景区别较大。
状态机图:分析一个对象的生命周期状态转换;
顺序图:消息在对象生命线之间的传递和交互,更加注对象之间的交互,可以处理多个对象之间简单的信息交互;
活动图:常见的如流程图和泳道图,可以描述多个对象之间的复杂的活动;
如下为一个相对复杂的状态机图,该图描述的对象为请假单,根据不同的运转节点和操作层级,该请假单的生命周期由着不同的流转。
状态机图的元素主要有以下的几点:
开始节点
结束节点
状态描述节点
这个开发常用,主要描述几个对象之间信息的交互的问题。如下为一个相对复杂的时序图,包含了四个对象:顾客、服务员、厨师、收款员,他们之间的信息的交互完成了时序图。
时序图主要有以下的几个元素:
a. 参与活动的对象,用小人来表示了。
b.生命线:角色下方的虚线
c.激活框:对象下方的细矩形,即每次消息会话的一次交互节点
d.实心直线:A指向B,则表示角色A对角色B做了什么事情
e.实心直线自指:指的是A觉得自己做了什么事情
f.虚线:B向A返回什么数据
进阶版本,加入了条件分支、循环、可选分支:
活动图(流程图)、泳道图工作中常见使用,在此不在加更多的说明,只强调添加一个【分叉】&【汇合】。
分叉的意思是流程走到此处后可以分叉同步进行;
汇合的意识是流程前的步骤必须全部完成,才可以进行下一步的流程;
4部署图&构件图
常见的需求说明书中,更多重点的是描述功能需求,对于非功能需求则不能很好的表达,但是这方面却对项目的成功与失败是致命的。
往往项目的非功能需求说明更多的是开发人员接入说明,但在此也简单描述下。
部署图顾明意思就是项目的框架设计、架构设计、使用群等,类似网络拓补结构,可以描述这个服务器之间、商户之间的IT架构设计;
构建具有如下的几个特征:
能实现某个功能,或者提供某个服务;
系统的某个部分,不能单独的存在,作为系统的一部分来发挥作用;
是物理上的概念,而非逻辑上的;
可以单独的维护或者升级,并不影响系统;
如下为部署图和构建图捆绑应用的实例,可以很明确的看出整个系统的IT架构设计。
写出来和讲出来完全是两个的概念,写总是难以表达很多细节的东西,如果您有问题,请私信我或者给我留言。
温馨提示
以上是关于UML简单介绍的主要内容,如果未能解决你的问题,请参考以下文章