UML复习汇总+答案详解.docx
《UML复习汇总+答案详解.docx》由会员分享,可在线阅读,更多相关《UML复习汇总+答案详解.docx(27页珍藏版)》请在冰豆网上搜索。
UML复习汇总+答案详解
计科院UML复习汇总+答案详解
一、单项选择题
1、组成UML构造块三大要素为:
( B )
A、事物、元素、关系B、事物、关系、图形
C、事物、组件、图形D、事物、图形、结构
UML中有三种基本构造块,分别是事物、关系和图。
事物分结构事物(包括类、接口、协作、用况、主动类、构件和节点)、行为事物(包括交互和状态机)、分组事物(包)和注释事物(注解)。
2、UML中的事物分为哪几类( A )
A、结构、行为、分组、备注等四类事物B、结构、图形、行为、分组等四类事物
C、类、行为、分组、备注等四类事物D、分组、备注、结构、图形等四类事物
3、UML中的关系分为哪几种( C )
A、依赖关系、类关系、一般化关系、合作关系
B、依赖关系、泛化关系、实现关系、继承关系
C、依赖关系、关联关系、泛化关系、实现关系
D、依赖关系、关联关系、泛化关系、合作关系
4、所谓的4+1视图是指( A )
A、DesignView、InteractionView、ImplementationView、DeploymentView、useCaseView
B、InteractionView、ImplementationView、DeploymentView、CustomerView、useCaseView
C、InteractionView、ImplementationView、DeploymentView、ProcessView、useCaseView
D、DesignView、InteractionView、ImplementationView、ProcessView、useCaseView
5、在UML中属于静态视图的是( D )
A、顺序图、协作图、包图、类图B、对象图、类图、构件图、包图
C、顺序图、用例图、对象图、类图D、对象、类图、构件图、部署图
6、下列关于UML叙述正确的是( D )
A、UML是一种语言,语言的使用者不能对其进行扩展
B、UML仅是一组图形的集合
C、UML仅适用于系统的分析与设计阶段
D、UML是独立于软件开发过程的
7、下列描述中,哪个不是建模的基本原则(D)
A、要仔细的选择模型
B、每一种模型可以在不同的精度级别上表示所要开发的系统
C、模型要与现实相联系
D、对一个重要的系统用一个模型就可以充分描述
8、下列描述中,哪个不是软件与硬件的区别(D)
A.软件是被开发或设计的,而不是被制造的;
B.软件不会“磨损”,但会“退化”;
C.软件的开发至今尚未摆脱手工艺的开发方式;
D.软件开发与硬件开发的流程一样。
软件的特点
①.软件是一种逻辑实体,它具有抽象性。
②.软件的开发过程没有明显的制作过程。
③.软件在使用期内没有磨损、老化问题。
④.软件的开发与运行常常受计算机系统的限制,对计算机系统有着不同程度的依赖性。
⑤.软件的开发至今尚未完全摆脱手工艺的开发方式,虽然近年来软件复用技术、自动生成技术开发工具等有了新的进展。
⑥.软件本身是复杂的,而且随着应用规模的扩大,软件变得越来越复杂。
⑦.软件的成本相当昂贵。
⑧.相当多的软件工作涉及到社会因素。
9、UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。
其中( B )是面向对象系统建模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择( A );当需要说明体系结构的静态实施视图时,应该选择( D )。
(1). A.组件图 B.类图 C.对象图 D.部署图
(2). A.组件图 B.协作图 C.状态图 D.部署图
(3). A.协作图 B.对象图 C.活动图 D.部署图
10、Blue软件公司就目前的“通信网关”项目中存在的质量问题,召开了一次产品质量问题鉴定会,会议得出的结论是:
该系统的质量问题是由于系统设计阶段未能正确地设计产品的类图而导致的。
请问以下哪个项目成员应该为问题负主要责任。
(B)
A软件开发工程师B系统架构师C系统分析员D软件测试工程师
11、对象技术是(D)
A、一系列指导软件构造的原则
B、一种新的已被认可的理论
C、GradyBooch发明的一种新的动态的语言
D、仅仅基于模块化的原则
二、填空题
1、UML是UnifiedModelingLanguage(统一建模语言)的英文缩写。
2.UML中的图分为:
1、用例图2、类图3、对象图4、活动图5、状态图6、序列图(顺序图)7、协作图8、构件图(组件图)9、部署图(配置图)
三、简答题
1.什么是建模为什么要建模
建模就是建立模型,为了理解事物而做出的一种抽象。
建模是为了更好的理解正在开发的系统。
2.什么是面向对象面向对象的特点是什么
面向对象可以看成面向抽象和面向接口编程
面向对象的特点:
继承,多态,封装
3.UML图有哪些其中哪些是静态图哪些是动态图
静态图:
类图,用例图,对象图,构件图,部署图
动态图:
顺序图,协作图,状态图,活动图
专题三:
类图(对象图、包图)
一、单项选择题
1.在UML中,类之间的关系有一种为关联关系,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一(D)
A.0….1
B.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),则类CourseSchedule和类Course之间的关系是:
( C )
A、泛化关系B、组成关系C、依赖关系D、包含关系
4、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是(C)关系。
A、实现B、关联C、依赖D、泛化
5、在版本中的图形表示方式中,“包”的表示方式是下列图形中的哪一个(C )
A、
B、
C、
D、
6、在UML中下列图形代表什么关系( A )
A、组成关系B、依赖关系C、聚集关系D、泛化关系
7、在UML中下列图形代表什么关系(D)
A、一般化关系B、依赖关系C、聚集关系D、泛化关系
8、汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。
那么car类和其他类(Wheel、Engin、Tank、Chair、SteeringWheel)之间的关系是:
(D)
A、泛化关系(Generalization)B、实现关系(Realization)
C、包含关系(Inclusion)D、组合关系(Composition)
9.在下面的图例中,哪个用来描述注释(D)
ABCD
10、在一个网络游戏系统中,定义了类Cowboy和类Castle,并在类Cowboy中定义了方法open(c:
Castle)和方法Close(c:
Castle),则类Cowboy和类Castle之间的关系是:
……( A )
A、依赖(dependency)关系B、组成(composition)关系
C、泛化(generalization)关系D、包含(include)关系
11、根据下面的代码,判断下面那些叙述是正确的(A)
publicclassHouseKeeper{
privateTimeCardtimecard;
publicvoidclockIn(){
();
}
}
A、类HouseKeeper和类TimeCard之间存在关联(Association)关系;
B、类HouseKeeper和类TimeCard之间存在泛化(Generalization)关系;
C、类HouseKeeper和类TimeCard之间存在实现(Realization)关系;
D、类HouseKeeper和类TimeCard之间存在包含(Inclusion)关系
12、UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的()中。
①用例及其协作之间是(A)关系。
②类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是(C)关系。
③在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是(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、“一个研究生在软件学院做助教(teachingassistant),同时还在校园餐厅打工做收银员(cashier)。
也就是说,这个研究生有3种角色:
学生、助教、收银员,但在同一时刻只能有一种角色。
”
根据上面的陈述,下面哪个设计是最合理的(B)
AB
CD
15、类X与类Y有许多相同属性,但是它的行为与类Y稍微有所不同;这时可以认为类X是类Y的一种特例;则类X和类Y之间是(A)关系。
A、泛化关系B、关联关系C、依赖关系D、实现关系
二、填空题
1.下图中类的名字是:
__Login__类中的成员属性是:
____sNamesPass_____类中的行为(方法)是:
______checkUser()__________。
2、在UML中分组元素是__包___。
3、在UML模型图中,最适合用来设计数据库大纲的图形是类图。
4、下图所表示的含义是WashingMachine实现了接口Person使用了接口ControlKnob
三、简答题
1、在UML建模中使用“包”是为了达到怎样的效果
包用来组织图形的封装
2、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。
现在提出一个新的需求:
"一个教师也可以是某些课程的学生",那么下面设计A~C中哪一个是最好的为什么
设计A:
设计B:
. 设计C:
答案:
设计__C_最好。
理由:
3、请为下面这段编译正确的代码,补充类图。
pulicclassStudent{
privateStringname;
publicvoidsetName(Stringname){
=name;
}
publicStringgetName(){
return;
}
}
下面是改正确的:
publicclassStudent{
privateStringname;
publicsetName(Stringname){
=name;
}
publicStringgetName(){
return;
}
}
四、根据下面的陈述画出类图
1)学生包括本科生、研究生两种。
2)研究生的一部分利用课余时间担任助教。
3)教师包括讲师和教授两种。
4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。
五、按如下描述画出一个自治机器人的类图。
这张图的焦点是聚集在那些让机器人在路上行走的机制所对应的类上。
你可以发现一个虚类Motor和两个从它派生出来的类:
SteeringMotor和MainMotor。
这两个类都从它的父亲Motor继承了五个方法:
move()、stop()、resetCounter()、statues()、distance()。
这两个类又是另一个类Driver的一部分。
类PathAgent和Driver有一个1对1的关系,和CollisionSensor有1对n的关系。
【问题:
】综上所述请你用UML来绘制分析类图。
专题四:
用例图
一、单选题
1、用例图是从谁的角度出发对如何使用系统进行描述的( A )
A、用户B、系统分析师C、系统设计师D、程序员
2、在版本中。
表示是用例间什么关系(D)
A、关联关系B、依赖关系C、扩展关系D、包含关系
3、用例图展示了外部参与者与系统所提供的用例之间的连接,UML中的外部参与者是指(A)
A.人员B.单位C.人员或单位D.人员或外部系统
4、在UML的用例图图形表示方式中,“角色.”的表示方式是下列图形中的哪一个(D)
A、
B、
C、
D、
5、包含关系是在下面哪种关系的基础上构造的(B)
A、组成关系B、依赖关系C、聚合关系D、泛化关系
6、在用例之间,会有三种不同的关系,下列哪个不是他们之间可能的关系(D)
A.包含(include)B.扩展(extend)
C.泛化(generalization)D.关联(connect)
7、在ATM自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个是“Actor”(A)
A.用户取款机
取款机管理员D.取款
8、用例(usecase)用来描述系统在对事件做出响应时所采取的行动。
用例之间是具有相关性的。
在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户帐号是否正确。
那么,用例“创建新订单”、“更新订单”与用例“核查客户帐号”之间是___关系。
(A)
A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)
9、系统分析员Analyst在做储蓄系统的需求开发时,发现:
①“取款”用例、②“查询余额”用例、③“更改密码”用例都要使用④“验证卡号和密码”用例的功能。
那么①②③3个用例与用例④的关系是( D )
A、使用关系B、扩展关系C、组成关系D、包含关系
10、Mentor是一家集团公司,业务范围涉及到制造业、服务业和高科技产业,最近公司准备实施企业资源规划系统(ERP),因此委托Butterfly公司负责该项工作。
Butterfly公司的专家为了能更好地了解该公司目前业务资源的使用情况,决定建立UML模型与以阐释,那么Butterfly的专家应该建立哪种模型图( A )
A、用例图B、类图C、业务对象图D、顺序图
11、下列选项中,那些是用例描述应该包含的内容(多选)(ABCDE)
A、概述B、基本事件流
C、可选事件流D、对象模型E、前置条件
二、简答题
1.什么是参与者如何确定系统的参与者
直接或间接地与系统交互的任何人和事物都是参与者。
开发人员可以通过回答以下问题来寻找系统的参与者:
(1)谁将使用系统的主要功能
(2)谁将需要维护、管理该系统
(3)与该系统交互的是什么系统
2.什么是用例如何确定系统的
确定用例的基本思路:
分析系统的每个参与者是如何使用系统的。
开发人员可以通过回答以下问题来寻找系统的用例:
(1)参与者需要从系统中获取哪些功能即参与者需要系统“做什么”
(2)参与者是否需要添加、修改、删除和查询系统中的某种信息
三、分析题
1、某电话公司决定开发一个管理所有客户信息的交互式网络系统。
系统功能如下:
浏览客户信息:
任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。
登录:
电话公司授予每个客户一个账号号。
拥有授权账号的客户,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。
修改个人信息:
客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。
删除客户信息:
只有公司的管理人员才可以删除不再接受公司服务的客户的信息。
【问题】在需求分析阶段,采用用例图描述系统功能需求,如上图所示,请指出图中的A、B、C和D分别是哪个用例
2、请仔细阅读下图,描述该图的基本含义:
该图的基本含义:
四、大学选课系统是与学生有着紧密联系的系统。
学生可以登录该系统选修课程,查看分数。
教授可以登录到系统选择课程授课,提交学生成绩。
学校另有一个系统里面保存有课程目录信息,选课系统需要和课程目录系统通讯以取得课程目录信息。
【问题】对该“大学选课”系统进行面向对象分析并运用UML建模设计出用例图。
五、基于WEB的网上购物系统越来越受到人们的关注,例如小型电子商务订单处理系统,使得客户可以给购物车添加项目,查看购物车,查看具体项目,购买商品,删除购物车中的项目,浏览商品,提供反馈单;库房经理可以进行盘点,返回库房项目,提供订单;采购经理可以增加销售的新项目,删除销售项目,购买库存。
【问题】对该“订单处理系统”进行面向对象分析并运用UML建模设计出用例图。
专题五:
活动图
一、单选题
1.下面哪个不是活动图中的基本元素(D)
A.状态、分支
B.转移、汇合
C.泳道、转移
D.用例、状态
2、下列所绘制的模型片段、属于何种图形( B )
A、状态图B、活动图C、协作图D、顺序图
3、如果要对一个学院课程注册系统中的三个主要角色学生、教授、教务长的工作流程建模,那么需要使用下面的哪个图( A )
A、活动图B、类图C、交互图D、部署图
4、在UML中,用来表示企业业务的工作流。
这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角色和对象。
这种图形是( A )
A.活动图B.业务图C.用例图D.交互图
5、在下面的图例中,哪个用来描述活动(activity)(A)
ABCD
6、在UML中,_D_把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。
A.组合活动 B.同步条 C.活动 D.泳道
二、简答题
1.什么是动作状态什么是活动状态它们有什么区别
动作状态是活动中最小单位的构造块,表示原子动作。
活动状态是可以分割的动作。
2.请参考下图,回答问题:
(1)在该图中,有几种不同角色:
(2)请找出客户在该流程过程中相关活动内容:
三、某公司在线购物的控制流程为:
A、接受在线订购:
客户在线下单采购公司产品。
动作(Action):
在线输入采购清单
B、动作(Action):
客户服务部接收到定单,检查定单是否正确
正确执行动作C
不正确执行动作:
发出一封订购失败的EMIAL给客户,请客户检查订单:
执行动作结束。
C、同步动作:
订单转仓管部出货
订单转财务部门收款处理
D、确认客户收到采购的货品
正确:
执行动作E
不正确:
执行动作D
E、确认客户已完成收货付款
正确:
执行动作F
不正确:
执行动作E
F、确认送货人员将收到的款项交于财务部
正确:
执行动作G
不正确:
执行动作F
G、财务部门做订单结案处理
H、结束
【问题:
】请你利用UML的活动图设计执行动作的活动图
四、过程:
一个咨询公司会见一个客户时的业务过程
1、公司业务员打电话给客户,确立约定。
2、如果约定在公司内,公司技术人员为会议准备会议室。
3、如果约定在公司之外,咨询顾问就要用电脑准备一份陈述报告
4、咨询顾问和业务员与客户在约定的时间和地点见面。
5、业务员随后给他们准备好会议用纸
6、如果会议产生了一个问题陈述,咨询顾问就根据问题陈述建立编写一个提案并把该提案发给客户。
【问题】请设计上述过程的活动图。
五、在银行系统的分析与设计中,当用户想从自己的账户中取钱时,需要登录系统,启动取款用例。
其步骤如下:
(1)系统提示用户输入用户姓名、用户的id号、账号和取款金额。
(2)用户输入相关信息后提交,系统确认账户是否存在并有效,若账户不存在或无效,显示提示信息,用户可以重新输入或终止该用例。
(3)系统确认账户中的存款金额是否足够支付所取款项,若账户中的存款金额不足,显示提示信息,用户可以重新输入金额或终止该用例。
(4)系统建立取款事件记录,并更新账户的相关信息。
【问题:
】请设计出取款用例的执行动作的活动图。
专题六:
状态图
一、单选题
1、在使用UML建模时,若需要描述跨越多个用例的单个对象的行为,使用___D_是最为合适的。
A.协作图(CollaborationDiagram)B.序列图(SequenceDiagram)
C.活动图(ActivityDiagram)D.状态图(StatechartDiagram)
二.简答题
1.状态图在哪些重要方面与类图、对象图或用例图有所不同
2.比较活动图和状态图。
3.引发状态转换的事件主要有哪些。
4.请参考下图,回答问题:
1.该图中有几种状态,分别为___________________________________
2.请描述线程的基本运行过程_____________________________
三、当手机开机时,它处于空闲状态(idle),当用户使用电话呼叫某人(callsomeone)时,收集进入拨号状态(dialing)。
如果呼叫成功,即电话接通(connected),手机就处于通话状态(working);如果呼叫不成功(can’tconnect),例如对方线路有问题,关机、拒绝接听。
这时手机停止呼叫,重新进入空闲状态,手机进入空闲状态下被呼叫(becalled),手机进入响铃状态(ringing);如果用户接听电话(pick),手机处于通话状态;如果用户未做出任何反应(haven’tacts),可能他没有听见铃声,手机一直处于响铃状态,如果用户拒绝来电(refused),手机回到空闲状态(idle)。
【问题:
】请按以上描述绘制出使用手机的状态图。
四、电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时(事件isrequired发生),电梯进入运行状态(run)。
如果电梯的当前楼层比想要的楼层高时(护卫条件[currentFloor>desiredFloor]成立),电梯进入下降状态(movingdo