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

                                        第4章   总体设计  课后习题参考答案

一、选择题(单选或多选)

(1)面向数据流的软件设计方法中,一般将信息流分为(A)。

A.变换流和事务流

B.变换流和控制流

C.事务流和控制流

D.数据流和控制流

(2)采用模块化技术的好处有(ABCD)。

A.容易测试和调试

B.有助于提高软件的可靠性

C.提高可维护性

D.有助于软件开发工程的组织管理

(3)属于软件设计的基本原理的是(BD)。

A.数据流分析设计

B.模块规模应该适中

C.事务流分析设计

D.信息隐藏与局部化

(4)面向数据流的设计方法是把(C)映射成软件结构。

A.控制结构

B.模块

C.信息流

D.数据对象

(5)软件总体结构设计,顶层扇出的上限是(A)。

A.5~9个

B.3-4

C.1~2个

D.9-12

二、简答题

(1)总体设计的主要目的和任务是什么?

总体设计目标是:是得到良好的软件总体结构,即独立性良好、规模适中的一组模块以及深度、宽度、扇入、扇出合适的系统结构。主要任务是把分析阶段得到的数据模型映射成数据库设计,把数据流图映射成软件功能结构,行为模型可以用于详细设计阶段的流程、算法设计。 

(2)典型情况下,总体设计有哪几步?

 设想供选择的方案,选取合理的方案,推荐最佳方案,功能分级,设计软件结构,数据库设计,制定测试计划,编写文档,审查和复查。

(3)提高内聚性,降低耦合性有哪些准则可以借鉴? 

 改进软件结构提高模块独立性,模块规模应该适中,深度、宽度、扇入、扇出都应当适中,模块的作用域应该在控制与内,降低模块结构的复杂度,设计单入口、单出口的模块,模块功能应该可以预测。

(4)变换分析的步骤是什么?

复查基本系统模型,复查并精化数据流图,确定数据流图的类型,确定数据流的边界,完成“第一级分解”,完成“第二级分解”,优化。 

(5)对总体设计得到的软件结构进行优化,有哪些注意事项?

机械地遵循上述映射规则很可能会得出一些不必要的控制模块,如果它们确实用处不大,那么应该合并它们。如果控制模块功能过分复杂,可以适当地增加中间层的控制模块或者进一步将它们分解。

何优化过程不能违背设计原理,不能违背问题域常识、不能为了最求所谓的“最佳设计”而优化。

设计的优化可能会导出不同的软件结构,要从中选优,力求得到“最好“的结构。避免把结构的优化留到过程设计阶段,这也是把结构设计和过程设计分开的价值所在。

结构简单往往表明效率高。设计优化应该力求做到在有效模块化的前提下使用尽可能少的模块数,以及在能够满足信息要求的前提下使用最简单的数据结构。

三、应用题

(1)工资管理系统中的一个子系统有如下功能。

①由基本工资计算应扣除(如水电气费等)的部分;

②根据职工的出勤情况计算奖金;

③根据输入的扣除额及奖金计算工资总额;

④由总工资额计算应扣除税金。

⑤根据计算出总额模块和计算税金模块传递来的有关职工工资详细信息生成工资表。试根据需求画出该问题的数据流图,并将其转换为软件结构图。

工资管理子系统数据流图如下所示。 

工资管理子系统层次图如下: 

  (2)某图书管理系统有以下功能。 

①借书:输入读者借书证。系统首先检查借书证是否有效,若有效,对第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借;若未达10本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件)

②还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(3个月)做罚款处理。否则,修改库存目录与借书文件。

③查询:通过借书文件、库存目录文件查询读者情况、图书借阅及库存情况,打印统计表。

根据以上描述绘制该系统模块结构图。

顶层数据流图

 还书处理分支数据流图

查询处理分支数据流图 

注意事项:必须保证登记完借书文件和修改完库存后再出借图书给借阅人,“登记借书文件”和“修改库存”谁先谁后影响不大。 

借阅处理分支数据流图

 

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值