UML概述【学习总结】

前言吐槽:对于一个没学过UML的考试狗来说,这东西真的太乱太杂了,特别是那些图,救命!拖不下去不得不整理一下了,我真的呜呜呜呜呜呜呜呜

UML是统一建模语言,UML呢有三个构造块:事务、关系和图,事务是模型里有代表性成分的抽象;关系就是把事务结合在一起;图聚集了相关的事务。

事务~

UML呢有四种事务:结构事务、行为事务、分组事务、注释事务。
结构事务:首先它是静态的,就是名词,描述概念的,结构事务包括类、接口、协作、用例、主动类、构件、制品、结点
行为事务:它是动态的,就是动词,描述行为的,行为事务包括交互、状态机、活动
分组事务:最主要的分组事务呢就是包。这个包的概念顾名思义就是装东西的,结构事务行为事务都可以装进包内。要注意区别一下包和构件,包是只在开发时存在,构件是只在运行时存在,两者图形也要注意区分,包是有一个手提链的(hhhhh,我自己这样理解记的
在这里插入图片描述
在这里插入图片描述

注释事务:主要的注释事务就是注解,这个不解释了,和你想的一样。

关系~

UML呢有四种关系:依赖、关联、泛化和实现。
依赖:两个事物之间的语义关系,没错,就是你想的那样!是个没出息的家伙,一个事务发生变化就影响了另一个。依赖的表示就是一条有方向的虚线。
在这里插入图片描述

关联:是一种结构关系,描述一组链,链就是对象之间的连接。关联上还可以标记重复度和角色。有一种特殊类型的关联叫聚集,它描述的是整体与部分之间的关系。
在这里插入图片描述
在这里插入图片描述
泛化:可以理解为父子关系,儿子共享了父亲的结构和行为(就是所谓的啃老hhh),用图形表示是一个带有空心箭头的实线,儿子指向爹。
在这里插入图片描述
实现:实现是类元之间的,一般有两种情况,一个是接口和实现他们的类或构件之间,另一个是用例实现它们的协作之间。在这里插入图片描述

图!

我最讨厌的13图来了555,要我血命!

类图

展现一组对象、接口、协作和它们之间的关系。通常包括类、接口、协作、依赖泛化和关联关系,有的还有注解、约束、包。类图一般是对系统的静态设计视图建模。在这里插入图片描述
让我们来一起看看上面这个类图,首先是类Company,下面这个聚类就是一个链接,表示整体和部分的关系,这个公司类呢,包括部门Department和办公室Office,部门的属性有部门名称,办公室的属性有办公室地址数据类型是字符串,还有语音属性数据类型是数字,底部是Office的方法,即部门中的操作。部门和办公室之间是关联关系的。部门和办公室头顶上的标记是重复度,表示一个公司存在一个至多个部门和办公室。部门往下就是person了,人分两种角色,员工和经理,注意这里的重复度,一个部门多个员工但只有一个经理,人的属性有名称Name和员工编号(数据类型为整数),最后一格是操作方法,有获取个人档案、获取照片。下面还有一个PersonRecord这个类他会影响Person类,它包含两个属性一个是工资另一个是什么id我也不知道要求是整数类型的,这两个类的影响所以决定了两者是依赖关系。右边还有一个Headquarters(总部),总部是办公室的儿子,继承了办公室的结构和行为。

对象图

展现某一时刻一组对象和它们之间的关系。一般包括对象和链。
在这里插入图片描述
这个图看着好理解就不解释啦

用例图

展现了一组用例、参与者和它们之间的关系,这里的关系有点点复杂,有扩展关系《extend》包含关系《include》,参与者和用例之间的关联关系,用例和用例之间的以及参与者和参与者之间的泛化关系。在这里插入图片描述
来吧!展示。这个用例图是一个注册系统,参与者有学生和国际学生,应该就是留学生吧,两个参与者都有用例是都需要注册大学生的学生身份,登记家庭成员这个用例和注册大学生身份是泛化关系,其中留学生呢有一个用例是要执行安全检查,执行安全检查和注册大学生身份是扩展关系,注册参加学生会呢和注册大学生身份是包含关系,这里我解释下我理解的这两个关系:包含关系是某个用例一定要使用另一个用例,就像这个图,你想要注册报名学生会,要先注册大学生身份才行。扩展关系就是当执行某个用例的时候我们不一定要去执行另外一个用例,还是这个图,学生执行安全检查并不一定要先注册大学生身份。

序列图

既然叫序列图,那肯定和顺序有关系啦,什么顺序捏,时间顺序,它是描述以时间顺序组织的对象之间的交互活动。发起交互的对象在图的左上方,参加交互的对象要放在图的右上方,两者位于水平方向,如果还有交互的对象依次向右排列,然后他们交互接受发送的消息就沿着垂直方向按照时间顺序自上而下的放置。
在这里插入图片描述
上图描述的是对象c和对象p的交互,发起者是c参加交互的是p,对象下面两条长长的虚线是他们的生命线,每个对象都有生命线。首先对象c发出调用消息创建交易,请求设置行动的方法包括三个参数ado,对象Transaction发送消息给对象,请求设置值参数为3、4,Transaction给对象c返回确认的消息。这里注意,请求的消息是实线的箭头,返回的消息是虚线的箭头。这里还有一个异步消息就是在T给p发送消息的工作中产生的异步。当消息交互结束后销毁对象Transaction,可怜的T就是个工具人,给你们传完话就要被毁灭,没办法!它知道的太多了!序列图和下面的通信图是有一点像的,但是序列图有两个自己的特点:1.有对象生命线,就是那条大虚线。 2.有控制焦点,就是那个长长的矩形,它表示一个对象执行一个动作所经历的时间段。

通信图

也称为协作图,描述的是参加交互对象的结构组织。在这里插入图片描述用参加交互的对象c作为顶点,然后把连接这些对象的链表示为图的弧,最后用对象发送和接受的消息来装饰这些链。通信图的特点呢也有两个:1.通信图有路径,为了指出一个对象怎么和另一个对象链接的,可以在链的末端加上一个路径构造型,通常有local局部、parameter参数、global全局、self自身。2.通信图是有序号的,表示消息的时间顺序,消息可以嵌套的如上图的2.1、2.2就是消息2 的嵌套。
通信图和序列图相比的话看上去更简洁一些,但是我觉得序列图更好理解一点,而且自己绘图的话我还是选择序列图。

交互概览图

这个图就是活动图的变体,表示法也和活动图类似(留着下面看活动图吧)它没有消息和生命线,这个图我是不太常见的,看一看大概知道就带过啦略略略在这里插入图片描述

计时图

这个图比较适合嵌入式系统和那些实时的建模系统,还适合那种有周期性的。描述对象状态随着时间改变的情况,有点像示波器。
在这里插入图片描述

状态图

它展示了一个状态机,由状态、转换、事件、活动组成。状态图是动态视图,补一嘴哈,前面提到过的类图对象图都是静态视图。状态图比较注重接口、类、协作的行为,它强调的是对象办事的顺序。通常情况下状态图包括简单状态、组合状态和转换。这里有一个概念:子状态:就是嵌套在别的状态里的状态。含有子状态的状态就称作组合状态。转换是两个状态之间的关系,表示对象会在源状态执行一定动作,注意动作是不能中断的,它的执行时间是可以忽略不计的。
在这里插入图片描述
圆角矩形框内表示的都是状态,箭头上面的字表示影响状态改变的触发事件。

活动图

是一种特殊的状态图,展现系统从一个活动到另一个活动的流程。我感觉和流程图很像,看着也很好理解。
在这里插入图片描述

构件图

展现一组构件之间的组织和依赖,是静态视图。它与类图相关,是类图的变体,通常把构件映射成一个或多个类、接口和协作。在这里插入图片描述
注意它的那个供接口和虚接口的区分,小叉子是供接口,它是喂饭的,那个圆形的是张开的嘴巴等着吃饭的,是需接口,这样很好记哈哈哈哈

组合构件图

它描述的是一个分类器的内部结构,展示一组相互协作的实例如何完成特定的任务,描述设计架构模式或者策略。
在这里插入图片描述

部署图

它与构件图相关,是静态视图,展现运行时处理节点以及构件的配置。
在这里插入图片描述

包图

包就厉害了它啥都能装:类、接口、构件、结点、协作、用例、图,甚至可以嵌套其他的包,一个元素只能被一个包所拥有,拥有关系的包成了一个命名空间,同一种元素的名称必须是唯一的。
在这里插入图片描述
好了好了就到这里吧,lay了…

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值