一、选择题,每题1分,共计25分。每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。请按如下表格在答题册上答此题。
1~5题 |
|
|
|
|
|
6~10题 |
|
|
|
|
|
11~15题 |
|
|
|
|
|
16~20题 |
|
|
|
|
|
21~25题 |
|
|
|
|
|
下面关于UML文档的叙述中正确的是 (1)B
(1)A. UML文档指导开发人员如何进行面向对象分析
B. UML文档描述了面向对象分析与设计的结果
C. UML文档给出了软件的开发过程和设计流程
D. UML文档指导开发人员如何进行面向对象设计
在面向对象分析与设计中, C(2) 是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;这种类的构造型通常用 B(3) 来表示。
(2)A. 控制类 B. 边界类 C. 实体类 D. 软件类
转存失败重新上传取消
(3)
已知3个类A、B和C,其中类A的实例由类B的一个实例和类C的一个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是( 4 )A。
(4). 供选择的答案:
转存失败重新上传取消
UML的设计视图包含了类、接口和协作,其中,设计试图的静态方面由(5)A和(6)C表现;其中的(5)A可以明确表示两类事物之间存在的整体/部分形式的关联关系。动态方面由交互图、(7)D表现。
(5)A. 类图 B. 状态图 C. 活动图 D. 用例图
(6)A. 状态图 B. 顺序图 C. 对象图 D. 活动图
(7)A. 状态图和类图 B. 类图和活动图
C. 对象图和状态图 D. 状态图和活动图
RUP将一个周期的开发过程划分为4个阶段,其中 (8) 的提交结果包含了完整的用例和设计模型,以及在适当平台上集成的软件产品。
(8) A. 先启阶段 B. 精化阶段 C. 构建阶段 D. 提交阶段
在进行面向对象设计时,采用设计模式能够(9)A 。 (10)B 设计模式定义一个用于创建对象的接口,让子类决定实例化哪一个子类,它使一个类的实例化延迟到其子类。 D(11) 模式将对象组合成树形结构以表示“部分-整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。
(9)A. 复用相似问题的相同解决方案 B. 改善代码的平台可移植性
C. 改善代码的可理解性 D. 增强软件的易安装性
C. 原型(Prototype) D. 适配器(Adapter)
C. 外观(Facade) D. 组合(Composite)
B (12) 是用于把元素组织成组的通用机制。该机制在开发过程中有很多作用,但其中的(13)D不是该机制的好处之一。
(12) A. 类 B. 包 C. 接口 D. 组件
(13) A. 有利于并行开发和提高软件生产率
B. 有利于有效的软件配置管理
C. 有利于提高软件的模块独立性和软件可理解性
D. 有利于提高软件的可靠性
在RSA中, (14)D 定义了编辑器(Editor)和视图(View)集合,并针对特定的任务和职能对其提供初始的布局。但是下述选项中, (15) D 不是RSA所提供的一种 (14)D 。
在UML 2.0中, (16)A 反映类、接口或构件的内部协作,用于表达运行时的体系结构、使用模式及关系,其中所描述的 (17) C 存在于一个结构类的内部端口(port)之间,而 (18)A 存在于外部结构和一个结构类的内部端口之间。
(16)A. composite structure diagram B. deployment diagram
C. use case diagram D. sequence diagram
C. Assembly connector D. Singleton connector
C. Assembly connector D. Singleton connector
Rational Software Architect 通过(19)A功能来发现模型版本的变动、支持并行开发和探索多种可能的解决方案。
C. Applying Patterns and Transformation D. Model publishing
解读下图中所表示的设计,可以发现该方案不可以 (20)B 。
B. 动态指定处理一个请求的对象集合, 并高效率地处理一个请求
C. 使多个对象都有机会处理请求,避免请求的发送者和接收者间的耦合关系
D. 将对象连成一条链,并沿着该链传递请求
转存失败重新上传取消
在UML中,约束信息用(21)C符号表示。
(21) A. [ ] B. ( ) C. { } D. " "
状态图可以表现(22)B在生存期的行为,所经历的状态序列,引起状态转移的 时间以及因状态转移而引起的动作。
(22) A. 一组对象 B. 一个对象 C. 多个执行者 D. 几个子系统
Round-Trip Engineering能够帮助维持软件架构的完整性。但 (23)D 不是Round-trip Engineering的好处之一。
(23) A. 发现和评估软件架构上的改动 B. 传达被接受的架构改动
C. 在每次迭代中保持模型和代码的同步 D. 为相同的接口提供不同的实现
下列描述中,(24)D不是建模的基本原则。
(24)A.要仔细的选择模型,因为模型关系着系统解决方案的构造;
B.每一种模型可以在不同的精度级别上表示所要开发的系统
C.模型要与现实相联系
D.对一个重要的系统用一个模型就可以充分描述
UML中有的四种基本关系是:依赖,泛化,关联和(25 )C
(25)A. 继承 B. 合作 C. 实现 D.抽象
二、判断正误,每题1分,共计15分。请按如下表格在答题纸上答此题。
1~5题 |
|
|
|
|
|
6~10题 |
|
|
|
|
|
11~15题 |
|
|
|
|
|
1、在活动图和状态图中,有且只有一个终止节点,但可以没有初始节点,也可以有多个初始节点。F
2、顺序图和协作图(UML2.0中的通信图)在语义上是等价的,顺序图用链接(link)刻画对象间的拓扑关系,通信图则可以描述执行的发生(execution occurrence)或控制焦点(focus of control)。F
3、RSA所支持的查询图包括浏览图(Browse Diagram)和主题图(Topic Diagram),这两种图是UML2.0中新增的两种图,分别用以获取和描述系统的结构和行为。F
4、T在RUP中,先启阶段、精化阶段、构建阶段和提交阶段往往需要多次迭代,但是如果不需要探索系统可行性或项目范围很容易确定,则先启阶段中可以不进行真正意义的迭代。T
5、模型和图在概念上是一致的,每一种UML图都只能用于一个模型中,同样一个模型也只能够用一种图来表示。F
6、UML 中的构件遵从一组接口并提供一组接口的实现,构件往往是一个逻辑模块而不是物理模块。F
7、T 在状态图中,历史状态是基于组合状态构造的,也就是说如果没有组合状态的图形语法和语义,就无法进一步定义历史状态。T
8、T Controlled Unit是可以进行版本控制的模型元素,在ROSE中,模型文件本身被打包存储为.mdl文件从而成为受控单元,Component View则被打包成.sub文件而成为受控单元。T
9、 UML适用于用例驱动的开发过程,但不适合在体系结构为中心的开发过程中使用。F
10、T Use Case Realization明确了分析与设计(analysis and design)活动和需求(requiremeng)活动之间的可追踪性(traceability)。每一个use case realization中都可以包括若干实现某个用例的类图、顺序图和通信图。T
11、T 部署图(或配置图)中包含两种节点(Node),一种是设备节点(Device),另一种是执行环境接点(Execution Environment)。其中设备节点一般是可以嵌套其它节点并具备处理能力的物理计算资源。T
12、在RUP中,用例分析(use case analysis)是精化体系结构(Refine the Architecture)活动中的一个步骤。F
13、泛化关系可以通过”is a part of”短语来判定,而聚合关系(aggregation)可以通过” is a kind of”短语来判定。F
14、在用例建模中,用例强调的是可理解性,而Scenario(场景)强调的是完整性。F
15、T UML结构中的构造块包括物件、关系和图三个部分。T
三、完成下列各题,在答题纸上写出答案,共计30分。
转存失败重新上传取消
转存失败重新上传取消
用例名、自然语言描述体、图例说明、范围、级别、主执行者、项目相关人员和利益、前置条件、最小保证、成功保证、触发事件、主成功场景、扩展场景和相关信息等项目
)构造型(Stereotype):构造型可以为UML增加新事物
)标记值(tagged value):标记值扩展UML构造块的特性或标记其他模型元素,为UML事物增加新特性。
)约束(constraint):用于加入新的规则或修改已经存在的规则
关联表示两个类之间存在某种语义上的联系。
泛化关系描述了一般事物和该事物中的特殊种类之间的关系。
实现关系是用来规定接口与实现接口的类或组件之间的关系。
两个元素X、Y,如果修改元素X的定义可能会引起另一个元素Y的定义的修改,则称元素Y依赖于元素X。
组合和聚集都表示实例之间的整体/部分关系。组合是聚集的一种形式。
聚集是概念性的,只是区分整体与部分。
组装具有很强的归属关系,而且整体与部分的对象生存周期是一致的。
7. 在识别类、类的职责以及类的关系的过程中,实践中存在两种观点:一种方法是通过筛选名词动词等方式来进行,另一种是通过观察由用例事件流获得的顺序图来进行。你同意哪一种做法,为什么?(4分)
各有优缺点:第一种方法适合开发有一定开发经验的领域;第二种方法适合陌生的领域,缺乏相关系统的开发经验
四、综合应用题(30分)
1. 阅读下列说明和图,完成问题1至问题4,并在答题纸上自行列表写出答案。
【说明】
在线会议审稿系统(Online Reviewing System, ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:
(1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。
(2)作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要,选择稿件所属主题类型,选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。
(3)审稿人登录后可设置兴趣领域,审阅稿件给出意见,以及罗列录用和(或)拒绝的稿件。
(4)会议委员会主席是一个特殊的审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件,以及关闭审稿过程。其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件。
系统采用面向对象的方法开发,使用UML进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见表1、表2和表3。系统的部分用例图和提交稿件的活动图分别如图1和图2所示。
表1 参与者列表
名称 |
说明 |
名称 |
说明 |
User |
用户 |
Author |
作者 |
Reviewer |
审稿人 |
PCChair |
委员会主席 |
表2 用例名称列表
名称 |
说明 |
名称 |
说明 |
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 |
浏览提交的稿件 |
表3 活动名称列表
名称 |
说明 |
名称 |
说明 |
select paper location |
选择稿件位置 |
upload paper |
上传稿件 |
select subject group |
选择主题类型 |
send notification |
发送通知 |
enter title and abstract |
输入标题和摘要 |
|
|
转存失败重新上传取消
图1 ORS的用例图
转存失败重新上传取消
图2 提交稿件过程的活动图
【问题1】(4分)
根据【说明】中的描述,使用表1中的英文名称,给出图1中A1~A4所对应的参与者。
【问题2】(3分)
根据【说明】中的描述,使用表2中的英文名称,给出图1中U1~U3所对应的用例。
【问题3】(4分)
根据【说明】中的描述,给出图1中(1)和(2)所对应的关系及其含义。
【问题4】(4分)
根据【说明】中的描述,使用表2和表3中的英文名称,给出图2中Action1~Action4对应的活动。
2. 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某图书管理系统的主要功能如下:
(1) 图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。
(2) 资源可以分为两类:图书和唱片。对于图书,系统还需要登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或者磁带)。
(3) 读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。
现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。表1给出了说明中出现的所有名词。
表1
图书管理系统 |
资源目录 |
读者 |
资源 |
索引号 |
系统 |
名称 |
出版时间 |
资源状态 |
图书 |
唱片 |
作者 |
页数 |
演唱者 |
介质类型 |
CD |
磁带 |
读者信息 |
读者信息数据库 |
识别码 |
姓名 |
借书记录文件 |
信息 |
|
通过对表1中的名词进行分析,最终得到了图1所示的UML类图(类的说明如表2所示)。
转存失败重新上传取消
表2
类名 |
说明 |
LibrarySystem |
图书管理系统 |
BorrowerDB |
保存读者信息的数据库 |
CatalogItem |
资源目录中保存的每项资源 |
Borrower |
读者 |
BorrowerItems |
为每个读者创建的借书记录文件 |
【问题 1】(3分)
表2所给出的类并不完整,根据说明和表1,将图1中的(a)-(c)处补充完整。
【问题 2】(6分)
根据【说明】中的描述,给出图1中的类catalogItem以及(b)、(c)处所对应的类的关键属性(使用表1中给出的词汇),其中,CatalogItem有4个关键属性;(b)、(c)处对应的类各有两个关键属性。
【问题 3】(6分)
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图1中的(1)-(6)。