第六章 编 码.ppt_第1页
第六章 编 码.ppt_第2页
第六章 编 码.ppt_第3页
第六章 编 码.ppt_第4页
第六章 编 码.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学与工程学院,软件工程(Software Engineer),第六章 编 码,作为软件工程的个步骤,编码是设计的必然结果,因此,程序的质量主要取决于软件设计的质量。但是,程序设计语言的特性和编码途径也会对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。,计算机科学与工程学院,软件工程(Software Engineer),6.1程序设计语言,1程序设计语言分类 从应用特点看,高级语言可以分为基础语言、结构化语言和专用语言三类。 从语言的内在特点看,高级语言可以分为系统实现语言、静态高级语言、块结构高级语言和动态高级语言等四类。,计算机科学与工程学院,软件工程(Software

2、Engineer),2 程序设计语言的特点 下面从几个不同侧面简单讨论程序设计语言的特点: 名字说明 类别说明 初始化程序 对象的局部性 程序模块 循环控制结构 分支控制结构 异常处理 独立编译,计算机科学与工程学院,软件工程(Software Engineer),3程序设计语言的选择 在实际选用语言时,重要的实用标准有下述几条: 语言自身的功能 系统用户的要求 编码和维护成本 可以使用的编译程序 可以使用的软件工具 软件的兼容性 软件的可移植性 系统规模 程序员的知识,计算机科学与工程学院,软件工程(Software Engineer),6.2编码风格,良好的编码风格有助于编写出可靠而又容易

3、维护的程序,编码的风格在很大程度上决定着程序的质量。 1 源程序文档化 1)标识符的命名 2)程序的注释 3)标准的书写格式,计算机科学与工程学院,软件工程(Software Engineer),2 数据说明 为了使数据更容易理解和维护,必须注意下述几点: 数据说明的次序应该标准化(例如,按照数据结构或数据类型确定说明的次序)。有次序就容易查阅,因此能够加速测试、调试和维护的过程。 说明的先后次序固定。例如,按照常量说明、简单变量类型说明、数组说明、公用数据块说明、所有文件说明的顺序说明。 当多个变量名字在一个语句中说明时,应该按字母顺序排列这些变量。 如果设计时使用了一个复杂的数据结构,则应

4、该用注释说明用程序设计语言实现这个数据结构的方法和待点。,计算机科学与工程学院,软件工程(Software Engineer),3语句构造 构造语句时应该遵循的原则是: 使用标准的控制结构; 尽可能使用库函数; 不要为了节省空间而把多个语句写在同一行; 尽量避免复杂的条件测试; 尽量减少对“非”条件的测试; 避免大量使用循环嵌套和条件嵌套; 利用括号使逻辑表达式或算术表达式的运算次序清晰直观。,计算机科学与工程学院,软件工程(Software Engineer),4 输入输出 输入输出风格的规则: 对所有输入数据都进行校验,保证数据的有效性; 检查输入项重要组合的合法性,必要时报告输入状态信息

5、; 输入的步骤和操作尽可能简单,保持输入格式简单; 输入一批数据时,不要要求用户指定数据的数目; 明确提示交互式输入的请求,详细说明可用的选择或边界数值; 应保持输入格式与输入语句要求的一致性; 给所有的输出加注释,设计良好的输出报表; 应允许缺省值。,计算机科学与工程学院,软件工程(Software Engineer),6.3程序效率,1算法对效率的影响 源程序的效率直接由详细设计阶段确定的算法的效率决定,但是,写程序的风格也能对程序的执行速度和存储器要求产生影响。,计算机科学与工程学院,软件工程(Software Engineer),2影响存储器效率的因素 采用结构化程序设计,将程序功能合

6、理分块,使每个模块或一组密切相关模块的程序体积大小与每页的容量相匹配,可减少页面调度,减少内外存交换,提高存储效率。 在微处理机中如果要求使用最少的存储单元,则应选用有紧缩存储器特性的编译程序,在非常必要时可以使用汇编语言。提高执行效率的技术通常也能提高存储器效率。提高存储器效率的关键同样是简单。通过程序员富有创造性的努力,提高软件时间与空间效率。,计算机科学与工程学院,软件工程(Software Engineer),3 影响输入输出的因素 提高输入输出效率的原则: 输入输出操作应当最小化; 所有输入输出都应该有缓冲,以减少用于通信的额外开销, 对辅助存储器(如磁盘)应选用最简单的访问方法;

7、辅助存储器的输入输出应该以信息组(块)为单位进行; 对终端或打印机的输入输出,应考虑设备特性,改善输入输出的质量和速度; 任何不易理解的,对改善输入输出效果关系不大的措施都是不可取的; 如果“超高效的”输入输出很难被人理解,则不应采用这种方法。 这些简单原则对于软件工程的设计和编码两个阶段都适用。,计算机科学与工程学院,软件工程(Software Engineer),6.4编程安全,提高软件质量和可靠性的技术大致可分为两类:一类是避错技术,即在开发的过程中不让差错潜入软件的技术;另一类是容错技术,即对某些无法避开的差错,使其影响减少到最小的技术。避错技术是进行质量管理,实现产品应有质量所不可少

8、的技术,也就是软件工程中所讨论的先进的软件分析和开发技术及管理技术。但是,无论使用多么高明的避错技术,也无法做到完美无缺和绝对无错,这就需要采用容错技术。实现容错的主要手段是冗余程序设计和防错程序设计。,计算机科学与工程学院,软件工程(Software Engineer),1 冗余程序设计 冗余是改善系统可靠性的一种重要技术。在软件系统中,采用冗余技术是指要解决一个问题必须设计出两个不同的程序,包括采用不同的算法和设计,而且编程人员也应该不同。 冗余程序设计所带来的副作用是由于文本的增加而带来的存储空间的增加,以及运行时间的延长。,计算机科学与工程学院,软件工程(Software Engineer),2防错程序设计 在编码即程序设计过程中,总是不可避免的会或多或少的产生一些错误。为了避免和纠正这些错误,可在编码过程中有意识地在程序中加进一些错误检查的措施,这就是防错程序设计的基本思想。防错程序设计可分为主动式和被动式两种。,计算机科学与工程学院,软件工程(Software Engineer),1. 主动式防错程序设计 主动式防错程序设计是指周期性的对整个程序或数据库进行搜查或在空闲时搜查异常情况。 2. 被动式防错程序设计 被动式防错程序设计思想是指必须等到某个输入之后才能进行检查,也就是达到检查点时,才能对程序的某些部分进行检查。,计算机科学与工程学院,软件工程(Softwa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论