1、第七章实现1软件工程 - 2011 - 第七章 实现第七章内容概要n 编码n 软件测试基础n 单元测试n 集成测试n 确认测试n 白盒测试技术n 黑盒测试技术n 调试n 软件可靠性2软件工程 - 2011 - 第七章 实现n 编码和测试统称为实现n 编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。n 软件测试很重要,它对软件可靠性的影响巨大n 软件测试在软件生命周期中横跨两个阶段n 测试工作量占软件开发总成本的 40%以上n 测试的目标是发现错误,调试的目的是诊断并改正错误n 测试是确定可靠性模型的依据实现概述3软件工程 - 2011 - 第七章 实现n 编码阶段的任务是把详细设计阶
2、段中用 伪代码 写成的程序转换成用程序设计语言实现的程序。n 程序设计语言的 特性 和程序设计 风格 会深刻地影响软件的质量和可维护性。n 为保证编码的质量,程序员必须深刻理解、熟练掌握并正确地运用程序设计语言的特性。此外,还要求源程序具有良好的结构性和良好的程序设计风格。从设计向编码过渡4软件工程 - 2011 - 第七章 实现n 系统用户的要求。n 可以使用的编译程序。n 可以得到的软件工具。n 工程规模。n 程序员的知识。n 软件可移植性要求。n 软件的应用领域。选择程序设计语言的实用标准5软件工程 - 2011 - 第七章 实现n 好程序的代码逻辑简明清晰、易读易懂 :n 程序的内部文
3、档n 数据说明n 语句构造n 输入输出方法n 效率问题编码风格6软件工程 - 2011 - 第七章 实现n 标识符的命名 :n 标识符即符号名,包括模块名、变量名、常量名、标号名、子程序名、数据区名以及缓冲区名等。n 这些名字应能反映它所代表的实际东西,应有一定实际意义。 (例如,表示次数的量用Times,表示总量的用 Total,表示平均值的用 Average,表示和的量用 Sum等。 )n 名字不是越长越好,应当选择精炼的意义明确的名字。n 必要时可使用缩写名字,但这时要注意缩写规则要一致,并且要给每一个名字加注释。n 在一个程序中,一个变量只应用于一种用途。编码风格:程序的内部文档7软件
4、工程 - 2011 - 第七章 实现n 程序的注解 :n 夹在程序中的注释是程序员与日后的程序读者之间通信的重要手段。n 注释决不是可有可无的。n 一些正规的程序文本中,注释行的数量占到整个源程序的 1 3到 1 2,甚至更多。n 注释分为 序言性注释 和 功能性注释 。编码风格:程序的内部文档8软件工程 - 2011 - 第七章 实现n 序言性注释:n 通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序本身具有引导作用。有些软件开发部门对序言性注释做了明确而严格的规定,要求程序编制者逐项列出。n 有关项目包括:n 程序标题;n 有关本模块功能和目的的说明;n 主要算法;n 接口说明:包括调用形式,参数描述,子程序清单;n 有关数据描述:重要的变量及其用途,约束或限制条件,以及其它有关信息;n 模块位置:在哪一个源文件中,或隶属于哪一个软件包;n 开发简历:模块设计者,复审者,复审日期,修改日期及有关说明等。编码风格:程序的内部文档9软件工程 - 2011 - 第七章 实现n 功能性注释 :n 功能性注释嵌在源程序体中,用以描述其后的语句或程序段是在 做什么工作 ,或是执行了下面的语句会怎么样。而 不要解释下面怎么做 。编码风格:程序的内部文档10软件工程 - 2011 - 第七章 实现