《软件工程与项目管理》第5章_软件编码.ppt_第1页
《软件工程与项目管理》第5章_软件编码.ppt_第2页
《软件工程与项目管理》第5章_软件编码.ppt_第3页
《软件工程与项目管理》第5章_软件编码.ppt_第4页
《软件工程与项目管理》第5章_软件编码.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第5章软件编码 掌握 程序设计语言分类 常见程序设计语言及其特点 程序设计语言的选择 编码规范 结构化程序设计的方法 5 1程序设计语言 5 1 1程序设计语言分类 1 机器语言机器语言又称 低级语言 是以二进制代码表示的指令集合 占用内存少 执行效率高不易为人们理解 记忆和交流2 汇编语言汇编语言又称符号语言 它把计算机能识别的机器指令用符号表示用汇编语言编写的程序更易理解 调试和维护3 高级语言与机器语言和汇编语言相比 高级语言比较容易理解和掌握 并且通用性好便于维护 这极大地提高了编程的效率和程序的可靠件性用高级语言编写的程序也不能直接被机器识别和执行 5 1 2常见程序设计语言及其特点 1 C语言 C语言是一种编译型计算机程序设计语言 它既有高级语言的特点 又具有汇编语言的特点 C语言可以作为系统设计语言 编写工作系统应用程序 也可以作为应用程序设计语言 编写不依赖计算机硬件的应用程序 因此 其应用范围十分广泛 C语言的优点包括 1 简洁紧凑 灵活方便 2 运算符丰富 3 数据结构丰富 4 C语言是结构式语言 5 C语言的语法限制不太严格 程序设计自由度大 6 C语言允许直接访问物理地址 可以直接对硬件进行操作 7 C语言程序生成代码质量高 程序执行效率高 8 C语言适用范围大 可移植性好 2 C 其优点主要包括 1 与C语言兼容 既支持面向对象的程序设计 也支持结构化的程序设计 2 修补了C语言中的一些漏洞 3 生成的目标程序质量高 程序执行效率高 4 提供了异常处理机制 简化了程序的出错处理 5 函数可以重载并可以使用缺省参数 6 提供了模板机制 3 Java Java的特点包括 1 平台无关性 2 安全性 3 面向对象 4 分布式 5 健壮性 4 Basic BASIC是Beginner sAll purposeSymbolicCode 初学者通用符号指令代码 的缩写 BASIC语言是一种解释执行的会话语言 它简单易学 因此成为许多初学者学习程序设计的入门语言 5 C C 是微软公司发布的一种面向对象的 运行于 NETFramework之上的高级程序设计语言 C 看起来与Java惊人的相似 它也包括了诸如单一继承 界面等特性 并具有与Java几乎同样的语法及编译成中间代码再运行的过程 C 与Java的不同之处在于它与COM 组件对象模型 是直接集成的 6 FORTRAN FORTRAN是英文FormulaTranslator的缩写 译为 公式翻译器 它是世界上最早出现的计算机高级程序设计语言 Fortran语言的最大特点是接近数学公式的自然描述 以及具有很高的执行效率 同时 它易学 语法严谨 并可以直接对矩阵和复数进行运算 7 PASCAL Pascal是最早出现的结构化编程语言 它具有丰富的数据类型和简洁灵活的操作语句 对于数值和非数值问题都具有很好的描述能力 Pascal语言现已成为使用最广泛的基于DOS的语言之一 其主要特点有 严格的结构化形式 丰富完备的数据类型 运行效率高 查错能力强 8 COBOL COBOL是CommonBusinessOrientedLanguage 面向商业的公用语言 的缩写 这是商业数据处理中广泛使用的一种标准语言 它具有出色的适合商业应用的数据类型 能有效地支持与商业数据处理有关的各种技术 适合于计算简单 数据量大的应用场合 广泛应用于商业领域 9 ALGOL ALGOL是结构化语言的前驱 它提供了特别丰富的过程构造及数据类型构造 在欧洲得到了广泛应用 但是 PASCAL语言和C语言问世以后 它的位置就逐渐被取代了 10 Ada Ada是一种美国国防部为克服软件开发危机而耗费巨资 历时近20年研制成功的表现能力很强的通用程序设计语言 它被誉为第四代计算机语言的成功代表 Ada语言体现了许多现代软件的开发原理 并将这些原理付诸实现 Ada语言的使用大大提高了软件系统的清晰性 可靠性 有效性 可维护性 11 LISP LISP ListProcessor 链表处理语言 是由约翰 麦卡锡在1960年左右创造的一种基于 演算的函数式编程语言 它主要应用于人工智能领域 12 Prolog Prolog ProgramminginLogic 是一种逻辑编程语言 它建立在逻辑学的理论基础之上 最初被运用于自然语言等研究领域 现在Prolog已广泛应用于人工智能的研究中 用来建造专家系统 自然语言理解 智能知识库等 使用Prolog能够比使用其他语言更快速地开发程序 因为它的编程方法更像是使用逻辑的语言来描述程序 13 SmallTalk Smalltalk被公认为历史上第二个面向对象的程序设计语言和第一个真正的集成开发环境 IDE 它由AlanKay DanIngalls TedKaehler AdeleGoldberg等于20世纪70年代初在XeroxPARC开发 5 1 3程序设计语言的选择 开发人员在选择程序设计语言时 应考虑以下因素 1 应用领域2 算法与数据结构的复杂性3 软件执行的环境4 软件执行的效率 5 2编码规范 5 2 1编排格式 1 采用缩进风格2 控制代码行宽度3 使用空格字符实现缩进4 适当地使用空行5 不允许把多个短语句写在一行中6 适当使用空格 5 2 2命名规则 1 尽量采用有意义的名字命名 2 名字的长度无限制 但也不宜过长 3 如果名字使用缩写 那么缩写规则须保持一致 5 2 3注释 1 每一个注释都应当有用 应避免无意义的注释 2 合理使用序言性注释和功能性注释 以下一段代码是序言性注释的例子 名称 求平均值函数功能 计算数组的平均值输入 score 数组 元素类型为float 代表分数n 数组中元素的个数返回值 score数组中所有元素的平均值使用举例 aver average score n 作者 张 11 12 2008版本号 1 1 floataverage score n intn floatscore inti floatscore for i 1 i n i sum sum socre i aver sum n return aver 以下一段代码是功能性注释的例子 对每月销售额求和 TOTAL AMOUNT TOTAL 3 对函数 过程 方法 变量等合理命名 可增加代码的可读性 从而减少不必要的注释 4 注释格式应该尽量保持统一 5 2 4输入 输出 1 对所有输入数据都进行检验 以保证每个数据的有效性 例如 某系统中身份证号字段的输入 设计校验规则为 保证其不为空 并且由18位的纯数字组成 2 检查输入项重要组合的合法性 3 保持输入格式和输入步骤的简单 4 使用数据结构标记 不要要求用户指定数据的数目 5 明确提示交互式输入的请求 详细说明可用的选择或边界数值 6 当程序设计语言的格式有严格要求时 应保持输入格式一致 7 设计良好的输出报表 8 给所有输出数据加标志 9 当程序设计语言对输入 输出格式有严格要求时 应保持输入格式与输入语句的要求一致 5 2 5程序结构 程序结构应符合以下原则 1 尽量避免使用复杂的条件测试 2 尽量减少对 非 条件的测试 3 避免过多使用循环嵌套和条件嵌套 4 利用括号使逻辑表达式和算术表达式的运算次序清晰 直观 5 尽可能使用库函数 5 2 6效率和GOTO语句 1 效率 一般来说 对效率的追求需要明确以下几点 1 效率是一个性能要求 其目标在需求分析阶段就应给出 2 追求效率应建立在不损害程序可读性或可靠性的基础上 要先使程序正确 再提高程序效率 先使程序清晰 再提高程序效率 3 提高程序效率的根本途径在于选择良好的设计方法 良好的数据结构算法 根据有关资料 以下原则对提高程序效率有一些帮助 1 在编码之前 先化简算术表达式和逻辑表达式 2 特别注意嵌套的循环 以确定是否有语句可以从循环内层移到循环外层 3 尽量避免使用多维数组和复杂的表格 4 尽量使用执行时间短的算术运算 5 尽量避免混合使用不同数据类型的量 6 尽量使用整型算术表达式和逻辑表达式 2 GOTO语句 近年来 关于 一切GOTO语句都是有害的 的论断是否正确的争论仍在继续 是否应当去掉GOTO语句还未有定论 因此 除非确实需要 否则最好不使用GOTO语句 确实需要GOTO语句时 也要限制使用的范围 特别要避免GOTO语句相互交叉的情况发生 5 3结构化程序设计 5 3 1结构化程序设计的形成 1968年 Dijskstra在 计算机通讯 上发表文章 提出了 结构化程序设计 的思想 结构化程序设计的基本思想是采用 自顶向下 逐步求精 的程序设计方法和 单入口单出口 的控制结构 5 3 2结构化程序设计方法 1 程序流程的基本结构 1 顺序结构语句形式如下 语句A语句B2 选择结构单分支结构如图4 8所示 相应的语句形式如下 if 条件P 语句Aelse语句B 多分支结构如图4 9所示 相应的语句形式如下 switch V caseV1 语句A1caseV2 语句A2caseVn 语句An default 语句An 1 3 循环结构while循环语句形式为 while 条件表达式P 语句A until循环语句形式为 do 语句A until 条件表达式P 2 自顶向下 逐步求精 结构化程序设计遵循的是自顶而下 逐步求精的设计方法 在分析一个

温馨提示

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

评论

0/150

提交评论