第6讲 面向对象分析与设计.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  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文档。上传文档
查看更多
第6讲 面向对象分析与设计

第六讲 面向对象的分析与设计、UML建模语言 大连海事大学计算机学院信息系统研究所 蒋 波 引言 面向对象方法也是软件工程的重要研究内容。尽管传统的生命周期方法学曾经促进了软件的发展,部分地缓解了软件危机,但是由于她自身存在着比较明显的缺点,因此没有从根本上解决软件危机的问题。面向对象的方法学问世后,给软件的发展带来了一片光明。 传统方法学的缺点 1.1 存在的问题 软件生产率低下,不能满足软件发展的需求 生命周期方法学强调需求分析的重要性,强调在每个阶段结束之前必须进行评审,从而提高了软件开发的成功率,减少了重大返工的次数;开发过程中实行严格的质量管理,采用先进的技术方法(主要是结构分析、设计、编程技术)和软件工具,也都加快了软件开发的速度。采用生命周期方法学确实提高了许多软件的开发效率,但是,实践表明,现在开发软件的效率仍然很低,软件生产率增长的速度远远低于社会对计算机软件需要量的增长速度。从用户提出要求到用户最终得到所需要的目标系统,往往需要经过几年甚至更长的延迟时间,而且随着计算机的推广应用,这种供求之间的不平衡越来越严重,因此,必须寻求新的软件开发方法。 软件可重用程度低 重用也称为再用或复用,是指同一事物不经修改或稍加改动就可以多次重复使用。显然,软件重用是节约人力,提高软件生产率的重要途径。结构分析、结构设计和结构程序设计(简写为SA-SD-SP)技术,虽然给软件产业带来了巨大进步,但却没能很好地解决软件重用问题。 虽然一些标准程序库在一定程度上可以提高软件的可重用性,减轻人们开发软件的工作量,但是,这种标准程序的数量是受限的,由于软件系统的多样性,使得几乎每次开发一个新的软件系统,都要针对其具体的要求作大量重复而又繁琐的工作。也就是说,按照传统的SA-SD-SP技术开发软件时,思维成果的可重用性很差。 软件仍然很难维护 传统的生命周期方法学强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成;在软件开发整个过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要质量指标。因此,对这样的软件所进行的维护属于结构化维护的范畴,可维护性有比较明显的提高,软件从不能维护变成基本上可以维护。但是,实践表明,即使是用生命周期方法学开发出的软件,维护起来仍然相当困难,软件维护成本仍然很高。统计数字表明,软件维护的生产率比软件开发的生产率低几十倍。 用户需求的不断变化导致软件很难满足用户需求 用传统方法开发涉及多种不同领域知识的大型软件系统,或开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往很难真正满足用户的需要。主要有以下两种表现:一种是开发人员不能完全获得或不能彻底理解用户的需求,以致开发出的软件系统与用户预期的系统不一致,不能满足用户的需要;另一种表现是,所开发出的系统不能适应用户需求经常变化的情况,系统的稳定性和可扩充性不能满足要求。 1.2 传统方法学的缺陷: ① 僵化的瀑布模型 传统的生命周期方法学可用瀑布模型来模拟,瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。生命周期方法学特别强调预先定义需求的重要性,即软件开发前,必须通过需求分析预先确定软件需求,然后再逐步实现这些需求。但是,在系统建立之前,往往很难仅仅依靠分析就确定出一套完整、准确、一致、有效的用户需求。这种预先定义需求的方法也不适应用户需求的不断变化。因这是因为: 用户需求可能是模糊的; 项目参与者之间存在通信鸿沟(领域专家不懂计算机技术,系统分析员不熟悉领域知识,他们之间很难通信,而文档只是一种静态的通信工具,不能反映动态的变化要求); 用户需求是变化发展的(开发周期长,开发初期的需求在开发结束时已有很大的改变,甚至是互相矛盾); ② 结构化技术有其自身固定的缺点 生命周期方法学使用的基本技术是结构分析和结构设计技术,同时,结构分析和结构设计技术也是建立在系统生命周期的概念基础之上的。结构分析和结构设计技术虽然有许多优点,但也有比较明显的缺点。用这种技术开发出的软件,其稳定性、可修改性和可重用性都比较差。 结构分析、设计技术的本质是功能分解,也就是说,从代表目标系统整体功能的单个处理着手,自顶向下不断地把复杂的处理分解为子处理,当所分解出的子处理已经很简单且其功能显而易见时,就停止这种分解,并用IPO图(表)、PDL语言,判定表(树)或其他工具来表示各个最低层处理的处理描述。 从上面的分析可以看出,结构分析和结构设计技术是围绕实现处理功能的“过程”来构造系统的。但是,用户的需求变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的,用这种技术设计出的系统结构常常是不稳定的。用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。 结构分析

文档评论(0)

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

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

1亿VIP精品文档

相关文档