uml综合练习题及答案 联系客服

发布时间 : 星期三 文章uml综合练习题及答案更新完毕开始阅读4fb88e265901020207409c85

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