第七章结构化实现第七章结构化实现合肥工业大学理学院合肥工业大学理学院软件生命周软件生命周期期软件定义软件定义软件开发软件开发运行维护运行维护问题定义问题定义可行性研究可行性研究需求分析需求分析总体设计总体设计详细设计详细设计编码和单元测试编码和单元测试综合测试综合测试系统设计系统设计系统实现系统实现系统分析系统分析系统设计系统设计系统实现系统实现•实现包括编码和测试两个阶段•一、编码•二、软件测试•三、调试•四、软件可靠性7
1编码编码•编码在总体设计和详细设计之后进行,它只是把软件设计的结果翻译成用某种程序设计语言书写的程序
因此,程序的质量基本上取决于设计的质量
•程序设计语言的特性和编码风格会深刻地影响软件的质量和可维护性
•一般选择高级语言而非汇编语言书写程序
•选择高级语言,考虑是否有1)理想的模块化机制2)可读性好的控制结构和数据结构3)良好的独立编译机制4)编译程序能够尽可能多地发现程序中的错误5)总之,易于修改、测试和维护1
程序设计语言的选择程序设计语言的选择•衡量某种程序语言是否适合特定的项目,就考虑下面一些因素:1)系统用户的要求2)可以使用的编译程序3)可以得到的软件工具4)程序员的知识水平5)软件可移植性要求6)工程规模7)软件的应用领域•源代码应逻辑简明清晰,易读易懂
•程序内部有1)良好的文档资料2)有规律的数据说明格式3)简单清晰的语句构造4)输入输出格式5)效率2
编码风格编码风格1)1)源程序文档化源程序文档化•标识符•注释•程序的视觉组织标识符标识符•标识符包括模块名、变量名、常量名、标号名、子程序名、数据区名以及缓冲区名等
•这些名字应能反映它所代表的实际东西,应有一定实际意义
例如,表示次数的量用Times,表示总量的用Total,表示平均值的用Average,表示和的量用Sum等
•名字不是越长越好,应当选择精炼的意