- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附加章 软件编码 沈阳理工大学信息学院 主要任务:将详细设计确定的具体算法用程序设计语言描述出来,生成目标系统对应的源程序。F.1 程序设计语言F.2 编码风格及软件效率 F.1 程序设计语言 F.1.1 程序设计语言的分类 1. 面向机器语言 包括机器语言(Machine Language)和汇编语言(Assemble Language)两种。由于机器语言难以记忆和使用,通常不用机器语言编写程序。汇编语言是一种符号语言,它采用了一定的助记符来替代机器语言中的指令和数据。由于汇编语言生产效率低且可维护性差,所以目前软件开发中很少使用汇编语言。 2. 高级语言 高级语言中的语句标识符与人类的自然语言(英文)较为接近,并且采用了人们十分熟悉的十进制数据表示形式,利于学习和掌握。高级语言的抽象级别较高,不依赖于实现它的计算机硬件,且编码效率较高,往往一条高级语言的语句对应着若干条机器语言或汇编语言的指令。高级语言程序需要经过编译或解释之后,才能生成可在计算机上执行的机器语言程序。 高级语言按其应用特点的不同,可分为通用语言和专用语言两大类。 1) 通用语言 通用语言是指可用于解决各类问题、可广泛应用于各个领域的程序设计语言。从较早出现的基础语言Basic、FORTRAN等,到后来出现的结构化语言P、C等,再到现在被广泛使用的面向对象语言Visual C、Java等都属于通用语言的范畴。 2) 专用语言 专用语言是为了解决某类特殊领域的问题而专门设计的具有独特语法形式的程序设计语言。如专用于解决数组和向量计算问题的APL语言;专用于开发编译程序和操作系统程序的BLISS语言;专用于处理人工智能领域问题的LISP语言和PROLOG语言等。这些语言的共同特点是可高效地解决本领域的各种问题,但难以应用于其他领域。 F.1.2 程序设计语言的选择 要为待开发项目选择合适的程序设计语言,应充分考虑到项目的各种需求,结合各种语言的特点,尽量选取实现效率高且易于理解和维护的语言。 1. 理论标准 1) 理想的模块化机制、易于阅读和使用的控制结构及数据结构 模块化、良好的控制结构和数据结构可以降低编码工作的难度,增强程序的可理解性,提高程序的可测试性和可维护性,从而减少软件生存周期中的总成本,并缩短软件开发所需的时间。 2) 完善、独立的编译机制 完善的编译系统可尽可能多地发现程序中的错误,便于程序的调试和提高软件的可靠性,并且可以使生成的目标代码紧凑、高效;独立的编译机制便于程序的开发、调试和维护,可以降低软件开发和维护的成本。 2. 实用标准 1) 系统用户的要求 由于用户是软件的使用者,因此软件开发者应充分考虑用户对开发工具的要求。特别是当用户要负责软件的维护工作时,用户理所应当地会要求采用他们熟悉的语言进行编程。 2) 工程的规模 语言系统的选择与工程的规模有直接的关系。例如,Foxpro与Oracal及Sybase都是数据库处理系统,但Foxpro仅适用于解决小型数据库问题,而Oracal和Sybase则可用于解决大型数据库问题。特别是在如果工程的规模非常庞大,并且现有的语言都不能完全适用时,为了提高开发的效率和质量,就可以考虑为这个工程设计一种专用的程序设计语言。 3) 软件的运行环境 软件在提交给用户后,将在用户的机器上运行,在选择语言时应充分考虑到用户运行软件的环境对语言的约束。此外,运行目标系统的环境中可以提供的编译程序往往也限制了可以选用的语言的范围。 4) 可以得到的软件开发工具 由于开发经费的制约,往往使开发人员无法任意选择、购买合适的正版开发系统软件。此外,若能选用具有支持该语言程序开发的软件工具的程序设计语言,则将有利于目标系统的实现和验证。 5) 软件开发人员的知识 软件开发人员采用自己熟悉的语言进行开发,可以充分运用积累的经验使开发的目标程序具有更高的质量和运行效率,并可以大大缩短编码阶段的时间。为了能够根据具体问题选择更合适的语言,软件开发人员应拓宽自己的知识面,多掌握几种程序设计语言。 6) 软件的可移植性要求 要使开发出的软件能适应于不同的软、硬件环境,应选择具有较好通用性的、标准化程度高的语言。 7) 软件的应用领域 任何语言编译系统设计的出发点都有所不同,其对某一领域问题的处理能力也就存在较大差异,因此不存在真正适用于任何应用领域的语言,通用语言也不例外。如FORTRAN语言最适用于工程科学计算,COBOL语言最适用于处理商业领域中的问题。所以,选择语言时一定要充分考
文档评论(0)