3.2.1 范式抽象 所谓范式就是抽象的解决方案模板,它可在不同具体项目中使用。范式抽象就是在此基础上提出的对范式的设计方法。针对不同的问题域,就应该有与之对应的设计方法,这样可以使范式的设计达到很高的重用性。针对ooa阶段具体现状,有三种范式抽象方法: (1) 关系抽象 在ooa阶段,针对具体的项目,会分析出大量的关系模型。例如在学校排课表系统中, 需要定义教师类,它包括教师姓名、性别、职称等有关教师的基本信息,同时,为了便于教师很快得出自己的上课表,还需要定义一个与教师对应的教师课表类,这个类显示了一周中教师的课程安排情况;在网上购物系统中,需要定义一个购物者类,包括了购物者的相关信息,同时为了得到购物者所购的物品,还需定义一个购物车类,该类描述了购物者与所购买的物品的对应关系。这两个系统的具体业务是不同的,但教师类与教师课表类、购物者类与购物车类的关系却是基本相同的,都是一个实体对另一个实体的拥有关系,同样,所进行的操作也基本相同,诸如都涉及到对所拥有实体的查询操作等。因此可将这种关系抽象出来,定义为拥有关系,然后在此关系的基础上定义相应的操作。这种关系就可以以范式的形式保存起来,在不同的项目中都可重用这种范式。同样,还可抽象出许多其他的关系范式,如实体——内容关系,上下级关系等。这些关系都是不依赖于具体的项目和业务的,可重复使用,只是在针对具体的业务时,在相关属性和方法上稍作修改就可以了。 按照上述思想进行的范式抽象就可称为关系抽象,这种抽象依据的就是分析阶段的关系模型,抽象出的范式可称为关系范式。这种范式与具体项目之间的相似程度可以叫做关系相似性,关系相似性越高,重用的程度就越大。 (2) 相似对象抽象 在不同项目的ooa阶段,还会分析出大量的相似对象或类,例如用户、用户组、角色、 权限等在所有涉及到权限管理的系统中都会出现这类对象;在一些相同领域的项目中,由于涉及的领域的标准化,有些对象的相似性以及相同的机率会更大。对于这些相似程度如此大的对象来说,由于其在项目开发中的相对独立性,把这些对象模型以范式的形式保存起来会使分析的结果得到更大的重用。 按照上述思想进行的范式抽象称为相似对象抽象,这种抽象依据的是分析阶段的对象模型,这种对象模型具有独立的、高度的相似性,抽象出来的范式可称为对象范式。这种范式与具体项目之间的相似可称为表面相似性。表面相似越接近,范式的重用性就越大。 (3) 领域抽象 所谓领域抽象是用于某一领域的抽象问题的解决方案。在同一个领域的项目开发过程中 往往能够总结出更多的相似性,包括关系相似性和表面相似性,将二者相结合,可构建出与行业有关的构件。这种构件是建立在具体领域上的一种抽象,称为领域抽象。领域抽象的过程可借助领域工程的知识和方法。其中在ooa阶段主要用到了领域分析的方法。所谓领域分析是被称为领域工程更大的学科中的第一项技术活动。当业务、系统或产品域被定义为长期的业务策略,则可以展开持续的创建强健的可复用库的工作,其目标是能够在领域中以非常高的可复用构件率来创建软件。领域分析在领域抽象过程的作用是从ooa得出的对象、关系、行为模型的抽象出与领域相关的领域范式,其中包括关系范式、相似对象范式和处理过程范式等。这些范式与前面提到的范式唯一不同就是有了特定领域的标识,这在同一领域的开发中将达到高度的重用性。 本文在为面向电力行业的pdm系统的设计开发中,根据电力行业的国家标准,抽象出了在这个领域的一些范式,从而在为不同级别的设计院开发相同项目的过程达到了很好的规范性和可扩展性。例如对于不同级别的设计院,三级校审的处理过程都是一样的,因此我们就抽象出校审范式来规范三级校审的处理过程。另外,不管哪个级别的设计院,总工所对应的操作都是相同的,都包括组织力量、专业间会签、校审等,这可以抽象出总工范式,从而规范定义与总工相关的操作。 通过对上面几种范式抽象方式的探讨,我们发现ooa阶段的软件复用主要体现在从模型和思想上的复用,是一种底层的复用,这种复用对于软件的规范和标准化、行业的标准化都有重要的意义。 3.2.2智能的范式库系统 在ooa阶段软件复用模型中,对于范式库的构件也是主要的研究对象。范式库可以说是系统分析师们实践和经验的总结,是思想和智慧的结晶,对于这些成果的保存是极为重要的。对于这个问题的解决,本文提出了智能学习范式库的概念。所谓智能范式库,就是在对每一个项目的ooa阶段,通过范式抽象获取的范式可以直接通过范式库进行查找,如果找到可以直接利用范式库中有关此范式的所有信息进行下阶段的设计;如果找不到,系统分析人员就要重新进行设计,同时把设计出的成果保存在范式库中去。通过这个模型在通过多个项目的分析后,可重用性将大大提高,从而提高设计的效率。 4、总结 本文通过对软件复用技术的分析,提出了一种面向对象系统分析阶段软件复用的模型, 并对此模型中所涉及到范式抽象方法做了探讨,并把它们应用于具体的项目中去,从而很好地利用的设计思想,大大提高了项目的完成速度。另外,对于范式库的研究也为建立在高层上的软件复用库管理提出了新的研究课题:例如对于编码阶段复用构件库的检索条件也可以扩展为以范式为索引的检索等。这些都成为下一步的研究课题。 参 考 文 献 [1] roger s.pressman 著.黄柏素 梅宏 译.软件工程实践者的研究方法[m].北京:机械工业出版社,1999. [2] 黄靖,赵海光.软件复用,软件合成与软件集成[j].计算机应用研究,2004年 [3] 王丽娟.软件复用技术及其在软件开发中的应用[j].中山大学学报论坛,2004年第24卷第1期. [4] 段小君,高金环.软件复用与面向对象技术[j].西安邮电学院学报,2004年第9卷第2期. [5] 许天兵.一种面向对象的软件复用框架[j].微型电脑应用,2001年第17卷第10期.