问题定义 (目标与范围说明书) 定义 可行性研究 时期 (可行性研究报告) 需求分析 (需求规格说明书) 总体设计 总体设计文档) 开发 详细设计 (详细设计文档) 时期 (程序) (测试报告 组护 时期 维护 维护报告)
问题定义 编 码 需求分析 总体设计 可行性研究 维 护 测 试 开发 时期 维护 时期 定义 时期 (目标与范围说明书) (可行性研究报告) (维护报告) (测试报告) (程序) (总体设计文档) (需求规格说明书) 详细设计 (详细设计文档)
第7章实现 7.1编码 72软件测试基础 7.3单元测试 7.4集成测试 75确认测试 7.6白盒测试技术 77黑盒测试技术 7.8调试 7.9软件可靠性
第7章 实现 7.1 编码 7.2 软件测试基础 7.3 单元测试 7.4 集成测试 7.5 确认测试 7.6 白盒测试技术 7.7 黑盒测试技术 7.8 调试 7.9 软件可靠性
通常把编码和测试统称为实现。 ①编码:把详细设计结果翻译成用某种程序语言书写的程 序 ②软件测试:是保证软件质量的关键步骤,是对软件规格说 明、设计和编码的最后复审 分2个阶段 编码与单元测试:编写一个模块,对它做测试, 编写者和测试者同一个人。 综合测试:编码与单元测试结束后,进行的集成测试, 是一个独立阶段,由专门的测试人员进行测试。 测试的目标:是发现软件中的错误; 调试的目的:是通过测试发现错误后,诊断和改正错误
通常把编码和测试统称为实现。 ① 编码:把详细设计结果翻译成用某种程序语言书写的程 序。 ② 软件测试:是保证软件质量的关键步骤,是对软件规格说 明、设计和编码的最后复审。 分2个阶段: •编码与单元测试:编写一个模块,对它做测试, 编写者和测试者同一个人。 •综合测试:编码与单元测试结束后,进行的集成测试, 是一个独立阶段,由专门的测试人员进行测试。 测试的目标:是发现软件中的错误; 调试的目的:是通过测试发现错误后,诊断和改正错误
7.1编码 7.1.1选择程序设计语言 机器语言,几乎不使用。 汇编语言,特殊场合使用 高级语言,明显优于汇编语言。 除以下特殊情况需要用汇编语言书写外,其他程序一律用高级语言书写。 1)除了很特殊的应用领域 ①对程序执行时间和使用空间都有很严格限制的情况; ②需要产生任意的,甚至非法的指令序列(高级语言没有此功能) ③体系结构很特殊的微处理机(不能使用高级语言); 2)大型系统中执行时间非常关键的(或直接依赖于硬件的)一小部分 代码
➢机器语言,几乎不使用。 ➢汇编语言,特殊场合使用。 ➢高级语言,明显优于汇编语言。 除以下特殊情况需要用汇编语言书写外,其他程序一律用高级语言书写。 1)除了很特殊的应用领域 ① 对程序执行时间和使用空间都有很严格限制的情况; ② 需要产生任意的,甚至非法的指令序列(高级语言没有此功能); ③ 体系结构很特殊的微处理机(不能使用高级语言); 2)大型系统中执行时间非常关键的(或直接依赖于硬件的)一小部分 代码。 7.1 编码 7.1.1 选择程序设计语言
程序设计语言的划代: 划代 语言 特点 级别 IGL 机器语言 程序不直观,编程出错率高 运行效率高 比机器语言直观,减少了出错率低级 2GL汇编语言 与机器码一样长 特殊情况下才使用 BASIC 利用类英语的语句和命令 3GL PASCAL 条语句相当于5-10条机器码 C、C++ 等 要规定详细的算法过程 数据库查询语言 与自然语言接近 高级 4GL程序生成器 条语句相当于30-50条机器码 图形语言 非过程化问题定义 运行开销大,效率低
程序设计语言的划代: 划代 语言 特点 级别 1GL 机器语言 程序不直观,编程出错率高 运行效率高 低级 2GL 汇编语言 比机器语言直观,减少了出错率 与机器码一样长 特殊情况下才使用 3GL BASIC PASCAL C、C++等 利用类英语的语句和命令 一条语句相当于5-10条机器码 要规定详细的算法过程 高级 4GL 数据库查询语言 程序生成器 图形语言 与自然语言接近 一条语句相当于30-50条机器码 非过程化问题定义 运行开销大,效率低