软件工程第六章.pptVIP

  1. 1、本文档共73页,可阅读全部内容。
  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文档。上传文档
查看更多
第6章 编码 内容提要 6.1 软件编码涉及的基本内容 6.2 开发高效软件的几个关键环节 6.3 程序设计方法 6.4 软件编码的依据及质量评价 6.1软件编码涉及的 基本内容 软件编码涉及的基本内容 6.1.1 软件编码的任务   编码就是把详细设计的结果用计算机能理解的形式——计算机代码来表示,即使用某种程序设计语言来编写程序。作为软件设计的一个步骤,编码是软件开发的一个重要阶段。软件的质量主要由软件设计的质量来保证。为使软件开发达到预定的目标,要求软件开发人员完成以下主要任务   将详细设计阶段完成的程序设计说明使用选定的程序设计语言书写源程序并保证模块的接口与设计说明的一致性。虽然软件的质量主要取决于软件设计的质量,但是程序设计语言的特性和编码的方法、风格也会对软件的可靠性、可读性、可测试性、可维护性产生深远的影响。 软件编码涉及的基本内容 6.1.2 程序设计语言的分类 自20世纪60年代以来已经有许多种不同的程序设计语言面世,但是其中只有一小部分得到了比较广泛的应用。对于品种繁多的程序设计语言,通常按其发展历史进程的不同进行分类,大致可分为4代(如图6.1所示)。其类别基本上可以分为低级语言和面向过程及面向对象的高级语言两大类。 软件编码涉及的基本内容 1.低级语言 低级语言包括机器语言和汇编语言。这两种语言的选择依赖于相应的机器结构,其语句和计算机硬件操作相对应。每种汇编语言都是支持该语言的系列计算机所独有的,因此,其指令系统因机器而异,难学难用。从软件工程学观点来看,其生产率低,容易出错,维护困难,所以现在的软件开发中,除了开发系统软件和对时间响应要求高的实时应用软件外,一般不使用汇编语言。 软件编码涉及的基本内容 2.高级语言 高级语言的出现不但使程序设计的方法产生了深刻的变革,而且也使计算机应用得到了极大地普及,同时也提高了软件生产的效率。高级语言使用的概念和符号与人们经常使用的概念和符号接近,它具有不依赖于实现这种语言的计算机、通用性强的特点。 从应用的角度来看,高级语言可以分为基础语言、现代语言和专用语言三类。 从语言的内在特点看,高级语言可以分为:系统实现语言、静态高级语言、块结构高级语言和动态高级语言四类。 软件编码涉及的基本内容 程序设计语言是人与计算机交流的媒介。高级程序设计语言是软件工程中实现系统功能的重要工具,也是软件工程师应该了解的主要方面。高级程序设计语言可以描述为具有以下特征的表示法、约定与规则的集合: 1.若不考虑程序效率的因素,高级程序设计语言不要求程序员掌握有关机器代码的知识(如寄存器、数据的内部表示、I/O通道等)。 2.高级程序设计语言本身独立于任何特定的计算机,易于编写能在多种机器上运行的程序。 3.用高级程序设计语言编写的源程序可以编译成能在多种不同的计算机上运行的机器代码程序。 软件编码涉及的基本内容 高级语言的环境能够相当自然地表示所求解的问题域,即可以方便地用面向问题处理过程的方式来编写程序。 6.1.4 程序设计语言特性 在程序设计前要充分了解程序设计语言的特性,这对成功和高效地开发软件有重大的作用。下面从三个方面介绍语言的特性。 1.工程特性 从软件工程的观点出发,程序设计语言的特性着重考虑软件开发项目的需要,对程序编码有如下要求: 软件编码涉及的基本内容 (1)可移植性 指程序从一个计算机环境移植到另一个计算机环境的容易程度,计算机环境指不同的硬件、不同的操作系统版本。一般来说,程序设计中要尽量避免直接对硬件进行操作,要使用标准的程序设计语言和标准的数据库操作,尽量不使用扩充结构。对程序中各种和硬件、操作系统有关的信息,应使用参数化的方法,以提高通用性。 (2)开发工具的可利用性 指软件开发工具在缩短编码时间,改进源代码的质量方面的能力。目前,许多编程语言都有一套集成的软件开发环境。这些开发工具为源程序代码的编写提供各种库函数、交互式调试器、报表格式定义工具、图形开发环境、宏处理程序等。 软件编码涉及的基本内容 (3)软件的可重用性 指编程语言提供可重复使用的软件成分的能力,如模块化的程序可通过源代码剪贴、使用继承方式实现软件重用。提供软件可重用性的程序设计语言可以大大提高源程序的利用率。 (4)可维护性 指将详细设计转变为源程序的能力和对源程序进行维护的方便性。 软件编码涉及的基本内容 2.技术特性 在确定了软件需求之后,所选择的语言的技术特性对软件工程的其余阶段有一定的影响,另

文档评论(0)

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

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

1亿VIP精品文档

相关文档