- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国防科技大学计算机学院 软件工程 Software Engineering 国防科技大学计算机学院 2004.07 第十七章 软件重用技术 在软件开发过程中,尽可能重用已有的软件元素(包括源程序模块,设计文档,需求文档,测试方案与用例等),这样将有助于加快开发进度,提高软件生产率,同时也有利于提高软件质量。 事实上,众所周知的标准函数库即为这种思想的朴素体现。 软件重用希望在此基础上跨越一步:软部件库中所有部件的功能或行为将更为丰富、灵活,但库的组织和检索方法也随之复杂化,因而需要建立相配套的软部件生产和组装机制。 软件重用技术 为了实现软件重用的基本目标,软部件库必须提供许多有重用价值的软部件,并且这些软部件的功能或行为不能象函数库的标准函数那样刻板、单调,而应表现出可适应不同软件开发项目的灵活性。 但是,当有许多灵活、可变的软部件可用时,寻找、选择并理解适用的软部件就非常困难。 17.1 软件重用 17.1.1 软件重用的概念 软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。 软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。 对于新的软件开发项目而言,它们或者是构成整个目标软件系统的部件,或者在软件开发过程中发挥某种作用。通常将这些软件元素称为软部件。 为了能够在软件开发过程中重用现有的软部件,必须在此之前不断地进行软部件的积累,并将它们组织成软部件库。 17.1.2 软件重用的过程与意义 按照重用活动是否跨越相似性较少的多个应用领域,软件重用可区别为横向和纵向重用。 横向重用是指重用不同应用领域中的软件元素,例如数据结构、分类算法、人机界面构件等。 纵向重用是指在一类具有较多公共性的应用领域之间进行软部件重用。 因为在两个截然不同的应用领域之间实施软件重用的潜力不大,所以纵向重用才广受瞩目,并成为软件重用技术的真正希望所在。 不难理解,纵向重用活动的主要关键点即是域分析:根据应用领域的特征及相似性预测软部件的可重用性。 软件重用的过程 一旦根据域分析确认了软部件的重用价值,即可进行软部件的开发,并对具有重用价值的软部件进行一般化以便它们能够适应新的类似的应用领域。 然后,软部件及其文档即可进入软部件库,成为可供后续开发项目使用的可重用资源。 这些步骤构成软部件的构造活动。显然,它是一个软部件不断积累、不断完善的渐进过程。 软件重用的过程 随着软部件的不断丰富,软部件库的规模会不断扩大,因此,库的组织结构将直接影响软部件的检索效率,特别是当检索手段并不局限于标准函数库所采用的简单名字匹配方法时。 可供候选的软部件从库中被检索出来以后,用户还必须理解其功能或行为以判别它是否真正适应于当前项目。 必要时可考虑对某个与期望的功能/行为匹配程度最佳的软部件进行稍许修改,甚至可以将修改后的软部件加进软部件库以替代原有软部件。 面向重用的软件开发 软件重用CASE工具 显然,软件重用过程可借助计算机的帮助。 支持软件重用的CASE工具的主要任务是,用某种组织结构实现软部件库的存储,提供友好的人机界面帮助用户浏览、检索和修改软部件库,并且对用户感兴趣的软部件进行解释。 事实上,现在几乎所有的软件重用活动都是在CASE工具的帮助下进行的。 软件重用的意义 使用重用技术可以减少软件开发活动中大量的重复性工作,这样就能够提高软件生产率,降低开发成本,缩短开发周期。 同时,由于软部件大都经过严格的质量认证,并在实际运行环境中得到检验,因此,重用软部件有助于改善软件质量。 此外,大量使用软部件,软件的灵活性和标准化程度也可望得到提高。 17.1.3 重用项目的管理 在软部件的积累过程中,软件开发人员必须在不能立即获得经济效益的情况下进行软部件的筛选、开发,不断地进行软部件库的维护。 由于希望软部件具有跨越多个软件项目甚至跨越多个应用领域的适应能力,同时要求它们达到较其他软件元素更为苛刻的质量标准,因此,开发软部件需要花费一定的经济代价与人力耗费。 这可能还会引发软件开发人员在心理上自觉或不自觉的抵触情绪,进而对软件重用的目标造成危害。 这些问题是软件重用对传统的软件项目管理模式提出的挑战,其解决方案涉及项目管理机构、管理手段,经济和心理因素等方面。 17.2 软部件库的构造 本节讨论软部件库的构造技术,内容包括: 基于域分析的软部件选取, 软部件的开发与质量控制, 软部件库的组织方法。 17.2.1 域分析 从软件工程的观点看,域就是向目标软件系统提出应用需求的问题及其背景知识。 域分析的主要任务是针对单个或一族相似的域,以软件重用为目标,探寻并挖掘域或域族中能够为多 个目标软件系统共用的软部件,并对它们进行结构化组织
文档评论(0)