面向对象建模技术复习笔记.docx
《面向对象建模技术复习笔记.docx》由会员分享,可在线阅读,更多相关《面向对象建模技术复习笔记.docx(14页珍藏版)》请在冰豆网上搜索。
面向对象建模技术复习笔记
《面向对象建模技术》期末考试试题(A卷)
考试时间:
2014年11月9日
班级学号姓名
✧请将答案写在答题册上,写明题号,不必抄题,字迹工整、清晰;
✧请在答题册和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题册和草纸
一并交上来。
一、选择题,每题1分,共计25分。
每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。
请按如下表格在答题纸上答此题。
1~5题
6~10题
11~15题
16~20题
21~25题
UML中有多种类型的图,其中,
(1)对系统的使用方式进行分类,
(2)显示了类及其相互关系,(3)显示人或对象的活动,其方式类似于流程图,通信(协作)图显示在某种情况下对象之间发送的消息,(4)与通信(协作)图类似,但强调的是顺序而不是连接。
(1)A.用例图B.顺序图 C.类图 D.活动图
(2)A.用例图B.顺序图 C.类图 D.活动图
(3)A.用例图B.顺序图 C.类图 D.活动图
(4)A.用例图B.顺序图 C.类图 D.活动图
下图属于UML中的(5),其中,AccountManagement需要(6)。
(5)A.组件图B.部署图C.类图D.对象图
(6)A.实现IdentityVerifier接口并被CreditCardServices调用
B.调用CreditCardServices实现的IdentiyVerifier接口
C.实现IdentityVerifier接口并被Logger调用
D.调用Logger实现的IdentityVerifier接口
下列对状态图描述不正确的是(7)
(7)A.状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为
B.状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态
C.状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率
D.状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应
在ATM自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个不是“Actor”(8 )
(8)A.用户 B.ATM取款机C.ATM取款机管理员 D.取款
(9)反映类、接口或构件的内部协作,用于表达运行时的体系结构、使用模式及关系。
(9)A.compositestructurediagramB.deploymentdiagram
C.usecasediagramD.sequencediagram
在RSA中包含很多模型模板,供开发者在系统建模时选用。
(10)不是RSA提供的模型模板。
(10)A.AnalysisModelB.ServiceDesignModel
C.XSDModelD.Eclipseplug-inModel
在UML的各种视图中,(11)显示外部参与者观察到的系统功能;(12)从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能;(13)显示的是源代码以及实际执行代码的组织结构。
在 ROSE中,时序图和协作图(或通信图)通常建立在(14)下的usecaserealization包中。
(11)A.用例视图B.进程视图C.实现视图D.逻辑视图
(12)A.用例视图B.进程视图C.实现视图D.逻辑视图
(13)A.用例视图B.进程视图C.实现视图D.逻辑视图
(14)A.用例视图B.进程视图C.实现视图D.逻辑视图
在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(15)。
abc
15.供选择的答案:
A.边界对象、实体对象、控制对象B.实体对象、边界对象、控制对象
C.控制对象、实体对象、边界对象D.边界对象、控制对象、实体对象
在建立系统的用例模型时,首先应该确定系统的参与者。
以下问题中,对于确定参与者没有用处的是(16)。
16.供选择的答案:
A.谁是系统的主要用户,即谁使用系统的主要功能
B.谁来管理、维护系统,以保证系统的正常运行
C.系统的功能应该如何实现
D.系统需要与哪些其他的系统交互
UML中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(17)。
17.供选择的答案:
A.构件应是可替换的 B.构件表示的是逻辑模块而不是物理模块
C.构件应是组成系统的一部分 D.构件与类处于不同的抽象层次
采用UML进行软件建模过程中,类图是系统的一种静态视图,用(18)可明确表示两类事物之间存在的整体/部分形式的关联关系。
(18)A.依赖关系B.聚合关系C.泛化关系D.实现关系
Round-TripEngineering能够帮助维持软件架构的完整性。
但(19)不是Round-tripEngineering的好处之一。
(19)A.发现和评估软件架构上的改动B.为相同的接口提供不同的实现
C.在每次迭代中保持模型和代码的同步D.传达被接受的架构改动
(20)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
(21)模式将对象组合成树形结构以表示“部分-整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。
(20)A.Adapter(适配器)B.Iterator(迭代器)
C.Prototype(原型)D.Observer(观察者)
(21)A.组合(Composite)B.桥接(Bridge)
C.修饰(Decorator) D.外观(Facade)
(22)反映了类间的一种层次关系,而(23)反映了一种整体与部分的关系。
(22)A.继承 B.组合 C.封装 D.多态
(23)A.继承 B.组合 C.封装 D.多态
(24)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。
(24)A.泳道B.分叉汇合C.分支D.转移
(25)是用于把元素组织成组的通用机制
(25)A.包B.类C.接口D.组件
二、判断正误,每题1分,共计15分。
请按如下表格在答题纸上答此题。
1~5题
6~10题
11~15题
F1、在用例建模中,Scenario(场景)强调的是完整性,而用例强调的是可理解性。
F2、在两个用例中,如果一个用例拥有另一个用例的所有结构、行为和关系,并在此基础上增加了新的特性,则此两个用例之间可以用扩展关系表示。
F3、ControlledUnit是可以进行版本控制的模型元素,在ROSE中,模型文件本身被打包存储为.cat文件从而成为受控单元,LogicalView和UseCaseView被打包成.mdl文件而成为受控单元。
F4、每一种UML图都只能用于一个模型中,同样一个模型元素只能够出现在一个图中。
T5、RSA所支持的查询图是UML2.0中新增加的一种图,它包括浏览图(BrowseDiagram)和主题图(TopicDiagram)。
T6、模型驱动的开发(Model-DrivenDevelopment)包含CIM、PIM和PSM等抽象层次。
F7、在状态图中,内部转换可导致进入转换和离开转换的执行。
F8、UML适用于以体系结构为中心的开发过程,但不适合在具有迭代特征的开发过程中使用。
F9、请求接口(RequiredInterface)用于定义一个构件所提供的服务。
F10、UseCaseRealization和相应的UseCase之间是一种泛化关系。
T11、分析机制(Analysismechanisms)通常用于分析阶段,通过提供对系统复杂行为(如安全性、持久存储等)的简短描述来减少分析的复杂性并改善软件在各开发阶段一致性。
T12、在RUP中,识别设计元素(IdentifyDesignElements)是精化体系结构(RefinetheArchitecture)活动中的一个步骤。
F13、在ROSE中,从Browser窗口删除图形元素和从Diagram窗口中删除模型元素的效果相同。
T14、需求工件(artifact)中至少应该包括用例模型、术语表(glossary)和补充说明(supplementaryspecification)三份文档。
F15、UML结构包括构造块、公共机制和图三个部分。
三、完成下列各题,在答题纸上写出答案。
每题5分,共计25分。
1.说明SequenceDiagram和CollaborationDiagram(或UML2.0中的CommunicationDiagram)的异同点。
(5分)
答:
相同:
SequenceDiagram和CollaborationDiagram都是用于描述模型动态特性的交互图。
SequenceDiagram和CollaborationDiagram从语意上讲是相同的,他们只是从不同的方面来描述一次交互。
不同:
SequenceDiagram重点强调消息的时间顺序;CollaborationDiagram强调一次交互中各个对象之间的关系
2.说明在RSA中将模型进行分块(partition)的原因。
为什么有时候会结合(combine)几个没有共同祖先的模型?
(5分)
答:
RSA中将模型进行分块,从而便于建模设计,优化项目的结构。
3.比较活动图和状态图,从描述重点和使用场合两个方面说明它们的不同之处。
(5分)
答:
Activitydiagram和Statediagram描述的重点不同:
Activitydiagram描述的是从activity到activity的控制流,而Statediagram描述的是对象的状态及状态之间的转移。
Activitydiagram和Statediagram使用的场合不同:
对于以下几种情况可以使用Activitydiagram:
分析用例、理解涉及多个用例的工作流、处理多线程应用。
对于下面的情况要使用Statediagram:
显示一个对象在其生命周期内的行为。
4.Stereotypes(版型)有什么作用?
给出两Stereotypes的例子。
(5分)
答:
Stereotypes可以用来扩展UML元素的语意。
例子:
5.说明UML中的关联、泛化、实现、依赖四种关系各自的含义,并区分聚合(Aggregation)和组合(Composition)两种关系的不同。
(5分)
答:
关联表示两个类之间存在某种语义上的联系。
泛化关系描述了一般事物和该事物中的特殊种类之间的关系。
实现关系是用来规定接口与实现接口的类或组件之间的关系。
两个元素X、Y,如果修改元素X的定义可能会引起另一个元素Y的定义的修改,则称元素Y依赖于元素X。
组合和聚集都表示实例之间的整体/部分关系。
组装是聚集的一种形式。
聚集是概念性的,只是区分整体与部分。
组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。
四、分析题(35分)
1.阅读下列说明和图,完成问题1和问题2,并在答题纸上自行列表写出答案。
【说明】
在线会议审稿系统(OnlineReviewingSystem,ORS)主要处理会议前期的投稿和审稿事务,其中提交稿件的流程描述如下:
作者登录(login)后方可提交稿件,提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。
上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。
系统采用面向对象的方法开发,使用UML进行建模。
提交稿件涉及的活动名称参见表1-1,系统提交稿件的活动图如图1-1所示。
表1-1活动名称列表
名称
说明
名称
说明
selectpaperlocation
选择稿件位置
Uploadpaper
上传稿件
selectsubjectgroup
选择主题类型
sendnotification
发送通知
entertitleandabstract
输入标题和摘要
图1-1提交稿件过程的活动图
【问题1】(4分)
根据【说明】中的描述,使用表1-1中的英文名称,给出图1中Action1~Action4对应的活动。
Action1
entertitleandabstract
Action2
selectsubjectgroup
Action3
selectpaperlocation
Action4
uploadpaper
【问题2】(2分)
举例说明活动图中分支(branch)/合并(merge),与分叉(fork)/汇合(join)这两组概念的区别。
答:
2.某大型商场的管理信息系统是由一个中央服务器、每个楼层的楼层服务器、各柜台的收款机和各个业务部门的计算机终端组成的局域网络,它们分别负责商场数据的汇总与分析、当日数据的保存与整理、每笔销售款项的计算和进销存等各种业务的处理。
用配置图(或称部署图)描述各项任务在不同硬件设备上的配置情况。
(6分)
答:
3.某公司要开发一个旅店管理系统,该旅店可对外开放10个双人间和10个单人间,房间费用视情况按季节调整,但周一到周五半价(周末全价)折扣不变。
对于外界请求,该系统应能根据请求入住时间预定指定档次的房间,记录旅客姓名、地址、联系电话、有效证件号、房间类型和预定天数,并计算出总费用。
预定的同时旅客按规定须提交10%定金。
六个小时之内旅店允许旅客取消预定,并退回所有定金,超过六个小时定金不退还。
每周一系统自动打印一周预定情况清单。
采用哪种费用支付方式和何种类型操作界面尚不确定。
参阅上述初步用户需求,完成下面所要求的内容
【问题1】(10分)
完成“旅店管理系统”的系统用例图,注意用例的命名和用例间的关系的使用.
答:
4.员工脸部识别考勤系统是为考察员工出勤情况而开发的,用于对员工的出勤情况进行监控。
该系统要对员工的脸部图像信息进行采集,即系统识别员工的脸部图像,并根据员工输入的个人信息(包括姓名和工作号)生成员工图像记录;员工在每天上班和下班时使用该系统进行身份识别,即系统识别员工的脸部图像,然后将识别的图像信息与系统中保存的员工脸部图像信息进行匹配,如果匹配成功则将识别出的员工身份和当前日期、时间等信息保存到员工出勤数据库中;如果匹配不成功,则返回错误信息,员工需再次进行脸部识别;考勤员可以在需要的时候使用该系统生成员工的出勤情况统计分析表。
假设在该员工脸部识别考勤系统中,有一个用例名为“上班登记”。
此用例允许员工在上班时使用系统识别自己的脸部图像进而识别自己的身份,同时系统可以将登录信息存储在数据库中。
该用例的一个基本事件流如下:
1.员工从系统菜单中选择“上班登记”(workerselects“entranceregistry”fromthesystemmenu);
2.系统显示脸部识别窗口;(thesystemdisplaysthefacerecognitioninterface)
3.员工将脸部对准识别窗口;(workerwatchestheinterface)
4.系统捕获并识别员工的脸部图像,向员工返回识别的身份信息;(thesystemcapturesandrecognizestheworker’sfaceandreturnstherecognizedidentityinformation)
5.员工选择“确认”按钮;(workerpressesthe“confirm”button)
6.系统生成一个关于该员工及当前日期和时间的新记录,并将该记录保存到数据库中。
(thesystemcreatesanewrecordabouttheworker,dateandtime,andsavesthisrecordtothedatabase)
【问题1】(5分)
请根据上述的事件流识别和标识类,
答:
识别出来的类有7个:
SystemMenu、RecognationInterface、RecognationManager、FaceImageInfo、RecordManager、Record、TransactionManager
【问题2】(8分)
画出UML顺序图和类图。
答: