uml综合练习题及答案

更新时间:2024-04-28 16:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1. 软件设计中的( ) 设计指定各个组件之间的通信方式以及各组件之间如

何相互作用。

A.数据 B.接口 C.结构 D.组件 2. UML 是一种( ) 。

A.面向对象的程序设计语言 B.面向过程的程序设计语言 C.软件系统开发方法 D.软件系统建模语言

3. 面向对象中的( )机制是对现实世界中遗传现象的模拟,通过该机制,基

类的属性和方法被遗传给派生类。 A.封装 B.多态 C.继承 D.变异

4. 下面关于类、对象和实例的叙述中,错误的是( ) 。

A 类是创建对象的模板 B 对象是类的实例

C 类是对象的实例 D 类是一组具有共同特征的对象集合 5. 下列 不在UP的初始阶段中完成的

A编制简要的愿景文档 B粗略评估成本 C定义大多数的需求 D业务案例 6. 下面那一种模式是不属于GRASP模式的

A 多态(Ploymorphism) B 行为对象(pure fabrication) C 中间者(Indirection) D GoF

7. 类是一组具有相同属性的和相同服务的对象的抽象描述,类中的每个对象都

是这个类的一个 。

A例证 B用例 C实例 D例外 8. 类之间共享属性与服务的机制称为 (22) 。

A多态性 B动态绑定 C静态绑定 D继承 9. 一个对象通过发送 来请求另一个对象为其服务。

A调用语句 B消息 C命令 D口令

10. 下面的陈述中,对迭代和增量式开发描述错误的是()。

A. 迭代是时间定量的 B. 系统是增量式增长的

C. 迭代是以循环反馈和调整为核心驱动力的

D. 当迭代无法依照时间表来集成、测试和稳定局部系统时,可以推迟完成

日期。

11. 有关UP阶段的说法,不正确的是()

A. UP的一个开发周期(以系统发布作为产品结束标志)由多个迭代组成; B. 初始阶段不是需求阶段,而是研究可行性的阶段。 C. 细化阶段就是需求或设计阶段;

D. 细化阶段就是迭代地实现核心架构并解决高风险问题的阶段; 12. 下面关于领域模型的描述,不正确的是()

A. 领域模型就是软件对象图;

B. 应用UML表示法,领域模型被描述为一组没有定义操作的类图; C. 创建领域模型的原因之一是帮助理解关键业务概念和词汇;

D. 领域模型和领域层使用相似的命名可以减少软件表示与我们头脑中的领

1

域模型之间的差异。

13. 封装是指把对象的( )结合在一起,组成一个独立的对象。 A 属性和操作 B 信息流 C 消息和事件 D 数据的集合

14. 封装是一种( )技术,目的是使对象的生产者和使用者分离,使对象的定

义和实现分开。

A 工程化 B 系统维护 C 信息隐藏 D 产生对象

15. 面向对象方法中的( )机制使子类可以自动地拥有(复制)父类全部属性

和操作。

A 约束 B 对象映射 C 信息隐藏 D 继承

16. 使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实

现的一种方法是()。

A 继承 B 多态性 C 约束 D 接口

17. 顺序图和协作图主要用于对用例图中( )的建模,用它们来描述用例图的

行为。

A 数据流 B控制流 C 消息流 D 数据字典 18. 顺序图的模型元素有( )、消息、链接等,这些模型元素表示某个用例中的

若干个对象和对象之间所传递的消息,来对系统的行为建模。 A 对象 B 箭线 C 活动 D 状态

19. 顺序图描述( )对象之间消息的传递顺序。 A 某个 B 单个 C 一个类产生的 D 一组

20. 顺序图和协作图建立类UML面向对象开发过程中的对象动态( )模型。 A 交互 B 状态 C 体系结构 D 软件复用

21. 状态图可以表现( )在生存期的行为、所经历的状态序列、引起状态转移

的事件以及因状态转移而引起的动作。

A 一组对象 B 一个对象 C 多个执行者 D 几个子系统 22. 状态图描述一个对象在不同( )的驱动下发生的转台迁移。

A 事件 B 对象 C 执行者 D 数据

23. 一个( )迁移图符可以有多个源状态或目标状态,它们可以把一个控制分

解为并行运行的并发线程,或多个并发线程接合成单个线程。 A 状态 B 对象 C 活动 D 同步并发

24. 活动图中动作状态之间的迁移不是靠( )触发的,当活动(动作)状态中

的活动完成时就被触发。

A 对象 B 事件 C 执行者 D 系统

25. 状态图和活动图建立了UML面向对象开发过程中的对象动态( )模型。

A 交互 B 状态 C 体系结构 D 软件复用 26. UML中关联的多重度是指( )

A 一个类有多个方法被另一个类调用

B 一个类的实例能够与另一个类的多个实例相关联 C 一个类的某个方法被另一个类调用的次数 D 两个类所具有的相同的方法和属性 27. 在某个信息系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;

②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,存在 (1)B “客户”类的实例;对应每个“客户”类的实例,存在 D(2) 个“订单”类的实例。

2

供选择的答案:

A 0个 B 1个 C 1个或多个 D 0个或多个 28. 什么是关联类?( )

A 它描述了可以存在于类之间的各种关系。

B 它在另外两个类之间的关联中添加属性和/或行为。 C 它关联对象和该对象所属的类。

29. 为什么层在子系统设计中非常重要?( )(多选题)

A 更容易改变实现方式

B 减少了实现代码中类的数量 C 提高了重用性 D 降低了复杂性

30. 如果两个顾客在世界的不同地方,要购买音乐会的最后一张票,如何分配这

张票?( )

A 引入一个额外的业务规则,把可用票的查询和临时预定合并起来。 B 使顾客参与软件“竞争”,以买到票。 参与者和角色之C 不允许卖出最后一张票,因为这对其中的一位顾客是不公平的。 间的差别? 31. 如图6-12所示: (1)X1、X2和X3是什么?( )(单选题) A 角色 B Prima donnas C 参与者 D 棒 (2)下面哪个语句是正确的?( )(多选题) 用例模型的用A X3可以使用UC4与系统交互。 途就是列出系B X1可以使用UC1和UC4与系统交互。 统中的用例和C X1、X2与X3不同。 参与者 D UC3是没有步骤的抽象用例。 (3)下面哪个语句是正确的?( )(多选题) A UC5是UC4的补充部分。 B UC4是UC5的可选部分。 C UC1是没有用的。

D UC2是UC4的可选部分。 E UC4是UC2的补充部分。

UC1X1UC2<>UC3X2UC4<>UC5X3

3

32. 如图所示,下面哪些陈述是正确的?( )

A 汽车总是有相同的车身 B 一些汽车有备用轮胎

C 汽车有一个引擎,引擎在汽车之间不共享 D 所有的汽车都有四或五个轮胎 E 汽车必须有至少一个司机 F 乘客不可能是司机

Body1DriverCarEngine*1..*111PassengerWheel0..74..5DriverPassenger*0..71..*1Car1114..5EngineBodyWheel33. 如图,A、B和C是什么对象?

A A是实体,B是控制者,C是边界。 B A是边界,B是实体,C是控制者。 C A是实体,B是边界,C是控制者。 D A是控制者,B是实体,C是边界。

ABC

4

34. 领域模型是一组表示( ),在设计工作中广泛用来启发设计软件对象. A 真实世界的概念类 B 虚拟世界的概念类 C 软件部件的模型 D 硬件部件的模型

35. UML提供了一系列的图支持面向对象的分析与设计,其中____(1)_F__给出

系统的静态设计视图;___(2)___B_对系统的功能进行组织和建模是非常重要的;____(3)_C__和____(4)__E_都是描述系统动态视图的交互图,其中___(5)_C__描述了以时间顺序组织的对象之间的交互活动,___(6)_E___强调收发消息的对象的组织结构。

A 状态图 B 用例图 C 序列图 D 部署图 E 协作图 F 类图 36. 类是一组具有相同属性的和相同服务的对象的抽象描述,类中的每个对象都

是这个类的一个 (1)c 。类之间共享属性与服务的机制称为 d(2) 。一个对象通过发送 b(3) 来请求另一个对象为其服务。 (1)A例证 B用例 C实例 D例外 (2)A多态性 B动态绑定 C静态绑定 D继承 (3)A调用语句 B消息 C命令 D口令 37. 领域模型又称为() A.业务流程模型 B.用例模型 C.概念模型 D.设计模型

38. 在面向对象的方法学中,对象可看成是属性及对于这些属性的专用服务的封

装体。封装是一种 (1) 技术,封装的目的是使对象的 (2) 分离。 (1)A组装 B产品化 C固化 D信息隐藏 (2)A定义和实现 B设计和测试 C设计和实现 D分析和定义 39. 如果你想对一个类的意义进行描述,那么应该采用 ? A. 标记值 B. 规格描述 C. 注释 D.构造型

40. 软件复用是面向对象系统分析与设计的核心支持技术之一,软件复用的核心

是( )。

A 对象类 B 软件构件技术 C 设计模式 D模块 41. 软件测试通常采用黑盒测试和白盒测试。其中黑盒测试根据软件的( a) 设

计测试用例,白盒测试根据软件的(c ) 设计测试用例。 A.功能规格说明 B.需求说明

C.内部结构和逻辑 D.数据流图

42. 将软件从一种计算机环境转换到另一种环境运行的难易程度是指软件的

(B) 。在规定的条件下和规定的时间间隔内,按设计要求,软件成功运行的特性称为(A ) 。

A.可靠性 B.可移植性 C.可使用性 D.灵 性

43. 原型化方法是动态确定软件需求的方法之一,该方法适应于( ) 的系统。

A.需求不确定性高 B.需求确定 C.结构简单 D.可移植性好

44. 瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,其主要缺点

是( ) 。

A.需要软件人员和用户进行沟通 B.需要付 较高的维护成本

C.开发的软件不易于移植 D.不适应需求不确定的软件开发

5

45. 软件设计中的( ) 设计指定各个组件之间的通信方式以及各组件之间如

何相互作用。

A.数据 B.接口 C.结构 D.组件

是什么语46. ( ) 不是面向对象程序设计语言。

言? A.XML B.Java C.C# D.Simula 47. 在画SSD图时, 应该如何对待所涉及的系统:

A.详细描述其内部结构及其功能;

B.简单描述其内部结构,但是罗列系统所有的功能 C.详细描述其内部结构,并不列出系统的功能 D.不对系统的内部结构与功能进行描述.

48. 定义大多数的需求和范围的工作是在UP中的 阶段完成的。

A初始阶段 B细化阶段 C构造阶段 D提交阶段 49. 下列 不在UP的初始阶段中完成的

A编制简要的愿景文档 B粗略评估成本 C定义大多数的需求 D业务案例

二、简答题

1. 统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?

答:1)初始阶段:编制简要的愿景文档、 业务案例、 确定范围、 粗略评估成本。

2)细化阶段:细化愿景文档、 迭代地实现核心构架、 解决高风险的问题、

定义大多数的需求和范围、 进一步评估成本

3)构造阶段:迭代地实现系统的其余部分、 准备部署 4)提交阶段:beta 测试、部署

2. 统一过程中的核心工作流有哪些?

答:业务建模、 需求分析、 设计、 实现、 测试。

3. UP的核心思想有哪些? 答:短时间盒的迭代式开发 开发过程中不断进行调整

在早期的迭代中解决高风险和高价值的主要问题 不断与用户衔接,及时得到反馈意见 早期注意构造核心的体系结构

早期进入实现和测试,不断进行质量检验 使用用况(use case) 可视化建模(用UML) 仔细地管理需求 控制变更

4. 什么是增量开发?

答:增量开发包括两层意思:

1)对复杂的用况分多次迭代,一部分一部分地实现

6

2)将所有用况按其优先级分别安排在不同的迭代中实现

三、画图题

1. 已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类

构成.请画出能够正确表示类A,B和C之间关系的UML类图。 2. 画出下面场景的顺序图

