程序设计思想的变革及发展.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计思想的变革及发展

程序设计思想的变革及发展 一、程序设计的基本 1、概念 在信息技术飞速发展的今天, 计算机的普及应用, 对于大多数人来说, 程序并不再是陌生的字眼。通俗地说, 程序就是人们让计算机完成特定任务的一系列命令的总称, 而用某种编程语言编写程序的过程就是程序设计。 程序设计的步骤 ①分析问题 ②设计方案 ③解决问题 程序设计面对的问题 ①技术问题 ②目标复杂度和规模的增长 ③需求的变化 (而正因为需求的变化才会有程序设计思想的变化) 二、程序设计思想的发展 计算机技术产生于20 世纪40 年代,随着软硬件水平的飞速发展和应用范围的扩大,计算机编程思想也历经变化,先后出现了面向过程编程、面向对象编程和面向方面编程这几种编程思想,它们的产生对软件技术的发展起到了深远的影响。 面向过程编程 ............. 结构化程序 (1)产生 60 年代末, 国际著名学者E.W.Dijkstr首先提出了“ 结构化程序设计” 的思想, 按照结构化程序设计思想编制出来的程序称为结构化程序,即 面向过程编程。C、Pascal 和Fortran 语言均采用面向过程编程思想。 面向过程设计思想是采用“ 自顶向下,逐步求精” 的方法, 即当编写程序时, 常从总体出发, 把任务分解为若干个多少有些独立的模块, 对于每一个模块, 又需分解为若干个低一层的子模块, 直到最低层的每一个子模块都有明确的解决步骤为止, 每一个模块内部均是由顺序、选择和循环三种基本结构组成, 其模块化的具体实现方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象和自顶向下“分而治之”的方法, 从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程序, 便于开发和维护。 示例: 铅笔数=5 钢笔数=6 圆珠笔数=4 其它笔数=7 ?? // 销售程序段 铅笔数=铅笔数- 1 // 卖出了1 支铅 笔 其它笔数=其它笔数- 2 // 卖出了2 支其它笔 // 采购程序段 钢笔数=钢笔数+20 // 新进了20 支 钢笔 圆珠笔数=圆珠笔数+10 // 新进了10 支圆珠笔 ?? 正如上面的程序段所示, 结构化的程序方法通常是: ( 1) 定义变量及其初始值; ( 2) 根据事件发展顺序, 进行对应的处理。 在上面的程序中, 我们先定义了各种笔的初始总数, 然后这些数量会在销售、采购时改变。这种程序的编写思路是随着事件, 按照一定的过程来进行的。这种方法是一种“解题”的思维方式, 把所有的需求, 当作一个“应用题”一样来“解答”。 总体来说,面向过程编程关注的是解决问题的步骤,先把软件系统分解成多个模块,然后逐步细化,完成整个软件系统。各模块之间存在相互调用和信息传递。 特点 面向过程的程序设计的特点:面向过程的程序设计方法强调需求分析。强调在软件生命周期的每个阶段结束之前必须进行评审,从而提高了开发的成功率。开发过程中实行严格的质量管理,采用先进的技术方法,加快了软件开发的速度。但是,随着人们对计算机软件的需求量的急剧增长,面向过程的程序设计的开发速度远不能满足用户的需要,不能及时完成开发,甚至不能完成设计目标, 软件重用度很低。 问题产生的原因 传统的程序设计方法是需求分析、总体设计、编码、调试、维护。传统的生命周期方法的本质是在具体开发工作之前。通过需求分析预先定义软件需求,相对于早期的只重视编程,轻视对用户的了解和分析,最终产品只有程序代码。没有相应的文档资料的个体化的软件开发方法来说。生命周期方法学是一个巨大的进步。对实现软件开发工程化曾经起了重要的促进作用。但是,实践表明,传统的生命周期方法学并不能完全消除软件危机。原因是:某些系统类型需求是模糊的,预先定义需求的策略对于某些类型的软件系统是适用的。但是,对于数量占多数的一些应用系统,其需求往往难以预先准确地指定。因为许多用户对他们的需求最初只有模糊笼统的概念。项目参与者之间存在通讯鸿沟。目前,开发软件的生产率仍然很低。一个规模稍大的软件,其开发时间往往需要一年以上,有的甚至长达数年。当软件开发出来时候已经过时了,结构化技术的缺点导致开发的软件难于修改和扩充。可重用性差,结构设计技术是围绕实现处理功能的过程来构造系统的。 然而用户需求的变化大部分是针对功能的。也就是说,用户需求的变化往往造成系统结构的重大变化,从而需要花费很大的代价才能够实现。 总结: 面向过程编程的思维方式易于理解、条理清晰,曾被广泛应用,但随着软件系统规模的扩大和性能要求的提高,面向过程编程的缺陷日益明显。软件系统规模的扩大,使得模块的分解难度加大,模块之间的联系也更加复杂,软件的可靠性难以提高,可维护性差。 为了提高软件系统

文档评论(0)

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

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

1亿VIP精品文档

相关文档