正在加载图片...
为了能够在软件开发过程中复用现有的软件构件,必须在此之前不断地进行可复用构件 的积累,并且将它们组织成可复用构件库。因此,软件复用不但要讨论如何检索所需的软件 构件以及如何对它们进行必要的修剪,而且还要解决如何选取可复用构件、如何组织可复用 构件库等问题 (2)软件复用的过程和意义 软件复用可以区分为横向复用和纵向复用。横向复用是复用不同应用论域中的软件元 素,例如数据结构、排序算法、人机界面构件等。标准函数库是一种典型的原始的横向复用 机制。纵向复用是在一类具有较多公共性的应用论域之间复用软件构件。由于在两个截然不 同的应用论域之间进行软件复用潜力不大,所以纵向复用受到广泛关注 纵向复用活动的主要关键点在于论域分析:根据应用论域的特征和相似性,预测软件构 件的可复用性。一旦根据论域分析确认了软件构件的可复用价值,即可进行软件构件的开发, 并对具有可复用价值的软件构件做一般化处理,使它们能够适应新的类似的应用论域。然后 将软件构件和它们的文档存入可复用构件库,成为可供未来开发项目使用的可复用资源 些步骤构成软件构件的构造活动。这是一个不断积累、不断完善软件构件的渐进过程。 随着可复用构件的不断丰富,可复用构件库的规模会不断扩大,这样,必须考虑如何组 织库的结构以保持较高的检索效率。可供选择的软件构件从库中被检索出来之后,用户还必 须理解它的功能或行为,以判定它是否真正适合于当前的应用。必要时,可考虑对某个与期 望的功能或行为匹配程度最好的可复用构件进行少量修改,甚至可将修改后的构件再加到可 复用构件库中。上述的软件复用的方法如图8.1所示 软件复用的过程可借助计算机的帮助 支持软件复用的CASE工具的主要工作是:论域知识 论域分 用某种组织形式实现可复用构件的存储,提供 友好的人机界面,帮助用户浏览、检索和修改用户需求 软件开发与 目标软件 可复用构件库,对用户感兴趣的软件构件进行 软件构件开发 解释。事实上,几乎所有的软件复用活动都是 在CASE工具的帮助下进行的 使用复用技术可以减少软件开发活动中 大量的重复性工作,这样就能够提高软件生产 效率,降低开发成本,缩短开发周期。同时 由于可复用构件大都经过严格的质量验证,并 在实际运行环境中得到检验,因此,复用软件 可复用构件库 构件有助于改善软件质量。此外,大量使用可 图81面向复用的软件开发 复用构件,软件的灵活性和标准化程度也可望 得到提高。 2.软件复用的类型 软件复用的范围不仅涉及源程序代码, Caper Jones定义了十种可能复用的软件要素: ①项目计划:软件项目计划的基本结构和许多内容(如SQA计划)都可以跨项目复用 这样可减少制定计划的时间,也可降低与建立进度表、风险分析及其他特征相关的不确定性。 ②成本估计:由于不同项目中常包含类似的功能,所以有可能在极少修改或不修改的 情况下,复用对该功能的成本估计 ③体系结构:即便应用论域千差万别,但程序和数据体系结构大同小异。因此,可以 创建一组类属的体系结构模板(例如事务处理结构),将这些模板作为可复用的涉及框架 ④需求模型和规格说明:类和对象的模型和规格说明显然可以复用。此外,用传统软2 图 8.1 面向复用的软件开发 为了能够在软件开发过程中复用现有的软件构件,必须在此之前不断地进行可复用构件 的积累,并且将它们组织成可复用构件库。因此,软件复用不但要讨论如何检索所需的软件 构件以及如何对它们进行必要的修剪,而且还要解决如何选取可复用构件、如何组织可复用 构件库等问题。 (2) 软件复用的过程和意义 软件复用可以区分为横向复用和纵向复用。横向复用是复用不同应用论域中的软件元 素,例如数据结构、排序算法、人机界面构件等。标准函数库是一种典型的原始的横向复用 机制。纵向复用是在一类具有较多公共性的应用论域之间复用软件构件。由于在两个截然不 同的应用论域之间进行软件复用潜力不大,所以纵向复用受到广泛关注。 纵向复用活动的主要关键点在于论域分析:根据应用论域的特征和相似性,预测软件构 件的可复用性。一旦根据论域分析确认了软件构件的可复用价值,即可进行软件构件的开发, 并对具有可复用价值的软件构件做一般化处理,使它们能够适应新的类似的应用论域。然后 将软件构件和它们的文档存入可复用构件库,成为可供未来开发项目使用的可复用资源。这 些步骤构成软件构件的构造活动。这是一个不断积累、不断完善软件构件的渐进过程。 随着可复用构件的不断丰富,可复用构件库的规模会不断扩大,这样,必须考虑如何组 织库的结构以保持较高的检索效率。可供选择的软件构件从库中被检索出来之后,用户还必 须理解它的功能或行为,以判定它是否真正适合于当前的应用。必要时,可考虑对某个与期 望的功能或行为匹配程度最好的可复用构件进行少量修改,甚至可将修改后的构件再加到可 复用构件库中。上述的软件复用的方法如图 8.1 所示。 软件复用的过程可借助计算机的帮助。 支持软件复用的 CASE 工具的主要工作是: 用某种组织形式实现可复用构件的存储,提供 友好的人机界面,帮助用户浏览、检索和修改 可复用构件库,对用户感兴趣的软件构件进行 解释。事实上,几乎所有的软件复用活动都是 在 CASE 工具的帮助下进行的。 使用复用技术可以减少软件开发活动中 大量的重复性工作,这样就能够提高软件生产 效率,降低开发成本,缩短开发周期。同时。 由于可复用构件大都经过严格的质量验证,并 在实际运行环境中得到检验,因此,复用软件 构件有助于改善软件质量。此外,大量使用可 复用构件,软件的灵活性和标准化程度也可望 得到提高。 2. 软件复用的类型 软件复用的范围不仅涉及源程序代码,Caper Jones 定义了十种可能复用的软件要素: ① 项目计划:软件项目计划的基本结构和许多内容(如 SQA 计划)都可以跨项目复用。 这样可减少制定计划的时间,也可降低与建立进度表、风险分析及其他特征相关的不确定性。 ② 成本估计:由于不同项目中常包含类似的功能,所以有可能在极少修改或不修改的 情况下,复用对该功能的成本估计。 ③ 体系结构:即便应用论域千差万别,但程序和数据体系结构大同小异。因此,可以 创建一组类属的体系结构模板(例如事务处理结构),将这些模板作为可复用的涉及框架。 ④ 需求模型和规格说明:类和对象的模型和规格说明显然可以复用。此外,用传统软 论域知识 论域分析 软件开发与 软件构件开发 用户需求 目标软件 理 解 检 索 确 认 可复用构件库
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有