软件复用在高速公路业务系统开发中的应用
随着高速公路管理信息化建设的开展,各类相关软件的开发急剧增加。如何有效地保证软件的开发质量、最大限度地提高软件开发效率,已成为信息化建设过程中所面临的最大难点之一。在高速公路业务管理方面,大部分软件系统的开发普遍缺乏统一的规划,没有统一的技术规范和业务规范,使得系统之间难以进行有效的信息交换,形成了一个个的“信息孤岛”,由此带来诸多问题。例如:系统之间缺乏互操作性,难以通过系统集成构建满足多种用途的综合信息系统;软件系统重用性差,大量类似项目重复开发,资源浪费严重,很难保证规模和质量;由于软件系统内部要素耦合度高,导致系统的可维护性和可扩展性差,等等。
软件复用技术是目前解决软件危机、提高软件生产效率和质量的现实可行途径,它是在软件开发中避免重复劳动的解决方案。近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用通常可分为产品复用和过程复用两条途径。基于构件的复用是产品复用的主要形式,而中间件技术的出现与成功应用将软件复用技术提升到一个更高的层次。结合目前学术界、产业界已有的成果,提出高速公路业务管理的软件复用技术规范,并将其推广应用,将有力促进信息化建设的步伐。
1、软件复用技术的现状
到目前为上,人们对小粒度的软件复用进行了长期的研究和实践,发现这类复用方式有许多局限性。近年来,人们开始转向中、大粒度复用研究发现,通过中粒度复用,软件设计者们在开发一个新的软件系统时,可以利用己有的需求分析、设计的思想和结果。wWW.133229.Com通过大粒度复用,可以利用己有的系统来组建新的应用系统。设计新的应用本文由论文联盟http://收集整理系统时,只需考虑各系统相互作用的框架结构,而不必关心设计和实现的细节,从而缩短了开发时期,降低了开发成本。
目前,我们在这一技术领域也进行了大量跟踪研究和应用系统开发工作,但至今还没有建立起一套供全省高速公路信息化建设共同遵守和使用的软件复用性技术规范,这种状况严重制约着各类业务软件系统和办公自动化系统的开发工作。因此,开展软件复用规范,借鉴国内外先进技术建立相关技术规范和标准,已成为高速公路业务管理信息化建设中的一项重要课题。
2、总体研究思路
我们在吸收国内外有关软件复用研究成果的基础上,对当前软件生命周期模型、软件复用技术和规范进行了深入研究,分析了ieee1517标准——信息技术-软件生命周期过程-复用过程标准,并建立了代码级复用模型、设计级软件复用模型和分析级软件复用模型等不同层次的软件复用模型,并将这些模型用于指导实际的软件开发,建立了基于构件的软件开发模型和基于ejb技术的软件复用模型。从而丰富了软件复用理论、技术和方法,给高速公路业务软件的设计、开发提供了一条新的技术途径。利用该成果,提高了软件开发的效率,避免了重新开发可能引入的错误,提高了软件的质量,总体思路如下:
(1)对国内外和高速公路业务管理在软件复用方面开展的技术研究进行大量的资料收集与实际调研,掌握软件复用技术的最新前沿;
(2)对掌握的资料与调研结果进行系统和细致的分析,主要对通用基本构件、领域共性构件、应用专用构件等三大类构件进行系统的分析和研究,同时结合对相关的技术标准的研究,为提出符合高速公路业务管理实际的软件复用模型做好技术准备;
(3)通过深入的研究,建立代码级复用模型、设计级软件复用模型和分析级软件复用模型等不同层次的软件复用模型。
(4)将研究结果指导实际的软件开发,定期地收集用户的使用意见,不断地对模型进行完善,使之真正地成为可靠、实用的模型。
3、主要技术说明
3.1 代码复用
代码复用包括两个方面:概念复用和实现复用。代码复用是绝大多数程序员所期望的,为了使代码能够最大程度上复用,提出如下代码复用的原则:对接口编程;优先使用对象组合,而不是类继承;将可变的部分和不可变的部分分离;减少方法的长度;消除case/if语句;减少参数个数;类层次的最高层应该是抽象类;尽量减少对变量的直接访问;子类应该特性化,完成特殊功能;拆分过大的类;作用截然不同的对象应该拆分;尽量减少对参数的隐含传递。
3.2 设计复用模型
3.2.1 设计和构造构件时必须遵循以下准则
为增强构件的可复用性,需要提高抽象的级别,以便充分利用构件的继承特性;可理解性、易读性、易修改性强。构件应设计有很好的与语义有关的界面,并有完整、正确、容易使用的文档,以利修正、扩充和完善构件的功能;构件内必须具有很高的内聚度,构件间必须有很低的耦合度;较强的分解力。构件既能被方便地集成,也能针对不同应用,具有灵活的可分解性,因而需要将构件可变部分数据化、参数化,以适合不同的应用;较强的向下兼容能力。构件库必须具有较强的版本控制能力,以利构件升级;较强的演化能力。数据与其结构封装在一起,数据应存放在数据构件对象中,能主动解释其结构,这是构件间交互和集成的基础。
3.2.2 对不同类别构件的使用方式
系统构件是指系统总体框架构件,对每一应用领域一般需要开发一个系统构件,并将系统构件存放到系统构件库中,系统构件应主要由软件开发者在一定的软件总线规范下开发。
组织构件按一定的软件总线规范开发,所有系统构件所公用的组织构件构成公共组织构件库,通过系统构件和组织构件这两类构件的合理组装,就可形成新的应用系统。