题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第5章 软件工程

UML中保证执行契约属于实现关系还是泛化关系?

12 道章节练习题
单选题5.3 软件设计9 / 12

关于UML中的关系,以下说法正确的是()。

选择答案
未作答
答案与解析

正确答案 C

指定契约的一方与保证履行契约的一方,通过实现关系联系起来。其余三项将关系名称和定义错配:A描述依赖,B描述关联,D描述泛化,选C。

先遮住选项开头的名称,只读后面的意思,再把名称配回去。接口规定必须提供查询操作,某个类保证按约定提供这些操作,这是实现;会员是用户的一种,这是一般与特殊的分类,即泛化;客户持有订单,强调的是对象之间的联系,可用关联表达;调用方使用某种数据定义,该定义改变可能影响调用方,则要考虑依赖。这四个例子用来建立语义区分,不是在断言复杂模型里每对元素只能有一种联系。本题考定义配对,不要求把“有联系”一概判成关联,也不要求仅凭代码里出现接口就猜答案。

选项分析

A
“一方变化影响另一方”对应依赖的定义,此项把它冠以关联名称,发生了错配。
B
这里只讲两种对象存在联系,没有一般与特殊的分类语义,对应的是关联而非泛化。
C
一方指定契约、另一方保证执行契约,正是本题要识别的实现关系。
D
特殊元素能替换一般元素属于泛化的分类语义,不能把名称换成依赖。

容易混淆的地方

把所有“有关系”的描述都归到关联,或把实现与泛化都简单理解为继承,忽略契约和分类的差别。

再巩固一步

  • 练习时把每个错误选项的关系名称改正确,再举一个例子,比只记住C更能检验理解。
课后练习整理 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.3.3 · 纸书第218页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息