软件工程——编码、测试、维护

一、编码

(一)选择语言

任何一种语言都不是“十全十美”的,因此,在选择程序设计语言时,首先明确求解的问题对编码有什么要求,并把它们按轻重次序一一列出。然后根据这些要求去衡量可使用的语言,以判断出哪些语言能较好地满足要求。

一般情况下,程序设计语言的选择常从以下几个方面考虑。

  1. 项目的应用领域
  2. 算法与计算的复杂性
  3. 数据结构的复杂性
  4. 效率
  5. 可移植性
  6. 程序设计人员的水平
  7. 构造系统的模式

(二)编码风格

软件=程序+文档。为了高程序的可维护性,源代码也需要实现“文档化”。内部文档的组织包括标识符命名、内部注释和程序的视觉组织。

    1. 标识符应该具有鲜明的意义,能够提示程序对象代表的实体

    2. 程序代码的视觉组织

    3. 程序内部的注释

语句结构规则

  1. 在一行内只写一条语句,并且采用适当的缩进格式,使程序的逻辑和功能变得更加明确;
  2. 程序编写要简单、清楚,能直截了当地说明程序员的用意;
  3. 首先保证程序正确,然后才要求提高速度;
  4. 尽可能使用库函数 尽量用公共过程或子程序去代替重复的功能代码段;
  5. 避免使用临时变量而使可读性下降;
  6. 避免采用过于复杂的条件测试; ;
  7. 避免过多使用循环嵌套和条件嵌套;
  8. 不要使 GOTO 语句相互交叉;
  9. 对递归定义的数据结构尽量使用递归过程

高效率原则

  1. 提高程序运行效率
  2. 提高存储器效率
  3. 提高输入/输出效率

二、测试

(一)测试步骤

软件工程——编码、测试、维护

单元测试的内容:模块接口测试、局部数据结构测试、重要路径测试、错误处理测试、边界测试

集成测试的方式:自顶向下集成、自底向上集成、混合的集成测试

验收测试的内容:有效性测试、软件配置复查

系统测试

(1) 恢复测试:通过系统的修复能力,检测重新初始化、数据恢复、重新启动、检验 点设置是否正确,以及人工干预的平均恢复时间是否在允许范围内。

(2) 安全测试:设计测试用例,安全保密措施,检验系统是否有安全保密的漏洞。

(3) 强度测试:设计测试用例,检验系统的能力最高能达到什么实际限度,让系统处 于资源的异常数量、异常频率、异常批量的条件下运行测试系统的承受能力。

(4) 性能测试:设计测试用例测试并记录软件运行性能,与性能要求相比较,检查是 否达到性能要求规格。

(二)调试技术

强行排错、回溯法、归纳法、演绎法

三、维护

种类

  1. 校正性维护
  2. 适应性维护
  3. 完善性维护
  4. 预防性维护
  5. 软件工程——编码、测试、维护

维护的工作流程

软件工程——编码、测试、维护

提高可维护性的方法

1.建立明确的软件质量目标和优先级

2. 使用提高软件质量的技术和工具

3. 进行明确的质量保证审查

4. 验收检查

5. 周期性地维护审查

6. 选择可维护的程序设计语言

7. 健全程序的文档