软件工程与实践 第10章 软件编程

软件工程与实践 第10章 软件编程

ID:46882454

大小:526.50 KB

页数:23页

时间:2019-11-28

软件工程与实践 第10章 软件编程_第1页
软件工程与实践 第10章 软件编程_第2页
软件工程与实践 第10章 软件编程_第3页
软件工程与实践 第10章 软件编程_第4页
软件工程与实践 第10章 软件编程_第5页
资源描述:

《软件工程与实践 第10章 软件编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章软件编程10.1什么是编程10.2程序设计语言特点与应用范围10.2.1程序设计语言的发展与分类1.机器语言机器语言是随着计算机的发明而产生的第一代计算机语言,是一种直接和机器打交道的语言。其指令代码由操作码和操作数的绝对地址构成,指令无须翻译和解释,可以直接执行,所以程序执行速度很快。2.汇编语言汇编语言是第二代语言,属于低级程序设计语言。它是为了改善机器语言的不直观性而发展起来的基于助记符的语言,每个操作指令通过特定易于理解的助记符来表达。汇编语言也是面向机器能直接识别,因此程序要经过翻译,转换成机器可以识别的机器语言才能运行。由于汇编语言要涉及机器的硬件

2、细节,难学难用,容易出错,且无法移植,不易维护,因此目前只有在特殊需要时才直接使用。3.高级语言(1)基础语言(2)结构化语言(3)专用语言(4)面向对象的语言4.第四代语言(4GL)第四代语言分为以下几种类型:(1)数据库查询语言。(2)程序生成器。(3)其他:如判定支持语言、原型语言、形式化规格说明语言等。第四代语言应具有如下特征:★语言的使用者是一般用户,而不是计算机专业技术人员。★能提供一组高效、非过程化的命令基本语句,编码时用户只需用这些命令说明“做什么”,而不必描述实现的具体细节。★具有很强的数据管理能力,能对数据库进行有效的存取、查询和相关操作。★是多功

3、能、一体化的语言.10.2.2程序设计语言的选择1.应用的领域2.过程与算法的复杂程度3.数据结构和数据类型的考虑4.编码及维护的工作量与成本5.软件兼容性的要求6.有多少可用的支撑软件7.系统用户的需求8.程序设计人员的知识水平要考虑、程序人员对语言的熟练程度和实践经验,即程序员对该语言的驾驭能力,否则往往会适得其反。9.程序设计语言的特性10.系统规模11.系统的效率要求10.3程序设计风格: JAVA语言程序的编写风格的建议1.类名首字母应该大写。2.对于自己创建的每一个类,都考虑置入一个main().3.应将方法设计成简要的、功能性单元,用它描述和实现一个不连

4、续的类接口部分。4.设计一个类时,请设身处地为客户和程序员考虑一下(类的使用方法应该是非常明确的)。5.让一切东西都尽可能地“私有”--private。可使库的某一部分“公共化”(一个方法、类或者一个字段等等),就永远不能把它拿出。6.谨惕“巨大对象综合症”。7.尽可能细致地加上注释。8.当客户程序员用完对象以后,若你的类要求进行任何清除工作,可考虑将清除代码置于一个良好定义的方法里,采用类似于cleanup()这样的名字,明确表明自己的用途。9.若在初始化过程中需要覆盖(取消)finalize(),请记住调用super.finalize()(若Object属于我们的

5、直接超类,则无此必要)。10.尽量使用接口interfaces,不要使用抽象类abstract。11.用继承及方法覆盖来表示行为间的差异,而用字段表示状态间的区别。12.警惕"分析瘫痪"。13.警惕"过早优化"。14.阅读代码的时间比写代码的时间多得多。15.良好的设计能带来最大的回报。10.4程序设计算法与效率10.4.1程序设计算法任何事情都有一定的步骤,为解决一个问题而采取的方法和步骤,就称为算法。算法的特点是:(1)有穷性,一个算法应包含有限的操作步骤而不能是无限的;(2)确定性,算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的;(3)有零个或多个

6、输入,有一个或多个输出;(4)有效性,算法中每一个步骤应当能有效地执行,并得到确定的结果。例:求1×2×3×4×5。最原始方法:步骤1:先求1×2,得到结果2。步骤2:将步骤1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。改进的算法:S1:使t=1S2:使i=2S3:使t×i,乘积仍然放在在变量t中,可表示为t×i→tS4:使i的值+1,即i+1→iS5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。1.效率是一个性能要求,目标在需求分析中给出。2.追求效率建立在不损害程序可读性或可靠性基础之上

7、,要先使程序正确,再提高程序效率。3.尽量选用好的算法。4.仔细研究循环嵌套,确定是否有语句可以从内层移到循环体外。5.尽量避免使用多维数组。6.尽量避免使用指针和复杂的表。7.充分利用语言环境提供的函数。8.使用有良好优化特性的编译程序,以生产高效的目标代码。10.4.2程序的运行效率提高软件质量和可靠性的技术大致可分为两类:(1)避开错误技术,即在开发的过程中不让差错潜入软件的技术;(2)容错技术,即对某些无法避开的差错,使其影响减至最小的技术;避开错误技术是进行质量管理,实现产品应有质量所必不可少的技术,也就是软件工程中所讨论的先进的软件分析和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。