1、计科院 UML 复习汇总+答案详解一、单项选择题1、组成 UML 构造块三大要素为:( B ) A、事物、元素、关系 B、事物、关系、图形 C、事物、组件、图形 D、事物、图形、结构UML 中有三种基本构造块,分别是事物、关系和图。事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物(包)和注释事物(注解)。2、UML 中的事物分为哪几类?( A )A、结构、行为、分组、备注等四类事物 B、结构、图形、行为、分组等四类事物C、类、行为、分组、备注等四类事物 D、分组、备注、结构、图形等四类事物3、UML 中的关系分为哪几种?( C )A、依赖关
2、系、类关系、一般化关系、合作关系 B、依赖关系、泛化关系、实现关系、继承关系C、依赖关系、关联关系、泛化关系、实现关系D、依赖关系、关联关系、泛化关系、合作关系4、所谓的 4+1 视图是指( A )A、Design View、 Interaction View、 Implementation View、Deployment View、useCase View B、Interaction View、 Implementation View、Deployment View、Customer View、useCase View C、Interaction View、 Implementation V
3、iew、Deployment View、 Process View、useCase View D、Design View、 Interaction View、 Implementation View、 Process View、useCase View 5、在 UML 中属于静态视图的是( D ) A、顺序图、协作图、包图、类图 B、对象图、类图、构件图、包图C、顺序图、用例图、对象图、类图 D、对象、类图、构件图、部署图6、下列关于 UML 叙述正确的是( D )A、UML 是一种语言,语言的使用者不能对其进行扩展B、UML 仅是一组图形的集合 C、UML 仅适用于系统的分析与设计阶段D、U
4、ML 是独立于软件开发过程的7、下列描述中,哪个不是建模的基本原则( D )A、要仔细的选择模型B、每一种模型可以在不同的精度级别上表示所要开发的系统C、模型要与现实相联系D、对一个重要的系统用一个模型就可以充分描述18、下列描述中,哪个不是软件与硬件的区别(D )A.软件是被开发或设计的,而不是被制造的;B.软件不会“磨损” ,但会“ 退化” ;C.软件的开发至今尚未摆脱手工艺的开发方式;D.软件开发与硬件开发的流程一样。软件的特点.软件是一种逻辑实体,它具有抽象性。.软件的开发过程没有明显的制作过程。.软件在使用期内没有磨损、老化问题。.软件的开发与运行常常受计算机系统的限制,对计算机系统
5、有着不同程度的依赖性。.软件的开发至今尚未完全摆脱手工艺的开发方式,虽然近年来软件复用技术、自动生成技术开发工具等有了新的进展。.软件本身是复杂的,而且随着应用规模的扩大,软件变得越来越复杂。.软件的成本相当昂贵。.相当多的软件工作涉及到社会因素。9、UML 提供了 4 种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中( B )是面向对象系统建模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择( A ) ;当需要说明体系结构的静态实施视图时,应该选择( D ) 。(1) A组件图 B类图 C对象图 D部署图(2) A组件图 B协作图 C状态图
6、D部署图(3) A协作图 B对象图 C活动图 D部署图10、Blue 软件公司就目前的“通信网关”项目中存在的质量问题,召开了一次产品质量问题鉴定会,会议得出的结论是:该系统的质量问题是由于系统设计阶段未能正确地设计产品的类图而导致的。请问以下哪个项目成员应该为问题负主要责任。 ( B ) A 软件开发工程师 B 系统架构师 C 系统分析员 D 软件测试工程师11、对象技术是( D )A、一系列指导软件构造的原则B、一种新的已被认可的理论C、Grady Booch 发明的一种新的动态的语言D、仅仅基于模块化的原则二、填空题1、UML 是 Unified Modeling Language(统一
7、建模语言) 的英文缩写。2UML 中的图分为:1、用例 图 2、类图 3、对象图 4、活动图 5、状态图 6、序列图(顺序图 )7、协作图 8、构件图 (组件图) 9、部署图 (配置图 )2三、简答题?1什么是建模?为什么要建模?建模就是建立模型,为了理解事物而做出的一种抽象。建模是为了更好的理解正在开发的系统。2什么是面向对象?面向对象的特点是什么?面向对象可以看成面向抽象和面向接口编程面向对象的特点:继承,多态,封装3UML 图有哪些?其中哪些是静态图?哪些是动态图?静态图:类图,用例图,对象图,构件图,部署图动态图:顺序图,协作图,状态图,活动图专题三:类图(对象图、包图)一、单项选择题
8、1在 UML 中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一( D )A. 0.1B. 0.*C. 1.*D. *.*2通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是 UML 中的类成员访问限定性( C )A.公有的(public)B.受保护的(protected)C.友员(friendly)D.私有的(private)3、在一个课程注册系统中,定义了类 CourseSchedule 和类 Course,并在类CourseSchedule 中定义了方法 add(c:Course)和方法 remove(c:Course)
9、 ,则类CourseSchedule 和类 Course 之间的关系是:( C )A、泛化关系 B、组成关系 C 、依赖关系 D、包含关系4、类 A 的一个操作调用类 B 的一个操作,且这两个类之间不存在其他关系,那么类 A 和类 B 之间是(C )关系。A、 实现 B、关联 C、 依赖 D、 泛化5、在 UML2.0 版本中的图形表示方式中, “包”的表示方式是下列图形中的哪一个 ?(C )A、 B、 C、 D、 组 件 16、在 UML 中下列图形代表什么关系?( A )3A、组成关系 B、 依赖关系 C、聚集关系 D、泛化关系 7、在 UML 中下列图形代表什么关系?( D )A、一般化
10、关系 B、 依赖关系 C、聚集关系 D、泛化关系 8、汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。那么 car 类和其他类(Wheel 、Engin、Tank 、Chair、SteeringWheel)之间的关系是:( D )A、泛化关系(Generalization) B、实现关系( Realization)C、包含关系(Inclusion ) D、组合关系(Composition)9在下面的图例中,哪个用来描述注释(D )A B C D10、在一个网络游戏系统中,定义了类 Cowboy 和类 Castle,并在类 Cowboy 中定义了方法open(c:Castle)和方法 C
11、lose(c:Castle) ,则类 Cowboy 和类 Castle 之间的关系是:( A )A、依赖(dependency)关系 B、组成(composition )关系C、泛化(generalization )关系 D、包含(include)关系11、根据下面的代码,判断下面那些叙述是正确的?( A )public class HouseKeeperprivate TimeCard timecard;public void clockIn()timecard.punch();A、类 HouseKeeper 和类 TimeCard 之间存在关联(Association)关系;B、类 Hou
12、seKeeper 和类 TimeCard 之间存在泛化(Generalization)关系;C、类 HouseKeeper 和类 TimeCard 之间存在实现(Realization)关系;D、类 HouseKeeper 和类 TimeCard 之间存在包含(Inclusion)关系12、UML 关系包括关联、聚合、泛化、实现、依赖等 5 种类型,请将合适的关系填写在下列描述的( )中。 用例及其协作之间是( A)关系。类 A 的一个操作调用类 B 的一个操作,且这两个类之间不存在其他关系,那么类A 和类 B 之间是( C)关系。4在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选
13、修,那么学生和课程之间是(B )关系。森林和树木之间是(E)关系。关系。在 MFC 类库中,Window 类和 DialogBox 类之间是(D )A 实现 B 关联 C 依赖 D 泛化 E 聚合13、已知类 A 需要类 B 提供的服务,下列所描述的四种情况中,哪种情况不好把类 A 和类 B 之间的关系定义成依赖关系 ( D )A、类 A 中存在两个操作都需要访问类 B 的同一个对象B、类 A 的某个操作内部创建了类 B 的对象,而其他操作均与类 B 无关C、类 A 的某个操作其参数是类 B 的对象,而其他操作均与类 B 无关D、类 B 是一个全局变量14、 “一个研究生在软件学院做助教(te
14、aching assistant) ,同时还在校园餐厅打工做收银员(cashier ) 。也就是说,这个研究生有 3 种角色:学生、助教、收银员, 但在同一时刻只能有一种角色。 ”根据上面的陈述,下面哪个设计是最合理的?( B)P e r s o nC a s h i e rS t u d e n t T e a c h i n g A s s i s t a n tP e r s o n R o l eC a s h i e rS t u d e n t T e a c h i n g A s s i s t a n tP e r s o n0 . . 1A BC a s h i e rS
15、t u d e n tT e a c h i n g A s s i s t a n tP e r s o nC a s h i e rS t u d e n t T e a c h i n g A s s i s t a n tP e r s o nC D 15、类 X 与类 Y 有许多相同属性,但是它的行为与类 Y 稍微有所不同;这时可以认为类X 是类 Y 的一种特例;则类 X 和类 Y 之间是( A )关系。A 、泛化关系 B、 关联关系 C、 依赖关系 D、 实现关系二、填空题1下图中类的名字是:_Login_类中的成员属性是:_sName sPass_ 类中的行5为(方法)是:_ch
16、eckUser()_。2、在 UML 中分组元素是 _包_ 。3、在 UML 模型图中,最适合用来设计数据库大纲的图形是 类图 。4、下图所表示的含义是 WashingMachine 实现 了接口 Person 使用 了接口ControlKnob三、简答题1、在 UML 建模中使用“包”是为了达到怎样的效果包用来组织图形的封装2、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor) ,一个教师也可以知道所有注册课程的学生。现在提出一个新的需求:“一个教师也可以是某些课程的学生“,那么下面设计 AC 中哪一个是最好的?为什么?
17、设计 A:设计 B:6. 设计 C:答案:设计_ C _最好。 理由: 3、 请为下面这段编译正确的代码,补充类图。pulic class Studentprivate String name;public void setName(String name)this.name=name;public String getName()return this.name;下面是改正确的:public class Studentprivate String name;public setName(String name)this.name=name;public String getName()ret
18、urn this.name;四、根据下面的陈述画出类图1)学生包括本科生、研究生两种。2)研究生的一部分利用课余时间担任助教。3)教师包括讲师和教授两种。4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有 5 名助教。7五、按如下描述画出一个自治机器人的类图。这张图的焦点是聚集在那些让机器人在路上行走的机制所对应的类上。你可以发现一个虚类 Motor 和两个从它派生出来的类:SteeringMotor 和 MainMotor。这两个类都从它的父亲 Motor 继承了五个方法:move()、stop()、resetCounter()、statues() 、dista
19、nce()。这两个类又是另一个类 Driver 的一部分。类PathAgent 和 Driver 有一个 1 对 1 的关系,和 CollisionSensor 有 1 对 n 的关系。 【问题:】综上所述请你用 UML 来绘制分析类图 。专题四:用例图一、单选题1、用例图是从谁的角度出发对如何使用系统进行描述的?( A )A、用户 B、系统分析师 C、系统设计师 D、程序员2、在 UML2.0 版本中。 表示是用例间什么关系( D )A、 关联关系 B、依赖关系 C、扩展关系 D、包含关系3、用例图展示了外部参与者与系统所提供的用例之间的连接,UML 中的外部参与者是指( A )A人员 B单
20、位 C人员或单位 D人员或外部系统4、在 UML 的用例图图形表示方式中, “角色.”的表示方式是下列图形中的哪一个( D ) 8A、 B、 C、 D、 组 件 15、包含关系是在下面哪种关系的基础上构造的?( B )A、组成关系 B、 依赖关系 C、聚合关系 D、泛化关系6、在用例之间,会有三种不同的关系,下列哪个不是他们之间可能的关系( D )A.包含(include) B.扩展(extend)C.泛化(generalization ) D.关联(connect)7、在 ATM 自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个是“Actor”( A )A.用
21、户 B.ATM 取款机 C.ATM 取款机管理员 D.取款8、用例(usecase)用来描述系统在对事件做出响应时所采取的行动。用例之间是具有相关性的。在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户帐号是否正确。那么,用例“创建新订单” 、 “更新订单”与用例“核查客户帐号”之间是 _ 关系。( A)A包含(include) B扩展(extend) C分类(classification) D聚集(aggregation)9、系统分析员 Analyst 在做储蓄系统的需求开发时,发现:“取款”用例、“查询余额”用例、“更改密码”用例都要使用“验证卡号和密码”用例的功能。那么3 个
22、用例与用例的关系是( D )A、使用关系 B、扩展关系 C、组成关系 D、包含关系10、Mentor 是一家集团公司,业务范围涉及到制造业、服务业和高科技产业,最近公司准备实施企业资源规划系统(ERP) ,因此委托 Butterfly 公司负责该项工作。 Butterfly 公司的专家为了能更好地了解该公司目前业务资源的使用情况,决定建立 UML 模型与以阐释,那么 Butterfly 的专家应该建立哪种模型图?( A )A、用例图 B、类图 C、业务对象图 D、顺序图11、下列选项中,那些是用例描述应该包含的内容(多选)( A BC DE )A、概述 B、 基本事件流C、可选事件流 D、对象
23、模型 E、前置条件二、简答题1什么是参与者?如何确定系统的参与者?直接或间接地与系统交互的任何人和事物都是参与者。开发人员可以通过回答以下问题来寻找系统的参与者:(1) 谁将使用系统的主要功能 ?(2) 谁将需要维护、管理该系统 ?(3) 与该系统交互的是什么系统 ?92什么是用例?如何确定系统的确定用例的基本思路:分析系统的每个参与者是如何使用系统的。开发人员可以通过回答以下问题来寻找系统的用例:(1) 参与者需要从系统中获取哪些功能 ? 即参与者需要系统“做什么”?(2) 参与者是否需要添加、修改、删除和查询系统中的某种信息 ?三、分析题1、某电话公司决定开发一个管理所有客户信息的交互式网
24、络系统。系统功能如下:浏览客户信息:任何使用 Internet 的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等) 。登录:电话公司授予每个客户一个账号号。拥有授权账号的客户,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。删除客户信息:只有公司的管理人员才可以删除不再接受公司服务的客户的信息。【问题】在需求分析阶段,采用用例图描述系统功能需求,如上图所示,请指出图中的A、B、C 和 D 分别是哪个用例? 102、 请仔细阅读下图,描述该图的基本含义:该图的基本含
25、义:四、大学选课系统是与学生有着紧密联系的系统。学生可以登录该系统选修课程,查看分数。教授可以登录到系统选择课程授课,提交学生成绩。学校另有一个系统里面保存有课程目录信息,选课系统需要和课程目录系统通讯以取得课程目录信息。【问题】对该“大学选课”系统进行面向对象分析并运用 UML 建模设计出用例图。五、基于 WEB 的网上购物系统越来越受到人们的关注,例如小型电子商务订单处理系统,使得客户可以给购物车添加项目,查看购物车,查看具体项目,购买商品,删除购物车中的项目,浏览商品,提供反馈单;库房经理可以进行盘点,返回库房项目,提供订单;采购经理可以增加销售的新项目,删除销售项目,购买库存。【问题】
26、对该“订单处理系统”进行面向对象分析并运用 UML 建模设计出用例图。11专题五:活动图一、单选题1下面哪个不是活动图中的基本元素(D )A.状态、分支B.转移、汇合C.泳道、转移D.用例、状态2、下列所绘制的模型片段、属于何种图形?( B )输入统计信息显示处理信息执行数据统计显示完成统计信息A、状态图 B、 活动图 C、 协作图 D、顺序图3、如果要对一个学院课程注册系统中的三个主要角色学生、教授、教务长的工作流程建模,那么需要使用下面的哪个图?( A )A、活动图 B、类图 C、交互图 D、部署图4、在 UML 中,用来表示企业业务的工作流。这种图显示出工作流中的步骤、决策点,以及完成每
27、一步骤的角色和对象。这种图形是( A )A活动图 B业务图 C用例图 D交互图5、在下面的图例中,哪个用来描述活动(activity) ( A )A B C D6、在 UML 中,_ D _把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。 A组合活动 B同步条 C活动 D泳道二、简答题1什么是动作状态?什么是活动状态?它们有什么区别?动作状态是活动中最小单位的构造块,表示原子动作。活动状态是可以分割的动作。122请参考下图,回答问题:(1)在该图中,有几种不同角色:(2)请找出客户在该流程过程中相关活动内容:三
28、、某公司在线购物的控制流程为:A、接受在线订购:客户在线下单采购公司产品。动作(Action):在线输入采购清单B、动作(Action ):客户服务部接收到定单,检查定单是否正确正确 执行动作 C不正确 执行动作:发出一封订购失败的 EMIAL 给客户,请客户检查订单:执行动作结束。C、同步动作:订单转仓管部出货订单转财务部门收款处理D、确认客户收到采购的货品正确:执行动作 E不正确:执行动作 DE、确认客户已完成收货付款正确:执行动作 F不正确:执行动作 EF、确认送货人员将收到的款项交于财务部正确:执行动作 G不正确:执行动作 F13G、财务部门做订单结案处理H、结束【问题:】请你利用 U
29、ML 的活动图设计执行动作的活动图四、过程:一个咨询公司会见一个客户时的业务过程1、公司业务员打电话给客户,确立约定。2、如果约定在公司内,公司技术人员为会议准备会议室。3、如果约定在公司之外,咨询顾问就要用电脑准备一份陈述报告4、咨询顾问和业务员与客户在约定的时间和地点见面。5、业务员随后给他们准备好会议用纸6、如果会议产生了一个问题陈述,咨询顾问就根据问题陈述建立编写一个提案并把该提案发给客户。【问题】请设计上述过程的活动图。五、在银行系统的分析与设计中,当用户想从自己的账户中取钱时,需要登录系统,启动取款用例。其步骤如下:(1)系统提示用户输入用户姓名、用户的 id 号、账号和取款金额。
30、(2)用户输入相关信息后提交,系统确认账户是否存在并有效,若账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。(3)系统确认账户中的存款金额是否足够支付所取款项,若账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。(4)系统建立取款事件记录,并更新账户的相关信息。【问题:】请设计出取款用例的执行动作的活动图。14专题六:状态图一、单选题1、在使用 UML 建模时,若需要描述跨越多个用例的单个对象的行为,使用_D_ 是最为合适的。A协作图(Collaboration Diagram) B序列图(Sequence Diagram)C活动图(Activity Diag
31、ram) D状态图(Statechart Diagram)二简答题1状态图在哪些重要方面与类图、对象图或用例图有所不同?2比较活动图和状态图。3引发状态转换的事件主要有哪些。4请参考下图,回答问题:1 该图中有几种状态,分别为_2 请描述线程的基本运行过程_三、当手机开机时,它处于空闲状态(idle) ,当用户使用电话呼叫某人(call someone)时,收集进入拨号状态(dialing)。如果呼叫成功,即电话接通(connected ),手机就处于通话状态(working);如果呼叫不成功(cant connect),例如对方线路有问题,关机 、拒绝接听。这时手机停止呼叫,重新进入空闲状态
32、,手机进入空闲状态下被呼叫(be called ),手机进入响铃状态(ringing);如果用户接听电话(pick),手机处于通话状态;如果用户未做出任何反应(havent acts ),可能他没有听见铃声,手机一直处于响铃状态,如果用户拒绝来电(refused),手机回到空闲状态(idle )。【问题:】请按以上描述绘制出使用手机的状态图。15四、电梯开始处于空闲状态(idle) ,当有人按下按钮要求使用电梯时(事件 is required发生),电梯进入运行状态(run) 。如果电梯的当前楼层比想要的楼层高时(护卫条件currentFloordesiredFloor成立) ,电梯进入下降状
33、态(moving down) ;反之,如果电梯的当前楼层比想要的楼层低时(护卫条件currentFloor E x e c c u t i n g _ s e r v e rm a i n P r o . e x ec o m p a n y . e x eD a t a b a s e _ S e r v e rA、状态图 B、 活动图 C、 部署图 D、顺序图二、填空题1、设计系统的静态实现视图是 ,设计系统的静态部署视图是 。2、部署图中的节点可以分为两种类型: 和 3、 和 用于对面向对象系统的物理方面建模进行描述的两种图形。三、简答题1、 构件和类有何区别?类有实例对象,组件能否实例化?2、 构件有哪些类型?请举例说明 。19四、对于一个网上商店,顾客购买一件商品的过程如下:顾客上网浏览查询商品的分类目录,找出所需商品,顾客决定购买。给出自己信用卡和送货地址,商店检查信用卡的有效性、确认成交,并确定发货时间,发出发货通知,同时商店发出确认成交的电子邮件给顾客。请分析出该系统的 Uese case 模型图 。该系统采用浏览器/应用服务器/数据库 服务器,试绘制相应的构件图和部署图。