- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SW10
软件复用的基本概念 软件复用的定义 1983年,Freeman对软件复用给出了这样的定义: “在构造新的软件系统过程中,对已存在的软件人工制品的使用技术。” 开发伴随复用,开发为了复用 软件复用的重要性 软件复用的目的是能更快、更好、成本更低地生产软件产品。 实现软件复用应解决的问题 建立支持复用的基础设施(如构件库)。 培训工程师和管理者使用复用软件。 采用促进软件复用的开发方法(如面向对象的开发方法)。 企业内部采取激励措施。 软件复用的粒度 源代码复用 在构件库检索到实用的构件,通过设置参数值,使之具有新的适应性。 由于构件经过充分的测试,其可靠性高。 但通用性、抽象性较差。 软件体系结构复用 可复用较大粒度的软件制品 因为难以抽象出简明的描述,存放体系结构的库不宜管理 应用程序生成器 用于对整个软件系统设计的复用。 自动化程度高 特定的应用程序生成器不宜构造 领域特定的软件体系结构的复用 指对特定领域中存在的一个公共体系结构及其构件的复用。要求对领域有透彻的理解才能进行领域建模。 特点:① 复用程度高 ② 前期投入大 领域工程 领域:是一组具有相似或相近软件需求的应用系统所覆盖的区域。 领域中的复用可分为:横向复用和纵向复用 横向复用:指复用不同应用领域中的软件元素,如标准函数库。 纵向复用:指具有较多公共性的应用领域之间的软件复用。 纵向复用的领域工程实施的活动: ① 实施领域分析 ② 开发可复用的构件 ③ 建立可复用构件库 实施领域分析 领域分析是在特定应用领域寻找最优复用的过程,它以公共对象、类、子集合和框架等形式进行标识,然后对它们进行分析和规约。 这个阶段的主要任务是获得“领域模型”,领域模型的需求描述为“领域需求”。 根据领域需求,领域工程师寻找领域的共性,进而确定软件的可复用构件。 领域分析的步骤: 开发可复用构件 构件应具有的特征 ⑴ 通用性 ⑵ 可变性 在建造构件时,应该提供构件的特化和调整机制。 ⑶ 易组装性 构件的组装分为同构件的组装和异构件的组装。 构件应有良好的封装性和良好的接口。 构件间应有松散的耦合度 应提供便于组装的机制 领域构件的设计框架 ⑴ 标准数据 ⑵ 标准接口协议 ⑶ 程序模板 几种流行的构件技术 ⑴ COM(Component Object Model) 组件对象模型技术 COM是Microsoft公司开发的一种构件对象模型,它提供了使用不同厂商生产的对象的规约。任何人都可以按此标准独立地开发组件和增值组件,或由若干组件组建集成软件。 几种流行的构件技术 ⑵ CORBA(Common Object Request Broker Achitecture)公共对象请求代理体系结构 CORBA是对象管理组织于1991年发布的一种基于分布对象技术的公共对象请求代理体系结构,其目的是在分布式环境下,建立一个基于对象技术的体系结构和一组规范,实现应用的集成,使组件在异构环境中可以复用、移植和互操作。 ⑶ OpenDoc开放式文档接口 OpenDoc是IBM、Apple、Novell等公司推出的关于复合文档和构件软件的标准。 ⑶ 属性-值分类 为领域中的所有构件定义一组属性,然后赋给这组属性一组值。通过属性,查找构件。 属性-值分类对可使用的属性数量没有限制,而呈面分类限定不超过7或8个。 属性-值分类中的属性没有优先级,而呈面可以区分优先级。 属性-值分类不具有同义词功能,而呈面可以查找相关的同义词。 基于构件的软件开发 CBSD改变了软件的生活方式,提高了软件生产的效率和质量 应用系统工程 ASE(Application System Engineering) 通过复用构件系统开发某个特定应用系统的构件工程。 面向对象与软件复用 面向对象技术的核心概念是“类”,而类的主要特征封装、继承和多态,都十分有利于复用。 面向对象方法对软件复用的支持 ⑴ OOA模型 OOA模型分基础模型和详细模型,基础模型体现更高层次的抽象,更容易复用。 ⑵ OOA和OOD的分工 ⑶ 对象的表示 ⑷ 一般-特殊结构 ⑸ 整体-部分结构 ⑹ 实例连接 建议用简单的二元关系表示各种复杂关系和多元关系 ⑺ 类模型模板 ⑻ 用例 复用技术对面向对象方法的支持 ⑴ 类库 人们已经开发了许多基于面向对象语言的编程类库,有利地支持了源程序级的软件复用。 ⑵ 构件库 构件库可以提炼比对象类粒度
您可能关注的文档
- 关于SDH 原理.doc
- F2205双相不锈钢焊接、热处理、金相分析_毕业设计.doc
- DH 基本原理.ppt
- CR电力调整器.ppt
- 关于SDH传输原理.pdf
- DH原理1.ppt
- 关于SDH原理第二章.doc
- 关于SDH原理及工程应用自测题.doc
- 关于SDH在电力系统的应用.doc
- 关于SDH学习.doc
- 高三生物一轮复习课件第8课时 酶和ATP.pptx
- 高三生物一轮复习课件 细胞中的元素和化合物,细胞中的无机物.pptx
- 2025年中考物理复习答题技巧与模板构建专题04热学必考的三个重点实验(解析版).docx
- 高三生物一轮复习课件:细胞核的结构和功能.pptx
- 高三生物一轮复习课件:光合作用的影响因素及其应用课件.pptx
- 高三生物一轮复习课件:细胞膜与细胞核.pptx
- 高三生物一轮复习课件蛋白质与核酸.pptx
- 高三一轮复习生物:细胞呼吸的原理和应用课件(1).pptx
- 高三生物一轮复习课件第8讲+酶和ATP.pptx
- 2.2基因在染色体上课件高一下学期生物人教版(2019)必修2 (2).pptx
文档评论(0)