《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第九章课后习题参考答案

                             第9章   面向对象分析  课后习题参考答案

一、选择题

(1)(C)不是对象具有的特性。

A.标 B.继承 C.顺序 D.多态性

(2)封装是把对象的(A)结合在一起,组成一个独立的对象。

A.属性和操作 B.信息流

C.消息和事件 D.数据的集合

(3)UML中有4种关系,分别是依赖、泛化、关联和(C)。

A.集成 B.合作 C.实现 D抽象

(4)在UML的需求分析建模中,(B)模型图必须与用户反复交流并加以确认。

A.配置 B.用例 C.包 D.动态

(5)下面不是用例之间主要关系的是(C)。

A.扩展 B.包含 C.依赖 D.泛化

(6)对于一个电子商务网站而言,以下不适合作为用例的选项是(C)。

A.登录 B.预定商品 C.购物车 D.结账

(7)在UML的需求分析模型中,用例建模必须与(B)反复交流并加以确认。

A.软件生产商 B.用户

C.软件开发人员 D.问题领域的专家

(8)在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A)。

A.活动图 B.状态图 C.配置图 D.构件图

(9)UML的系统分析进一步要确立的3个系统模型是(B)、对象动态模型和系统

功能模型。

A.数据模型 B.对象静态模型

C.对象关系模型 D.体系结构模型

(10)类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必有(C)。

A.正负号 B.动作 C.具体值 D.私有成员

(11)顺序图和协作图主要用于对用例图中(B)的建模,用它们来描述用例图的行为。

A.数据流 B.控制流 C.消息流 D.数据字典

(12)顺序图的建模元素有(A)、消息、链等。这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。

A.对象 B.箭线 C.活动 D.状态

(13)顺序图描述(D)对象之间消息的传递顺序。

A.某个 B.单个 C.一个类产生的 D.一组

(14)在顺序图中,返回消息的符号是(B)。

A.直线箭头 B.虚线箭头 C.直线 D.虚线

(15)状态图可以表现(B)在生存期内的行为、所经历的状态序列,引起状态转移的事件以及因状态转移而引起的动作。

A.一组对象 B.一个对象

C.多个执行者 D.几个子系统

(16)状态图描述一个对象在不同(A)的驱动下发生的状态转移。

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

二、简答题

(1)简述O0A模型的层次结构。

OOA模型采用五层次结构,它们分别是:

① 对象-类层

划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。

② 属性层
  定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。

③ 服务层
  表示对象的服务或行为,即是要定义类上的操作。

④ 结构层
  标识现实世界中对象之间的关系。当一个对象是另一个对象的一部分时,用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系表示。

⑤ 主题层

(2)简述面向对象分析方法(OOA)的五个基本步骤。

可将相关类或对象划分为一个主题。

① 识别对象,识别对象包括标识潜在的对象和筛选对象两步。

② 识别对象的属性。

③ 识别对象的行为。

④ 识别对象所属的类。

⑤ 定义主题词。

(3)简述时序图的建模步骤。

建模步骤:

① 设置交互语境。

② 确定对象。

③ 分析消息和条件。

④ 分析附加约束。

⑤ 对建模结果精化和细化。

(4)什么是用例?如何确定系统的用例?

用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。

可以根据下面的一些问题来识别用例:

① 参与者希望系统提供什么功能;

② 系统是否存储和检索信息;

③ 当系统改变状态时,是否通知参与者;

④ 是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。

(5)什么是顺序图,顺序图是由那些部分组成?

顺序图是强调消息时间顺序的交互图。是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。

顺序图是由类角色、生命线、激活期和消息组成。

(6)什么是协作图,协作图是由那些部分组成?

协作图作为另一种交互图而言,强调的是参加交互的对象的组织。协作图是由类角色、关联角色和消息流组成。

三、应用题

(1)考虑一个“通讯录管理系统”,通讯录包含若干条目、每个条目包括:姓名、电话、邮编、通信地址四个内容。对通讯录要求的操作包帮:查看条目、查找条目、增加条目、删除条目。对条目的要求是能够设置和获取其中的四个属性。要求系统通过图形用户界面操作通讯录,增加条目时,创建一个通讯录条对象,通过图形界面编排条口属性并写回到条目对象中。请回答下面问题。

①绘制系统的用例图。

②如果要求在通讯录中不允许有姓名相同的条目,请写出“增加条目”功能的事件流描述(包括可选事件流)。

 

事件流描述

1)正常事件流

① 用户查看通讯录,选择添加条目功能项,启动该用例;

② 用户输入姓名、电话、邮编和通讯地址;

③ 系统保存通讯录数据,更新视图。

2)可选事件流

第2步(用户输入姓名重复)

① 用户输入姓名已存在,系统提示是否重新输入姓名;

② 用户选择重新输入姓名,用例从第2步正常执行;

③ 用户选择放弃,用例结束。

③经过初步分析,找到如下类,请用类图描述类之间的关系。

通讯录(TXL)、通讯录条目( Litem)、界面(U)。

 

 ④为②中的正常事件流绘制顺序图。

 

(2)考虑一个简单的“学生选课系统”,学生可以查看已选修课程、退选课程;管理员可以查看全校课程、添加课程。描述课程的信息包括:课程号、课程名称、开课教师,课程号唯一确定一门课程。管理员添加课程时,创建课程对象,通过图形界面输入课程信息后保存到课程对象中,将课程对象保存到全校课程列表中。

①识别参与者和用例,并绘制系统的用例图。

 

 ②如果要求不能添加重复的课程,请写出管理员用户“添加课程”功能的事件流描述(包括可选事件流)。

事件流描述

1) 正常事件流

① 管理员查看全校课程列表,选择添加课程功能项,启动该用例;

② 管理员输入课程名称、任课教师、课程号;

③ 系统保存课程列表,更新视图

 2)可选事件流

第2步(管理员输入课程号重复)

① 管理员输入课程号已存在,系统提示是否重新输入课程号;

② 管理员选择重新输入课程号,用例从第2步正常执行;

③ 管理员选择放弃,用例结束。

③经过初步分析添加课程用例,找到如下类,请用类图描述类之间的关系。

全校课程集合类( Courses)、课程类( Course)、界面( AdminstratorUl)。

 

 ④为②中的正常事件流绘制顺序图。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值