- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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.外部文档
? 内部文档是为程序员写的
? 外部文档是为那些甚至是没有读过代码的人写的
? 外部文档能比内部文档更合理且详细地对组件用解释说明。
? 若把头注释看作是程序的概要,则外部文档则是对程序的详细介绍。
? 外部文档回答了谁使用该系统,使用什么内容,为什么使用该系统,在何时何地使用以及如何使用该系统。
;? 外部文档包括:
? 系统中组件的概述
? 组件组(例如,用户界面组件,数据库管理组件,快速计算组件等)
? 图及描述每个组件的说明:描述数据如何被一个或多个组件使用和共享,通常综述描述信息是怎么从一个组件
您可能关注的文档
- 4章节STEP7操作.ppt
- 4章节Web脚本语言JavaScript.ppt
- 4章节传热.ppt
- 4章节ArcMap数据显示.ppt
- 4章节1 资本预算现金流预测.ppt
- 4章节影视艺术起源与发展.ppt
- 4章节支付结算业务核算.ppt
- 4章节数据结构.ppt
- 4章节时 元朝建立和统一多民族国家发展 章节前热身.ppt
- 4章节时 光传播 光反射 平面镜成像.ppt
- 2024年铁路职业技能鉴定综合提升测试卷附参考答案详解(黄金题型).docx
- 2025年中国口红塑壳数据监测报告.docx
- 2024年铁路职业技能鉴定综合提升测试卷附完整答案详解(精选题).docx
- 2024年铁路职业技能鉴定综合提升测试卷附完整答案详解【有一套】.docx
- 2024年铁路职业技能鉴定综合提升测试卷附参考答案详解(预热题).docx
- 老旧供水管网漏损治理项目可行性研究报告.docx
- 合伙协议书范例(标准版).docx
- 2024年铁路职业技能鉴定考前冲刺测试卷【有一套】附答案详解.docx
- 2024年铁路职业技能鉴定考前冲刺测试卷【易错题】附答案详解.docx
- 2024年铁路职业技能鉴定考前冲刺测试卷【真题汇编】附答案详解.docx
文档评论(0)