《软件工程案例教程》李军国主编习题答案 下载本文

附录A 习题答案13

第6章习题答案

一、判断题

题号 1 答案 Y 2 Y 二、填空题

题号 1 2 3 4 5 6 A 知识 问题域 实例 模块化 限定交互时间 B 方法和标准 人机交互 继承 信息隐藏 指定窗口和报表 C 软件成分 任务管理 多态 可复用 设计命令层次 D 数据管理 简洁化 系统设计 对象设计 三、简答题

1. 优化对象设计:

(1)确定优先级 (2)提高效率 (3)调整继承关系 2. 设计内部结构:

(1)确定遗漏的属性和操作 (2)指定类型,声明可见性 3. 面向对象启发规则是:

① 设计结果应该清晰易懂

② 一般-特殊结构的深度应适当 ③ 设计简单类 ④ 使用简单的协议 ⑤ 使用简单的操作 ⑥ 把设计变动减至最小 4. 面向对象设计:

面向对象设计是面向对象方法在软件设计阶段应用与扩展的结果,就是根据在问题域中已建立的分析模型,运用面向对象技术进行系统软件设计,并且补充实现的细节部分,如人机界面、数据存储、任务管理等,形成符合成本和质量要求的、抽象的系统实现方案,在求解域中建立设计模型。 5. 设计任务管理子系统:

任务管理的设计包括:确定要执行的任务并识别它的特征、确定任务的优先级、创建协调任务来协调所有其他任务、为每个任务设计对象,并定义它们之间的关系。

附录A 习题答案14

6. 设计数据管理子系统:

数据管理子系统也称数据管理部分。数据存储管理是建立在某种数据存储管理系统之上,提供了数据在数据管理系统中存储和检索对象的基本结构,是系统存储或检索对象的基本设施。 7. 对全局资源管理:

全局资源包括物理资源(磁盘驱动器、处理器、通信线路)或逻辑资源(数据库、对象)。不但有访问权限的问题,还有访问冲突的问题。所以,应该标识全局资源,并制定访问它们的策略。 8. 选择控制流机制:

分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。 9. 设计边界条件:

设计中的大部分工作都与系统稳定的状态行为有关。但必须考虑边界条件:系统如何启动、初始化、关闭以及故障处理。 10. 评审:

分析模型与设计模型映射,每个需求和每个系统设计问题都提到了,模型不包括任何冲突,能够实现,由非系统设计人员能够看懂模型。 11. 对象设计:

系统分析确定了问题域对象,以及它们之间的关系、相关的属性、操作。系统设计确定了子系统和大多数重要的求解域对象。 12. 设计关联:

根据应用系统中的使用方式来确定实现关联的策略。可以选定一个统一实现所有关联的全局性的策略,或者对不同的关联选择不同的实现策略。 13. 设计接口:

接口提供了一种方法,把对象基于操作的功能说明与具体实现区分开来,使得任何依赖和使用接口的客户不必依赖于接口的具体实现,有利于接口实现的替换。 14. 设计类中服务:

设计类中的服务是面向对象设计的一项重要内容。需要综合考虑对象模型、动态模型和功能模型,才能正确确定类中应有的服务。 15. 面向对象设计中存在下述3种内聚形式:

① 服务内聚:一个服务应该完成一个且仅完成一个任务。

② 类内聚: 设计类的原则是,一个类应该只有一个功能,它的属性和服务应该是高内聚的。

③ 层内聚:又称一般-特殊内聚。

16. 客户/服务器(Client-service)交互方式和平等伙伴(Peer-to-peer)交互方式:

① 客户/服务器(Client-service)交互方式:在客户/服务器关系中,作为“客户”的子系统调用作为“服务器”的子系统,执行某些服务后并返回结果。

② 平等伙伴(Peer-to-peer)交互方式:在该交互方式中,每个子系统都可能调用其他子系统,因此,每个子系统都必须了解其他子系统的接口,子系统间必须相互了解接口。

四、综合题

1. 分析模型与设计模型的区别:

附录A 习题答案15

分析模型 概念模型,回避了实现问题; 对设计是通用的; 对类型有3种构造型; 不太形式化; 开发费用较低; 层数少; 勾画系统的设计轮廓; 主要通过研讨会等方式创建; 可能不需要在整个生命周期内都做维护; 设计模型 物理模型,是实现蓝图; 针对特定的实现; 对类型有任意数量的构造型(依赖于实现语言); 比较形式化; 开发费用较高; 层数多; 进行系统设计; 设计模型和实现模型需双向开发; 在整个生命周期内都应该维护

2. 文件管理系统、关系数据库管理系统和面向对象数据库管理系统三种数据存储管理模式的优缺点:

(1)文件管理系统

A. 主要优点:

a) 使用它长期保存数据具有成本低和简单等特点 b) 数据按字节流存储,适合于存储大容量数据。

B. 主要缺点:

a) 文件操作的级别低,操作繁琐,实现比较困难,为提供适当的抽象级

别还必须编写额外的代码。

b) 文件管理系统是操作系统的一个组成部分,不同操作系统的文件管理

系统往往有明显差异。

(2)关系数据库管理系统

A. 主要优点:

a) 提供了各种最基本的数据管理功能。 b) 为多种应用提供了一致的接口。 c) 支持标准化的语言。

B. 主要缺点:

a) 运行开销大。

b) 不能满足高级应用的需求。 c) 与程序设计语言的连接不自然。

(3)面向对象数据库管理系统

A. 在关系数据库的基础上,将对象和关系作为数据储存,加强了一些操作功能。 B. 面向对象程序设计语言中扩充了数据库的功能。

附录A 习题答案16

C. 从面向对象方法本身出发来设计数据库。 D. 查询比关系数据库慢。

3. 实例《图书管理系统》面向对象的设计过程。 系统需求:

在图书馆管理系统中,要为每个借阅者建立一个账户,并给借阅者发放借阅卡(借阅卡号,借阅者名),账户存储借阅者的个人信息、借阅信息以及预定信息。

持有借阅卡的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接于系统交互,而是图书管理员充当借阅者的代理与系统交互。

在借阅书刊时,需要输入所借阅的书刊名、书刊的ISBN/ISSN号,然后输入借阅者的图书卡号和借阅者名,完成后提交所填表格,系统验证借阅者所借阅的书刊是否存在,若存在,则借阅者可借出书刊,建立并在系统中存储借阅记录。

借阅者还可预定该书刊,一旦借阅者预定的书刊可以获得,就将书刊直接寄给预定人。另外,不考虑书刊的最长借阅期限,假设借阅者可以无限期地保存所借阅的书刊。 设计模型: