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