《软件工程20软件编码.ppt》由会员分享,可在线阅读,更多相关《软件工程20软件编码.ppt(21页珍藏版)》请在第壹文秘上搜索。
1、软件工程软件工程 一、主要内容一、主要内容 讲述软件编码的基本概念。讲述软件编码的基本概念。 二、目的与要求二、目的与要求 了解软件编码的基本概念,理解程序设计了解软件编码的基本概念,理解程序设计风格的基本规则。风格的基本规则。 三、重点与难点三、重点与难点 程序设计风格的基本规则。程序设计风格的基本规则。概述:概述:思考:思考: 提问:提问: 1)1)什么是软件编码?什么是软件编码? 2)2)程序设计风格有哪些?程序设计风格有哪些?第第5 5章章 编码编码 程序设计语言程序设计语言 程序设计风格程序设计风格 编码规范编码规范 程序效率与性能分析程序效率与性能分析1) 1) 什么是软件编码?什
2、么是软件编码?Programming Programming CodingCoding 一种观点一种观点 软件编码是将软件设计模型机械地转换成源程序代码,这是一种低水平的、缺乏创造性的工作。 软件程序员是所谓的“软件蓝领”。 问题问题 你是否认同这种观点? 如果不认同,你如何看待软件编码? 正确观点正确观点软件编码是一个复杂而迭代的过程,包括程序设计和程序实现。软件编码要求正确地理解用户需求和软件设计思想正确地根据设计模型进行程序设计正确地而高效率地编写和测试源代码软件编码是设计的继续,会影响软件质量和可维护性。? Professional Programmer = Software Engi
3、neer2) 2) 软件编码的工作软件编码的工作 程序设计程序设计理解软件的需求说明和设计模型补充遗漏的或剩余的详细设计设计程序代码的结构 设计审查设计审查检查设计结果记录发现的设计缺陷(类型、来源、严重性) 编写代码编写代码应用编码规范进行代码编写所编写代码应该是易验证的2) 2) 软件编码的工作软件编码的工作 代码走查代码走查确认所写代码完成了所要求的工作记录发现的代码缺陷(类型、来源、严重性) 编译代码编译代码修改代码的语法错误 测试所写代码测试所写代码对代码进行单元测试调试代码修改错误2) 2) 软件编码的工作软件编码的工作3) 3) 编码过程与文档流编码过程与文档流5.1 5.1 程
4、序设计语言程序设计语言 程序设计语言的性能程序设计语言的性能 从软件心理学及软件工程角度对程序设计语言从软件心理学及软件工程角度对程序设计语言的性能进行讨论。的性能进行讨论。5.1 5.1 程序设计语言程序设计语言软件心理学的观点软件心理学的观点 (1) (1) 一致性一致性。(2) (2) 二义性二义性。(3) (3) 简洁性简洁性。(4) (4) 局部性局部性。(5) (5) 传统性传统性。5.1 5.1 程序设计语言程序设计语言软件工程的观点软件工程的观点 (1)(1) 详细设计应能直接地容易地翻译成代码程序。详细设计应能直接地容易地翻译成代码程序。(2)(2) 源程序应具有可移植性。源
5、程序应具有可移植性。 (3)(3) 编译程序应具有较高的效率。编译程序应具有较高的效率。 (4)(4) 尽可能应用代码生成的自动工具。尽可能应用代码生成的自动工具。 (5)(5) 可维护性。可维护性。 5.1 5.1 程序设计语言程序设计语言程序设计语言的分类程序设计语言的分类从软件工程的角度,根据程序设计语言发展从软件工程的角度,根据程序设计语言发展的历程,可以将程序设计语言大致分为的历程,可以将程序设计语言大致分为4 4类。类。(1)(1)从属于机器的语言从属于机器的语言第一代语言第一代语言(2)(2)汇编语言汇编语言第二代语言第二代语言(3)(3)高级程序设计语言高级程序设计语言第三代语
6、言第三代语言(4)(4)第四代语言(第四代语言(4GL4GL) 5.1 5.1 程序设计语言程序设计语言程序设计语言的选择程序设计语言的选择在选择编程语言时,可以考虑以下因素。在选择编程语言时,可以考虑以下因素。(1)(1)应用领域。应用领域。(2)(2)编程语言自身的功能。编程语言自身的功能。(3)(3)编码和维护成本及开发环境。编码和维护成本及开发环境。(4)(4)编程人员的技能。编程人员的技能。(5)(5)软件可移植性。软件可移植性。 5.2 5.2 程序设计风格程序设计风格 源程序文档化源程序文档化 源程序文档化包括标识符的命名、安排注释以源程序文档化包括标识符的命名、安排注释以及程序
7、的视觉组织等。及程序的视觉组织等。5.2 5.2 程序设计风格程序设计风格 标识符的命名标识符的命名 标识符包括标识符包括模块名模块名、变量名变量名、常量名常量名、标号名标号名、子程序名子程序名以及以及数据区名数据区名、缓冲区名缓冲区名等。这些等。这些名字应能反映它所代表的实际东西,使其能够名字应能反映它所代表的实际东西,使其能够见名知意,有助于对程序功能的理解。见名知意,有助于对程序功能的理解。应当选择精练的意义明确的名字,才能简化程应当选择精练的意义明确的名字,才能简化程序语句,易于对程序功能的理解序语句,易于对程序功能的理解。 5.2 5.2 程序设计风格程序设计风格 程序的注释程序的注
8、释 正确的注释能够帮助读者理解程序,为测试和正确的注释能够帮助读者理解程序,为测试和维护阶段提供明确的指导。维护阶段提供明确的指导。注释行的数量占到整个源程序的注释行的数量占到整个源程序的1/31/3到到1/21/2。 注释分为序言性注释和功能性注释。注释分为序言性注释和功能性注释。序言性注释通常置于每个程序模块的开头部分序言性注释通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序,它应当给出程序的整体说明,对于理解程序本身具有引导作用。本身具有引导作用。 5.2 5.2 程序设计风格程序设计风格 视觉组织视觉组织空格、空行和移行空格、空行和移行 空格空格:恰当地利用空格,
9、可以突出运算的优先:恰当地利用空格,可以突出运算的优先性,避免发生运算的错误。例如,将表达式性,避免发生运算的错误。例如,将表达式 (a (a17)&!(b17)&!(b49)|c 49)|c 写成写成 (a (a17) & !(b17) & !(b49) | c 49) | c 就更清楚。就更清楚。空行空行:自然的程序段之间可用空行隔开。:自然的程序段之间可用空行隔开。 5.2 5.2 程序设计风格程序设计风格 数据说明标准化数据说明标准化 语句结构简单化语句结构简单化 输入输入/ /输出规范化输出规范化 小结小结 本次课主要讲述软件编码的基本概念。重点本次课主要讲述软件编码的基本概念。重点掌握程序设计风格的基本规则。掌握程序设计风格的基本规则。