您当前的位置:首页 > 计算机论文>信息管理论文

面向对象系统分析阶段软件复用模型研究

2015-07-04 09:22 来源:学术参考网 作者:未知
摘 要 软件复用技术在软件开发过程中发挥着越来越重要的作用。如何更好的应用软件复用技术,成为软件工程研究中的一项重要课题。文章通过总结分析当今的软件复用技术,提出了系统分析阶段的软件复用,在此基础上提出了一种复用模型,并对此模型进行了较详细的探讨。 关键词 ooa阶段,软件复用,范式抽象,智能学习,范式库 1、引言 计算机软件作为一门学科得到了迅速发展,相关技术和方法层出不穷,研究领域不断深入和发展,计算机的应用范围也得到了很大程度的普及,人们对软件系统的需求急剧上升,随之而来的软件规模越来越大,开发费用越来越高,开发的质量和效率不断降低的问题日益严重,如何解决这些日益复杂的矛盾,满足高质量、高效率地开发各种各样日趋复杂、大型的软件系统的需求,消除所谓的“软件危机”,成为计算机软件学科所面临的重要课题。软件复用技术的提出成为消除这种危机的一种解决方案。近年来,特别是20世纪90年代以后,面向对象方法和技术成为主流的软件开发技术,使得软件复用被视为解决软件危机一条现实可行的途径。与此同时,模型构件技术、分布式系统、领域工程、自动生成技术又为软件复用注入了新的活力,本文对面向对象系统分析阶段软件复用模型进行了研究和探讨。 2、软件复用 软件复用的概念是在1968年nato软件工程会议上被第一次引入的,在其后的几十年中,进行了许多复用技术的研究和实践活动,但因技术和非技术方面的种种因素,造成复用技术在整体上对软件产业的影响不尽人意。wWw.133229.COM面向对象方法和技术的出现及成熟,为软件复用提供了强有力的技术支持,尤其是软件构件技术的发展为其注入了新的活力,使得软件复用研究重新成为热点,被视为解决软件危机、提高软件生产效率和质量的一个现实可行的途径,同时也成为了避免软件开发中重复劳动的解决方案,并在一定程度上降低了软件开发的费用。目前,软件复用技术主要从两个方面来考虑:产品复用、过程复用。 产品复用:所谓产品复用是指复用已有的软件产品。目前基于构件的和面向服务的软件开发模式就是建立在这种软件复用的基础上的。这两种开发模式主要通过对现有的构件和服务进行合成或集成,从而生成所需要软件的过程。产品的复用是目前软件复用技术研究的焦点,在这个复用的过程中涉及到的关键技术是构件技术和软件架构技术,在成熟的构件和架构的技术上,可以使产品复用达到良好的效果。 过程复用:过程复用也可叫做功能的复用,指的是复用已有的软件开发过程。这种复用不像产品复用那样完全利用成熟的产品进行组合,而是挖掘不同功能在实现过程中相似的地方,总结出这种相似性,归结为过程,从而完成对软件的复用。目前,这种复用技术使用自动生成技术是软件复用达到很好的效果。不过,这种复用技术只能局限于特殊的应用领域。 综上所述,这两个方面的软件复用都是在项目的设计开发阶段进行的复用活动,可以把它们归结为编码的复用。这个阶段的复用涉及到了项目的具体设计和实现细节,因此在复用的过程中与具体的业务逻辑密切相关,可以说这个阶段的复用是一种建立在高层上的复用,而基于底层的模型和思想的复用的研究对软件复用技术的应用提出了新的挑战。纵观面向对象方法开发过程,系统分析和设计阶段是难点,同时也是软件开发过程中初始的和原型的阶段,这个阶段很少涉及到业务逻辑方面的要求,而主要从对象、模型、关系等方面的考虑,把软件复用技术应用于这个阶段将对软件复用是一个极大的改进。 3、面向对象系统分析(ooa)阶段软件复用模型 3.1 ooa阶段可重用性的本质 编程阶段不同类型的编程软件和类有不同深度的可重用性:高深度、中深度、低深度。 所谓高深度重用是指在不进行任何改变就可以直接使用重用产品的重用,像可视化开发工具中的所有控件,就属于这方面的重用;目前,面向服务的软件开发技术中对服务的重用,只要程序员获得服务者提供的接口,就可以直接使用别人开发的产品,这种复用也是高深度的复用技术,因此高深度的软件复用,可重用性最好;所谓中深度的重用,程序员可以根据自己的开发经验,开发出一些比较通用的组件,在具体的使用中,对这些通用的组件只要稍作修改就可以应用于具体的项目中去,这种复用可重用性较好。当然,对于低深度的可重用性就于具体的项目相关,它只能局限于该项目,可重用性最差。由此可见,可重用性与业务逻辑的相关性是成反比例关系的:越是与业务逻辑无关的重用,重用性越好;反之则越差。 ooa阶段,就是对具体项目的分析,关注的就是与具体项目相关的问题和对象,相对来说可重用性较差,但如果在分析中对建模构件注入重用的思想,就可以构建可重用性相对较高的建模构件,这样在构件足够多的情况下,将会大大提高系统分析的效率和科学性,这就是ooa阶段可重用性的本质。 3.2 ooa阶段软件复用模型研究 ooa阶段的软件复用,在一定程度上可以说是建立在许多优秀的系统分析员实践和经验基础之上的复用,是一种思想上的复用。在这个阶段的软件复用更具有通用性和重用性,因此,构造这个阶段的软件复用模型,可以使复用达到更好的效果。下面给出ooa阶段的软件复用模型:

此模型主要的工作流程为:首先,系统分析师针对项目的需求说明书进行面向对象的系统分析(也就是ooa阶段),这个阶段所涉及的方法和技术已经相当成熟。通过有经验的系统分析师,构造出相当抽象的对象、行为、关系等模型。其次,对分析出的对象、行为、关系模型进行更进一步的抽象,总结出相对独立的、高重用的范式,这些范式成为ooa阶段软件复用的主题。再次,把智能学习系统引入范式库中,通过对范式库进行检索,如果找到已有的范式,可以直接利用这些范式进行下一步的分析和设计;如果找不到所要的范式,利用智能学习系统把范式加入范式库中,以利用以后分析的重用。上面的流程向我们展示在ooa阶段软件复用所涉及的问题和内容,下面针对这些问题和内容进行具体的研究:

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期.
相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页