第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个月)做罚款处理。否则,修改库存目录与借书文件。

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

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

顶层数据流图

 还书处理分支数据流图

查询处理分支数据流图

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

借阅处理分支数据流图

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

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

    第3章   需求分析  课后习题参考答案 一.选择题 (1)进行需求分析可使用多种工具,但(B)是不适用的. A.数据流图 B.PAD C.状态转换图 D.数据字典 (2)E-R图中,包含(D)等基本 ...

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

    第6章   软件编码和测试  课后习题参考答案 一.选择题 (1)为了提高测试的效率,应该(D). A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 ...

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

    第5章   总详细设计  课后习题参考答案 一.填空题 (1)结构化程序设计方法的要点是使用 顺序.选择和循环 结构,自顶向下.逐步求精地构造算法或程序 (2)为了产生结构化的流程图,应由三种基本控制 ...

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

    第7章   软件维护  课后习题参考答案 简答题 (1)面向缺陷维护的内容是什么? 答:面向缺陷维护(程序级维护):软件产品能够正常运转,可以满足用户的功能.性能.接口需求,只是个别地方存在缺陷,使用 ...

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

    第八章  面向对象技术与UML   课后习题参考答案 一.单项选择题 D (2)C (3)B (4)D (5)C (6)B (7)A (8)C(9)A (10)D (11)A (12)C (13)C ...

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

    第2章  软件问题定义及可行性分析 课后习题参考答案 一.填空题 (1)可行性研究的目的是 用最小的代价在尽可能短的时间内确定问题是否能够解决. (2)经济可行性研究范围包括 投资效益分析 .公司经营 ...

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

    第9章   面向对象分析  课后习题参考答案 一.选择题 (1)(C)不是对象具有的特性. A.标 B.继承 C.顺序 D.多态性 (2)封装是把对象的(A)结合在一起,组成一个独立的对象. A.属性 ...

  8. Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案

    Matlab程序设计与应用(第3版,刘卫国主编)课后习题参考答案 MATLAB程序设计与应用(第3版,刘卫国著)  习题答案资源 下载地址: Github下载: https://github.com/ ...

  9. 数据库系统概念原书第六版黑皮书第一章课后习题作业答案

    文章目录 1.8列出文件处理系统和DBMS之间的四个显著区别. 1.9 解释物理数据独立性的概念,以及它在数据库系统中的重要性. 1.10 列出数据库管理系统的五个职责.对每个职责,说明当它不能被履行 ...

最新文章

  1. 最常用的10个Matlab快捷键,助你编程更高效
  2. python3+django写的个人笔记博客
  3. 我的测试和代码分析工具箱
  4. python的setting怎么找_python代码中使用settings
  5. zk 02之 Windows安装和使用zookeeper
  6. 关于文件服务器共享文件的备份与恢复
  7. 【爬虫】使用Scrapy框架进行爬虫详解及示例
  8. 自适应音频功率放大器
  9. 家里两个路由器,Wifi名相同密码相同,请问手机会自动选择信号强的路由器连接吗?
  10. QT5.12静态编译手册
  11. UEFI 安装win7 不用格式化
  12. cytoscape插件下载_Cytoscape软件下载
  13. html盒子移动动画代码,js实现盒子滚动动画效果
  14. 学习发展历史,真的一无所用吗?NO
  15. mysql内存占用过高_mysql占用内存过高排查
  16. URP Lit Shader解析(2)—LitInput.hlsl
  17. Hibernate QBE 复合查询问题
  18. GB4793.1试验学习(二)
  19. noise2noise学习笔记
  20. IDEA的页面功能设置

热门文章

  1. 544、RabbitMQ详细入门教程系列 -【手动消费确认】 2022.09.05
  2. 哈佛大学 量子计算机,哈佛-麻省理工量子计算研究取得突破:“我们正在进入量子世界的一个全新部分”...
  3. 国外不良资产处置方式
  4. git详细介绍,以及常用的操作,命令
  5. rknn(rknpu)使用笔记
  6. 无屏电视:智能电视的终极形态?
  7. tesseract安装使用,人工智,图文识别验证码 系统操作(python)
  8. 人工智能+医疗与生命科学行业研究报告
  9. 定积分与不定积分的区别是什么
  10. 莫须马云亦云的传统金融云之路