UML09期末复习题.docx
《UML09期末复习题.docx》由会员分享,可在线阅读,更多相关《UML09期末复习题.docx(15页珍藏版)》请在冰豆网上搜索。
UML09期末复习题
2008-2009第2学期《UML与面向对象方法学》复习题
二、单选题
1.(A)不是UML体系的组成部分。
A.应用领域B.规则C.基本构造块D.公共机制
2.在UML中,有四种事物,下面哪个不是(B)。
A.结构事物B.静态事物C.分组事物D.注释事物
3.以下(C)不是RUP中的优秀方法。
A.迭代的开发软件B.不断的验证软件质量
C.配置管理与变更管理D.支持正向与逆向工程
4.下面(D)属于UML中的动态视图。
A.类图B.用例图C.对象图D.状态图
5.在UML中,()把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。
A
A.泳道B.同步条C.活动D.组合活动
6.用例之间有几种不同的关系,下列哪个不是他们之间可能的关系()。
B
A.includeB.connectC.generalizationD.extend
7.event表示对一个在时间和空间上占据一定位置的有意义的事情的规格说明,下面哪个不是事件的类型()。
C
A.信号B.调用事件C.源事件D.时间事件
8.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性()。
D
A.publicB.protectedC.privateD.friendly
9.在UML中,类之间的关系有一种关系称为关联,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一()。
A
A.*….*B.0….*C.1….*D.0….1
10.关于包的描述,不正确的是()。
B
A.和其他建模元素一样,每个包必须有一个区别于其他包的名字
B.export使一个包中的元素可以单向访问另一个包中的元素
C.包的可见性分为public、protected、private
D.包中可以包含其他元素,比如类、接口、组件、用例等等
11.UseCase用来描述系统在事件做出响应时所采取的行动。
用例之间是具有相关性的。
在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。
那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系。
C
A.aggregationB.extendC.includeD.classification
12.UML中,用例图展示了外部Actor与系统所提供的用例之间的连接,UML中的外部Actor是指()。
D
A.人员B.单位C.人员和单位D.人员或外部系统
13.在UML中,用例可以使用()来描述。
A
A.活动图B.类图C.状态图D.协作图
14.下列关于UML叙述正确的是()。
B
A.UML是一种语言,语言的使用者不能对其进行扩展
B.UML是独立于软件开发过程的
C.UML仅是一组图形的集合
D.UML仅适用于系统的分析与设计阶段
15.UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。
消息序列可用两种类来表示,分别是()。
C
A.状态图和时序图B.活动图和协作图
C.时序图和协作图D.状态图和活动图
16.为了使构件系统更切合实际、更有效地被复用,构件应当具备(),以提高其通用性。
D
A.可继承性B.可变性C.可封装性D.可伸缩性
17.当()时,用例是捕获系统需求最好的选择。
A
A.系统有很多参与者B.系统具有很少的接口
C.系统算法复杂,功能单一D.系统具有很少的用户
18.下列关于面向对象的分析与设计的描述,正确的是()。
B
A.面向对象设计描述软件要做什么
B.面向对象分析不需要考虑技术和实现层面的细节
C.面向对象分析的输入是面向对象设计的结果
D.面向对象设计的结果是简单的分析模型
19.下面()不是UML的关系。
C
A.依赖关系B.关联关系C.继承关系D.泛化关系
20.构件图用于对系统的静态实现视图建模,这种视图主要支持系统构件的配置管理,通常可以分为四种方式来完成,下面哪种不是其中之一()。
D
A.对源代码建模B.对可执行体的发布建模
C.对物理数据库建模D.对事物建模
21.封装是把对象的()结合在一起,组成一个独立的对象。
A
A.属性和操作B.信息流C.消息和事件D.数据的集合
22.封装是一种()技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。
C
A.工程化B.系统维护C.信息隐蔽D.产生对象
23.面向对象方法中的()机制使子类可以自动拥有(复制)父类的全部属性和操作。
D
A.约束B.对象映射C.信息隐蔽D.继承
24.使得在多个派生类中能够定义同一个操作,并在每一个类中有不同的实现的一种方法是()。
B
A.继承B.多态性C.约束D.接口
25.UML的软件以()为中心,以系统体系结构为主线,采用循环、迭代、渐增的方式进行开发。
A
A.用例B.对象C.类D.程序
26.UML的()模型图由类图、对象图、包图组成。
B
A.用例B.静态C.动态D.系统
27.UML的()模型图由活动图、顺序图、状态图和交互概览图组成。
C
A.用例B.静态C.动态D.系统
28.UML的最终产物就是最后提交的可执行的软件系统和()。
D
A.用户手册B.类图C.动态图D.相应的软件文档资料
29.在UML的需求分析建模中,()模型图必须与用户反复交流并加以确认。
B
A.配置B.用例C.包D.动态
30.可行性研究分析报告包括经济可行性分析、技术可行性分析和()可行性分析。
C
A.风险B.法律C.资源D.效益
31.UML的客户需求分析模型包括()模型、类图、对象图和活动图组成。
A
A.用例B.静态C.动态D.系统
32.UML客户需求分析使用的CRC卡片上“责任”一栏的内容主要描述类的()和操作。
C
A.对象成员B.关联对象C.属性D.私有成员
33.UML客户需求分析产生的用例模型描述了系统的()。
D
A.状态B.体系结构C.静态模型D.功能要求
34.在UML的需求分析建模中,用例模型必须与()反复交流并加以确认。
B
A.软件生产商B.用户C.软件开发人员D.问题领域专家
35.在UML的需求分析模型中,对用例模型中的用例进行细化说明应使用()。
A
A.活动图B.状态图C.配置图D.构件图
36.活动图中的分劈和同步接合图符是用来描述()。
A
A.并发处理行为B.对象的时序
C.类的关系D.系统体系结构框架
37.UML的系统分析进一步要确立的三个系统模型是()、对象动态模型和系统功能模型。
B
A.数据模型B.对象静态模型C.对象关系模型D.体系结构模型
38.UML的客户需求分析产生的模型()。
D
A.只有用例图B.有完整类C.有完整对象图D.包括用例图和类图等
39.类和对象都有属性,它们的差别是:
类描述了属性的类型,而对象的属性必须有()。
C
A.正负号B.动作C.具体值D.私有成员
40.UML系统需求分析阶段产生的包图描述了系统的()。
B
A.状态B.系统体系层次结构C.静态模型D.功能要求
41.设计模式在面向对象系统设计中是()的一种形式。
D
A.软件调用B.设计方法C.子系统D.软件复用
42.“对象容器”设计模式对有限的对象进行管理,它不能()对象。
C
A.查找B.修改C.创建D.删除
43.UML系统设计的一般步骤包括系统对象设计、系统体系结构设计和系统设计的()和审查。
C
A.建模B.完善C.优化D.迭代
44.顺序图和协作图主要用于用例图中()的建模,用它们来描述用例图的行为。
C
A.数据流B.控制流C.消息流D.数据字典
45.顺序图的模型元素有()、消息、链接等,这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。
A
A.对象B.箭头线C.活动D.状态
46.顺序图描述()对象之间消息的传递顺序。
D
A.某个B.单个C.一个类产生的D.一组
47.顺序图和合作图建立了UML面向对象开发过程中的对象动态()模型。
A
A.交互B.状态C.体系结构D.软件复用
48.状态图可以表现()在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移而引起的动作。
B
A.一组对象B.一个对象C.多个执行者D.几个子系统
49.状态图描述一个对象在不同()的驱动下发生的状态迁移。
A
A.事件B.对象C.执行者D.数据
50.一个()迁移图符可以有多个源状态或目标状态,它们可以把一个控制分解为并行运行的并发状态,或将多个并发线程接合成单个线程。
D
A.状态B.对象C.活动D.同步并发
51.活动图中动作状态之间的迁移不是靠()触发的,当活动(动作)状态中的活动完成时迁移就被触发。
B
A.对象B.事件C.执行者D.系统
52.状态图和活动图建立了UML面向对象开发过程中的对象动态()模型。
B
A.交互B.状态C.体系结构D.软件复用
53.系统体系结构是用来描述系统各部分的结构、接口以及它们用于通信的()。
A
A.一种机制B.形式C.原理D.结构
54.UML可以图描述硬件之间的互联关系,也能描述硬件单元上的()系统的分布。
B
A.对象B.软件C.系统体系结构D.数据
55.()是对系统的用例、类、对象、接口以及相互间的交互和协作进行描述。
B
A.系统体系结构B.软件(逻辑)系统体系结构
C.硬件(物理)系统体系结构D.系统框架
56.()要对系统的构件、节点的配置进行描述。
D
A.软件(逻辑)系统体系结构B.系统体系结构
C.系统架构D.硬件(物理)系统体系结构
57.()是软件(逻辑)系统体系结构(类、对象、它们之间的关系和协作)中定义的概念和功能在物理体系结构中的实现。
A
A.构件B.节点C.软件D.模块
58.()由节点和节点之间的联系组成,描述了处理器、设备和软件构件运行时的体系结构。
D
A.构件图B.状态图C.顺序图D.配置图
59.()的基本元素有节点、构件、连接、依赖等。
C
A.构件图B.状态图C.配置图D.顺序图
三、问答题
1.试描述软件生存周期各个阶段的基本任务。
答:
(1)问题定义阶段必须回答要解决的问题是什么。
(2)可行性研究阶段要回答对于上一个阶段所确定的问题有行得通的解决办法吗。
(3)需求分析阶段要准确地确定为解决此问题,目标系统必须做什么。
(4)总体设计阶段必须回答应如何解决此问题。
(5)详细设计阶段回答该怎样具体地实现这个系统。
(6)编码和单元测试阶段是写出正确的、易理解、易维护的程序模块。
(7)综合测试阶段是通过各种类型的测试/调试使软件达到预定要求。
(8)软件维护阶段对软件进行改正性、适应性、完善性和预防性维护活动。
2.试写出模块化的完整定义和模块化的实现原则。
答:
(A)模块化的完整定义包括:
(1)模块可分解性;
(2)模块可结合性;
(3)模块可理解性;
(4)模块连贯性;
(5)模块保护性。
(B)模块化的实现原则包括:
(1)语言化的模块单元;
(2)少量接口;
(3)小的接口耦合性;
(4)显式的接口;
(5)信息的隐藏化。
3.面向对象方法有哪些主要特点?
答:
(1)使人们更好地认识客观世界。
(2)能很好地适应需求变化。
(3)容易实现软件复用。
(4)系统易于维护和修改。
4.OOA主要遵循哪些原则?
答:
(1)构造和分解相结合的原则。
(2)抽象化和具体化相结合的原则。
(3)封装的原则。
(4)相关的原则。
(5)行为约束的原则。
5.简要介绍一下OOD体系结构的各个部分及其内容。
答:
(1)设计问题论域部分:
设计构造为底层应用建立模型的类和对象,细化分析结果。
(2)设计人机交互部分:
设计有关类接口视图的用户模型的类和对象,设计用户界面。
(3)设计任务管理部分:
确定系统资源的分配,设计用于系统中类行为控制的对象或类。
(4)设计数据管理部分:
确定持久对象的存储,将对象转换成数据库记录或表格。
6.作为一个优良的OOD,应该具备哪些基本条件?
答:
(1)类和类的继承必须具有高度凝集性。
(2)类与类之间的耦合应该很松散,子类与父类除外。
(3)某个类的数据实现细节对于别的类来说应该是隐藏的。
(4)设计应该具有最优的可重用性。
(5)尽量使类、对象和方法的定义具有简单性。
(6)对所设计的类和类族,应注意保持其协议或接口的稳定性。
(7)类的层次结构设计规模要适度,不应太深或太浅。
(8)系统整体规模要最小化。
7.写出OOP的一般步骤。
答:
(1)构造一个解题模型。
(2)标识对象。
(3)标识对象间的关系。
(4)建立对象的型构。
(5)实现各对象。
8.什么是UML?
使用UML进行建模有哪些目的?
答:
UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
使用UML进行建模的目的有:
(1)使用模型可以更好地理解问题。
(2)加强人员之间的沟通。
(3)更早地发现错误或疏漏的地方。
(4)获取设计结果。
(5)为最后的代码生成提供依据。
9.UML软件开发过程的基本特征有哪些?
答:
(1)用例驱动的系统。
(2)以体系结构为中心。
(3)螺旋上升式的开发过程。
(4)以质量控制和风险管理为目标。
10.UML有哪些目标?
答:
(1)易用,表达能力强,能进行可视化建模。
(2)与具体的实现无关。
(3)与具体的过程无关。
(4)简单且可扩展,具有扩展和专有化机制,无需对核心概念进行修改。
(5)为面向对象的设计与开发中涌现出的高级概念提供支持,强调重用。
(6)与最好的软件工程实践经验集成。
(7)可升级,具有广阔的适用性和可用性。
(8)有利于面向对象工具的市场增长。
11.请根据UML的图在不同架构视图中的应用将把它们分类。
答:
(1)用户模型视图:
用例图。
(2)结构模型视图:
类图、对象图。
(3)行为模型视图:
时序图、协作图、状态图、活动图。
(4)实现模型视图:
构件图。
(5)环境模型视图:
部署图。
12.需求分析的目的是什么?
需求分析中的典型活动有哪些?
答:
需求分析的目的是获取需求,得到描述系统所需的用例、业务流程或清晰的正文。
需求分析中的典型活动有:
(1)获取领域知识。
(2)定义系统功能。
(3)寻找合适的类。
(4)建立类的静态模型。
(5)描述对象的动态行为。
(6)验证。
(7)给出基本的用户界面原型。
13.用例建模的主要目标有哪些?
答:
(1)将需求规约变为可视化模型,并得到客户确认。
(2)给出清晰、一致的关于系统“做什么”的描述,确定系统的功能要求。
(3)提供从功能需求到系统分析、设计、实现各阶段的度量标准。
(4)为最终系统测试提供给制,据此验证系统是否达到功能要求。
(5)为项目目标进度管理和风险管理提供依据。
14.用例建模的步骤包括哪些工作?
答:
(1)确定系统的范围、边界、用例、执行者。
(2)描述用例。
(3)用例分类、确定用例之间的关联。
(4)建立用例图。
(5)定义用例图的层次结构。
(6)审核用例模型。
15.消息传递和函数调用有哪些区别?
答:
(1)消息传递必须指明接收方,函数调用由参数决定。
(2)消息传递的接收方是实体,可以保持状态,函数调用无此要求。
(3)消息传递属于异步调用,并发性好,函数调用则属于串行。
16.MVC有哪些优点?
答:
(1)各施其职,互不干涉。
(2)有利于开发中的分工。
(3)有利于组件的重用。
17.什么是顺序图?
顺序图有哪些用途?
答:
顺序图是一种详细表示对象之间及对象与参与者之间动态联系的图形文档。
顺序图的用途有:
(1)帮助分析员对照检查每个用况中描述的用户需求是否已落实到对象上,提醒分析员去补充遗漏的对象类或服务。
(2)帮助分析员发现主动对象。
(3)通过对一个特定的对象群体的动态方面建模,深刻理解对象间的交互。
(4)表示用例的行为顺序,描述对象之间以及对象与Actor之间的消息发送关系。
(5)发现类并依据其职责构建类的属性和方法。
18.顺序图的建立有哪些步骤?
答:
(1)确定交互过程的上下文。
(2)识别参与交互过程的对象并设置生命线。
(3)从引发该交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息。
(4)若需要表示消息的嵌套或消息发生时的时间点,则采用控制焦点。
(5)若需说明时间约束,则在消息旁加上约束说明。
(6)如果需要,可为每个消息附上前置条件和后置条件。
19.如何在顺序图中表示消息的条件发送?
答:
(1)在消息上加警戒条件。
(2)在消息名字前加条件子句。
(3)使用文字说明。
(4)分成多个顺序图。
20.请写出顺序图中对象排列的原则。
答:
(1)对象横向排列在顺序图的顶部。
(2)最重要的对象放在最左边。
(3)交互密切的对象尽可能相邻。
(4)交互中创建的对象,应垂直地放置在其创建的时间点上。
(5)每个对象有一个下垂的生命线。
21.写出协作图的建立顺序。
答:
(1)设置交互的语境。
(2)通过识别对象在交互中扮演的角色,把它们作为图的顶点放在协作图中,将较重要的对象放在图的中央,再放置邻近的对象。
(3)如果对象的类之间有关联,可能就要在对象间建立链,以说明这些对象有联系。
(4)从引起这个交互的消息开始,将随后的每个消息附到适当的链上,并设置顺序号。
(5)如果需要对时间或空间进行说明,则用适当的时间或空间约束修饰每个消息。
22.试比较协作图和时序图。
答:
(1)二者同属交互图,都用于描述系统中对象之间的动态关系。
(2)两者在语义上是等价的,但两者并不能完全相互代替。
(3)两者可相互转换,但两者强调重点不同。
(4)协作图强调的是参与交互的对象的组织,时序图则强调的是消息的时序。
23.活动图有哪些用途?
答:
(1)描述一个操作执行过程中所完成的工作。
(2)描述对象内部的工作。
(3)显示如何执行一组相关的动作以及这些动作如何影响它们周围的对象。
(4)显示用例的实例是如何执行动作以及如何改变对象状态。
(5)说明一次活动中的角色、工作流、组织和对象是如何工作的。
24.试比较状态图和活动图。
答:
(1)二者都是对系统的动态行为建模,都可以描述一个系统或对象在生存期间的状态或行为。
(2)二者都可以描述一个系统或对象在多进程操作中的同步与异步操作的并发行为。
(3)二者在UML中的描述图符基本一样。
(4)二者都可以用分支图符描述一个系统或对象的行为控制流。
(5)二者触发一个系统或对象的状态(或活动)发生迁移的机制不同。
(6)二者描述多个对象共同完成一个操作的机制不同。
25.建造对象动态结构模型的步骤包括哪些工作?
答:
(1)建造对象状态模型。
(2)建造对象之间交互行为模型。
(3)复审对象动态结构模型,以验证其准确性、一致性。
(4)编制相应的文档资料。
26.试比较共享聚集和组合聚集。
答:
(1)二者都表示“整体-部分”的组成关系。
(2)共享聚集表示较弱的拥有关系,组合聚集表示较强的拥有关系。
(3)在UML中共享聚集用空心菱形表示,组合聚集用实心黑色菱形表示。
(4)共享聚集的多重性是*,组合聚集的“整体”端的重数必须是1。
(5)二者都具有传递性。
27.接口有哪些主要特点?
答:
(1)接口是一个类,定义了一组提供给外界的操作。
(2)接口是一个特殊的抽象类,没有属性,只有抽象操作。
(3)一个类在使用接口时必须实现接口的全部抽象操作。
(4)在UML中,接口实施的图形标记与继承相似,只是用虚线代替了实线。
(5)接口常用于定义或限制软件构件的对外运算。
28.通过发送消息可以触发的动作有哪些?
答:
(1)创建一个对象或释放一个对象。
(2)调用另一个对象的操作。
(3)调用本对象的操作。
(4)发送信息给另一个对象。
(5)返回值给调用者。
29.动作与活动有哪些区别?
答:
(1)动作具有迁移性。
(2)动作具有原子性。
(3)动作具有连续性。
(4)活动具有有限性。
(5)活动具有非原子性。
30.试比较对象之间的同步与异步操作。
答:
(1)同步消息的发送者把进程控制传递给消息的接收者,然后暂停活动,等待消息的接收者放弃或返回控制。
(2)同步消息的接收者执行所请求的操作,如果需要,可以把控制传递给另一个对象角色,请求做某个操作,并且当该操作完成后把控制返回给原来的同步消息的发送者。
(3)同步消息的接收者也可以直接返回或发送信息给原来的消息发送者。
(4)异步消息的发送者通过发送消息把信号传递给消息的接收者,然后继续自己的活动,不等待消息的接收者返回信息或控制。
(5)异步消息的接收者执行所请求的操作,操作完成后可以向异步消息的发送者返回信息。
(6)异步消息的发送者和接收者采用并发工作方式。
31.SDLC有哪些软件开发模式?
他们的特点。
32.UP(统一开发方法)是如何跌代开发?
33.状态图的桩转换的含义?
34.质量保证的元模型包括那几部分?
35.软件架构的好处是?
36.简述GRASP原则的含义。
37.描述软件架构可以哪几种UML图?
38.复合状态图的定义和使用
39.历史状态的含义
40.原型开发的作用?