网站大量收购独家精品文档,联系QQ:2885784924

[工学]软件工程11.ppt

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

Chap.10 软件编码 软件开发工作沿着生存期的顺序,逐步推进,最终要得到能在计算机上运行的程序,我们通常称它为源程序。把软件设计作进一步转换,产生源程序过程,称为编码阶段。 软件工程项目对代码编写的要求,绝不仅仅是源程序语法的正确性,也不只是源程序中没有各种错误,它还要求源程序具有良好的结构性和良好的程序设计风格(programming style)。 Chap.10 软件编码 本章并不讨论如何用某种语言编写某个具体程序的问题,而是讨论与编码有关的基本问题。 10.1 结构化程序设计 结构化程序设计是60年代末至70年代形成的技术,它主要包括两个方面: 对代码编写时使用控制结构的要求,强调使用三种基本结构,避免使用可能降低程序结构性的转向语句。 在软件开发的设计与实现过程中,提倡采用自顶向下(Top-down)和逐步细化(Stepwise refinement)的原则。 10.1 结构化程序设计 一、结构化程序与结构化语言 早在1963年ALGOLGO语言的主要作者Peter Naur提出,在程序中由于大量的、无限制地使用GOTO语句,使得程序结构非常混乱。许多转向语句把程序的各个部分勾联在一起,如同一堆乱麻。参见图A所示。 10.1 结构化程序设计 10.1 结构化程序设计 1965年E.W.Dijkstra提出,由于GOTO语句造成程序结构的混乱,致使程序质量下降。为了解决这一问题,应该把GOTO语句从高级语言中取消。 1966年Bohm和Jacopini证明了任何单入口和单出口,且没有“死循环”的程序都能由三种最基本的控制结构构造出来。 10.1 结构化程序设计 70年代初N.Wirth在设计Pascal语言时对GOTO语句的处理可被当作对GOTO语句争论的结论。在Pascal语句中没有支持上述三种基本控制构造的语句;另一方面,GOTO语句仍然保留在该语言中。不过N.Wirth解释说,通常使用所提供的几种控制语句已经足够了,习惯于这样做的人不会感到GOTO语句的必要。也就是说,一般情况下,可以完全不用GOTO语句。如果在特殊情况下,由于特定的要求,偶然使用GOTO语句能解决问题,那也未尝不可,只是不应大量使用它罢了。 10.1 结构化程序设计 早期的程序设计语言,由于没有考虑到程序结构化的要求,当然没有直接支持几种基本控制结构的特性。比如FORTRAN、COBOL、ALGOL和BASIC语言中大都没有一些与基本控制结构相对应的控制语句。我们称这些语言为非结构化程序设计语言。 对于那些考虑到结构化要求的新程序,如Pascal、C等,由于具有与基本控制结构对应的控制语句,可以直接编写出结构化程序来,我们称之为结构化程序设计语言。 10.1 结构化程序设计 二、自顶向下与逐步细化 自顶向下与逐步细化是结构化程序设计的原则,它把整个设计过程分出层次来,逐步加以解决。每一步是在前一步的基础上进行的,是前一步设计的细化和具体化。这可以从一个树结构图上来理解(参看图B)。树结构上每一层都由一些要解决的问题,这些问题往往是相互独立的。各层结点表示各个步骤,在每一结点上都要解决怎样进一步分解,怎样细化的问题,以便得到在它下面的各个子女结点。这种做法就把一个原来复杂的大问题,划分为多个容易解决的小问题,最后整个问题得到逐步解决。 10.1 结构化程序设计 10.1 结构化程序设计 按照自顶向下、逐步细化的原则进行设计有着许多好处,比如: 同一层结点上的细化工作彼此独立无关。 任何一步发生了错误,只能影响到它所在树枝的子女节点。 测试工作可按顺序,逐个节点独立进行,最后再集成。 每一步工作仅在上层节点基础上做不多的设计扩展,便于检查。 有利于设计的分工和组织工作。 10.1 结构化程序设计 为进一步说明自顶向下、逐步细化的设计原则,这里再给出一个用C语言开发程序的实例。该例要求利用筛选法求100以内的质数。所说的筛选法,是从2至100中去掉2,3,…,9,10的倍数,剩下的便是100以内的质数。以下分为6步,逐步建立程序: 第一步:从2—100中筛弃2—10的倍数 第二步:建立2—100的表 若X在表中,且X是2—10中任一数的 倍数,则去掉X。 10.1 结构化程序设计 第三步:建立

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档