
面向对象建模技术模拟试题(A卷)
考试时间:2010年12月30日
班级 学号 姓名
✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;
✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸
一并交上来。
一、选择题,每题1分,共计20分。每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。请按如下表格在答题纸上答此题。
| 1~5题 | |||||
| 6~10题 | |||||
| 11~15题 | |||||
| 16~20题 |
a b c
1.供选择的答案:
A. 边界对象、实体对象、控制对象 B. 实体对象、边界对象、控制对象
C. 控制对象、实体对象、边界对象 D. 边界对象、控制对象、实体对象
(2) 设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
2.供选择的答案:
A. Adapter(适配器) B. Iterator(迭代器)
C. Prototype(原型) D. Observer(观察者)
Round-Trip Engineering能够帮助维持软件架构的完整性。但 (3) 不是Round-trip Engineering的好处之一。
3.供选择的答案:
A. 发现和评估软件架构上的改动 B. 为相同的接口提供不同的实现
C. 在每次迭代中保持模型和代码的同步 D. 传达被接受的架构改动
下面4种符号在Rose中表示的模型元素分别为 (4)
4.供选择的答案:
A. 接口 (Interface) 类操作 (Operation) 时序图 (Sequence Diagram) 类属性 (Attribute)
B. 类操作 (Operation) 接口 (Interface) 类属性 (Attribute) 时序图 (Sequence Diagram)
C. 接口 (Interface) 类属性 (Attribute) 类操作 (Operation) 时序图 (Sequence Diagram)
D. 时序图 (Sequence Diagram) 类属性 (Attribute) 接口 (Interface) 类操作 (Operation)
在建立系统的用例模型时,首先应该确定系统的参与者。以下问题中,对于确定参与者没有用处的是 (5) 。
5.供选择的答案:
A. 谁是系统的主要用户,即谁使用系统的主要功能
B. 谁来管理、维护系统,以保证系统的正常运行
C. 系统的功能应该如何实现
D. 系统需要与哪些其他的系统交互
(6) 技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。
6.供选择的答案:
A. 泳道 B. 分叉汇合
C. 分支 D. 转移
UML 中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(7) 。
7.供选择的答案:
A. 构件应是可替换的 B. 构件表示的是逻辑模块而不是物理模块
C. 构件应是组成系统的一部分 D. 构件与类处于不同的抽象层次
下列对状态图描述不正确的是 (8)
8.供选择的答案:
A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为
B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态
C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率
D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应
在用ROSE创建的类图中,“ #”表示的可见性是 (9)
9.供选择的答案:
(A)Public (B)Protected (C)Private (D)Package
在ATM自动取款机的工作模型中(用户通过输入正确的用户资料,从银行取钱的过程),下面哪个不是“Actor” (10 )
10.供选择的答案:
A. 用户 B. ATM取款机 C. ATM取款机管理员 D. 取款
已知3个类A、B和C,其中类A由类B的一个实例和类C的一个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是( 11 )。
11.供选择的答案:
构件图的组成不包括 (12)
12.供选择的答案:
(A)接口 (B)构件 (C)发送者 (D)依赖关系
(13) 是用于把元素组织成组的通用机制
13.供选择的答案:
A. 包 B. 类 C. 接口 D. 组件
类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是 ( 14) 关系。
14.供选择的答案:
A. 实现 B. 继承 C. 依赖 D. 关联
UML中的事物包括:结构事物,分组事物,注释事物和 (15)
15.供选择的答案:
A. 实体事物 B. 边界事物 C. 行为事物 D. 动作事物
在 ROSE中,时序图和协作图(或通信图)通常建立在 (16) 下的use case realization包中。
16.供选择的答案:
A. use case view B. Logical View C. Component View D. Deployment view
在 RSA中包含很多模型模板,供开发者在系统建模时选用。 (17) 不是RSA提供的模型模板。
17.供选择的答案:
A. Analysis Model B. Service Design Model C. XSD Model D. Eclipse plug-in Model
(18) 反映类、接口或构件的内部协作,用于表达运行时的体系结构、使用模式及关系。
18.供选择的答案:
A. composite structure diagram B. deployment diagram
C. use case diagram D. sequence diagram
如下的短语 (19) 能最好地表示“泛化”关系。
19.供选择的答案:
A. Is a part of B. Is a kind of
C. Is a replica of D. Is an inheritance of
下面的 (20) 模式将对象组合成树形结构以表示“部分-整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。
20.供选择的答案:
A. 组合(Composite) B. 桥接(Bridge)
C. 修饰(Decorator) D. 外观(Facade)
二、判断正误,每题1分,共计15分。请按如下表格在答题纸上答此题。
| 1~5题 | |||||
| 6~10题 | |||||
| 11~15题 |
F 2、 Controlled Unit是可以进行版本控制的模型元素,在ROSE中,模型文件本身被打包存储为.cat文件从而成为受控单元,Logical View和Use CaseView被打包成.mdl文件而成为受控单元。
3、RSA支持模型驱动(Model-Driven Development)的开发。
F 4、在状态图中,内部转换可导致进入转换和离开转换的执行。
5、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。
T 6、在两个用例中,如果一个用例拥有另一个用例的所有结构、行为和关系,并在此基础上增加了新的特性,则此两个用例之间可以用泛化关系表示。
F 7、UML适用于以体系结构为中心的开发过程,但不适合在具有迭代特征的开发过程中使用。
8、在UML状态图中,历史状态用于存储以前的状态。
F 9、请求接口(Required Interface)用于定义一个构件所提供的服务。
10、每个模型都是由一种图来刻画的。
F 11、Use Case Realization 和相应的Use Case之间是一种泛化关系。
T 12、分析机制(Analysis mechanisms)通常用于分析阶段,通过提供对系统复杂行为(如安全性、持久存储等)的简短描述来减少分析的复杂性并改善软件在各开发阶段一致性。
T 13、在RUP中,识别设计元素(Identify Design Elements)是精化体系结构(Refine the Architecture)活动中的一个步骤。
F 14、在ROSE中,从Browser窗口删除图形元素和从Diagram窗口中删除模型元素的效果相同。
15、RSA中的浏览图(Browse Diagram)和主题图(Topic Diagram)同属于查询图(Query Diagram)。
三、完成下列各题,在答题纸上写出答案。每题5分,共计40分。
1. 说明Sequence Diagram 和Collaboration Diagram (或UML2.0中的Communication Diagram)的异同点。(5分)
2. RUP中将软件生命周期划分为哪些阶段,每个阶段所完成的工作有哪些?用活动图画出RUP中的分析和设计两个核心工作流所包含的活动和流程。(5分)
3. 列出体系结构建模中“4+1”Views中都有哪5个View,并简单说明每个View所关注的内容。(5分)
4. 比较活动图和状态图,从描述重点和使用场合两个方面说明它们的不同之处。(5分)
5. Stereotypes(版型)有什么作用?给出两Stereotypes的例子。(5分)
6. 说明UML中的关联、泛化、实现、依赖四种关系各自的含义,并区分聚合(Aggregation)和组合(Composition)两种关系的不同。(5分)
7. 根据下面的描述绘制状态图。手机开机时,处于空闲状态;当用户开始呼叫某人时,手机进入拨号状态;如果呼叫成功,进入通话状态;如果呼叫不成功,重新进入空闲状态。在空闲状态被呼叫,进入响铃状态;如果用户接听,进入通话状态;如果一分钟不接听,重新进入空闲状态。 (5分)
8. 某大型商场的管理信息系统是由一个服务器、每个楼层的楼层服务器、各柜台的收款机和各个业务部门的计算机终端组成的局域网络,它们分别负责商场数据的汇总与分析、当日数据的保存与整理、每笔销售款项的计算和进销存等各种业务的处理。用配置图描述各项任务在不同硬件设备上的配置情况。(5分)
四、分析题(25分)
1. 阅读下列说明和图,完成问题1至问题4,并在答题纸上自行列表写出答案。
【说明】
在线会议审稿系统(Online Reviewing System, ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:
(1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。
(2)作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。
(3)审稿人登录后可设置兴趣领域,审阅稿件给出意见,以及罗列录用和(或)拒绝的稿件。
(4)会议委员会是一个特殊的审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件,以及关闭审稿过程。其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象的方法开发,使用UML进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见表1、表2和表3。系统的部分用例图和提交稿件的活动图分别如图1和图2所示。
表1 参与者列表
| 名称 | 说明 | 名称 | 说明 |
| User | 用户 | Author | 作者 |
| Reviewer | 审稿人 | PCChair | 委员会 |
| 名称 | 说明 | 名称 | 说明 |
| login | 登录系统 | Register | 注册 |
| submit paper | 提交稿件 | Browse review results | 浏览稿件审阅结果 |
| close reviewing process | 关闭审稿过程 | assign paper to reviewer | 分配稿件给审稿人 |
| set preferences | 设定兴趣领域 | enter review | 审阅稿件给出意见 |
| list accepted/rejected papers | 罗列录用和/或拒绝的稿件 | browse submitted papers | 浏览提交的稿件 |
| 名称 | 说明 | 名称 | 说明 |
| select paper location | 选择稿件位置 | upload paper | 上传稿件 |
| select subject group | 选择主题类型 | send notification | 发送通知 |
| enter title and abstract | 输入标题和摘要 |
图1 ORS的用例图
图2 提交稿件过程的活动图
【问题1】(4分)
根据【说明】中的描述,使用表1中的英文名称,给出图1中A1~A4所对应的参与者。
| A1 | |
| A2 | |
| A3 | |
| A4 |
根据【说明】中的描述,使用表2中的英文名称,给出图1中U1~U3所对应的用例。
| U1 | |
| U2 | |
| U3 |
根据【说明】中的描述,给出图1中(1)和(2)所对应的关系及其含义。
【问题4】(4分)
根据【说明】中的描述,使用表2和表3中的英文名称,给出图2中Action1~Action4对应的活动。
| Action1 | |
| Action2 | |
| Action3 | |
| Action4 |
【说明】
S 公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S 公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容会有所不同。
注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。
商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销(Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。
系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML 类图表示,图 3 是该系统类图中的一部分;系统的动态行为采用 UML 序列图表示,图 4 是发布促销的序列图。
[问题 1](6 分)
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图 3 中的(1)~(6)。
[问题 2](4 分)
请从表 4 中选择方法,完成图 4 中的(7)~(10)。
表 4 可选消息列表
| 功能描述 | 方法名 |
| 向促销订单中添加所选的商品 | buyCommodities |
| 向促销中添加要促销的商品 | addCommodities |
| 查找某个促销的所有促销订单信息列表 | getPromotionOrders |
| 生成商品信息 | createCommodity |
| 查找某个分类中某商家的所有商品信息列表 | getCommodities |
| 生成促销信息 | createPromotion |
| 生成促销订单信息 | createPOrder |
| 查找某个分类的所有促销信息列表 | getCategoryPromotion |
| 查找某商家所销售的所有分类列表 | getCategories |
| 查找某个促销所涉及的所有商品信息列表 | getPromotionCommodities |
