UML【期末突击版本】

重点提示

1、UML的系统分析进一步要建立的三个系统模型是:对象静态模型,对象动态模型,系统功能模型
A企业的工作流程进行建模,最有用的图活动图
C类和对象都有属性,它们的差别是,类描述了属性的类型,而对象的属性必须有具体值,
A封装是指把对象的属性和操作结合在一起,
C;封装是一种信息隐蔽技术,
D面向对象方法中的继承,使得子类可以子弟的拥有父类全部属性和操作
DUML的最终产物就是最后提交的可执行的软件系统和相应的软件文档资料
B将判断结点产生的多个控制流合并并导出为一个控制流的元素是:合并结点
B可行性研究分析包括,经济可行性分析,技术可行性分析,法律可行性分析
AUML的客户需求分析模型包括:用例模型,类图,对象图,活动图
CUML客户需求分析使用的CRC卡上责任一栏的内容主要描述类的属性和操作
DUML客户需求分析产生的用例模型描述了系统的功能要求
C哪个视图属于UML语言的交互图:协作图
C关于状态图说法正确的是(状态图和活动图的区别)
image.png
D软件生命周期花费最多的阶段是:软件维护
B顺序图由类角色、生命线、激活器和消息组成
C多态是同一操作作用于不同的对象有不同的解释,产生不同的执行效果
A汽车类和轮子,方向盘等类之间的关系是关联关系(关联,泛化,实现,依赖)
A泳道技术
C类图当中表示总体和局部的关系:聚合

image.png
image.png

题型

选择题(220)
填空题(1
10)
简答题(20,大概四道)
1、简述类图和对象图的比较关系
image.png
2、简述活动图的主要作用
image.png
3、简述用例图中包含关系和扩展关系的理解以及区别
包含关系和扩展关系都是用例之间的关系。包含关系是将一个用例的功能细分成更多的部分,当分成的部执行时,基用例必然会发生。扩展关系是用例功能的延申,当延申部分执行时,基用例不一定要执行。
4、简述顺序图和协作图的比较关系
协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。
顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。
协作图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。
协作图和顺序图可以相互转化。
建模题(10*3)
用例图
类图
协作图,通信图

内容如下:

1、用例图

元素

用例(UseCase) :**用例主体/系统边界(UseCaseSubject) **:系统边界是指系统与系统之间的界限。我们把系统边界以外的同系统相关联的其他部分,称之为系统环境。
浏览项目(browse items)和购买项目(purchase items)适用于零售网站主体
image.png
关联(Association),定向关联(DirectedAssociation):
关联关系描述参与者与用例之间的关系,它是用于表示类的关系的关联元类的实例。在UML中,关联关系用箭头来表示。
依赖(Dependency) :
类A的实现需要引用类B,这就是依赖,这种使用关系是具有偶然性的、临时性的、非常弱的,而B类的变化会影响到A,则A与B存在依赖关系,依赖关系是弱的关联关系。例如:人依赖计算机去做软件开发。在UML类图设计中,依赖关系用由类A指向类B的带箭头虚线
image.png
扩展(Extend) **
扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。
扩展用例可以在基用例之上添加新的行为,但是基用例必须声明某些特定的“扩展点”,并且扩展用例只能在这些扩展点上扩展新的行为。在扩展(extend)关系中,基础用例(Base)中定义有一至多个已命名的扩展点,扩展关系是指将扩展用例(Extension)的事件流在一定的条件下按照相应的扩展点插入到基础用例(Base)中 对于一个扩展用例,可以在基用例上有几个扩展点。 现金支付(基础用例),信用卡支付和微信支付(扩展用例)
image.png
包含(Include) **
包含关系用来把一个较复杂用例所表示的功能
分解成较小的步骤

  【箭头指向】:指向分解出来的功能用例
image.png
例子:
image.png

2、类图

描述类、接口以及它们之间关系的图。显示系统中各个类的静态结构。
image.png

元素

名称
image.png
属性(重点)
image.png
可见性:
image.png
属性名:
每个属性都必须有一个名字以区别于类中的其他属性。
属性名由描述所属类的特性的名词或名词短语组成。
单词属性名小写,如果属性名包含了多个单词,这些单词要合并,且除了第一个单词外其余单词的首字母要大写。
类型:
image.png
初始值
image.png
属性字符串
image.png
属性类型表示:
冒号“:”后跟属性值的数据类型。数据类型的表示依赖于实现语言,如有的程序设计语言规定浮点数用保留字“ Float”表示,有的则规定用保留字“ Real”表示
image.png
image.png
image.png
操作:
image.png
image.png
image.png
image.png
image.png

类之间的关系

