问题定义
编码
需求分析
总体设计
可行性研究
维护
测试
开发
时期
维护
时期
定义时期
(目标与范围说明书)
(可行性研究报告)
(维护报告)
(测试报告)
(程序)
(总体设计文档)
(需求规格说明书)
详细设计
(详细设计文档)
第7章实现
编码
软件测试基础
单元测试
集成测试
确认测试
白盒测试技术
黑盒测试技术
调试
软件可靠性
通常把编码和测试统称为实现。
①编码:把详细设计结果翻译成用某种程序语言书写的程序。
②软件测试:是保证软件质量的关键步骤,
它是对软件规格说明、设计和编码的最后复审。
软件测试分2个阶段:
编码与单元测试:编写一个模块,对它做测试,
编写者和测试者同一个人。
综合测试:编码与单元测试结束后,进行的集成测试,
是一个独立阶段,由专门的测试人员进行测试。
测试的目标:是发现软件中的错误;
调试的目的:是通过测试发现错误后,诊断和改正错误。
高级语言明显优于汇编语言。因此:
1)除了很特殊的应用领域
①对程序执行时间和使用空间都有很严格限制的情况;
②需要产生任意的,甚至非法的指令序列;
(高级语言没有此功能)
③体系结构很特殊的微处理机(不能使用高级语言);
2)大型系统中执行时间非常关键的(或直接依赖于硬件的)
一小部分代码。
需要用汇编语言书写外,
其他程序一律用高级语言书写。
编码 选择程序设计语言
选择高级语言的标准
1)有理想的模块化机制,
以及可读性好的控制结构和数据结构;
2)编译程序能够尽可能多地发现程序中的错误;
3)有良好的独立编译机制。(编写一个模块就能编译)。
1)系统用户的要求
如果系统由用户负责维护,用户希望用他们熟悉的语言写程序。
(会JAVA,而不会C#;会WINDOWS系列,而不会LINUX)
2)可以使用的编译程序?(好坏)
3)可以得到的软件工具(多少)
4)工程规模(大小)
5)程序员的知识,
采用程序员所熟悉的语言。JAVA
6)软件可移植性要求。
系统用各种不同的计算机或寿命很长,
应选择标准化程度高、可移植性好的语言。
/* 应该选择未来一定时间内占主导地位的语言
(FOXPRO,ORACLE)邮电管理系统
7)软件的应用领域。
其中软件的应用领域是最关键的因素。
各种语言往往使用于不同的应用领域。
语言适用的主要应用领域
类型
可选语言
科学工程计算
Fortran,Pascal,PL/1
商用数据处理
COBOL
实时软件
汇编语言,Ada
系统软件
汇编语言,C, Ada
智能软件
LISP,PROLOG
网络编程
JAVA
编码风格
风格:书写源程序的习惯,程序代码的逻辑结构,
习惯的编程技术。(习惯的变量命名方法)
程序读者有2个(机器和人),
强调风格主要针对于人的可读性,可理解性。
源程序代码的逻辑简明清晰、易读易懂
是好程序的一个重要标准。
为了做到这一点,应该遵循下述原则。
包括标识符、适当的注解、程序的视觉组织。
标识符:包括模块名、函数名、变量名、常量名、
子程序名等。
1)变量名的选择
(1) 采用有实际意义的变量名
♣有实际意义的名字能帮助理解和记忆;
例如:TotalSum空格总数,Sum每行空格数目
可以把D=S*T写成,DISTANCE=SPEED*TIME(见名知意)
♣变量名一般情况下取4~12个字符为宜;
♣最好事先能对变量名的选择约定统一的标准,
以后阅读就会方便。
这一技巧对过程名、函数名、类名、对象名等同样适用。
软件工程实现培训课件 来自淘豆网www.taodocs.com转载请标明出处.