参考答案:
(1)“小车”类有哪几个操作? 返回小车当前位置(); 转向和前进();
(2)“指挥小车UC”类的“执行任务”操作要做哪些工作? 移动任务:更新行走断表和目的地();
移动任务:判断现有信息足以让小车行走(); 小车:返回小车当前位置();
小车:验证小车尚未到达目的地();
移动:根据但前位置及断表信息计算出速度、角度(); 小车:转向和前进();
5. 请根据如下Java代码画出相应的顺序图。 class C1{
C2 c2 = new C2();
public void f1(){ c2.f2(); } }
Class C2{
public void f2(){ f2(); } }
6、顺序图和协作图中,消息有哪三种?各自的意义和表示方式?
答 消息可以是简单的(simple)、同步的(synchronous)或异步的(asynchronous)。简单消息是从—个对象到另一个对象的控制流的转移。如果一个对象发送了—个同步消息,那么它要等待对方对消息的应答,收到应答后才能继续自己的操作。而发送异步消息的对象不需要等待对方的应答便可以继续自己的操作。在顺序图中,简单消息是—个简单箭头,同步消息是实心箭头。异步消息是—个半边箭头。
7、 根据下面的叙述,绘制一幅关于顾客从自动售货机中购买物品的顺序图。 (1) 顾客(User)先向自动售货机的前端(Front)投币; (2) 售货机的识别器(Register)识别钱币;
(3) 售货机前端(Front)根据Register的识别结果产生商品列表; (4) 顾客选择商品;
(5) 识别器控制的出货器(Dispenser)将所选商品送至前端(Front)
: Front : User1: 投币2: 识别钱币 : Registar : Dispenser3: 产生商品列表4: 选择商品5: 选择商品6: 出货
8、指出图中注释所表达的含义。 AAA, BBB, CCC, DDD
(A)Class, Message, Iteration, Self-Call (B) Object, Message, Iteration, Self-Call
(C) Object, Message, Self-Call, Iteration (D) Class, Message, Self-Call, Iteration 答案:B
9、顺序图的定义与作用 。
顺序图是对对象之间传送消息的时间顺序的可视化表示。 顺序图从一定程度上更加详细地描述了用例表达的需求,将其转化为进一步、更加正式层次的精细表达,这也是序列图的主要用途之一。序列图的目的在于描述系统中各个对象按照时间顺序的交互过程。
顺序图的作用:
①为用例建造逻辑模型。
②为某个用例的泛化功能提供其所缺乏的解释。 ③记录一个存在系统的对象现在如何交互。 ④用来演示某个用例最终产生的所有的路径。
10、顺序图的组成 。
顺序图是由对象、生命线、激活和消息等构成的。
11、协作图的定义与用途 。
协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色和关联角色。
作用分为以下三个方面:通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达、显示对象及其交互关系的空间组织结构、表现一个类操作的实现。
12、协作图的组成 。
协作图是由对象、消息和链等构成的。
13、交互是什么?请举2-3个交互的实际例子。
一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为。
举例:上传告警、发送短信。
14、在UML 2.0中定义了哪四种交互图?其中强调控制流时间顺序的是哪一种交互图?哪两种是基本交互图?
顺序图、通信图、定时图、交互概述图; 强调控制流时间顺序的是顺序图; 顺序图和通信图是两种基本交互图。
15、在顺序图中和在通信图中,分别应该如何表示“循环”结构的?
在顺序图中,循环结构可以使用一个交互片断来表示。
在通信图中,使用迭代标记来表示循环。迭代是通过在顺序编号前加上一个迭代符“*”和一个可选的迭代表达式来表示的。对于迭代表达式,UML没有强制规定什么语法,因此你可以使用任何可读的、有意义的表达式来表示。
16、在交互图中,消息编号有哪两种形式?请分别说明它们的优缺点。
一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系。
17、在交互图中,表示返回消息的符号是什么?表示异步消息符号是什么,异步消息指的是什么意思?
异步模式:对象A发送了一个信号给对象B,那么A在发送完信号之后,就会继续执行,不会等待。
同步消息和异步消息的区别: 同步消息假设有一个返回消息,在发送消息的对象进行另一个活动之前需要等待返回 的回应消息。
异步消息表示发送消息的对象不用等待回应的返回消息,即可开始另一个活动。
18、假设有一系统的协作图局部如图所示,print方法的功能是将传入参数的值打印在屏幕上;fact方法是用来计算阶乘的,test的初值为1。那么将打印出什么?
打印的值是10。将执行三次迭代,因此test的值是1+1!+2!+3!=10。
19、请说明图所示的顺序图的含义:
客户类调用A类的do方法,并传入参数x;A类将判断传入的参数x的值是否小于10,如果是则调用B类的Calculate方法,参数为x;否则将调用C类的Calculate方法,参数为x。
20、定时图的作用是什么?请简单说说它和顺序图的区别。
表示具有很强的时间特性的交互(例如现实生活右的电子工程、实时控制等系统中)。它和顺序图的区别在于:
坐标轴交换了位置,改为从左到右来表示时间的推移;
用生命线的“凹下凸起”来表示状态的变化,每个水平位置代表一种不同的状态,状态的顺序可以有意义、也可以没有意义;
生命线可以跟在一根线后面,在这根线上显示一些不同的状态值; 可以显示一个度量时间值的标尺,用刻度来表示时间间隔。
21、图是一个电梯控制系统的通信图,其中Elevator表示电梯,Queue表示指令队列,Order表示指令,Elevator Control是电梯控制器,Button是电梯上的按钮。请简解释该协作图的含义:
1、 用户按下按钮;
2、 按钮将向Elevator Control查询电梯当前所在的楼层号 ;