1、关联关系
image.png
image.png
2、依赖关系
image.png
image.png一个类的操作里面使用到了其它的类
3、泛化关系
image.png
image.png
泛化联系体现了分类与继承原则。一个子类继承超类的全部属性和方法(私有的是无法继承),一个子类本身又可以有自己的子类,从而构成复杂的一般/特殊的结构。
单继承:一个子类可以只从它的一个父类继承属性和方法。如果在一般/特殊的结构中只有单继承,则为层次结构。
多继承:一个子类也可以从它的多个父类继承属性和方法。如果在一般/特殊的结构中包含有多继承,则为网格结构(lattice structure)。
继承有传递性。一个子类不但可以从它的直接父类继承属性和方法,也可以通过其父类继承祖先类的属性和方法。
聚合和组合
.聚合
** 聚合用来描述两个类之间的整体——部分关系,其中一个类为整体,它由一个或者多个部分类组成。在聚合中,部分类可以没有整体类而存在。如下图所示**
image.png
组合是一种特殊的聚合关联。在组合关联中用来组成整体类的部分类是不能独立存在。整体类由部分类组成,部分类需要整体类才能存在。这种关系意味着销毁整体类将会同时销毁部分类。这些关联使用组合表示,因为如果没有数据库,表和查询也不会存在,如图所示。
image.png

3、对象图

