浅析软件复用技术的应用_第1页
浅析软件复用技术的应用_第2页
浅析软件复用技术的应用_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅析软件复用技术的应用摘要:软件复用是将已有的软件及其有效成分用于构 造新的软件或系统软件,如何较好的应用软件复用技术,成 为软件工程研究中的一项重要课题。文章通过分析当今的软 件复用技术,并对其应用,尤其是在面向对象系统分析阶段 的应用进行了较详细的探讨。关键词:软件复用;面向对象;构件技术;范式抽象 中图分类号: TP311 文献标识码: A 文章编号: 1009-3044(2011)21-5163-02计算机软件学科所面临的一项重要课题:即如何解决计 算机软件中日益复杂的矛盾,满足快速有效地开发各种大型 的软件系统的需求,消除 “软件危机” 。软件复用技术是消 除“软件危机”的一种方案。

2、过去的几十年中,相关人员进 行了许多复用技术的研究,但在整体上对软件产业的影响不 尽人意。 20 世纪 90 年代以后,面向对象方法和技术的出现 及成熟,为软件复用提供了强有力的技术支持,尤其是软件 构件技术的发展,使得软件复用被视为解决”软件危机”的 一个可行的途径。本文对软件复用技术的应用,尤其是在面 向对象系统分析阶段的应用进行了研究和探讨。1 软件复用技术软件复用(Software Reuse)是将已有软件的各种有关知 识用于建立新的软件,以缩减软件开发和维护的花费。其应 用包括需求复用,架构设计复用、模块化设计复用、代码复 用、项目组织结构的复用及面向对象系统分析阶段的复用等。 而在

3、面向对象方法的开发过程中,系统分析和设计阶段是难 点,这个阶段涉及到业务逻辑方面的要求很少, 主要从对象、 模型、关系等方面考虑,因此,把软件复用技术应用于这个 阶段效果将会非常不错。2软件复用模型在面向对象系统分析(00A)阶段的应用2.1 OOA阶段的软件复用及复用模型OOA 阶段的软件复用具有通用性和重用性, 构造这个阶 段的软件复用模型,可以使复用达到更好的效果。00A阶段的软件复用模型及其主要的工作流程为:首先,在00A阶段,构造出抽象的方法、对象、关系等模型。其次,对分析出的 方法、对象、关系等模型进行进一步的抽象,构造出高度重 用的、独立的范式,它们将成为00A阶段软件复用的主要

4、研 究对象。再次,在范式库中引入智能学习系统,以及如何对 范式库进行检索,也是 OOA 阶段软件复用的一方面。2.2 范式抽象 范式是存在于某一科学论域内关于研究对象的基本意向。它可以用来界定什么应该被研究、 什么问题应该被提出、 如何对问题进行质疑以及在解释我们获得的答案时该遵循 什么样的规则。因此可以说它就是抽象的解决方案模板,可 应用于不同的项目中。范式抽象就是在上述基础上所提出的 对范式的一种设计方法。对于不同的问题域,就应该有与之 相对应的设计方法,这样才可以使范式的设计达到高度重用。 OOA 阶段有三种范式抽象方法, 其应用主要有以下几个方面:领域范式抽象及其应用 领域抽象是用于某

5、一领域的抽象问题的解决方案。在同 一个领域的项目开发过程中,一般能够总结出更多的相似性, 包括关系相似性和表面相似性,将二者相结合,可构建出与 行业有关的构件。这种构件是建立在具体领域上的一种抽象, 称为领域抽象,所构建出来的范式称为领域范式。因为这些 范式有特定领域的标识,在同一领域的开发中将达到高度的 重用性。比如在面向零售行业的POS系统的设计开发中,根据零售行业的国家标准,抽象出了在这个领域的一些范式, 从而在为不同规模的零售行业开发相同项目的过程达到了 很好的规范性和可扩展性。像对于不同规模的零售行业,销 售及其金额的结算处理过程都是一样的,因此我们就抽象出 销售及其金额的结算的处理

