软件工程——编码、测试、维护
一、编码
(一)选择语言
任何一种语言都不是“十全十美”的,因此,在选择程序设计语言时,首先明确求解的问题对编码有什么要求,并把它们按轻重次序一一列出。然后根据这些要求去衡量可使用的语言,以判断出哪些语言能较好地满足要求。
一般情况下,程序设计语言的选择常从以下几个方面考虑。
- 项目的应用领域
- 算法与计算的复杂性
- 数据结构的复杂性
- 效率
- 可移植性
- 程序设计人员的水平
- 构造系统的模式
(二)编码风格
软件=程序+文档。为了提高程序的可维护性,源代码也需要实现“文档化”。内部文档的组织包括标识符命名、内部注释和程序的视觉组织。
1. 标识符应该具有鲜明的意义,能够提示程序对象代表的实体
2. 程序代码的视觉组织
3. 程序内部的注释
语句结构规则
- 在一行内只写一条语句,并且采用适当的缩进格式,使程序的逻辑和功能变得更加明确;
- 程序编写要简单、清楚,能直截了当地说明程序员的用意;
- 首先保证程序正确,然后才要求提高速度;
- 尽可能使用库函数, 尽量用公共过程或子程序去代替重复的功能代码段;
- 避免使用临时变量而使可读性下降;
- 避免采用过于复杂的条件测试; ;
- 避免过多使用循环嵌套和条件嵌套;
- 不要使 GOTO 语句相互交叉;
- 对递归定义的数据结构尽量使用递归过程
高效率原则
- 提高程序运行效率
- 提高存储器效率
- 提高输入/输出效率
二、测试
(一)测试步骤
单元测试的内容:模块接口测试、局部数据结构测试、重要路径测试、错误处理测试、边界测试
集成测试的方式:自顶向下集成、自底向上集成、混合的集成测试
验收测试的内容:有效性测试、软件配置复查
系统测试:
(1) 恢复测试:通过系统的修复能力,检测重新初始化、数据恢复、重新启动、检验 点设置是否正确,以及人工干预的平均恢复时间是否在允许范围内。
(2) 安全测试:设计测试用例,安全保密措施,检验系统是否有安全保密的漏洞。
(3) 强度测试:设计测试用例,检验系统的能力最高能达到什么实际限度,让系统处 于资源的异常数量、异常频率、异常批量的条件下运行测试系统的承受能力。
(4) 性能测试:设计测试用例测试并记录软件运行性能,与性能要求相比较,检查是 否达到性能要求规格。
(二)调试技术
强行排错、回溯法、归纳法、演绎法
三、维护
种类
- 校正性维护
- 适应性维护
- 完善性维护
- 预防性维护
-
维护的工作流程
提高可维护性的方法
1.建立明确的软件质量目标和优先级
2. 使用提高软件质量的技术和工具
3. 进行明确的质量保证审查
4. 验收检查
5. 周期性地维护审查
6. 选择可维护的程序设计语言
7. 健全程序的文档