统一建模语言(总分:55.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:5,分数:31.00)在UML提供的图中,______用于描述系统与外部系统及用户之间的交互,______用于按时间顺序描述对象间的交互。
(分数:3.00)(1).∙ A.用例图∙ B.类图∙ C.对象图∙ D.部署图(分数:1.00)A. √B.C.D.解析:(2).∙ A.网络图∙ B.状态图∙ C.协作图∙ D.序列图(分数:1.00)A.B.C.D. √解析:[解析] 部署图定义系统中软、硬件的物理体系结构;状态图描述类的对象所有可能状态,以及事件发生时状态的转移条件;协作图显示对象间动态的合作关系;序列图描述对象之间的消息发送顺序,强调时间和顺序。
(3).下列关于UML叙述正确的是______。
∙ A.UML是一种语言,语言的使用者不能对其扩展∙ B.UML仅是一组图形的集合∙ C.UML仅适用于系统的分析与设计阶段∙ D.UML是独立于软件开发过程的(分数:1.00)A.B.C.D. √解析:[解析] UML是一种图形语言,用户可对该语言进行扩展,它贯穿于系统开发的整个生命周期,并且可独立于系统的开发过程。
在UML的通用机制中,______用于把元素组织成组;______是系统中遵从一组接口规范且付诸实现的物理的、可替换的软件模块。
(分数:2.00)(1).∙ A.包∙ B.类∙ C.接口∙ D.构件(分数:1.00)A. √B.C.D.解析:(2).∙ A.包∙ B.类∙ C.接口∙ D.构件(分数:1.00)A.B.C.D. √解析:[解析] 在UML规范中,将包定义为用于把元素组织成组的通用机制,包括其他元素,如类、接口、构件、节点、协作、用例、图及其他的包。
UML中的构件是遵从一组接口并提供一组接口的实现,是组成事物的元素,它是可付诸实现的物理的、可替换的软件模块。
可见,包是一个构件的抽象化的概念。
类是一组具有相同属性和相同服务的对象的抽象描述,类中的每个对象都是这个类的一个______。
类之间的共享属性与服务的机制称为______。
一个对象通过发送______来请求另一个对象为其服务。
(分数:4.00)(1).∙ A.例证∙ B.用例∙ C.实例∙ D.例外(分数:1.00)A.B.C. √D.解析:(2).∙ A.多态性∙ B.动态绑定∙ C.静态绑定∙ D.继承(分数:1.00)A.B.C.D. √解析:(3).∙ A.调用语句∙ B.消息∙ C.命令∙ D.口令(分数:1.00)A.B. √C.D.解析:[解析] 对象是类的实例,对象之间通过消息发送请求,类之间的共享属性与服务称为继承。
(4).在关于用例(Use Case)的描述中,错误的是______。
∙ A.用例将系统的功能范围分解成许多小的系统功能陈述∙ B.一个用例代表了系统的一个单一的目标∙ C.用例是一个行为上相关的步骤序列∙ D.用例描述了系统与用户的交互(分数:1.00)A.B.C.D. √解析:[解析] 用例用来描述系统在对事件做出响应时所采取的行动,即它确定了一个与系统参与者进行交互并由系统执行的动作序列。
可见,一个用例本身并不是一个功能需求,它代表了系统的一个单一的目标,是一个行为上相关的步骤序列。
本试题选项D所描述的范围太广,不够准确。
在UML规范中,参与者是指系统所涉及的人,或者用户在本系统中扮演的角色。
一个参与者总是在系统的自动化边界之外。
解答此类试题的一般思路是理解用例的基本概念。
在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例,这种用例称为______。
在UML的用例图上,将用例之间的这种关系标记为______。
(分数:16.00)(1).∙ A.扩展用例∙ B.抽象用例∙ C.公共用例∙ D.参与用例(分数:1.00)A.B. √C.D.解析:(2).∙ A.association∙ B.extends∙ es∙ D.inheritances(分数:1.00)A.B.C. √D.解析:[解析] 用例描述了一个与系统参与者进行交互并由系统执行的动作序列。
UML规范提供了用例之间包含、扩展和泛化3种相关性的关系,各种关系的功能及区别如表所示。
{{B}}用例各种关系说明表{{/B}}关系关键字描述对应用例包含关系include或uses从两个或两个以上的原始用例中提取公共行为,或发现能够使用一个构件来实现某一用例的部分功能。
意味着所包含的用例将始终出现抽象用例扩展关系extend将较复杂的步骤提取成专门的用例,以便简化原始用例并扩展其功能的行为。
扩展的出现是有条件的,并且每次并不一定出现扩展用例泛化关系generalization描述了一般事物与该事物中特殊种类之间的关系,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系较少使用由以上分析可知,抽象用例是从几个执行相同功能步骤的用例中,将公共步骤提取而成的独立用例。
可见抽象用例代表某种形式的“复用”,它是降低用例之间冗余的一种工具。
例如,在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户账号是否正确。
那么,用例“创建新订单”、“更新订单”与用例“核查客户账号”之间是一种包含关系。
对于选项A的“关联”是两个或多个特定类之间的关系,它描述了这些类元的实例的联系。
选项D的“继承”描述了子用例与父用例之间的一般关系。
解答此类试题的一般思路是识记用例的3种关系。
(3).现有两个用例UC1和UC2,其中UC2是一个完整的用例,可被实例化;而UC1需要UC2中的事件流才可被实例化,且UC1指定了使用UC2的精确位置,则UC1和UC2之间的关系是______。
∙ A.include∙ B.extend∙ C.generalization∙ D.call(分数:1.00)A. √B.C.D.解析:[解析] 注意本试题描述中的用词“精确位置”,说明用例UC1对用例UC2的实现很重要。
由试题的关键信息“UC1需要UC2中的事件流才可被实例化”可知,作为一个完整的用例,UC2实现了用例UC1的部分功能。
因此,应该使用包含关系来表示用例UC1和UC2之间的关系。
如果一个用例明显地混合了两种(或两种以上)不同场景,即在具体情况下可能发生多种活动,可将这个用例分为一个主用例和一个或多个辅助用例时,可以使用选项B的扩展关系(extend)来表示用例间的关系。
选项C的“generalization”在UML 中可解释成“泛化”;选项D的“call”可解释成“调用”。
解答此类试题的一般思路是消化和理解用例间各种关系的基本概念。
(4).在UML中______把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。
∙ A.组合活动∙ B.同步条∙ C.活动∙ D.泳道(分数:1.00)A.B.C.D. √解析:[解析] 在UML模型图中,“活动图”是一种特殊的状态图,它强调对象间的控制流,用于描述满足用例要求所需进行的活动,以及各活动间的约束关系(有利于并行活动的识别)。
可见,活动图由各种动作状态构成,每个动作状态包含可执行动作的规范说明。
在活动图中,泳道用于说明一个个活动轨迹,即每个活动都明确归属于某个泳道。
绘制活动图时,泳道用矩形框来表示,矩形框内填入具体活动的名称,矩形框的顶部填写负责该活动的对象名。
(5).在较高的抽象层次上,传统的程序流程图与UML中活动图最根本的区别在于______。
∙ A.程序流程图明确地指定了每个活动的先后顺序,而活动图仅描述了活动和必要的工作顺序∙ B.活动图不提供循环控制结构,而程序流程图提供∙ C.活动图不能表示并发活动,而程序流程图可以表示并发活动∙ D.两者采用不同的图形符号系统(分数:1.00)A. √B.C.D.解析:[解析] 通常,传统的程序流程图简明扼要地表达出完成某个给定问题的确定算法的逻辑操作过程,其条件行为用分支与合并来描述。
在UML模型图中,“活动图”是状态机的一种特殊情况,强调对象间的控制流,它既支持条件行为,也支持并发行为(用分岔与汇合来描述)。
因此,可以较容易地判断选项C的描述是错误的,即活动图支持并发活动,而程序流程图一般限于顺序进程。
选项B、D的描述不是程序流程图与活动图的本质区别。
(6).协作图主要描述对象间的交互与连接,它______。
∙ A.能够表示消息的顺序和嵌套关系∙ B.能够表示消息的顺序关系,但不能表示消息的嵌套关系∙ C.能够表示消息的嵌套关系,但不能表示消息的顺序关系∙ D.既不能表示消息的顺序关系,也不能表示消息的嵌套关系(分数:1.00)A. √B.C.D.解析:[解析] 协作图是一种UML行为类模型图,可用它描述一组对象及其相互间的连接,以及这组对象收发的消息。
它强调收发消息对象的结构组织,即强调上下层次关系。
它按组织结构对控制流建模,并能够通过消息编号来表示消息的顺序和嵌套关系。
(7).在UML的动态建模机制中,______描述了对象之间动态的交互关系,还描述了交互对象之间的静态链接关系,即同时反映系统的动态和静态特征。
∙ A.状态图(State Diagram)∙ B.序列图(Sequence Diagram)∙ C.协作图(Collaboration Diagram)∙ D.活动图(Activity Diagram)(分数:1.00)A.B.C. √D.解析:[解析] 本试题的4个选项均是UML行为类动态模型图。
其中,可以用协作图描述对象之间动态的交互关系,以及交互对象之间的静态链接关系,即同时反映系统的动态和静态特征。
它强调收发消息对象的结构组织,即强调上下层次关系。
它按组织结构对控制流建模,并能够通过消息编号来表示消息的顺序和嵌套关系。
状态图展示了一个特定对象的所有可能状态,以及由于各种事件的发生而引起的状态间的转移。
可以用它描述使用用例的生命周期,也可以用它说明系统的动态视图,它对于接口、类或协作的行为建模尤为重要。
序列图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模,也用它说明系统的动态视图,它强调的是时间和顺序。
活动图是一种特殊的状态图,它描述了所需要做的活动、执行这些活动的顺序及工作流,它强调对象间的控制流。
(8).在UML中的状态图和活动图的叙述中,______是错误的。
∙ A.状态图和活动图都是对系统的动态方面进行建模的图∙ B.活动图是状态图的一种特殊情况,其中所有或大多数状态是活动状态∙ C.状态图显示从状态到状态的控制流,活动图显示的是从活动到活动的控制流∙ D.在对一个对象的生存期建模时,只能使用状态图(分数:1.00)A.B.C. √D.解析:[解析] “状态图”描述了一个特定对象的所有可能状态,以及由于各种事件的发生而引起的状态间的转移。