网站大量收购独家精品文档,联系QQ:2885784924

管理信息系统刘第7章面向对象软件工程的概念.pptxVIP

管理信息系统刘第7章面向对象软件工程的概念.pptx

  1. 1、本文档共59页,可阅读全部内容。
  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文档。上传文档
查看更多
第7章 面向对象软件工程的概念;7.1传统软件开发方法的局限性;软件结构稳定性差。需求分析阶段重点是功能模型,难以彻底明确全部需求。设计阶段的软件体系结构是基于系统功能建立的。每个模块完成一个基本功能,多个模块的组合完成一个整体功能。一个模块的变动可能会影响到多个模块。用户的需求大多针对功能,功能的变化会引起体系结构的变化,不利于系统的维护。 软件开发的抽象力度小。解决问题的类型一般用于“输入-处理-输出”为核心的数据处理系统,不适应于复杂的实时、交互、事件驱动、分布式等新型应用的系统开发。 软件重用未能得到很好的解决。传统的方法一般从“零”开始开发软件,数据与操作作为相互分离的实 体来考虑,使软件的可复用性差。重用的实施仅仅是公 用模块的调用。面向对象的封装性、继承性、多态性等 特性支持软件重用且重用的粒度大。软件的重用导致更 快地、高质量地开发软件,为软件工业化生产奠定基础。;l过程1;传统方法与面向对象方法的比 较;7.2 面向对象的过程模型;该模型每次迭代都要计划、工程和评估。每个计划都要调整进度以适应和本次迭代相关的变化。早期阶段迭代进行的分析与设计工作为了分离出OO模型 中的所有重要元素;当工程工作不断进展时,产生软件的增量版本;在评估阶段对每个增量的评估其反馈将影响下一次计划活动及后续增量。 2、RUP 98年6月推出,该过程强调了开发方法的统一、建模语言的统一、研究成果的统一。该过程是基于构件的,即所构造的系统是由软件构件通过明确定义的接口相互连接所建造起来的。它使用UML来制定软 件系统的所有蓝图。RUP的主要特点: (1)用例驱动 用例作为系统分析、设计、实现和测试的基本输入。;即用例不只是一种确定系统需求的工具,它还能驱动系统的设计、实现和测试的进行。 基于用例模型,开发人员可以创建一系列实现这些用例的设计模型和实现模型。开发人员可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现以确定实现模型的构件是否实现了用例。所以用例启动了开发过程,还使开发过程结合为一体。开发过程是沿着???系列从用例得到的工作流前进的。;下图显示了用例模型与其他模型之间的相关性:;(2)以构架(Architecture)为中心;3、迭代与增量的过程 迭代指工作流中的步骤,增量指产品中增加的部分。 迭代过程要处理一组用例,这组用例合起来能扩展所开发产品的可用性,后续的迭代过程建立在前一次迭代过程末期所开发的产品上。 构架提供了一种结构来指导迭代过程中的工作,用例则确定了目标并驱动每次迭代的工作。——三条腿的凳子! 4、基于构件 统一过程所构造的软件系统,是由软件构件通过明确定义的接口相互连接所建造起来的。 5、使用UML 统一过程使用UML来制定软件系统的所有蓝图, UML是整个统一过程的一个完整部分,他们是共同发展起来的,它强调创建和维护模型。;6、过程可剪裁 用统一过程开发软件时,各阶段应该有多长? 各个阶段迭代多少次是合适的?候选构架可以在哪一 点完全建立起来?这些问题的答案取决于系统的规模、项目的性质、开发组织的领域经验,甚至包括相关人 员有效配合程度。总之,统一过程是一个框架,可以 根据具体情况加以裁剪,以此来适应各种各样的开发 过程。;7.3 面向对象的概念;类(class) 是具有相同属性和相同操作的对象的抽象。通常用类名、类的属性、类的操作三方面的内容来定意一个类。一个具体对象是类的一个实例。 消息(message) 是一个对象发送给另一个对象的操作请求。消息一般由三部分组成:对象名、消息名、参数。消息传递是对象与外部世界相互通信的唯一途径。 方法(method) 是对象操作的实现,描述了对象中操作的算法和响应消息的方式。;(5)继承(inheritance) 是子类自动的共享其父类中定义的属性和操作的机制,该机制构成了类的层次结构。较高层的父类 称为基类、超类、一般类。子类称为派生类、特殊 类。子类除了继承父类的特征,还可有自己的特征。继承有传递性,子类能继承上层的全部特征。 继承性使得相似的对象可以共享程序代码和数据结构,从而简化了创建类及对象的工作量,基类解决一般性问题,派生类解决特殊问题,提高了软件的可重用性。继承性还使得软件便于维护,当需要扩充软件原有功能时,从要修改的类中派生出一个子类,在该子类中添加新的代码。;(6)多态(polymorphism) 指在类的不同层次上可以使用相同的操作名。同一操作名可有不同的实现方式,运行时可动态地选择哪一个算法。 多态性增加了软件的灵活性,可扩充性,通用功能的操作放在高层,不同地实现这一功能的行为放在低层,以实现不同的相应。;7.4 几种面向对象方法;微开发过程:定义一组分析任务,包括标识类和对象以及类和对象的语义、定义类和对象间的关系、描述类和对象的动态

您可能关注的文档

文档评论(0)

碎银几两催人老 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档