程序设计思想变革及发展培训(46页)讲解.pptVIP

程序设计思想变革及发展培训(46页)讲解.ppt

  1. 1、本文档共46页,可阅读全部内容。
  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文档。上传文档
查看更多
程序设计思想变革及发展 Contents 程序设计的基本 概念     通俗地说, 程序就是人们让 计算机完成特定任务的一系列命令 的总称, 而用某种编程语言编写程 序的过程就是程序设计。 程序设计的步骤 程序设计面对的问题 面向过程编程 面向过程编程关注的是解决问题的步骤,先把软件 系统分解成多个模块,然后逐步细化,完成整个软 件系统。各模块之间存在相互调用和信息传递。 程序设计思想的发展 面向过程编程的产生 60 年代末, 国际著名学者E.W.Dijkstr首先提出了 “ 结构化程序设计” 的思想, 按照结构化程序设计 思想编制出来的程序称为结构化程序,即 面向 过程编程。C、Pascal 和Fortran 语言均采用 面向过程编程思想。 面向过程编程 面向过程编程的设计思想 采用“ 自顶向下,逐步求精” 的方法, 即当编写程序时 常从总体出发, 把任务分解为若干个多少有些独立 的模块, 对于每一个模块, 又需分解为若干个低一层 的子模块, 直到最低层的每一个子模块都有明确的 解决步骤为止, 每一个模块内部均是由顺序、选择 和循环三种基本结构组成, 其模块化的具体实现方 法是使用子程序。 面向过程编程的设计思想 正如上面的程序段所示, 结构化的程序方法通常是: (1) 定义变量及其初始值; (2) 根据事件发展顺序, 进行对应的处理。    面向过程编程的设计思想 示例: 铅笔数=5 钢笔数=6 圆珠笔数=4 其它笔数=7 ?? // 销售程序段 铅笔数=铅笔数- 1 // 卖出了1 支铅 笔 其它笔数=其它笔数- 2 // 卖出了2 支其它笔 // 采购程序段 钢笔数=钢笔数+20 // 新进了20 支 钢笔 圆珠笔数=圆珠笔数+10 // 新进了10 支圆珠笔 ?? 面向过程编程的特点 面向过程的程序设计的特点:面向过程的程序设计 方法强调需求分析。 强调在软件生命周期的每个阶段结束之前必须进行 评审,从而提高了开发的成功率。 面向过程编程的问题产生的原因 原因是:某些系统类型需求是模糊的,预先定 义需求的策略对于某些类型的软件系统是适用 的。但是,对于数量占多数的一些应用系统, 其需求往往难以预先准确地指定。 面向过程编程的总结     面向过程编程的思维方式易于理解、条理清 晰,曾被广泛应用,但随着软件系统规模的扩大和 性能要求的提高,面向过程编程的缺陷日益明显。 软件系统规模的扩大,使得模块的分解难度加大, 模块之间的联系也更加复杂,软件的可靠性难以提 高,可维护性差。 为了提高软件系统的稳定性、可修改性、可重 用性。人们在实践中逐渐创造出软件开发的新 途径:面向对象的程序设计方法 面向对象编程 所谓面向对象就是在处理问题时,从该问题所存在 的事物本身出发,以类及对象作为基本构造单元, 逐步认识事物的属性和行为特征。 面向对象编程 面向对象编程的产生 结构化程序设计方法的可重用性差,使用面向 过程的方法来开发和维护此类软件将非常困难。 因此提出了面向对象编程。 面向对象编程的概念 面向对象编程思想 面向对象编程的中心思想是: 软件模块的分解并不 是从功能上, 或是从处理问题的算法上出发, 而是从 系统的组成上考虑。 优点 面向对象编程的总结 总体来说,较面向过程编程相比,面向对象编程可以描述更 复杂、更接近现实的系统,描述方法灵活,具备良好的可重 用性和可扩展性,提高了软件系统的质量和开发效率,保证 了对系统项目的有效管理。 面向方面编程 在软件术语中,面向方面的编程能够独立于任何继承层次 结构而应用改变类或对象行为的方面。 缺点 代码散乱和代码纠缠使得面向对象编程的系统 结构混乱,难以维护和扩展,降低了软件系统 的质量。 面向方面编程的产生 面向方面编程(AOP)的概念是GregorKiczaes 在X eroxParc 团队于20 世纪90 年代后期提出的,F ilman 与Friedman2000年在OOPSLA关于分离关 注点的讨论会上给出了得到公认的面向方面的定义。虽然面 向方面编程还处于不完善的阶段,但它已经受到了广泛的关 注。 面向方面编程 面向方面编程的概念 面向方面编程的思想 面向方面编程的特点 面向方面编程的总结 较面向对象编程相比降低了系统实施的难度,解决了代码散 乱和代码纠缠的问题。但其本身存在的问题也给使用带来了 一定的困难。目前在开发过程中,面向方面编程技术只作为 面向对象编程技术的补充加以运用。 面向过程VS面向对象 以一辆汽车为例: 用面向过程的思想去考虑它应该是这样的:如何启动汽车、 如何起步、加速、刹车、熄火等一个个操作。而汽车在这里 并不是我们所关心的。

文档评论(0)

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

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

1亿VIP精品文档

相关文档