- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13 软件复用软件复用和CASE技术
第13章 软件复用和CASE技术 13.1 软件复用概述 复用的概念: 直接运用以前的结果,避免重复劳动 可以将重点集中于新问题的特有部分 使人的一种自然思维方式 在现实生活中的复用 13.1 软件复用概述 软件复用定义: 利用已有的软件元素构造新的软件系统 ,从而提高开发效率及软件质量 软件元素可包括 需求规格说明、设计过程 设计规格说明、程序代码 测试用例等 软件复用的主要思想 将软件看成是不同功能部分的“软件元素”所组成的有机体 在设计每个软件元素时将其设计成可在同类软件中通用的“软件元素” 在编写新软件时就可以直接使用其他已有软件的通用“软件元素” 甚至将很多个通用“软件元素”组装起来就成为一个新软件 软件复用目的 缓解软件危机 避免重复开发 提高生产率 软件复用的发展历程 计算机早期:数学应用,如三角函数等 工具包的发展 组件:利用一个或多个工具包完成某一个应用功能 20世纪70年代中后期:为缓解软件危机,软件复用得到很快发展 现状:软件构件的发展 通过软构件集成组装得到新系统是目前的软件复用的主流 青鸟系统:基于软件构件的软件生产过程 13.1.2 软件复用的 种类、成分和意义 软件复用的种类 横向复用:复用不同应用领域中的软件元素 如: 数据结构 排序算法 C语言函数 人机界面 纵向复用:在一些有共性的应用领域之间的软件元素的复用 如各种银行贷款中的利率计算 2 软件复用的成分 可以被复用的软件成分被称为可复用构件 软件过程中各阶段的产品都可以被复用,而不只是代码的复用 产品可以如项目计划、可行性报告、需求定义、分析模型、设计模型、详细说明、源程序、测试用例等等 软件复用与共享、软件移植的区别 复用 直接使用可复用构件或恰当修改后用来构造新软件系统 共享 在一个软件系统中多次使用一个相同的软件成分 软件移植 对一个软件进行修改,使它可以运行于新的软硬件平台 2 软件复用的成分 编码件:由具体程序设计语言编制的源代码构件。 设计件:指系统体系结构和设计方案。 分析件:指系统需求规约和功能规约。 测试件:测试计划和测试案例。 复用级别 (1)代码复用 目标代码的复用: 连接(Link)、绑定(Binding) 例如:动(静)态链接库 源代码的复用 程序员可把代码段复制到自己的程序中 构件的复用:可大规模的实现源程序的复用: ? “对象链接及嵌入”(OLE)技术 复用级别(2)设计复用 1 从现有系统中提取一些可复用的设计构件,并把这些构件应用于新系统的设计 2 把一个现有系统的全部设计文档在新的软硬件平台上重新实现 框架的种类 开发系统框架:由专家产生,经开发人员封装进系统,如Microsoft Visual C++中的多文档应用框架、屏幕保护程序框架等; 行业知识框架:封装了特定行业领域知识,一经产生即可在整个行业的同类软件的开发中进行重用,如电力,电信,银行; 系统环境框架:软件体系结构层框架,如采用Client/Server或Browse/Server结构等。 复用级别(3)分析复用 比设计结果更高级别的复用 三种途径: 从现有系统的分析结果中提取可复用构件用于新系统的分析; 用一份完整的分析文档作输入产生针对不同平台的多项设计; 独立于具体应用,开发可复用分析构件。 复用级别(4)测试信息复用 ?测试用例的复用 在新的软件测试中使用 在软件作出修改时在新的一轮测试中使用。 测试过程信息 在测试过程中通过软件工具自动地记录测试的过程信息, 包括测试员的操作、输入参数、测试用例及运行环境等。 高级别的复用带动低级别的复用,复用级别越高,可得到的回报也越大 3 复用的意义 提高软件生产率,从而减少开发代价。 减少维护成本。 提高系统间的互操作性。 支持快速原型设计,支持快速有效的构建应用程序原型 减少培训开销。 13.2面向对象的软件复用 面向对象方法与软件复用的关系 OO方法的基本概念、原则与技术提供了实现软件复用的有利条件 面向对象目前流行的主要原因是其对软件复用支持很好 面向对象技术对软件复用的支持优势 OO模型比传统过程型模型更为稳定; OO构件具有更好的封装性; OO方法学表达法高度一致,支持无缝工程,可实现分析、设计、编码的一致复用。 OOA方法的对象类适合作为可复用构件,便于发现发现不同粒度的可复用构件 用面向对象的设计原理设计软构件 (1)封装性 用户可以在软构件中定义自己的事件,对于内部的复杂性调用这并不知晓,从而提高了隐蔽性。(2)重载 重载就是在同一软件构件中用同一名字来表示不同的方法名。方法参数的个数重载,方法参数的类型重载。(3)继承 继承就是高层的类在不同范围的复用。(4)聚
文档评论(0)