本文主要是介绍UML概念图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、结构型的图(Structure Diagram)5个
1、类图(Class Diagram)
类图是业务概念模型分析的有利武器,也是面向对象分析能力的强有力训练工具。在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
1.1.泛化
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
1.2.实现
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
1.3.关联
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量
1.4.聚合
【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
【代码体现】:成员变量
1.5.组合
【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。
组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。
【代码体现】:成员变量
【箭头及指向】:带实心菱形的实线,菱形指向整体
1.6.依赖
【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖.
【代码表现】:局部变量、方法的参数或者对静态方法的调用
【箭头及指向】:带箭头的虚线,指向被使用者
1.7类图
图 模具类图
图 类图
2、对象图(Object Diagram)
描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。在需求分析工作中并不常用。
3、构件图(Component Diagram)
构件图、部署图是分析IT基础架构、软件架构等方面需求的有利分析工具,但需要你具备IT基础架构、软件设计方面的知识和经验。构件图也叫组件图,两个名字均符合UML中文术语标准。构件图就是用来描述软件内部物理组成的一种图。
4、部署图(Deployment Diagram)
部署图是用来描述系统如何部署、本系统与其他系统是怎样的关系的一种图。
图 某24小时便利店的管理系统部署图
图 部署图
5、包图(Package Diagram)
包图可用来组织类图,在需求分析工作中应用的机会不是很大。Package有“打包”的意思,包图的主要用途是“打包”类图。用类图描述业务概念时,很多时候会因为业务类太多,而导致类图非常庞大,不利于阅读,这时可以将某些类放入“包”中,通过包图来组织业务概念图。
二、行为型的图(Behavior Diagram)6个
1、活动图(Activity Diagram)
活动图、状态机图、顺序图是分析业务流程的强力武器。活动图的表达思路与流程图很类似,很容易掌握,而且大部分情况下都可以使用活动图来分析业务流程。
图 起床到出门上班的活动图
图 带泳道的活动图-泳道表明每个活动是由哪些人或哪些部门负责完成。
2、状态机图(State Machine Diagram)
状态机图又叫状态图,但状态图这个译名并没有译出Machine的意思。某流程如果是围绕某个物品进行,该物品在流程中转换多种状态,那么使用状态机图来分析是首选。
图 状态机图
3、顺序图(Sequence Diagram)
用顺序图来分析的好处是能清晰表达整个过程所参与的角色,角色与角色之间的关系,各角色是如何被卷入这个过程当中的。你去餐厅吃饭,向服务员点餐到服务员送菜上来,这个过程用顺序图可表示如下:
图 点菜的顺序图
图 顺序图
4、通信图(Communication Diagram)
通信图可以看作是顺序图的另外一种表达形式,顺序图更强调先后顺序,通信图更强调相互之间的关系。顺序图更加实用一点。UML1.1时,该图英文名为Collaboration Diagram;UML2.x时,英文名为Communication Diagram。将英文名字直接翻译,原来的英文名字可译为协作图,而新的英文名字译为通信图。
图 点菜的通信图
5、用例图(Use Case Diagram)
有人会将用例图称作“公仔图”,用例图表达的是什么角色通过软件系统能做什么事情,我们可以使用用例图系统地表达软件系统的绝大部分需求。
图 用例图
图 用例图
6、时序图(Timing Diagram)
时序图是表示某东西的状态随时间变化而变化的一种图,我在实际工作中很少有机会能用到这种图。时序图也叫时间图,时序图是UML中文术语标准的说法,而时间图不是标准的说法。
图 时序图
下面通过这个表格来总结一下我在需求分析工作中应用各种UML图的情况:
这篇关于UML概念图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!