浅析软件复用技术的应用

时间:2022-10-10 02:22:21

浅析软件复用技术的应用

摘要:软件复用是将已有的软件及其有效成分用于构造新的软件或系统软件,如何较好的应用软件复用技术,成为软件工程研究中的一项重要课题。文章通过分析当今的软件复用技术,并对其应用,尤其是在面向对象系统分析阶段的应用进行了较详细的探讨。

关键词:软件复用;面向对象;构件技术;范式抽象

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2011)21-5163-02

计算机软件学科所面临的一项重要课题:即如何解决计算机软件中日益复杂的矛盾,满足快速有效地开发各种大型的软件系统的需求,消除 “软件危机”。软件复用技术是消除“软件危机”的一种方案。过去的几十年中,相关人员进行了许多复用技术的研究,但在整体上对软件产业的影响不尽人意。20世纪90年代以后,面向对象方法和技术的出现及成熟,为软件复用提供了强有力的技术支持,尤其是软件构件技术的发展,使得软件复用被视为解决”软件危机”的一个可行的途径。本文对软件复用技术的应用,尤其是在面向对象系统分析阶段的应用进行了研究和探讨。

1 软件复用技术

软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。其应用包括需求复用,架构设计复用、模块化设计复用、代码复用、项目组织结构的复用及面向对象系统分析阶段的复用等。而在面向对象方法的开发过程中,系统分析和设计阶段是难点,这个阶段涉及到业务逻辑方面的要求很少,主要从对象、模型、关系等方面考虑,因此,把软件复用技术应用于这个阶段效果将会非常不错。

2 软件复用模型在面向对象系统分析(OOA)阶段的应用

2.1 OOA阶段的软件复用及复用模型

OOA阶段的软件复用具有通用性和重用性,构造这个阶段的软件复用模型,可以使复用达到更好的效果。OOA阶段的软件复用模型及其主要的工作流程为:首先,在OOA阶段,构造出抽象的方法、对象、关系等模型。其次,对分析出的方法、对象、关系等模型进行进一步的抽象,构造出高度重用的、独立的范式,它们将成为OOA阶段软件复用的主要研究对象。再次,在范式库中引入智能学习系统,以及如何对范式库进行检索,也是OOA阶段软件复用的一方面。

2.2 范式抽象

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

2.2.1 领域范式抽象及其应用

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

2.2.2 关系范式抽象及其应用

现实世界的实体以及实体间的各种联系均可用关系来表示。常用的关系操作包括查询操作和插入、删除、修改操作两大部分。其中查询操作的表达能力最重要,包括:选择、投影、连接、除、并、交、差等。而在OOA阶段,对某一具体的项目抽象出许多关系范式,它们不依赖于具体的项目和业务,都是可以重用的;而在针对具体的业务时,使用者只需稍微修改一下相关属性和方法上就可以了。 按照上述思想抽象出来的范式就是关系抽象,而分析阶段的关系模型就是这种抽象的依据,利用这种方法抽象出的范式可称为关系范式。以下就是关系抽象的在学校和网络两方面的简单应用:1)在学校的学生选课系统中,要定义一个学生类,这个类包括学生的姓名、学号、所在班级等有关学生的基本信息。同时,为了使学生能很快查出课表,还要定义一个与学生对应的学生课表类,该类显示学生的排课情况;2)在网上书店系统中,要定义一个买书者类,该类包括买书者的相关信息。同时为了使买书者能够快速查询到自己所买的书本,还需定义一个够书卡类,该类描述了买书者与所买的书本的对应关系。在上述两个系统中,它们的具体业务虽然不同,但它们之间的关系却是基本相同的,都是前一个实体对后面那个实体的拥有关系,而且他们所进行的具体操作也基本相同,都涉及到对所拥有实体的查询操作,在实际应用中还有插入、修改、删除等操作也基本相同。因此可将这种关系抽象出来,定义为拥有关系,然后再定义与之对应的操作。最后把这种关系就可以以范式的形式保存起来,在不同的项目中就可以重复使用,以提高项目的开发速度。

2.2.3 相似对象范式抽象及其应用

前面分析的是同一项目所抽象出来的范式,而在不同项目中,OOA阶段,对于那些相似程度非常大的对象来说,由于它们在项目开发过程中的相对独立性,我们还会分析出大量的相似对象或者是类,并且把这些对象模型以范式的形式保存起来,分析的结果在其它相关项目中可以重复使用。 按照上述思想进行的范式抽象称为相似对象抽象。例如在所有有关权限管理的系统中,一般都会出现像用户组、管理员、普通用户、角色、 用户权限等这类对象;又如在一些相同领域的具体项目中,由于涉及到领域的标准化,有些对象的相似性或者说相同性的机率会将会更大。对于这些对象模型,我们就可以以范式的形式进行保存,以后可重复使用。

以上通过对领域范式抽象、关系范式抽象、相似对象范式抽象几种范式抽象方式的探讨,我们不难发现,OOA阶段的软件复用主要体现在对模型和思想上的复用,是一种底层的复用,这种复用技术不但可以提高软件的开发速度,对于软件的规范化和标准化、行业的标准化也有着非常重要的意义。

2.3 智能学习的范式库系统及其应用

范式库可以说是所有计算机研究应用人员及相关人士实践和经验的总结,是他们思想和智慧的结晶。范式库的构件就是我们主要的研究对象。如何保存这些范式以及构件,将是一项非常重要的工作。因此,本文用到了智能学习的范式库系统的概念。所谓智能学习的范式库系统,就是针对处于OOA阶段的每一个项目,直接对范式库进行查找,可以获取通过范式抽象的范式,如果在范式库中找到可以直接利用的有关此范式的所有信息,就直接利用这些范式进行下一步的分析和设计;如果找不到,系统分析人员就需要重新进行设计和规范,同时利用智能学习系统把这些设计出的成果保存在范式库中,以便以后使用。这个模型在通过多个项目的分析后,可重用性将会大大提高,从而达到提高设计效率的目的。

3 总结

文章通过探讨当今的软件复用技术,并对其应用进行了简单分析;在此基础上又提出了面向对象系统分析阶段的软件复用模型,对其所涉及到的范式抽象做了一些探讨,并把它们应用到各种实际项目中去,来提高项目的完成速度。另外,对于范式库的深入研究,将成为下一步的研究课题。

参考文献:

[1] 王丽娟.软件复用技术及其在软件开发中的应用[J].中山大学学报论坛,2004,24(1).

[2] 王亚明,郭峰,向阳霞.软件复用模型[J].北京广播电视大学学报,2007(2).

[3] 刘春娟.浅析面向对象系统分析阶段软件复用模型[J].考试周刊,2008(24).

[4] 陈海涛.软件复用技术研究[C].2010国际信息技术与应用论坛论文集,2010.

上一篇:高职院校软件测试专业课程教学改革与实践 下一篇:应用型电子信息工程专业实践教学体系构建研究