(第四部分:软件实现与测试,第9章)
Created: 2022-05-24 Tue 00:22
第四部分:软件实现与测试
第9章:软件实现
程序编码阶段的 任务 是:
将软件的 详细设计 转换成用程序设计语言实现的 程序代码 。
因此,程序设计语言的 性能 和 设计风格 对于程序设计的 效能 和 质量 有着直接的关系。 语言的 工程特性 对 软件开发项目的成功与否 也有着重要的影响。
从以下 角度 对程序设计语言的 性能 进行讨论:
软件心理学 研究的任务是:
关注人们对软件所关心的某些方面, 如 使用方便 、 简明易学 、 可靠性 、 减少故障发生率 ,以及 使用户更加满意 等。
从 心理学的观点 ,影响程序员心理的语言 特性 有以下几方面:
从 软件工程的观点 ,程序设计语言的 特性 应着重考虑软件开发项目的需要。 为此,对于程序编码有如下一些 工程上的性能要求 :
虽然4GL具有很多 优点 ,成为目前应用开发的主流工具,但也存在以下方面的 缺点 :
按照4GL的 功能 可以将它们划分为 以下几类 :
为某个特定开发项目选择编程语言时, 既要从 技术角度 、 工程角度 、 心理学角度 评价和比较各种语言的 适用程度 , 又必须考虑 现实可能性 。 在选择编程语言时,可以考虑以下几个方面的因素:
阅读程序 是 软件开发和维护 过程中的一个重要组成部分, 而且 读程序的时间比写程序的时间还要多 。 因此, 程序实际上也是一种供人阅读的文章 。
源程序文档化 包括 标识符的命名 、 安排注释 以及 程序的视觉组织 等。
标识符 包括:
模块名 、 变量名 、 常量名 、 标号名 、 子程序名 、 数据区名 、 缓冲区 等。
命名 时应考虑:
注释 分为:
例如,下面的注释行仅仅重复了后面的语句, 对于理解它的工作并没有什么作用。
/* Add amount to total */
total = amount + total;
如果注明把 月销售额 计入 年度总额 ,便使读者理解了下面语句的意图。
/* Add monthly sales to annual total */
total = amount + total;
float n, s = 0, t = 1;
for (n = 1; n <= 20; n++) {
t *= n;
s += t;
}
printf("1! + 2! + 3! + ... + 20! = %e\n", s);
1! + 2! + 3! + ... + 20! = 2.561327e+18
为了使程序中 数据说明 更易于 理解 和 维护 ,在编写程序时, 需要注意 数据说明的风格 。具体需要注意以下几点:
int size, length, width, cost, price;
int cost, length, price, size, width;
else
语句和 if-then-if
语句 。规范 涉及 版面 、 注释 、 标识符命名 、 变量使用 、 代码可测性 、 程序效率 、 质量保证 、 代码编译 、 单元测试 、 程序版本与维护 。
程序的效率 是指 程序的执行速度 及 程序所需占用内存的存储空间 。
程序效率的几条准则:
任何 对效率无重要改善 ,且 对程序的 简单性 、 可读性 和 正确性 不利 的程序设计方法都是 不可取 的。