软件工程第七章复习资料.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 软件复用 一、复习要求 1. 了解软件复用的概念、过程和意义。 2. 了解软件复用的类型、复用的目标和内容。 3. 了解针对复用的过程模型和论域工程。 4. 了解可复用构件的构造原则和质量标准。 5. 了解可复用构件库的组织,包括可复用构件的3C模型。 6. 了解软件的分层式体系结构。 7. 了解软件构件的复用过程(包括构件的检索与提取、理解与评价和修改) 8. 了解面向对象的软件复用技术 9. 了解支持软件复用的CASE工具需求 二、内容提要 1. 软件复用的概念、过程和意义 (1) 软件复用的概念 对建立软件目标系统而言,所谓复用(Reuse),就是利用某些早先开发的对建立新软件系统有用的软件元素来生产新系统。它是一项活动,而不是一个对象。这里所说的软件元素可以包括需求规格说明、设计过程、设计规格说明、程序代码、测试用例、度量等等。对于新的软件开发项目而言,它们或者是构成新软件系统的构件,或者是在软件开发过程中发挥某种作用。通常将这些软件元素称为可复用构件。 早在50年代用机器语言编写程序的时期,计算正弦、余弦、对数等的标准子程序包就开创了复用的先河。到70年代的早期,在语言、数据结构、操作系统、程序变换等方面各种技术的发展,都与代码的复用有关。当时,复用的应用领域有限,软件的复用问题没有提到很重要的位置上来讨论。70年代的中期和后期开始,为了缓解软件危机,许多人寄希望于软件复用技术,因为在提高软件生产率与质量,以及减少软件开发时间和成本的努力中软件复用已经成了关键因素。当前,美、日一些大公司的资料表明,软件复用率最高可望达到90%,而且软件复用使得企业在及时满足市场、软件质量、软件开发费用和维护费用等方面得到显著的改进。 为了保证软件的复用,需要注意解决的问题主要有: ( 复用必须以对被复用对象的理解为基础; ( 如何表达对软件构件的需求; ( 如何寻找有关的软件构件; ( 如何识别是否满足要求; ( 如何调整或修改构件使之满足要求; ( 如何组装到新系统中; ( 如何保证结果的正确性; ( 如何进行效益的定量估算。只有当复用能带来效益时人们才会考虑复用。 为了能够在软件开发过程中复用现有的软件构件,必须在此之前不断地进行可复用构件的积累,并且将它们组织成可复用构件库。因此,软件复用不但要讨论如何检索所需的软件构件以及如何对它们进行必要的修剪,而且还要解决如何选取可复用构件、如何组织可复用构件库等问题。 (2) 软件复用的过程和意义 软件复用可以区分为横向复用和纵向复用。横向复用是复用不同应用论域中的软件元素,例如数据结构、排序算法、人机界面构件等。标准函数库是一种典型的原始的横向复用机制。纵向复用是在一类具有较多公共性的应用论域之间复用软件构件。由于在两个截然不同的应用论域之间进行软件复用潜力不大,所以纵向复用受到广泛关注。 纵向复用活动的主要关键点在于论域分析:根据应用论域的特征和相似性,预测软件构件的可复用性。一旦根据论域分析确认了软件构件的可复用价值,即可进行软件构件的开发,并对具有可复用价值的软件构件做一般化处理,使它们能够适应新的类似的应用论域。然后将软件构件和它们的文档存入可复用构件库,成为可供未来开发项目使用的可复用资源。这些步骤构成软件构件的构造活动。这是一个不断积累、不断完善软件构件的渐进过程。 随着可复用构件的不断丰富,可复用构件库的规模会不断扩大,这样,必须考虑如何组织库的结构以保持较高的检索效率。可供选择的软件构件从库中被检索出来之后,用户还必须理解它的功能或行为,以判定它是否真正适合于当前的应用。必要时,可考虑对某个与期望的功能或行为匹配程度最好的可复用构件进行少量修改,甚至可将修改后的构件再加到可复用构件库中。上述的软件复用的方法如图8.1所示。 软件复用的过程可借助计算机的帮助。支持软件复用的CASE 工具的主要工作是:用某种组织形式实现可复用构件的存储,提供友好的人机界面,帮助用户浏览、检索和修改可复用构件库,对用户感兴趣的软件构件进行解释。事实上,几乎所有的软件复用活动都是在CASE工具的帮助下进行的。 使用复用技术可以减少软件开发活动中大量的重复性工作,这样就能够提高软件生产效率,降低开发成本,缩短开发周期。同时。由于可复用构件大都经过严格的质量验证,并在实际运行环境中得到检验,因此,复用软件构件有助于改善软件质量。此外,大量使用可复用构件,软件的灵活性和标准化程度也可望得到提高。 2. 软件复用的类型 软件复用的范围不仅涉及源程序代码,Caper Jones定义了十种可能复用的软件要素: ① 项目计划:软件项目计划的基本结构和许多内容(如SQA计划)都可以跨项目复用。这样可减少制定计划的时间,也可降低与建立进度表、风险分析及其他特征相关的不确定性。 ② 成本估计:由于不同项

文档评论(0)

精华文档888 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档