对象图(Object Diagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例

对象与类的比较

image.png
image.png

对象图的表示方法

image.png
image.png

4、状态图

状态图就是开关,是描述状态变化的图形。描述了一个对象状态与状态的转变并且给出状态变化序列的起点和终点。
image.png

元素

image.png
image.png
image.png
image.png
image.png

5、活动图

image.png
image.png
image.png
image.png
image.png

元素

动作状态(Action State):是构造活动图的最小单位,它用于表示原子动作或操作的执行状态。动作的原子性决定了动作状态不能被分解为更小的部分,且动作一旦开始就不能被中断,直到执行完毕;动作状态的执行具有瞬时性,即执行时间极短,甚至可以忽略其执行的时间。动作状态没有内部转换或内部活动,不能由事件触发,但可以有转入,转入可以是对象流或动作流。动作状态包含至少一个转出。动作状态与状态图中的状态不同,它不能有入口动作和出口动作。
活动状态:是非原子性的,可以分解成其它子活动或动作状态,也可以被中断,占有有限的时间。活动状态可以理解为软件中的一个子过程,而动作状态则可以理解为基本的处理语句。如果活动状态只包括一个动作,则该活动状态就是动作状态。因此,可以认为动作状态是活动状态的一种特殊情形。在UML中,活动状态所使用的的图形与动作状态相同,只不过活动状态可以有入口动作、出口动作和状态动作等。
image.png
组合活动:是一种内嵌活动图的活动状态。把不包含内嵌活动或动作的活动称为简单活动。而把内嵌了其他活动或动作的活动称为组合活动。组合活动不具有原子性,可以被中断。在实际中,组合活动过于复杂会增加理解上的困难,因此,可以把组合活动中的子活动单独绘制为一个图。
image.png
分叉与汇合:在一些系统中,可能存在着在同一时刻,有两个或两个以上的并发控制流的情况。在UML中可以使用同步条来说明这些控制流的分叉(fork)和汇合(joint)情况。一个分叉是把一个控制流分解成两个或多个并发的控制流。汇合表示两个或多个并发控制流在此取得同步。在UML中,使用同步条来表示分叉和汇合。同步条是一条水平或垂直的粗线。
image.png
分支与合并:分支(Branch)在程序设计中是一种非常常见的结构,它根据不同的条件进入到不同的路径中执行。在活动图中也有类似的处理。活动图中也使用一个菱形图标来表示一个判定。一般一个判定有一个进入路径,两个或两个以上的转出路径。
每个转出路径上都有一个监护条件,当监护条件为真时,进入该路径。
转出路径上的监护条件应该是相斥的,不能重叠,且无遗漏的条件。
image.png
借助活动图可以清楚的描述业务或处理的过程,但无法清楚的表达这些活动或动作是由谁来完成的。
泳道(Swimlane)技术:可以帮助我们解决这一问题,它将活动或动作按执行的对象进行分组,每一组使用泳道来隔开。这样,即清楚的描述了活动或动作的转移情况,又表达清楚了这些活动或动作是由谁来完成的。每个泳道都以对象的名称或活动者的名称来命名,这些名称在一个活动图中是唯一的。活动或动作位于泳道内,不可以跨越泳道,而活动的转移可以跨越泳道。
对象流:可以在活动图中添加对象,来表示某个活动或动作要使用或输出的对象。
把涉及到的对象放在活动图中,使用依赖关系将对象链接到对它们进行创建、撤销或修改的活动转换上。这种活动与对象的依赖关系和对象的应用被称之为对象流(Object Flow)。
对象流可用于的场景:动作状态对对象的使用以及动作状态对对象的影响。
从对象指向活动或动作的链接代表活动或动作在处理时要使用的对象。
从活动或动作指向对象的链接表示活动或动作输出的对象。
image.png

活动图和状态图的区别

状态图是描述某一对象的状态转化的,它主要是展示的是对象的状态。描述的是一个对象的事情。从状态图中我们可以看出,对象在接受了事件刺激后,会做出什么样的反应。活动图是描述系统在执行某一用例时的具体步骤的,它主要表现的是系统的动作,描述的是整个系统的事情。

6、顺序图

** 类图和对象图表达的是系统的静态结构**。在一个运行的系统中,对象之间要发生交互,并且这些交互要经历一定的时间。UML顺序图所表达的正是这种基于时间的动态交互。顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。
顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。 顺序图属于动态建模。顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。
浏览顺序图的方法是:从上到下查看对象间交换的消息。
image.png
顺序图将交互关系表示为二维图。其中,纵轴是时间轴,时间沿竖线向下延伸,按时间递增顺序列出各个对象所发出和接收的消息(箭头表示)。水平方向是对象维,排列的是参与交互的各个独立的对象一般主要参与者放在最左边,次要参与者放在最右边。
image.png
1、参与者(Actor) / 对象(Object)
参与者与对象按照一定顺序从左到右排列。UML中并没有对排列顺序作出任何要求,但是经过长期的积累得出以下经验:
活动的起始点放在最左侧。
交互频繁的参与者或对象靠拢
2、生命线
每个参与者或对象都有生命线,生命线随着参与者的创建而产生,销毁而小时。当创建了参与者后,UML图上会顶部和底部各显示参与者,并且通过垂直虚线相连,这条垂直虚线就是生命线。
3、激活期
激活期是指对象在整个活动中获得了焦点,需要一段时间来执行某个动作,在UML图中是一个空心的矩形表示。
激活期是一个时间段,有开始就必要会结束。
4、消息
对象之间的交互是通过相互发消息来实现的。一个对象通过发送消息请求另一个对象做事件。消息从源对象指向目标对象。消息一旦发送便将控制从源对象转移到目标对象。
image.png

同步消息和异步消息的区别(简答)

同步消息(synchronous message):一般用于普通的过程调用。消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或者返回控制。调用消息可以用来表示同步的意义。
异步消息(asynchronous message):用于表示异步通信,即发送者发出消息后,立即继续执行下一步,不进行等待。
image.png

7、协作图/通信图

协作图是一种交互图,强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况.
协作图主要描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息
协作图可以表示类操作的实现
image.png
和前面的顺序图图2比较可以发现,对象与消息均没有变化,通信图中除了“对象”之间的链(连接线)之外,所有的元素在前面的顺序图中均已体现。

元素

1.对象

通信图中无法表示对象的创建和撤销,所以对象在通信图中的位置没有限制。

2.链

链是对象之间的语言连接,链是关联的一个实例。当两个对象之间存在链时,一个对象就能向另一个对象发送消息。链的符号是一条连接两个对象的实线。
大多数情况下,只需要通过链来表示一个对象向另一个对象(也可以是这个对象自身)发送消息的路径
image.png

3、协作图和顺序图的比较(简答)

协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同。
顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系
协作图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。
协作图和顺序图可以相互转化。

4、消息序号(顺序编号)

整个消息的传递过程形成了一个完整的序列,因此可以通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。
消息的序号可以采用两种不同的编号方式:一种是无层次的顺序编号,它简单直观,图1采用的就是这种消息序号。另一种是嵌套的编号,它更易于表示消息的包含或者说嵌套关系,如在消息1中,1.1是嵌套在消息1中的第一个消息,它在消息1.2之前,消息1.2是嵌套在消息1中的第二个消息
在绘制过程中,消息编号的格式有三种,第一种不显示序号,第二种按序显示,第三种按嵌套格式显示

image.png

8、构件图

构件图是UML中用来表示物理实现单元的视图之一(另一种视图是部署图)。
构件图中通常包含3种元素,即构件、接口和依赖关系。构件图通过这些元素描述了系统的各种构件及其之间的相互依赖关系,以及构件的接口和调用关系。每个构件实现了一些接口,并使用另外一些接口。如果构件间的依赖关系与接口有关,那么可以被具有同样接口的其他构件替换。
image.png
image.png
image.png

9、部署图

部署图(Deployment Diagram)描述了一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图。在一个部署图中包含了两种基本的模型元素:节点(Node)和节点之间的连接(Connection)。在每一个模型中仅包含一个部署图。

总结

image.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值