软件工程与项目管理(第2版) 课件 (王素芬)第7--12章 软件编码---软件项目管理.pptx

软件工程与项目管理(第2版) 课件 (王素芬)第7--12章 软件编码---软件项目管理.pptx

  1. 1、本文档共287页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

7.1软件编码的目的

7.2程序设计语言

7.3结构化程序设计

7.4编码风格

7.5程序编码优化技术

7.6代码评审和版本控制;7.1软件编码的目的;作为软件工程的一个步骤,软件编码是软件设计的自然结果。编码阶段的主要任务是根据软件详细设计阶段产生的每个模块的详细设计说明书,编写成某种程序设计语言的源程序。

为了提高系统的可维护性,除要求源程序的语法正确外,还要求源程序有较好的可读性、可靠性和可测试性。同时,编程语言的特性以及编写程序的风格也将深刻地影响到软件的质量及可维护性。;7.2程序设计语言;7.2.1程序设计语言的分类

目前,用于软件开发的程序设计语言已经有数百种之多,对这些程序设计语言的分类有不少争议。同一种语言可以归到不同的类中。从软件工程的角度,根据程序设计语言发展的历程,可以把它们大致分为以下5类:

(1)机器语言(第一代语言)。机器语言是由机器指令代码组成的语言。对于不同的机器就有相应的一套机器语言。用这种语言编写的程序,都是二进制代码的形式,且所有的地址分配都是以绝对地址的形式处理。存储空间的安排,寄存器、变址的使用都由程序员自己计划。因此使用机器语言编写的程序很不直观,在计算机内的运行效率很高,但出错率也高。

(2)汇编语言(第二代语言)。汇编语言比机器语言直观,它的每一条符号指令与相应的机器指令有对应关系,同时又增加了一些诸如宏、符号地址等功能。存储空间的安排可由机器解决。不同指令集的处理器系统就有自己相应的汇编语言。从软件工程的角度来看,汇编语言只是在高级语言无法满足设计要求时,或者不具备支持某种特定功能的技术性能时,才被使用。

(3)高级程序设计语言(第三代语言)。高级程序设计语言是算法语言。为了解决编程人员的困难,20世纪50年代中期出现了第一个算法语言——FORTRAN语言。后来又相继出现了COBOL、ALGOL60、BASIC、PL/1、PASCAL、MODULA-2、C、Ada等语言,这些算法语言的特点是用一种接近于自然语言和数学的专用语言来表示算法,算法语言不依赖于计算机硬件,是面向过程的语言。

(4)第四代语言(4GL)。4GL??不同的文法表示程序结构和数据结构,但是它是在更高一级抽象的层次上表示这些结构,它不再需要规定算法的细节。4GL兼有过程性和非过程性的两重特性。程序员规定“条件和相应的动作”是过程性的部分,而

;“指出想要的结果”是非过程性的部分。然后由4GL语言系统运用它的专门领域的知识来填充过程细节。

(4)第四代语言(4GL)。4GL用不同的文法表示程序结构和数据结构,但是它是在更高一级抽象的层次上表示这些结构,它不再需要规定算法的细节。4GL兼有过程性和非过程性的两重特性。程序员规定“条件和相应的动作”是过程性的部分,而“指出想要的结果”是非过程性的部分。然后由4GL语言系统运用它的专门领域的知识来填充过程细节。

第四代语言可以分为以下几种类型:

①查询语言:用户可利用查询语言对预先定义在数据库中的信息进行较复杂的操作。

②程序生成器:只需很少的语句就能生成完整的第三代语言程序,它不必依赖预先定义的数据库作为它的着手点。

③其他4GL:如判定支持语言、原型语言、形式化规格说明语言等。

(5)第五代程序设计语言(第五代语言)。第五代语言是一种新型程序设计语言。进入20世纪60年代后,摆脱冯·诺依曼概念的束缚已成为众多语言学家为之奋斗的目标,为此目标而研制的语言被称为新型程序设计语言,也称为知识型程序设计语言。新型程序设计语言力求摆脱传统语言那种状态转换语义的模式,以适应现代计算机系统知识化、智能化的发展趋势。新型程序设计语言基本上可以分为逻辑型语言和面向对象型语言。

;7.2.2程序设计语言特性的比较

我们从以下3种角度来比较程序设计语言的特性:

(1)心理学的观点。从设计到编码的转换基本上是人的活动,因此语言的性能对程序员的心理影响将对转换产生重大作用。程序员总是希望选择简单易学、使用方便的语言,以减少程序出错率,提高软件可靠性。从心理学的观点,影响程序员心理的语言特性有一致性、二义性、简洁性(紧凑性)、局部性、线性、传统六种。

(2)软件工程观点。从软件工程观点,程序设计语言的特性应着重考虑软件开发项目的需要。为此,对于程序编码,有如下一些工程上的性能要求:

①详细设计应能直接地、容易地翻译成代码程序。

②源程序应具有可移植性。

③编译程序应具有较高的效率。

④尽可能应用代码生成的自动工具。

⑤可维护性。

(3)程序设计语言的技术性能。在计划阶段,极少考虑程序语言的技术特性。但在选定资源时,要规划将要使用的支撑工具,就要确定一个具体的编译器或者确定一个程序设计环境。如果软件开发组的成员

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档