软件工程导论(下).ppt

  1. 1、本文档共418页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
各类维护所占比例: 各类维护活动的根本目的是 延长软件生存期 软件再工程过程模型 再工程的同义词: 改进 更新 整修 再开发工程 再生 复用工程 逆向工程 逆向工程恢复信息的级别: 再工程信息库及其产品 自动进行再工程的过程 变换是再工程的核心活动。 再工程是在同一类视图或前一类视图上把一个软件视图的信息变换成另一视图的信息。 变换也是逆向工程和设计恢复的基础。 逆向工程与再工程十分相似,只是两者的原始视图和目标视图不同,它的目标视图一般在前类视图中。 源代码 ? 结构图,既可看作是再工程,也可看作是逆向工程。 源代码 ? 重构源代码 则是再工程或称重构,并不是逆向工程。 软件再工程技术 1. 改进软件 1. 改进软件 1. 改进软件 2. 理解软件 3.获取、保存和扩充软件的知识 再工程可帮助降低软件演化风险 再工程可帮助补偿软件投资 再工程可使得软件易于进一步变更 再工程有广阔市场 再工程扩大了CASE工具集 再工程是推动自动软件维护的动力 第10章 面向对象方法 对象(object) 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 对象具有的含义: 在现实世界中: 是客观世界中的一个实体 在面向对象程序中: 表达成计算机可理解、可操纵、具有一 定属性和行为的对象 在计算机世界中: 是一个可标识的存储区域 面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。 类(class) 具有共同属性和行为的对象的抽象 类与对象的关系 类是对象的抽象 对象是类的实例 对象、实体与类 封装 封装是软件开发方法的重要原则,有两个涵义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。 尽可能隐蔽对象的内部细节 (信息隐蔽) 传统方法和面向对象方法的比较 继承 (继承性inheritance) 继承性是父类和子类之间共享数据和方法的机制 继承性具有传递性 继承性包括单继承和多重继承 继承性作用 使软件系统具有开放性 更好地进行抽象与分类 增强代码的重用率 多态(多态性polymorphism) 不同的对象收到同一消息可产生完全 不同的结果,这一现象叫做多态 多态的效果 ? 用户发送一个通用的消息,而实现 的细节则由接收对象自行决定 多态性的作用 增强了操作的透明性,可理解性和可扩展性 增强了软件的灵活性和重用性 消息(message) 消息 ? 对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明 消息内容 ? 通常包含接收方及请求接收方完成的功能信息 发送方 ? 发出消息,请求接收方响应 接收方 ? 收到消息后,经过解释,激活方法,予以响应 为什么对面向对象方法感兴趣? 面向对象方法的主要优点: 自然性 追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。 软件复用 可复用性(可重用性) reusebility 可扩展性 可管理性 可复用性(可重用性) 面向对象技术允许复用的不仅仅是 代码, 通过面向对象技术, 我们可以复 用需求、分析、设计、测试计划、用户 界面以及体系结构等等, 事实上, 软件 工程生存期中的每个部分都可以复用。 传统系统分析:面向功能 ,把系统看成 一组功能 OOA: 把问题当作一组相互作用 的实体,并确定实体间关系 面向对象技术是一个有全新概念的 开发模式,其特点是: (1)方法是对软件开发过程所有阶段进 行综合考虑而得到的; (2)从生存期的一个阶段到下一个阶段 所使用的方法与技术具有高度的连 续性; (3)将OOA、OOD、OOP集成到生存 期的相应阶段. OO方法的开发过程 OO方法改进了在生存期各个阶段间的界面,因为生存期各个阶段开发出来的“部件”都是类,在面向对象生存期的各个阶段对各个类的信息进行细化,类成为分析、设计和实现的基本单元。 类的生存期模型 类的设计与实现 类的规格说明指导对存放现存类的软件库进行查找 现存类提供当前应用所需功能 三种可能利用现存类的方向: ? 现存类的复用 ? 从现存类进行演变 ? 从废弃类进行开发 对象之间的联系与对象模型 面向对象方法开发软件 通常建立的三种形式的模型 描述系统数据结构的对象模型 描述系统控制结构的动态模型

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档