《传统方法学与面向对象区别 2.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
《传统方法学与面向对象区别 2

小议传统方法学姓名学号年级 班级 摘要 传统的软件工程方法学曾经给软件产业带来巨大进步,部分地缓解了 在20世纪60年代后期出现的面向对象编程语言Simdla_67中首次引20世纪80年代中期起,人们开始注重面向对象20世纪90年代,。 软件工程传统方法学 随着计算机应用领域的不断拓广,各种各样的问题也不断涌现,当问题严重到开发人 员无法控制的时候便产生了软件危机。软件危机的出现,促使了软件工程学的形成和发展。 随之整合整套技术的软件工程方法学广泛应用,主流之一就是传统方法学。传统方法学在 软件开发过程中占据相当大的比重,因为其悠久的历史而为很多软件工程师青睐。如果说 自然语言和编程语言之间有一道难以跨越的鸿沟,传统方法学就是跨越这道鸿沟的桥梁。 传统方法学又称生命周期方法学或结构化范型。一个软件从开始计划起,到废弃不用 止,称为软件的生命周期。在传统的软件工程方法中,软件的生存周期分为需求分析、总 体设计、详细设计、编程和测试几个阶段。 传统方法学使用的是结构化分析技术来完成需求分析阶段的工作。软件工程学中的需 求分析具有两方面的意义。在认识事物方面,它具有一整套分析、认识问题域的方法、原 则和策略。这些方法、原则和策略使开发人员对问题域的理解比不遵循软件工程方法更为 全面、深刻和有效。在描述事物方面,它具有一套表示体系和文档规范。但是,传统的软 件工程方法学中的需求分析在上述两方面都存在不足.它在全局范围内以功能、数据或数 据流为中心来进行分析。这些方法的分析结果不能直接地映射问题域,而是经过了不同程 度的转化和重新组合。因此,传统的分析方法容易隐蔽一些对问题域的理解偏差,与后续 开发阶段的衔接也比较困难。 在总体设计阶段,以需求分析的结果作为出发点构造出一个具体的系统设计方案,主 要是决定系统的模块结构,以及模块的划分,模块间的数据传送及调用关系。详细设计是 在总体设计的基础上考虑每个模块的内部结构及算法,最终将产生每个模块的程序流程图。 但是传统的软件工程方法中设计文档很难与分析文档对应,原因是二者的表示体系不一致, 所谓从分析到设计的转换,实际上并不存在可靠的转换规则,而是带有人为的随意性,从 而很容易因理解上的错误而留下隐患。编程阶段是利用一种编程语言产生一个能够被机器理解和执行的系统,测试是发现和 排除程序中的错误,最终产生一个正确的系统。但是由于分析方法的缺陷很容易产生对问 题的错误理解,而分析与设计的差距很容易造成设计人员对分析结果的错误转换,以致在 编程时程序员往往需要对分析员和设计人员已经认识过的事物重新进行认识,并产生不同 的理解。因此为了使两个阶段之间能够更好的衔接,测试就变得尤为重要。 软件维护阶段的工作,一是对使用中发生的错误进行修改,二是因需求发生了变化而 进行修改。前一种情况需要从程序逆向追溯到发生错误的开发阶段。由于程序不能映射问 题以及各个阶段的文档不能对应,每一步追溯都存在许多理解障碍。第二种情况是一个从 需求到程序的顺向过程,它也存在初次开发时的那些困难,并且又增加了理解每个阶段原 有文档的困难程序在调试、可读性和可维护性等方面都有很大的改进传统软件工程方法面向的是过程,它按照数据变换的过程寻找问题的结点,对问题进 行分解。由于不同人对过程的理解不同,故面向过程的功能分割出的模块会因人而异。对 于问题世界的抽象结论,结构化方法可以用数据流图,系统结构图,数据字典,状态转移 图,实体关系图来进行系统逻辑模型的描述,生产一个最终能满足需求且达到工程目标的 软件产品所需要的步骤。 传统软件工程方法学强调以模块为中心,采用模块化,自顶向下,逐步求精设计过程, 系统是实现模块功能的函数和过程的集合,结构清晰,可读性好,是提高软件开发质量的 一种有效手段。结构化设计从系统的功能入手,按照工程标准,严格规范地将系统分解为 若干功能模块,因为系统是实现模块功能的函数和过程的集合。然而,由于用户的需要和 软硬件技术的不断发展变化,作为系统基本组成部分的功能模块很容易受到影响,局部修 改甚至会引起系统的根本性变化。开发过程前期入手快而后期频繁改动的现象比较常见。传统的软件工程方法学也存在很多的缺点,主要表现在生产效率非常底,从而 导致不能满足用户的需要,复用程度低,软件很难维护等。结构化开发方法,注重的是系统功能,自顶向下,从大到小的功能分解从DFD->MSD,往往系统需求变化最大就是功能,一段较长的时间内,商业的流程可能已经发生了很大的变化这样基于功能和过程的方法显然难以维护的代码重用率代码重用性不高:以过程为中心设计新系统,除了一些标准函数,大部分代码都必须重新编写。由于软、硬件技术的不断发展和用户需求的变化,

文档评论(0)

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

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

1亿VIP精品文档

相关文档