UML期末复习(带习题,选择题,判断题)(持续更新) | 您所在的位置:网站首页 › java实用教程期末考试题及答案详解 › UML期末复习(带习题,选择题,判断题)(持续更新) |
UML期末复习
UML简介静态图:动态图:UML模型图的构成UML事物UML包含4种事物:构件事物: UML模型的静态部分,描述概念或物理元素行为事物:UML模型图的动态部分,描述跨越空间和时间的行为分组事物: UML模型图的组织部分,描述事物的组织结构注释事物: UML模型的解释部分,用来对模型中的元素进行说明,解释
UML关系依赖关联泛化实现
用例图( Use Case Diagram )什么是参与者?什么是用例?参与者与用例之间的关系:用例与用例之间的关系:参与者之间的关系:
类图(Class Diagram)类接口抽象类模版类关联关系(直线加箭头)聚合关系 (空菱形加直线)组合关系 (实心菱形加直线)泛化关系(在类图中可以理解为继承)实现关系依赖关系用例图、类图例子: 演出售票系统
对象图( Object Diagram )类图与对象图的不同之处顺序图(Sequence Diagram)生命线顺序图例子此图中存在的事物有:
协作图(Collaboration Diagram)形如这样的:例一:例二:
消息流(由箭头和标签组成)链接协作图与顺序图的区别和联系简答题会考联系:区别:
状态图(State Chart Diagram)转移状态图用于形如这样:例一:例二:状态转移的过程:
活动图(Activity Diagram)主要用于:活动图事物:活动图关系形如这样:例一例二
构件图(Component Diagram)形如这样:例一![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3046bf9fdd84433dbe4eb71d548d6f66.png)解释:
例二解释:
构件图中的事物及解释:
部署图(Deployment Diagram)形如这样的:解释
部署图与构件图相同的构成元素:部署图与构件图的关系:部署图中的事物及解释部署图中的关系及解释
常用 UML语法各个UML图之间的关系总览判断题总览选择题类图习题:顺序图练习题协作图练习题状态图练习活动图练习构件图习题部署图习题
UML简介
UML为面向对象设计提供统一的、标准的、可视化的建模语言,适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程 静态图:用例图、类图、对象图、构件图、部署图 动态图:顺序图、协作图、状态图、活动图 UML模型图的构成事物(Things):UML模型中最基本的元素,是具有代表性的成分的抽象 关系(Relationships):关系把事物紧密联系在一起 图(Diagrams):图是事物和关系的可视化表示 UML事物 UML包含4种事物:构件事物 行为事物 分组事物 注释事物 构件事物: UML模型的静态部分,描述概念或物理元素它包括以下几种: 类: 具有相同属性相同操作 相同关系相同语义的对象的描述 接口: 描述元素的外部可见行为,即服务集合的定义说明 协作: 描述了一组事物间的相互作用的集合 用例: 代表一个系统或系统的一部分行为,是一组动作序列的集合 构件: 系统中物理存在,可替换的部件 节点: 运行时存在的物理元素 另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体 行为事物:UML模型图的动态部分,描述跨越空间和时间的行为交互: 实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接 状态机: 描述事物或交互在生命周期内响应事件所经历的状态序列 分组事物: UML模型图的组织部分,描述事物的组织结构包: 把元素组织成组的机制 注释事物: UML模型的解释部分,用来对模型中的元素进行说明,解释注解: 对元素进行约束或解释的简单符号 UML关系 依赖依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义 关联关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系 泛化泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系 实现实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约 用例图( Use Case Diagram )1.用例图是被称为参与者的外部用户所能观察到的系统功能的模型图 2.用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行 (或称为发起了哪个用例)。 3.用例图多用于静态建模阶段(主要是业务建模和需求建模)。 形如这样: 在系统外部与系统直接交互的人或事物 注意:一个实际用户可能对应多个参与者,不同用户也可以只对应一个参与者 什么是用例?系统外部可见的一个系统功能单元 参与者与用例之间的关系:关联(用直线表示) 用例与用例之间的关系:包含(带箭头的虚线)、扩展(带箭头的虚线)、泛化(空心三角+直线) 包含关系:例如登陆时login需要进行密码验证,密码验证和login之间就是包含关系,login包含验证密码 扩展关系:例如登录login,登陆时密码错误会提示登录密码错误,提示登录密码错误就是login的扩展,需要满足条件时才触发 参与者之间的关系:泛化(空心三角+直线) 例如: 经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。安全主管和保安和经理之间就是泛化关系 类图(Class Diagram)属于静态建模 1.类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作) 2.类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联 形如这样: 1.类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等 2.类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等 接口一组操作的集合,只有操作的声明而没有实现 抽象类通常以斜体表示(或直接标注abstract,或者一个小钥匙),不能被实例化的类,一般至少包含一个抽象操作 模版类一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类 关联关系(直线加箭头)描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般的关 联关系语义较弱 聚合关系 (空菱形加直线)特殊关联关系,父类没了子类还可以有 组合关系 (实心菱形加直线)语义更强的聚合,部分和整体具有相同的生命周期,父类没了子类也会跟着没了 泛化关系(在类图中可以理解为继承)父子类之间,父子接口之间
表示:虚线加箭头 用例图、类图例子: 演出售票系统在用例驱动的开发过程中,通过分析各个用例及参与者得到类图。分析用例图的过程中需要根据面向对象的原则设计类和关系,根据用例的细节设计类的属性和操作 用例图: 对象图是类图的实例,几乎使用与类图完全相同的标识。 1.类具有3个栏,自上而下依次为名称、属性和操作 2.对象有两个栏,依次是名称属性 3.类的属性分栏定义了所有属性的特征,对象则只定义了当前值,以便用于测试用例 顺序图(Sequence Diagram)又称时序图,序列图,属于动态建模 1.顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件 2.顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。 顺序图属于动态建模。 3.顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序 3.浏览顺序图的方法是:从上到下查看对象间交换的消息。 作用:是用来表示用例中的消息顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件 形如这样: 坐标轴纵向的虚线表示对象在序列中的执行情况(即发送和接收的消息,对象的活动)这条虚线称为对象的“生命线” 顺序图例子
对象(信息亭 Kjosk ,售票中心 Box Office, 信用卡服务 Credit Card Service ),生命线,消息符号,信息亭发Request (count, performance)消息给售票中心,表示调用售票中心类的Request (count, performance)操作,来查询演出的信息,售票中心发Show Available(seat-list)消息给信息亭,表示调用信息亭类中的Show Available(seat-list)操作,给出可用的座位表。 协作图(Collaboration Diagram)1.是一种交互图,描述对象间的协作关系,协作图跟顺序图相似,描述协作对象间的交互和链接,显示对象、对象间的链接以及对象间如何发送消息 2.强调的是发送和接收消息的对象之间的组织结构,使用协作图来说明系统的动态情况。 3.协作图可以表示类操作的实现。 作用:是表示一个类操作的实现 形如这样的: 例一:
解释: 参与者需要乘坐电梯,他从系统外部按下按钮,让电梯到达他想去的楼层。此时,电梯系统的操作被启动,电梯控制对象以循环的方式检查所有的电梯,从中选择一个工作队列长度最短的。然后,它创建一个作业命令,并将该命令放入对应电梯的工作队列,接着激活队列。电梯对象并发运行,从它的队列中选择一个作业并执行。电梯是一个活动对象,它与它的控制线程并发执行。 消息流(由箭头和标签组成)标签对消息作说明,其中,顺序号指出消息的发生顺序,并且指明了消息的嵌套关系;冒号后面是消息的名字 下面是一个完整的消息标签: 前缀 守卫条件 序列表达式 返回值 := 消息名 链接用直线来表示链接,链接表示两个对象共享一个消息,位于对象之间或参与者与对象之间 协作图与顺序图的区别和联系简答题会考 联系:1.协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同 2.协作图和顺序图可以相互转化 区别: 1.顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系 2.协作图强调对象间的关系(强调空间),但时间顺序必须从顺序号获得 状态图(State Chart Diagram)1.状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成 2.说明对象在它的生命期中响应事件所经历的状态序列,以及它们对那些事件的响应 转移1.转移是由一种状态到另一种状态的迁移。这种转移由被建模实体内部或外部事件触发 2.对一个类来说,转移通常是调用了一个可以引起状态发生重要变化的操作的结果 状态图用于揭示Actor、类、子系统和组件的复杂特性,为实时系统建模 形如这样: 例一:
1.活动图是状态图的一个变体,描述系统的动态行为 2.包含活动状态(ActionState),活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态 3.适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;否则,状态图更容易描述 4.类似于传统意义上的流程图 主要用于:1.业务建模时,用于详述业务用例,描述一项业务的执行过程 2.设计时,描述操作的流程 活动图事物:虚线箭头:控制流 实线箭头:消息流
又称组件图,构件图用于静态建模 1.是表示构件类型的组织以及各种构件之间依赖关系的图。 2.构件图通过对构件间依赖关系的描述来估计对系统构件的修改给系统可能带来的影响。 形如这样: 例一![]() 图中的构件名称是Dictionary字典 该构件向外提供两个接口,即两个服务Spell-check拼写检查、Synonyms同义词 例二图中“Planner计划者”构件向外提供一个“update更新”接口服务 同时,该构件要求外部接口提供一个“Reservations预定”服务 虚线箭头:表示要求外部接口提供服务 构件图中的事物及解释:
1.部署图用于静态建模,是表示运行时过程节点结构、构件实例及其对象结构的图 2.如果含有依赖关系的构件实例放置在不同节点上,部署视图可以展示出执行过程中的瓶颈 3.部署图的两种表现形式:实例层部署图和描述层部署图(会在后面的实例中给出) 形如这样的:图中包括的各种关系如下: 1.通信链关系(不带箭头的直线):TicketServe票服务器与Kiosk信息厅之间存在一对多的通信关联;与SalesTerminal售票终端也存在一对多的通信关联; 2.依赖关系(带箭头的虚线):TicketSeller售票构件依赖CreditCardCharges信用卡付款构件和TicketDB票数据库构件提供的服务。 部署图与构件图相同的构成元素:构件、接口、构件实例、构件向外提供服务、构件要求外部提供的服务 部署图与构件图的关系:1.部署图表现构件实例 2.构件图表现构件类型的定义 3.部署图偏向于描述构件在节点中运行时的状态,描述了构件运行的环境 4.构件图偏向于描述构件之间相互依赖支持的基本关系。 部署图中的事物及解释
1、UML中一共有九种图:它们是用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图(正确) 2、用例图是从程序员角度来描述系统的功能: (错误) 用例图是从用户(系统的参与者)的角度来描述系统的功能 3、类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构 (错误) 对象图是类图的实例化,用于描述系统在特定时间点的对象实例及其之间的关系。 4、活动图和状态图用来描述系统的动态行为(正确) 5、协作图的一个用途是表示一个类操作的实现 (错误) 协作图主要用于表示对象之间的协作和消息传递,描述对象之间的通信和交互 总览选择题1.请在下面选项目中选出两种可以互相转换的图 (a) 顺序图 (b)协作图 © 活动图 (d) 状态图 (a,b) 2.下面哪些图可用于BD阶段 (a)用例图 (b)构件图 ©类图 (d)顺序图 (a,c,d) 类图习题:
|
CopyRight 2018-2019 实验室设备网 版权所有 |