第10章 软件复用技术.ppt

  1. 1、本文档共166页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 软件复用技术

第10章 软件复用技术 软件复用 软件复用早在20世纪50年代用机器语言编写程序时就开始运用。 作用:软件复用通过充分利用已有开发成果,消除包括分析、设计、编码、测试等在内的许多重复劳动,极大地提高了软件开发的效率。同时,通过复用高质量的已有开发成果,避免了重新开发可能引入的错误,由此也保证了软件的高质量。 10.1 软件复用概述 所谓软件复用是指利用已有的、对建立新系统有用的软件制品来形成新系统的活动。 目前,人们对软件复用寄予厚望,认为其有可能成为突破软件危机的一条出路。 10.1.1软件复用目的 1、缩短软件开发和维护的时间; 2、降低软件开发和维护的成本; 3、保证软件的可靠性; 4、保证软件的一致性; 5、保护投资者的利益; … 10.1.2 软件复用的类型 软件复用可以分为横向复用和纵向复用两种类型。 横向复用是指复用不同应用领域中的软件成份,如数据结构、算法、人机界面构件等。面向对象设计模式是一种典型的横向复用机制。 纵向复用是指在一类具有较多共性的应用领域之间复用软件成份。纵向复用活动的关键在于领域分析:根据应用领域的特征和相似性,预测软件成份的可复用性。一旦确认了软件成份的可复用价值,便进行开发,然后将开发得到的软件制品存入可复用构件库,供未来开发项目使用。 10.1.3 软件复用的内容 软件复用的内容,除了源程序代码外,还有许多其它软件制品,甚至特定的分析建模方法、检查技术、质量保证过程等,均可以被复用。 C.Jones定义了10种可能复用的软件制品: 项目计划、成本估计、体系结构、需求模型和规格说明、设计、源代码、用户文档和技术文档、用户界面、数据、测试用例。 10.1.4 针对复用的过程模型 10.1.5 软件复用成功实施的关键 管理者的支持; (复用影响了企业的组织结构、文化和软件技术等) 复用支持组的建立; (承担可复用软件制品的建立、获取、验证、分类和管理) 复用库的创建; (复用库用来对可复用软件制品进行分类、组织、存储和管理 ) 复用驱动的方法支持。 (一方面指导可复用制品的建立人员识别复用机会和侯选的可复用制品,并建立一个可复用制品,另一方面指导应用软件开发人员寻找可复用制品,并利用它们组装成新的应用。 ) 10.1.6 复用成熟度模型(IBM) 10.1.7 针对复用的软件项目组织 职责 创建者负责从复用者手中接受可复用制品的设计规格说明,进行可复用制品的设计、实现和质量控制,重点考虑可复用制品的可复用性。 复用者负责软件系统开发任务。 复用支持者负责可复用制品的资格确认、质量保证、分类和存储。 高层经理负责管理、组织和协调各类软件复用活动,并处理所有与复用有关的事务性工作。 10.2 领域工程 所谓领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。 领域工程则是为领域中的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用软件制品的所有活动。 作用:领域工程有助于产生具有较高可复用性的软件制品。同时,领域工程产生的领域模型和领域构架有助于针对复用的开发。 10.2.1 领域工程与应用工程的关系 在单个应用系统工程(简称应用工程)的开发过程中,软件开发人员的任务是在特定的条件下,针对一组特定的需求产生一组特定的设计和实现。 领域工程对领域中的应用系统进行分析,识别这些应用系统的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生出领域中应用系统共同具有的体系结构DSSA或生成过程。并以此为基础识别、开发和组织可复用制品。 领域工程和应用工程是相互联系的 一方面,领域工程的主要信息来源是通过应用工程得到的现有系统,包括需求规格说明、设计、实现等。 另一方面,领域工程和应用工程需要解决一些相类似的问题,如:如何获取并表示用户需求?如何设计并表示设计模型等。 领域工程要适用于一族系统,而不只是一个系统。因此,领域工程比应用工程要复杂,往往不能事先设计划好,也很难实施管理。 10.2.2领域工程过程 领域分析 (目标主要是获得领域模型 ) 领域设计 (目标是获得领域构架DSSA) 领域实现 (主要目标是定义将需求翻译到由可复制品创建的系统的机制) 10.2.3领域工程参与人员 领域专家 (任务:提供关于领域中应用系统的需求规约和实现的知识,帮助组织规范的、一致的领域字典,帮助选择样本系统作为领域工程的依据,复审领域模型、DSSA等领域工程产品,等等 ) 领域分析员 (控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中,根据现有系统、标准规范等验证领域模型的准确性和一致性,维护领域模型。 ) 领域工程参与人员 领域设计人员 (控制整个领域设计过程,根据领域模型和现有

文档评论(0)

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

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

1亿VIP精品文档

相关文档