6、过程。关系范式抽象及其应用 现实世界的实体以及实体间的各种联系均可用关系来 表示。常用的关系操作包括查询操作和插入、删除、修改操作两大部分。 其中查询操作的表达能力最重要, 包括:选择、 投影、连接、除、并、交、差等。而在 OOA 阶段,对某一具 体的项目抽象出许多关系范式,它们不依赖于具体的项目和 业务,都是可以重用的;而在针对具体的业务时,使用者只 需稍微修改一下相关属性和方法上就可以了。 按照上述思 想抽象出来的范式就是关系抽象,而分析阶段的关系模型就 是这种抽象的依据,利用这种方法抽象出的范式可称为关系 范式。以下就是关系抽象的在学校和网络两方面的简单应用: 1)在学校的学生选课系统中

7、,要定义一个学生类,这个类 包括学生的姓名、学号、所在班级等有关学生的基本信息。 同时,为了使学生能很快查出课表,还要定义一个与学生对 应的学生课表类,该类显示学生的排课情况;2)在网上书店系统中,要定义一个买书者类,该类包括买书者的相关信 息。同时为了使买书者能够快速查询到自己所买的书本,还 需定义一个够书卡类,该类描述了买书者与所买的书本的对 应关系。在上述两个系统中,它们的具体业务虽然不同,但 它们之间的关系却是基本相同的,都是前一个实体对后面那 个实体的拥有关系,而且他们所进行的具体操作也基本相同, 都涉及到对所拥有实体的查询操作,在实际应用中还有插入、 修改、删除等操作也基本相同。

8、因此可将这种关系抽象出来, 定义为拥有关系,然后再定义与之对应的操作。最后把这种 关系就可以以范式的形式保存起来,在不同的项目中就可以 重复使用,以提高项目的开发速度。相似对象范式抽象及其应用 前面分析的是同一项目所抽象出来的范式,而在不同项 目中, OOA 阶段,对于那些相似程度非常大的对象来说,由 于它们在项目开发过程中的相对独立性,我们还会分析出大 量的相似对象或者是类,并且把这些对象模型以范式的形式 保存起来, 分析的结果在其它相关项目中可以重复使用。 按 照上述思想进行的范式抽象称为相似对象抽象。例如在所有 有关权限管理的系统中,一般都会出现像用户组、管理员、 普通用户、角色、 用户

9、权限等这类对象;又如在一些相同 领域的具体项目中,由于涉及到领域的标准化,有些对象的 相似性或者说相同性的机率会将会更大。对于这些对象模型, 我们就可以以范式的形式进行保存,以后可重复使用。以上通过对领域范式抽象、关系范式抽象、相似对象范 式抽象几种范式抽象方式的探讨,我们不难发现,OOA 阶段的软件复用主要体现在对模型和思想上的复用,是一种底层 的复用,这种复用技术不但可以提高软件的开发速度,对于 软件的规范化和标准化、行业的标准化也有着非常重要的意 义。2.3 智能学习的范式库系统及其应用 范式库可以说是所有计算机研究应用人员及相关人士 实践和经验的总结,是他们思想和智慧的结晶。范式库的构

10、 件就是我们主要的研究对象。如何保存这些范式以及构件, 将是一项非常重要的工作。因此,本文用到了智能学习的范 式库系统的概念。所谓智能学习的范式库系统,就是针对处 于 OOA 阶段的每一个项目, 直接对范式库进行查找, 可以获 取通过范式抽象的范式,如果在范式库中找到可以直接利用 的有关此范式的所有信息,就直接利用这些范式进行下一步 的分析和设计;如果找不到,系统分析人员就需要重新进行 设计和规范,同时利用智能学习系统把这些设计出的成果保 存在范式库中,以便以后使用。这个模型在通过多个项目的 分析后,可重用性将会大大提高,从而达到提高设计效率的 目的。3 总结 文章通过探讨当今的软件复用技术,并对其应用进行了 简单分析;在此基础上又提出了面向对象系统分析阶段的软 件复用模型,对其所涉及到的范式抽象做了一些探讨,并把 它们应用到各种实际项目中去,来提高项目的完成速度。另 外,对于范式库的深入研究,将成为下一步的研究课题。参考文献:1 王丽娟 .软件复用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论