5章节 结构化实现.pptVIP

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5章节 结构化实现

第5章 结构化实现; 编码涉及的问题 ? 使用何种计算机语言编码? ? 采用何种编码风格? ? 怎样使编码能正确表现技术设计? ? 如何提高编码效率? ? 怎样使程序具有可读性? ? 如何正确使用可重用模块? ? 如何使模块成为以后可重用的模块?;5.1.1 选择程序设计语言 程序设计语言是人与计算机通信的基本工具 一个系统只少需要使用一种计算机语言实现 一个系统也可能需要使用几种不同的计算机语言实现 ;1.计算机语言的分类 ? 机器语言: 面向机器,机器码表示 ? 汇编语言: 面向机器,符号代码表示 ? 面向过程语言:C,FORTRAN,PASCAL,COBOL,BASIC,Ada ? 面向问题语言:4GL,Unix Shell等 ? 面向对象语言: C++,VB,VC,Delphi,Jave等 ? 专用语言:人工智能语言(LISP,PROLOG),数组和向量运算语言APL, ? 数据库语言:SQL,各种数据库自身的程序设计语言;2.选择程序设计语言的根据 ? 用户的要求 ? 项目的特点 ? 工程规模 ? 软件应用领域 ? 软件组织标准 ? 程序设计语言特性 ? 编码人员的知识 ? 软件可移植性 ? 软件重用 ? 测试与维护 ? 算法及计算的复杂程度 ? 数据数据结构的复杂程序 ? 运行效率 ? 该程序设计语言的发展前景;5.1.2 编码风格 ? 编码是一种创造性的活动 ? 软件的质量主要取决于设计的质量 ?编码对于软件的质量也是很重要的 ? 编码要有全局观念(要考虑到测试、集成、维护等) ?编码发生在两个阶段: ?编码阶段:根据软件设计产生源程序,是软件产品的一部分,质量要求高 ?测试阶段:编写测试程序,只需满足测试要求,质量要求不高;? 编码风格 编码程序员在编码时习惯使用的方式 ? 编码目标:强调“代码效率” ? 强调“清晰易读” ? 编码风格:追求“聪明”和“技巧” ?提倡“简明”和“直接” ? 良好的编码风格能在一定程度上弥补程序设计语言的缺点 ? 不好的编码风格,即使使用再好的程序设计语言,也很难写出高质量的程序 ? 在团队环境开发时,更应强调协调、一致、标准的风格,以利于互相沟通,减少因不协调而引起的问题;编码应遵循的一些准则 1.程序内部文档 (1)组件的“头注释块”Header Comment Block,包括: ? 组件编号 ? 组件名称 ? 组件的功能 ? 编写者姓名 电话 E-Mail 编写时间 ? 最近修改者姓名 电话 E-Mail 最近修改时间 ? 组件版本号 ? 组件的性能要求 ? 主要算法描述 ? 接口方式、输入参数、输出结果 ? 重要数据结构的名称、类型、用途; ? 调用该组件的组件 ? 该组件调用的组件 ? 测试员姓名 ? 测试程序名 ? 测试数据文件或者数据库名 ? 其他说明 软件组织的软件标准中对组件的头注释块的内容、顺序和表示方式一般都有具体的规定;(2)程序内部注释 ? 在程序内部设置一些注释语句,对某些重要程序成份、算法、结构进行适当说明。 例: *move the Point to next position Point=point+1 (3)选择含义明确的名字 ? 若使用缩写名字,应用注释加以说明。 例: week_wage=(hours_rate*hours)+0.5*(hours_rate)*(hour s-40.) 比下面的写法意义明确: z=(a*b)+(0.5)*(a)*(b-40.);(4)良好的组织结构,有助于对程序的理解 例: if (xcoordycoord) result=-1; elseif (xcoo==ycoord) if (slope1slope2) result=0; else result=-1; elseif (slope1slope2) result=2; elseif (slope1slope2) result=3; result=4;;2.外部文档 ? 内部文档是为程序员写的 ? 外部文档是为那些甚至是没有读过代码的人写的 ? 外部文档能比内部文档更合理且详细地对组件用解释说明。 ? 若把头注释看作是程序的概要,则外部文档则是对程序的详细介绍。 ? 外部文档回答了谁使用该系统,使用什么内容,为什么使用该系统,在何时何地使用以及如何使用该系统。 ;? 外部文档包括: ? 系统中组件的概述 ? 组件组(例如,用户界面组件,数据库管理组件,快速计算组件等) ? 图及描述每个组件的说明:描述数据如何被一个或多个组件使用和共享,通常综述描述信息是怎么从一个组件

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档