您好,欢迎访问三七文档
1(一)一、选择题1、软件开发过程中,最困难的一个环节是()A、程序语言的学习B、详细设计C、需求分析D、编码设2、若将活动状态比作方法,那么动作状态即()A、方法名B、方法返回值C、方法体中的每一条语句D、方法的可见性3、UML提供了一系列的图支持面向对象的分析与设计,其中()给出系统的静态设计视图;()对系统的行为进行组织和建模是非常重要的;()和()都是描述系统动态视图的交互图,其中()描述了以时间顺序组织的对象之间的交互活动,()强调收发消息的对象的组织结构。A、状态图B、用例图C、顺序图D、部署图E、通信图F、类图G、时序图4、在一个订单输入子系统中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)5、Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。为了描述这些算法,如下图中,那个最适合()A.活动图B.状态图C.类图D.用例图二、简答题1、找出并说明下面类图中的错误。2、请根据如下Java代码画出相应的顺序图。ClassC1{C2c2=newC2();publicvoidf1(){c2.f2();}}ClassC2{publicvoidf2(){f2();}}3、请根据下图所示写出C++代码(基本结构)。Animal-leg:int+run()TigerDog24、请找出下面类图中存在的错误并画出正确的类图。5、对于如下类图,请写出OCL约束:(1)、对于一个班级而言,只有注册人数大于25人方可开课并且由于教室大小的约束,人数又不能超过80人。(2)每个学生必须经注册后方能听课Student-age:int-isregistered:boolean-name:charClass-Classname:char-numberofstudents:int+register()6、请解释下面两个活动图(图1和图2)的执行流程,并讨论它们的区别。7、计算:(1)、set{‘Jim’,‘Tim’}-intersection{bag{‘Jim’}}(2)、set{1,5,6}-reject{x3}(3)、sequence{1,5,6,7,4,8}-subsequence{2,5}3三、设计题1、仔细分析下面对某公司“会见顾客”业务流程的描述,并设计活动图。(1)公司业务员打电话给客户,确定一个会面。(2)如果会面地点在公司内,公司技术人员需要为会面准备一间会议室,同时,咨询顾问需要为准备一份陈述报告。(3)如果会面地点在公司外,则只需咨询顾问需要为准备一份陈述报告。(4)咨询顾问与顾客在约定的时间和地点见面。(5)业务员随后为他们准备好会议用纸。(6)如果会面得到了一个解决方案,则咨询顾问根据解决方案编写一个报告,并将报告发给顾客。2、请给出描述下述场景的部署图。已知构件AccountingComponent是一个在Linux服务器上实现的,它有两个接口UserServices和ManagerServices。构件UserApps是在一个Windows2003的机器上运行的,它通过接口UserServices来访问AccountingComponent,这两台机器运行在一个100Mb/SdeTCP/IP局域网上。(二)一、单项选择题1、执行者与用例之间的关系是()A包含关系B泛化关系C关联关系D扩展关系2、生命线是UML视图中哪个图形的组成部分()4A类图B状态图C活动图D顺序图3、在一个课程注册系统中,定义了类CourseSchedule和类Course,其中类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则这两个类之间的关系是()。A泛化关系B组合关系C依赖关系D包含关系4、你认为UML中最适合描述算法流程的是()A顺序图B通信图C状态图D活动图5、如下用例图中,用例获取客户信息和建立客户档案的关系是()咨询信息订购商品获取客户信息建立客户档案客户A包含关系B扩展关系C关联关系D实现关系6、在如下UML类图中,哪个类Person具有所生成的如下格式的代码()publicclassPerson{publicvoidscrew(Screwdriverscrewdriver){screwdriver.screw();}}APersonScrewdriver+screw()BPersonScrewdriver+screw()CPersonScrewdriver+screw()DPersonScrewdriver+screw()二、填空题1、如下类图所示,其中A处在类图中称为(),B处在类图中称为()。CarWindows-Bwindow-BcarA1..*A12、类图中关系主要包括()、()、()、()3、顺序图主要有4个标记符:对象、()、()和激活。4、在用例之间关系中类似于调用关系的是(),用例的执行需要满足一定条件的是()5、在类图关系中,()关系表现在局部变量,方法的参数,以及对静态方法的调用;()关系是使用实例变量来实现。6、交互图中,侧重于对象消息交互次序的是(),侧重于对象组织结构的是(),为时间建模的是()三、设计题(共46分)51、根据要求画出用例图(15分)在图书管理系统中,管理员可进行“删除书籍”和“修改书籍信息”操作,但不论进行哪种操作,都需要“图书查询”;读者还可以还书,如果所借书籍超期,需要交纳罚金。2、根据下列描述画出顺序图(16分)用户登录系统,首先要和登录窗口交互,输入用户名和密码。登录窗口负责和服务器交互,将用户输入的用户名和密码发送到服务器,服务器再与数据库交互,以验证用户名和密码的有效性,如果验证成功,则返回OK,验证失败返回Error。服务器将通过登录窗口将信息显示给用户。3、如下时序图,电子门禁系统的控制逻辑。请描述对象的状态随着时间刻度和消息的促发而变化的整个流程。(15分)4、根据下图所示的顺序图构造通信图。6(三)一、判断题1.一个状态图最多只能由一个初态和一个终态。(F)2.协作图中的消息必须要有消息顺序号。(T)3.两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。(F)4.参与者(actor)和用例(usecase)之间的关系是关联(association)关系。(T)5.类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的getName()方法的重载(overload)。(F)图1getName()方法之间的关系图2活动图6.如图2所示,活动Gesture和Streamaudio可以并发进行。(T)7.一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。(F)8.UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。(F)9.在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。(T)二、单项选择题1.一个设计得好的OO系统具有(B)A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征2.下面()不是UML的基本构成元素。(A)A.控制语言B.基本构造块C.规则D.公共机制3.面向对象的特点主要概括为(C)。A.可分解性、可组合性、可分类性B.继承性、封装性、多态性C.抽象性、继承性、封装性、多态性D.封装性、易维护性、可扩展性、可重用性4.构成对象的两个主要因素是(A)。A.属性和操作B.标识和内容C.继承和多态D.消息和封装75.顺序图主要可以为设计人员提供(A)信息。A.消息发送的顺序B.某个方法的执行流程C.类之间关联关系的多重性D.某个对象在不同状态之间的转移6.类和接口的关系类似于下面哪种类型的关系(D)。A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(usecase)D.包(Package)和子系统(subsystem)7.在类图中,那个类图中的类Order所生成的代码具有PublicclassOrder{PublicCustomerrecipient;}的形式?(A)A.B.C.D.8.下面那个图符表示UML中的实现关系?(C)A.B.C.D.9.一个银行业务系统采用如图琐事的配置图,则错误的是(D)A.与GUI有关的类应该部署在BranchClient上B.这个图表示一个三层的体系结构,不管BranchClient、FinancialAppServer、DatabaseServer是运行在同一台机器上还是在不同机器上C.为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在FinancialAppServer上D.为了系统的可伸缩性,与业务逻辑有关的对象应该部署在BranchClient上10.关于用例与类的对比中(D)是错误的。A都属于模型结构元素B都存在继承关系C类描述系统的部分静态视图,用例描述系统动态的行为视图D类描述的是系统的内部构成,用例也可以描述系统的内部构成811.计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。那么Computer类和其他类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是:(D)A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)12.在状态图中不能表示下面那些概念?(D)A.动作(action)B.事件(event)C.转移(transition)D.类(class)三、简单题1.分析下面的类图,画出新的类图,将原图中的多对多关系转换为1:M(一对多)关系。答案:2.假设下面是某些以完工用例图等截屏形状,其中有2张图不合适,请说明原因。(6分)图A.图B.图C.参考答案:图C合适,其他有问题。3.信用卡可能处于“开放”和“关闭”状态,其中“开放”状态可以直接进入“关闭”状态,而从“关闭”状态必须提供密码验证才能进入“开放”状态。“开放”状态又包括“透支”和“正常”状态之间的变化,当剩余金额少于零、或者使用额度大于剩余金额、或者结算余额小于零时进入透支状态,反之则为正常状态。画出信用卡的状态图。(6分)参考答案:94.请判断以下类图中的类关系是否合适,并说明理由。(6分)(1)飞机有机翼、机身、驾驶舱(2)商场里的电器。1台电器可以是1台洗衣机,也可以不是;1台电器可以是1台电视机,也可以不是;1台电器可以是1台空调,也可以不是;(3)公司的员工很多,包括程序员、分析员、项目经理……参考答案:(1)飞机有机翼、机身、驾驶舱应改为“组合”(2)商场里的电器。1台电器可以是1台洗衣机,也可以不是;1台电器可以是1台电视机,也可以不是;1台电器可以是1台空调,也可以不是;应该为“泛化”(3)公司的员工很多,包括程序员、分析员、项目经理……应改为“泛化”5.假设你从垃圾堆里捡到这样一张小纸片(如图5所示)。(6分)根据现有信息尽可能判断:(1)“小车”类有哪几个操作?(2)“指挥小车UC”类的“执行任务”操作要做哪些工作?(采用伪代码描述)10图5时序图参考答案:(1)“小车”类有哪几个
本文标题:UML复习题
链接地址:https://www.777doc.com/doc-4474650 .html