1.收款员(Cashier)启动一次销售(makeNewSale()) 2.收款员输入商品标识(enterItem(itemID,quantity)) 3.销售结束,系统计算并显示总金额(endSale())

4.顾客付款,系统(System)处理支付。(makePayment(amount))

3. 下面一段代码为 UserInfo类和Company类的定义的代码,请根据代码画出

类图(类及其关系),并标记出类之间关系的重数。 public class UserInfo {

private Company oneCompany; //??其他的成员定义 }

public class Company {

private ArrayList allUserInfo; //??其他的成员定义 }

4. 找出下面场景中的概念类:

(1).顾客带着购买的商品或服务来到POS收款台 (2).收款员启动一次销售 (3).收款员输入商品标识

(4).系统记录商品,并且显示该商品说明,价格,并计算总金额。按一组计价规则计算单价。

四、案例分析

PizzaBase案例分析

PizzaBase饭馆想把顾客预定比萨的过程自动化。每张桌子都配备一个触摸式屏幕,顾客可以用它浏览所供应的比萨,并点菜。

该饭馆供应两种基本类型的比萨:自助类只有西红柿酱,顾客可以选择任意数量的配料,每种配料的价格都是固定的。预制类有几个小类,每个小类都有固定的配料。每种比萨都可以预定酥脆型和松软型,有三种规格:6英寸、9英寸和12英寸。

顾客还可以预定饮料,例如可乐类和柠檬类,每种饮料都有大杯和小杯两种规格。顾客确认了预定的食物后,就显示总价。之后,屏幕显示食物的准备和烹饪进度。在顾客吃完后,可以以方便的方式付费。

(1)在PizzaBase案例分析中,在分析阶段的属性列表是哪一个?( ) A 可乐、基本类型、价格、规格、柠檬、付费方式

7

B 口味、品种、付费方式、总价、显示、肉类、西红柿 C 进度、品种、口味、价格、触摸式屏幕、规格、饮料 D 基本类型、价格、品种、规格、进度、口味

(2)如图所示,哪个图是PizzaBase饭馆中比萨的最佳模型?( )

A 图1 B 图2 C 图3

Order+specifiesOrder+spcifiesChoice+kindOfPizzaPizzaMenu+lists图1+orders图2Menu+lists

CustomerPizza

(3)在PizzaBase案例分析中,分析类最有可能是哪个列表?( )

A Payment, Order, Drink, Topping, Pizza, Restaurant, Base, Sauce B Customer, Table, Pizza, Topping, Drink, Restaurant, Order

C PizzaBase, Cola, Restaurant, Lemonade, Do-it-yourself, Prefab, Table, Order D Restaurant, Pizza, Topping, Display, Payment, Order, Touch

五、填空题

1. 在协作图中通过 消息编号 表示出消息的时间顺序。

2. 小步骤 、 快速反馈 、 调整 是迭代开发的主要

思想,迭代时间过程会破坏迭代开发的核心动机并增加项目风险。仅一周的迭代时间不足以获得有意义的产出和反馈;若迭代周期大于6周,则复杂性会变得不可控制,反馈将延迟。)

3. 理解职责是顺利进行面向对象设计的关键。基本OO设计的系统方法GRASP

的5个原则和模式为 创建者 、 信息专家 、 高内聚 、 低耦合 、 控制器 。

4. UML只是一种标准的、可视化建模语言,了解它的细节并不能教会你如何

用对象思想来思考,最关键的软件开发工具是受过良好设计原则训练的 思维 ,而不是UML或任何其他技术。

六、案例分析

一. 在Monopoly案例中,为了能够检索和表示任何Square(指定其名称),某个

对象必须知道(持有其信息)所有Square。下面给出如图A和如图B的两种设计方案,请用GRASP设计模式或原则来评价现有的两种设计方案的优劣,并指出其原因。(答题要点:需指出好的设计方案采用了那种设计模式,劣的设计方案又违背哪种设计模式,原因是什么?)

8

图3

二. 在Monopoly案例中,应用所学过的GRASP高内聚的设计模式评价一下左

侧图C和右侧图D两种设计方案的优劣。

9

本文来源:https://www.bwwdw.com/article/k2zg.html

Top