版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 软件实现 刘金安TEL: 22022/9/9程序设计语言的性能 结构化程序设计的原则 源程序的设计风格 程序复杂性度量方法 软件开发过程的文档教学重点32022/9/95.1 程序设计语言选择 完美的方案必须通过高质量的编码来实现。确认软件需求后,程序语言的技术特性就显得非常重要了。程序设计语言的选择应该考虑以下因素:项目的应用范围算法和计算复杂性软件执行的环境性能上的考虑数据结构的复杂性软件开发人员的知识水平等42022/9/95.2 结构化程序设计 结构程序设计的概念最早是由E.W.Dijkstra 提出来的,他指出:“可以从高级语言中取消GOTO 语句,程序质量与程序中所包含的G
2、OTO 语句的数量成反比。”。并指出结构化程序设计并非简单的取消GOTO 语句,而是创立一种新的程序设计思想、方法和风格,以显著提高软件生产率和质量。 52022/9/95.2 结构化程序设计 GOTO语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格。其次, GOTO语句经常带来错误或隐患。 大量采用GOTO语句实现控制路径,会使程序路径变得复杂而且混乱,因此要严格控制GOTO语句的使用。 5.2.1 关于GOTO语句的争论62022/9/95.2 结构化程序设计 程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;使用顺序、选择、循环等基本控制结构表
3、示程序逻辑;控制结构只准许有一个入口和一个出口;程序语句组成容易识别的模块,每个模块必须有一个入口和一个出口;复杂结构应该用基本控制结构进行组合嵌套来实现;严格控制GOTO语句,在可以改善程序性能,同时又不影响或者损害程序可读性的情况下才可以使用GOTO语句。 5.2.2 结构化程序设计的原则 72022/9/95.2 结构化程序设计 在详细设计和编码阶段,应当采取自顶向下,逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种程序设计语言写成的程序。 5.2.3 程序设计自顶向下,逐步求精 82022/9/95.2 结构化程序设计 自顶向下,逐步求精方法的优
4、点:自顶向下,逐步求精方法符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率;用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,因此程序容易阅读和理解;程序自顶向下,逐步细化,分解成一个树形结构;程序清晰和模块化,使得在修改和重新设计一个软件时,可复用的代码量最大;每一步工作仅在上层结点的基础上做不多的设计扩展,便于检查;有利于设计的分工和组织工作。 92022/9/95.3 源程序设计风格 程序实际上也是一种供人阅读的表达思想的一段文字,只不过它不是用自然语言而是用程序设计语言编写的。因此,一个逻辑上虽正确但杂乱无章的程序是没有什么价值的
5、,因为它无法供人阅读,也难以测试、排错和维护。所以程序的设计风格就显得尤为重要。102022/9/95.3 源程序设计风格 源程序的文档化一般表现为以下几个方面:标识符的命名准则 程序的注释 书写格式 5.3.1 源程序文档化 标识符就是程序设计中涉及的模块名、变量名、常量名、函数名、数据区名、缓冲区名等等,它的命名必须一般遵循一定的原则,但是往往不同的开发小组有不同的命名方式,但是都遵守一定的准则:要能顾名思义,名字应能反映它所代表的实际含义;应当选择精炼的意义明确的名字,不要太长;在一个程序中,一个变量只应用于一种用途,不能同时代表多个含义。 112022/9/95.3 源程序设计风格 语
6、句结构直接影响到程序的可读性及效率,应该采用直接、简单、清晰的构造方式,而不要为了提高效率或者显示技巧而降低程序的清晰性和可读性。例如:交换变量a和b的值,你可以为了提高性能写成:a=a+b; b=a-b;a=a-b这样看起比较费解,需要好好分析才能得到结论,但是如果借助中间变量t就清楚地多,具体表达式如下:t=a;a=b;b=t; 5.3.2 语句结构 122022/9/95.3 源程序设计风格 在编写程序时,需要注意数据说明的风格,为了要使程序中的数据说明更易于理解和维护,必须遵循以下原则:数据说明的次序应当规范化,使数据属性容易查找,从而有利于测试、纠错与维护。当多个变量名用一个语句说明
7、时,应当对这些变量按字母的顺序排列。例如:应该把 int weight, name, score , age; 写成: int age , name, score, weight;如果设计了一个复杂的数据结构,应当使用注释来说明在程序实现时这个数据结构的固有结构。对一些复杂的数据的说明最好放在一个说明文件中,便于查找和修改。 5.3.3 数据说明 132022/9/95.3 源程序设计风格 输入和输出方式,在设计和程序编码时都应遵守下列原则:对输入数据都进行检验,以保证每个数据的有效性;检查输入项的各种重要组合的合理性,必要时报告输入状态信息;对于输入输出操作,安排适当的缓冲区,以减少频繁的信
8、息交换;使得输入的步骤和操作尽可能简单,并保持简单的输入格式;输入数据时,应允许使用自由格式输入;输入一批数据时,最好使用输入结束标志,而不要由用户指定输入数据数目;要在屏幕上使用提示符明确提示交互输入的请求,指明可使用选择项的种类和取值范围;同时对于多项输入的情况下,应该给出哪些项目为必填项,哪些项目为选填项;当程序设计语言对输入输出格式有严格要求时,应保持输入格式与输入语句的要求的一致性;设计良好的输出报表。5.3.4 输入和输出 142022/9/95.3 源程序设计风格 程序的效率是指程序的执行速度及程序所需占用的内存的存储空间。设计逻辑结构清晰、高效的算法,是提高程序效率的关键,提高
9、程序效率的几条准则为: 效率是一个性能要求,应当在需求分析阶段给出; 软件效率以需求为准,不应以人力所及为准; 程序的效率与编码的质量息息相关; 良好的设计可以提高效率; 程序的效率与程序的算法选择相关,算法效率反映为程序的执行速度和存储容量的要求。5.3.5 效率 152022/9/95.4 程序复杂性度量 统计程序的源代码包括代码和注释的行数,并以此行数作为程序复杂性的度量。这种方法计算简单,与所用的高级程序设计语言类型无关。此方法基于两个前提:程序复杂性随着程序规模的增加不均衡地增长;控制程序规模的方法最好是采用分而治之的办法。5.4.1 代码行度量法 162022/9/95.4 程序复杂性度量 McCabe度量法基于一个程序模块的程序图中环路的个数。如果把程序流程图中每个处理符号都退化成一个结点,原来联结不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序流图。其计算公式为: V(G)=m-n+2其中V(G)是强连通有向图G中的环数;m是G中的弧数;n是G中的节点数 5.4.2 McCabe度量方法172022/9/95.4 程序复杂性度量 例如:如图所示的程序流图 其中,节点数为n=9弧数m=11则有McCabe环复杂度度量为4 5.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西吉安市吉州区园投人力资源服务有限公司劳务外包工作人员招聘1人(九)笔试历年备考题库附带答案详解
- 2026江苏无锡市汇创科技发展有限公司财务专员招聘2人笔试历年常考点试题专练附带答案详解
- 2026新疆天阜新业能源有限责任公司市场化招聘职业经理人1人笔试历年典型考点题库附带答案详解
- 2026年福建武夷山崇安建设集团有限公司社会公开招聘7人笔试历年常考点试题专练附带答案详解
- 2026年湖北省荆州市监利市事业单位统一招聘工作人员复审笔试历年典型考题及考点剖析附带答案详解
- 2026年河南南阳市淅川县事业单位公开招聘联考确认笔试历年典型考题及考点剖析附带答案详解
- 2026年安徽省宿州市市直事业单位公开招聘工作人员复审笔试历年典型考题及考点剖析附带答案详解
- 2026年吉安市事业单位招聘工作人员(含卫生专业技术人员)笔试合格分数线有关笔试历年典型考题及考点剖析附带答案详解
- 2026年中国煤炭地质总局应届高校毕业生招聘(甘肃有岗)笔试历年难易错考点试卷带答案解析
- 2026山东大禹水务建设集团有限公司招聘60人笔试历年难易错考点试卷带答案解析
- 2026年有限空间试题和答案
- 招标代理及造价咨询服务方案投标文件(技术标)
- 2026年党员党史知识竞赛试题(附答案)
- 2026年安徽省中考英语试题(含答案)
- 2026河北省新高一入学摸底测试全科高频考点与模拟训练
- 医护护理传染科护理与防控
- 成都银都紫藤2025小升初入学分班考试数学考试试题及答案
- 麻醉复苏期患者术后低氧血症的防治措施
- 2026年北京市海淀区初三下学期一模英语试卷及答案
- 诊所岗位职责及工作制度
- GB/T 33855-2026母婴保健服务机构通用要求
评论
0/150
提交评论