结构化程序设计与面向对象程序设计的比较研究.docxVIP

结构化程序设计与面向对象程序设计的比较研究.docx

  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文档。上传文档
查看更多
结构化程序设计与面向对象程序设计的比较研究

结构化程序设计与面向对象程序设计的比较研究 【摘要】本文通过浅析面向对象方法与结构化方法的比较,分析探讨了结构化方法和面向对象方法存在的问题,在比较两者内在一致性和主要区别基础上,提出在软件开发过程中应结合面向对象方法与结构化方法。 【关键词】结构化方法;面向对象方法;软件开发;区别 引言 随着计算机软硬件各方面的飞速发展,计算机领域的观念和方法日新月异。面向对象方法始于20世纪60年代挪威奥斯陆大学和挪威计算机中心共同研究的SMULA语言。70年代,人们都认为结构化方法是最好的系统开发方法,然而,随着计算机应用技术的不断发展,结构化方法越来越不能适应日益复杂庞大且高速发展的信息系统的建设。80年代以来,面向对象方法(ObjecOrientedMethodology)正引起越来越强烈的关注和重视,并在业内掀起一股新的面向对象编程浪潮。由于面向对象方法克服了传???的结构化方法在建立问题系统模型和求解时存在的缺陷,提供了更合理、更有效、更自然的方法。 1.结构化程序设计与面向对象程序设计的现况 结构化方法软件危机与向对象方法的提出60年代末开始,国际上出现了“软件危机”,主要表现是:软件质量差、成本及开发进度难以控制,维护工作麻烦,产生这一危机的根本原因在于结构化方法强烈依赖系统逻辑模型的完整性描述,难以做到系统的动态变化与扩展,系统开发速度慢、周期长、费用高;结构化设计方法讲究的是自顶而下的“瀑布式”设计,使数据结构的设计仅服从于当前功能实现的要求,为以后的扩充和重用设置了巨大的障碍。结构化方法中提高软件的结构化、模块化及可读性等基本思想是完全正确的,但问题空间和解空间在结构上存在着不一致性,使大型信息系统的开发和设计面临许多困难。解决这一难题的关键在于分析、设计、实现一个系统的方法和过程应尽可能接近我们认识系统的方法和过程,即问题空间与解空间在结构上尽可能一致。面向对象方法解决了传统结构化方法中问题空间和解空间在结构上不一致的问题,避免了从分析和设计到软件模块结构间的多次转换过程,使开发软件变得简捷、高效、合理。面向对象方法首先强调来自域的对象,然后围绕对象设置属性和操作。它尽可能模拟人类习惯的思维方式。把问题域的概念直接映射到对象和对象之间的接口,符合人们的常用的思维方式,减少结构化方法的从问题域到分析阶段的映射误差。面向对象方法鼓励开发者使用“对象”的观念去看待问题。 2.面向对象方法与结构化方法的比较 2.1面向对象方法与结构化方法的比较如表 类目面向对象程序设计结构化程序设计基本思想自下向上设计类自上而下,逐步细化基本概念类、对象、继承过程、函数、数据语言基于对象、面向对象语言面向过程语言解决问题的出发点面向对象面向过程操作单位对象数据程序控制方式“事件”激活和控制调用控制和返回拓展性拓展性好拓展性差重用行可以不可以层次结构类的层次结构模块的层次结构转码方式平滑过程,无缝连接按规则转换,有缝连接运行效率运行效率相对低运行效率相对高 2.2面向对象方法与结构化方法的比较用实例说明 例:用程序来描述濒危哺乳动物数量情况(用伪代码完成)。 (1)面向过程的程序示例 “长吻针鼹”数目=100 “俾格米人三趾树懒”数目=120 “亚洲独角兽”数目=141 “黑白领狐猴”数目=122 …… //生养程序段 “长吻针鼹”数目=“长吻针鼹”数目+2 //出生了一只长吻针鼹 “俾格米人三趾树懒”数目=“俾格米人三趾树懒”数目+2 //出生了两只俾格米人三趾树懒 “亚洲独角兽”数目=“亚洲独角兽”数目+3 //出生了3只亚洲独角兽 “黑白领狐猴”数目=“黑白领狐猴”数目+1 //出生了一只黑白领狐猴 …… //死亡程序段 “长吻针鼹”数目=“长吻针鼹”数目-2 //死亡了一只长吻针鼹 “俾格米人三趾树懒”数目=“俾格米人三趾树懒”数目-2 //死亡了两只俾格米人三趾树懒 “亚洲独角兽”数目=“亚洲独角兽”数目-3 //死亡了3只亚洲独角兽 “黑白领狐猴”数目=“黑白领狐猴”数目-1 //死亡了一只黑白领狐猴 …… 正如上面的程序段所示,结构化的程序方法通常是 :①定义变量及其初始值;②根据事件发展顺序,进行对应的处理。在上面的程序中,我们先定义了各种濒危哺乳动物的初始总数,然后这些数量会在出生、死亡时改变。这种程序的编写思路是随着事件,按照一定的过程来进行的。这种方法是一种“解题”的思维方式,把所有的需求,当作一个“应用题”一样来“解答”。 (2)面向对象的程序示例 哺乳动物 {“长吻针鼹”数目; “俾格米人三趾树懒”数目; “亚洲独角兽”数目; “黑白领狐猴”数目; 出生(动物名,数量) {动物名名+数量

您可能关注的文档

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档