第十章软件重用技术.pptVIP

  1. 1、本文档共32页,可阅读全部内容。
  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文档。上传文档
查看更多
第十章软件重用技术

第十章;10.1 软件重用概述;代码的重用;  软件生产过程主要是正向过程,即软件产品从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的重用容易带动较低级别的重用,反之则不然。 重用级别越高,可得到的回报也越大,因此分析软件(Analysis Ware)和设计软件(Design Ware)的重用备受重视。;10.1.2软件重用的形式;二、基于软件重用的软件开发过程的角度分  1.生产者重用(product reuse)   指建立、获取或者重新设计可重用构件的活动。涉及到的活动包括:重用的规划、领域分析、构件的开发、构件库的组织和管理。  2.消费者重用(consumer reuse)   指使用可重用的构件建立新的系统的活动。涉及到的活动包括:应用系统的规划、构件的检索和选择、应用系统中非重用部分的开发、应用系统的组装。;;;10.2 软件构件与构件工程 ;图2;  一个软件只有在多个系统中被使用才可称为“可重用构件”,必须具备的条件:  (1)独立性   解决一个相对独立的问题,或大问题中某个相对独立的部分;  (2)完整性   提供较完整的解决,不要遗留很多缺口,让重用者做大量补充;  (3)可标识性   构件所解决的问题应该是可标识的,可命名,有简要介绍,便于理解和使用。;  一个软件只有在多个系统中被使用才可称为“可重用构件”,必须具备的条件:  (4)通用性  构件解决的问题,应在同类应用中具有一般性;  (5)适应性  应用场合有某些变化时,构件仍是可用的,使构件的某些数据参数化和数据类型参数化;  (6)可靠性  要求构件对预计将要使用它的系统时可靠的;  (7)标准化  可重用构件的标准化对于软件重用是至关重要的。;6.2.2 基于构件的软件工程 ;  领域分析是对特定应用领域中共同的特征、知 识、需求的标识、分析和规约。领域分析是特定领 域内软件重用的基础,它的目标就是:发现和挖掘 在特定领域内可以被重用的构件。领域分析活动中 输入和输出如图所示:;   领域分析(Domain Analysis)是对一类应用系统的 共同应用领域进行系统化分析,以发现该领域的共同知 识、需求及其应用系统的共同特征。 领域分析又称领域工程(Domain Engineering), 是软件工程的发展与延伸。   领域分析是一项比系统分析更难的工作。领域分 析方法可采用结构化方法和面向对象方法,而后者将 成为主流。;10.3 构件的开发与构件库 ;10.3.1 构件库;  大多数的构件分类模式可以归纳为以下三种类型: (1)枚举分类   通过定义一个层次结构来对构件进行分类。构件库中的可重用构件按照某种标准被分成了若干个大类,而每个大类中的构件再被划分成若干个小类,依此类推,这样就形成了一个构件分类的层次结构, ;(2)刻面分类   一个刻面描述构件某一个方面的特征。刻面分类则是从不同的侧面对构件进行分类,每一种分类方式称为一个刻面。不同的刻面根据其重要性可以设置不同的优先级。;刻面分类法(Faceted Classification):   支持多重观点对构件进行分类,例如从构件的应用领域、构件所描述的对象、构件的观点和编程语言等不同的方式来分类。 每一种分类方式称为一个刻面。 每个刻面把构件集合划分为一个子集,各刻面所划分的子集形成一些较小的交集。   一个构件对每个每个刻面有一个刻面值,例如: 应用领域 = 计算机绘图 对象 = 椭圆 功能 = 彩色填充, 编程语言 = C++;  检索一个构件时,给出一组刻面值,将确定一组子集合,构件应该在这些子结合的交集中,从其中确认所需的构件就比较容易。   构件可用属性描述,例如构件类型、开发单位、作者、提交日期等属性。检索时通过构件的属性可以缩小有哪些信誉好的足球投注网站范围。   刻面和属性都不涉及构件内部实现,只是为了便于构件的管理、检索和使用。如果把构件比作一只箱子,其内容如同箱子中装的东西,刻面和属性则如同箱子外边的标签。   刻面分类法可以看作层次分类法的扩充。;(3)属性-值分类   该方法首先是为构件库中的所有构件定义一组属性,并赋予相应的属性值。开发人员通过指定一组属性值在构件库中对构件进行检索。   该分类方法与刻面分类方法有几点不同之处:   属性的数量没有限制,而刻面描述一般限制在7或8个刻面;   属性没有优先级,而刻面根据其重要程度,有相应的优先级; ;  构件库中检索一个构件和在数据库中检索一个记录是不同的。   构件库检索的不确定性带来两种相互矛盾的结果:检索的结果可能是一个较大的

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档