《软件工程导论》(第六版)(6-10章)张海藩课后习题部分答案

回复关键词:软件工程

即可获取

第六章 习题参考答案

1. 编码的任务?

使用选定的程序设计语言, 把模块的过程性描述翻译为用语言书写的源程序(源代码)。

2. 对源程序基本要求?

源程序要求:正确可靠、 简明清晰、 效率高。

(1) 源程序的正确性是对程序质量的最基本要求;

(2) 源程序的简明清晰,便于验证源代码和模块规格说明的一致性,容易进行测试和维护;

(3) 对于大多数模块, 编码时应该把简明清晰放在第一位;

(4) 除了编码阶段产生源代码外, 在测试阶段也需要编写一些测试程序, 用于对软件的

测试。

3. 程序设计语言的特点?

(1) 名字说明:程序中使用对象的名字, 能为编译程序所检查和识别;

(2) 类型说明:定义对象的类型, 确定该对象的使用方式;

(3) 初始化:为变量提供适当的初始值或由系统给变量赋一特殊的表明未初始化的值;

(4) 对象的局部性:程序中真正需要的那部分才能访问的对象;

(5) 程序模块:控制程序对象的名字;

(6) 循环控制结构:如 FOR 语句、 WHILE-DO 语句、 REPEAT-UNTIL 语句等;

(7) 分支控制结构:如 IF 语句、 CASE 语句等;

(8) 异常处理:为程序运行过程中发生的错误和意外事件提供检测和处理上的帮助;

(9) 独立编译:能分别编译各个程序单元。

总体设计

1、 总体设计的目 的:总体设计的基本目的就是回答“概括地说, 系统应该如何实现?” 这个问题, 因此, 总体设计又称为概要设计或初步设计。

1、 面向结构设计(SD)2、 面向对象设计(OOD)

2、 总体设计的阶段组成:两个主要阶段

(1)系统设计阶段,确定系统的具体实现方案;

(2)结构设计阶段,确定软件结构

3、 设计原理分析(模块化, 在模块化程序设计中, 按功能划分模块的原则是, 模块化和软件成本关系)

模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求. 模块化的根据:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了 . 模块化和软件成本关系:根据总成本曲线,每个程序都相应地有一个最适当的模块数目 M,,使得系统的开发成本最小. 为什么使用模块:复杂问题简单化,降低成本抽象的概念:抽出事务的本质特性而暂时不考虑它们的细节.衡量模块独立的两个标准是什么?它们各表示什么含义?

衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。

(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密, 其耦合性就越强, 模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、 调用的方式及传递的信息。

(2)内聚性。又称块内联系。指模块的功能强度的度量, 即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、 程序段之间)联系得越紧密, 则它的内聚性就越高。耦合性与内聚性是模块独立性的两个定性标准, 将软件系统划分模块时, 尽量做到高内聚低耦合, 提高模块的独立性, 为设计高质量的软件结构奠定基础。

4、 启发规则(案例分析)

7、 系统分解:大多数系统的面向对象设计模型,在逻辑上都由 4 大部分组成,这 4 大部分对应于组成目标系统的 4 个子系统,它们分别是问题域子系统;人机交互子系统;任务管理子系统;数据管理子系统. 面向对象实现、 软件项目管理了解就可以。

其他章节关注公众号获取

(0)

相关推荐