已阅读5页,还剩69页未读, 继续免费阅读
(计算机应用技术专业论文)基于框架复用的可重构软件平台技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于框架复用的可重构软件平台技术研究 摘要 随着中国经济的蓬勃发展,面向中小企业的信息系统软件市场一片繁荣,但 是当前这类信息系统的开发过程仍旧存在诸多问题工期长、软件质量低,没 有完善的配套质量保证手段等等,不能达到足够的客户满意度。 为了解决以上问题,从理论和实践上为此类信息系统的开发实施提出了一 种综合性的解决方案,目的是为了提高企业信息系统软件的开发效率,解决开发 过程中遇到的各种软件工程方面的困难。其所针对的领域是低成本的、中小规 模的、采用迭代式项目开发方法的企业信息系统开发和实施。 目前已经存在许多很好的软件工程工具,使用他们可以大大的提高软件开 发的效率。但是这些工具并非依照一个统一的标准进行开发,使用上存在不兼 容的问题,而且部署并安装多个工具也是一项非常麻烦的工作。通过对中国海 洋大学软件工程研究所多年来的软件开发实践经验进行总结,以及对大量国际、 国内相关项目的考察,对各种技术进行了甄别和遴选对于合适的技术进行 引进,对于没有解决方案的模块进行自主开发平台利用和吸收了现有软件 工具的特色和优点,提供了一致的使用接口和部署机制,可以很大程度上提高软 件开发的效率。 平台的主导设计思想为“框架复用”,即新项目可以直接使用平台所提供的 软件框架。通过引人框架复用的概念,使得系统架构和设计风格可以重用,而这 两项是对一个软件项目来说最为重要的。使用软件平台,开发人员可以在较短的 时间内发布项目快速原型,方便前期的需求挖掘工作和客户沟通。为了实现框 架复用以及可重构的特性,在表示层、逻辑层和数据层采用了很多新的思想和 设计方案。在表示层引入页面描述语言,使得w e b 页面的设计可以和非w e b 方 式一样使用控件来进行页面组装。逻辑层的核心是一套自主研发的工作流引擎 e g o a 引擎,可以实现复杂的工作流模型和符合中国国情的权限控制机制, 而且实现了g u 建模工具,可以方便快速的完成工作流建模。在数据层通过引入 实体引擎,大大缩短了数据库的建模迭代周期,从而使得数据库的敏捷开发成为 可能。 除了软件平台本身,研究还包括支撑平台的各种开发工具,涵盖了整个软件 开发生命周期,其中包括需求、开发、功能测试和压力测试等全部过程。对关系 型数据库的数据完整性测试提出了新的基于数据库差异比较的解决方案,可以 简化测试用例的编写过程,降低测试用例之间的耦合度。在验证项目中,9 0 的 数据完整性测试可以自动化。 平台中所有的自定义数据语言和存贮结构都是采用x m l 表示,具有自说明, 方便编辑的优点,而且解释引擎的实现也很简洁。其它相关技术全部采用开放 的业界标准,可以与其它平台和构件库进行方便的集成。 随着平台的成熟与完善,以某大型外资企业的c r m 项目开发及实施为应用 背景,对基于框架复用的可重构软件开发平台技术迸行了实际验证。验证的结 果证明平台可以切实的提高软件开发的效率,并最终反映到客户满意度上,同时 有效的降低了软件开发的难度。 关键词:软件平台;企业信息系统;重构;工作流引擎;数据完整性测试 r e s e a r c ho nr e f a c t o r a b l es o f t w a r ep l a t f o r m : an a m e w o r kr e u s es o l u t i o n a b s t r a c t t h ef a s td e v e l o p m e n to fc h i n ae c o n o m yl e a d st oaf a s tg r o w i n gm a r k e to fe n t e r p r i s ei n f o r m a t i o ns o f t w a r es y s t e m s ,e s p e c i a l l yf o rm i d d l ea n ds m a l le n t e r p r i s e s h o w e v e r t h ed e v e l o p m e n tp r o c e s so fs u 出k i n do fs o f t w a r ei sf a xf r o mm a t u r e s l i p p e ds c h e d u l e ,p o o rq u a l i t yd u et ol a c ko fe f f e c t i v eq am e t h o d sc a no f t e nb e o b s e r v e d ,w h i c hu n d o u b t e d l yr e s u l t e di nd i s s a t i s f i e dc u s t o m e r s t oa d d r e s st h i ss i t u a t i o n ,ac o m p r e h e n s i v es o l u t i o ni sd e s i g n e df o rl o w c o s t e n t e r p r i s ei n f o r m a t i o ns y s t e ms o f t w a r ed e v e l o p m e n ta n di m p l e m e n t a t i o n ,e s p e c i a l l yf o rm i d d l e s i z eo rs m a l l s i z et e a m st h a ta d o p ta g i l ed e v e l o p m e n tm e t h o d s t h e r ew e r ea l r e a d ym a n ys o f t w a r ee n g i n e e r i n gt o o l sa v a i l a b l e ) w h i c hc a n s i g n i f i c a n t l yi m p r o v et h ed e s i g no fs o f t w a r eh o w e v e r ,t h e s et o o l sw e r ed e v e l o p e d b yd i f f e r e n tt e a m sa n dl a c ko fac o h e r e n td e s i g na n di n t e r f a c e ,a n da tt h es a m e t i m e ,t h ei n s t a l l a t i o no fm a n yt o o l so no n ew o r k s t a t i o nw a sa l s oat e d i o u sw o r k s ob yi n v e s t i g a t i n gm a n yr e l a t e dp r o j e c t s ,v a r i o u sp r o j e c t sa n dt e c h n i q u e sw e r e c a r e f u l l ye v a l u a t e da n da d o p t e di n t ot h i ss o l u t i o n ,a n dm o d i f i e dt oc o n f o r m i n gt o au n i q u es t y l ea n di n t e r f a c ec o m p o n e n t st h a tl a c ko fam a t u r ep u b 5 s h e dd e s i g n a r ed e s i g n e df r o ms c r a t c h s u c ha st h ew o r k f l o we n g i n ea n dt h ed a t a - i n t e g r i t y t e s t c o m p o n e n t t h i ss o l u t i o ni sb a s e do nj 2 e e ,w h i c hi sw i d e l ya c c e p t e db yb o t ha c a d e m i c a n di n d u s t r i a ld e v e l o p e r s ,a n dt h em a i nf r a m e w o r ki sd e s i g n e dt ob er e u s a b l e t h e i d e ao ff r a m e w o r kr e u s em a k ep o s s i b l et ot h ee a r l yr e l e a s eo fp r o t o t y p es y s t e m , w h i c hi sc r i t i c a lt oa g i l ed e v e l o p m e n t ,i np r e s e n t a t i o nl a y e r ,as p e c i a l l yd e s i g n l a n g u a g e ,n a m e du i l a n g u a g e ,i si n c l u d e dt os i m p l i f yt h ec o m p o s eo fw e bp a g e s a n dm a k et h i sp r o c e s sa ss i m p l ea st h ed e s i g no ft r m i t i o n a lg u lw i n d o w sb y u s i n gp r e d e f i n e dc o n t r o l s t h ek e r n e lc o m p o n e n to fl o g i c a ll a y e ri san e ww o r k f l o we n g i n e ,n a m e de g o a ,w h i c hi sd e v e l o p e df r o ms c r a t c ha n di sc a p a b l et o h a n d l em a n yc h i n e s e s t y l ew o r k f l o wr e q u i r e m e n t sa n da u t h e n t i c a t i o nm o d e l s , a n dag u im o d e l l i n gt o o li sa l s oi m p l e m e n t e dt ov i s u a l i z et h ew o r k f l o wd e s i g n p r o c e s s i nd a t al a y e r ,b e s i d e st r a d i t i o n a lj d b c c o n n e c t i v i t y , a j :le n t i t ye n g i n ei s a d o p t e dt os h o r t e nt h el e n g t ho fd e v e l o p m e n tc y c l eo fd a t a b a s er e f a c t o r i n g ,w h i c h m a k e st h ea g i l ed e v e l o p m e n to fd a t a b a s em o d e lp o s s i b l e i na d d i t i o nt ot h ef r a m e w o r k ,o t h e rr e s e a r c ht o w a r d st h es u p p o r t i v et o o l si s i n c l u d e d ,w h i c hc o v e r st h ew h o l el i f ec y c l eo fe n t e r p r i s es o f t w a r e a m o n gt h e s e t o o l s ,an e wm e t h o do nt h ed a t a i n t e g r i t y t e s ti sd e s i g n e dt oi n c r e a s et h ep e r - c e n t a g eo fa u t o m a t i ct e s t c a s e s ja n di tc a ns i m p l i f yt h ed e s i g no fn e wt e s t c a s e s a n dh e l pt od e c o u p l eb e t w e e nt e s t c a s e s b yu s i n gt h i sn e wm e t h o d ,9 0 o fd a t a - i n t e g r i t y t e s tt e s t c a s e sc a nb ea u t o m a t i c a l l yd o n ei nt h ef o l l o w i n gv e r i f i c a t i o n p r o j e c t a l ls e l f - d e f i n e dl a n g u a g ea n df i l es t r u c t u r eu s ex m l ,a n da r es e l f - d e s c r i p t i v e a n de a s yt ol e a r na n de d i t a l lo t h e rt e c h n o l o g i e si n v o l v e da r ec o n f o r m i n gt o i n d u s t r i a lo p e ns t a n d a r d s ,w h i c hm a k e st h ei n t e r a c t i o nw i t ho t h e rt h i r dp a r t y c o m p o n e n t sa n dp l a t f o r m se a s yt of u l f i l l _ a st h ed e v e l o p m e n to ft h i ss o l u t i o n ,av e r i f i c a t i o np r o j e c ti si m p l e m e n t e d , w h i c hi sac r mp r o j e c tf o rab i gj o i n t v e n t u r e t h ei n c r e a s ei n e f f i c i e n c ya n d c u s t o m e rs a t i s f a c t i o nc a nb eo b s e r v e d ,w h i l et h ed i f f i c u l t yo fd e v e l o p m e n ti sl o w - e r e d k e y w o r d s :s o f t w a r ep l a t f o r m ;e i s ;r e f a c t o r i n g ;w o r k i t o we n g i n e ; d a t ai n t e g r i t yt e s t 插图 2 1 研究方法示意图 2 2 平台总体架构示意图 2 3 表示层详细结构图 2 4 渲染引擎示意图 2 5 逻辑层的详细结构图 2 6 数据库设计步骤 2 7 实体引擎启动流程 3 1 示例工作流流程图 32 工作流建模工具界面效果图 3 3e g o a 系统e r 图 3 4e g o a 系统u m l 类图 4 1 测试部件内部结构示意图 5 1c r m - 期系统架构示意图 5 2c 砌订示例流程图 5 3c r m 系统示例数据流图 6 1 新旧开发效率对比 n坞m坞拢弛 姐钙 静 缸眩 8 2 1 平台组件列表 2 2 s i n g l e 列表示例 2 3 l i s t 歹i j 表示例 3 1 权限设置中的常用字段 表格 1 4 2 0 2 1 4 2 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得( 注:如没有其他需 要特别声明的,本栏可空) 或其他教育机构的学位或证书使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名 窟a 开 签字日期:归么年f 月o h 签字日期:加以年5 月 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本 人授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以 采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解 密后适用本授权书) 学位论文作者签名: 签字日期:弦菇年罗 压研 月f o 白 导师签字 签字日期 k 孥。受乙、s 、 fm g ( 。 日 证编电邮 盈谚 心毛 科懈译再夏 躲蚴艰 崤m 彳胁 誉研垆袢。姐创 纛 第一章引言弟一早亏l 石 对于软件平台技术的研究来源于软件项目开发中遇到的困难。本章简要分 析软件项目开发的难点,说明本项目研究的背景和目的。 1 1 研究背景 1 1 1 中小企业软件开发中面临的问题 软件开发是一种复杂的人类智力活动,而设计可靠的、可复用的软件就更 加困难。在某种程度上,这种困难甚至被人们称为“软件危机”。 软件危机是指:随着计算机工业的发展,在软件开发过程中逐渐形成了一 些矛盾。比如:软件开发没有计划性;软件前期需求分析不足;软件开发过程没 有规范等等。这些矛盾表现在软件开发中导致了一系列问题,如开发计划无法 顺利执行,成本昂贵,开发的软件错误百出等等。正是这种软件危机才促使人们 寻求解决方法,也就产生了软件工程。f 1 1 软件工程3 0 多年的发展大大提高了软件开发的水平和效率,使得人类成功 设计了许多大型的软件系统。但软件工程毕竟还是一门年轻的科学,远非尽善 尽美,具体到目前中小型的企业级软件开发项目,其问题主要表现在以下几个方 面: 1 软件需求不明确。这是目前此类软件开发中面临的最大困难。中小企业在 决定上马某个信息系统的时候,往往只有一个比较明确的目标,但是对于 软件的具体功能却很没有明确的概念。这一方面是由于中小企业的规范化 经营水平不高,另一方面是因为中小企业中往往没有( 或无力负担) 经验 丰富的咨询师,无法明确软件需求; 2 软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为 了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件 基于框架复用的可重构软件平台技术研究 产品的质量; 3 软件的可靠性差。尽管耗费了大量的人力物力,而系统的正确性却越来越 难以保证,出错率大大增加,由于软件错误而造成的损失十分惊人; 4 生产出来的软件难以维护。很多程序缺乏相应的文档资料,程序中的错误 难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件 的社会拥有量越来越大,维护占用了大量人力、物力和财力。 软件生产的这种知识密集和人力密集的特点是造成软件危机的根源所在。 1 1 2解决问题的主要对策 1 1 2 1 软件工程 软件工程诞生于6 0 年代末期,它作为一个新兴的工程学科,主要研究软件生 产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具, 指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品 质量、提高软件生产率水平的目标f 5 1 。软件工程学从硬件工程学和其他人类工 程学中吸收了许多成功的经验,明确提出了软件生命周期的模型,发展了许多软 件开发与维护阶段适用的技术和方法,并应用于软件工程实践,取得了良好的效 果。 1 1 2 2软件重用与软件平台 软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以 提高软件开发的效率和质量。近十几年来,面向对象技术出现并逐步成为主流 技术,为软件复用提供了基本的技术支持,软件复用研究重新成为热点,被视为 解决软件危机,提高软件生产效率和质量的现实可行的途径。f 3 1 近年来,工业化的软件复用已经从通用类库进化到了面向领域的应用框架。 因此g a r t n e rg r o u p 指出:“到2 0 0 3 年至少7 0 的新应用将主要建立在如软件构 件和应用框架这类构造块之上:应用开发的未来就在于提供一个开放的体系 结构,以方便构件的选择、组装和集成”4 1 。软件构件和重构技术是支持软件复 用的核心技术,是近几年来迅速发展并受到高度重视的一个学科分支。研究软 件构件化、软件框架与软件重构技术对于进行高效的软件工程管理具有非常重 要的意义。 2 基于框架复用的可重构软件平台技术研究 使用可重构软件平台进行项目开发,在面向不同的行业领域的时候采用的 设计思路是相同的。通过本项目的研究,可以取得具有比较广泛使用范围的设 计思路以及工程实践方法,可以完善软件平台开发相关理论。 软件框架( s o f t w a r ef r a m e w o r k ) 是整个或部分软件系统的可重用设计。一 个框架是多个可复用的设计构件的集合体,它规定了应用的体系结构,阐明了整 个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以 及其实例之间协作的方法,它为构件复用提供了上下文( c o n t e x t ) 关系。f 2 1 6 l 应用框架是实现了某应用领域通用完备功能( 除去特殊应用的部分) 的底 层服务。使用这种框架的编程人员可以在一个已经实现通用功能的基础上开始 具体的系统开发。框架提供了应用期望的所有默认行为的类集合。具体的应用 通过重写子类或组装对象来支持应用特有的行为。 框架可分为白盒( w h i t e b o x ) 与黑盒( b l a c k - b o x ) 两种框架。基于继承的 框架被称为白盒框架。所谓白盒即具备可视性,被继承的父类的内部实现细节 对子类而言都是可知的。使用白盒框架的应用开发人员通过衍生子类或重写父 类的成员方法来开发系统。子类的实现很大程度上依赖于父类的实现,这种依t 赖性限制了重用的灵活性和完全性。但解决这种局限性的方法可以是只继承抽笃 象父类,因为抽象类基本上不提供具体的实现。白盒框架是一个程序骨架,而用秘 户衍生出的子类是这个骨架上的附属品。基于对象构件组装的框架是黑盒框架。气矗 应用开发者通过整理、组装对象来获得系统的实现。用户只须了解构件的外部莲 接口,无须了解内部的具体实现。另外,组装比继承更为灵活,它能动态地改变,i 继承只是一个静态编译时的概念。 6 】 3 3 软件平台辅助技术人员及管理人员更加高效、可靠的开发各类软件,并对 已有软件进行维护和重构,其应能支持软件生命周期各个阶段( 包括需求分析、 架构设计、软件设计、程序设计、软件测试和软件维护等) 的各种技术活动和项 目管理活动。其主要任务是支持大型软件项目的开发和维护,达到缩短开发周 期、节省开发成本和提高产品质量的目的。 组成软件平台的软件体系包括集成机制和一组工具: 1 集成机制。主要由环境库、一组环境基本语言、用户界面以及一些辅助设 施所组成。环境库用来存放和管理各种软件工具和软件开发项目本身的信 息。环境基本语言主要指构造环境的工作语言和使用环境的控制语言。所 谓工作语言,是指用来编写软件工具及工具片段的语言,在环境库管理机 制的支持下运行。所谓控制语言,是指用来构造软件开发活动的语言,即 用来编写软件开发活动的规程,通过对规程的执行来操纵软件工具,实现 3 基于框架复用的可重构软件平台技术研究 工具之间的转接,达到某种程度上软件开发活动的自动执行。用户界面在 风格上的一致性是软件平台集成的外部体现,它表现在平台中各个工具都 有同样的操作方式和参数约定,实现用户和平台之间的良好交互,其理想 状态可使用户不一定要记住正在使用的是哪一个工具。现代软件工程环境 多采用面向对象的风格来设计用户界面,现代的计算机图形技术可以使这 种用户界面非常直观,使用十分简捷; 2 工具。由通用工具和专用工具所组成。包括系统分析工具、软件设计工具、 程序编码工具、软件测试工具、软件理解工具、配置管理工具、版本管理工 具、文档出版工具、联机求助工具等。支持特定软件方法学的平台还包括 一些特定的工具,如原型快速生成工具和面向对象开发工具等。在对象库 中,它们或以单独的对象存放,或以工具片段的形式存放,在使用前动态 生成。但是,它们都与对象库有统一的数据接1 :3 ,利用消息机制进行通信, 实现操作实体的规范式传送,从而使同一软件开发活动中各工具之间的转 接变得相当平滑。 软件开发平台应具备以下特点 1 实用性。包括坚固性和可用性两个方面,即平台应不受或少受来自用户和 系统错误的影响,具备自我恢复的能力。同肘,平台必须能够支持软件开 发和维护过程中的各种活动,而不能只支持某一方面、某个阶段的活动; 应支持各种层次人员的活动,而不能只支持某类人员的活动。平台必须具 有高效、快速和低开销的特点,适应大多数软件人员的工作习惯,尽量使 现有软件开发人员少受或不受专门培训就可以方便地使用它来开发大型软 件项目; 2 集成性。软件开发平台是按照整体化要求设计的一个整体,在共同的概念 基础上,以软件生命周期为线索,集成各种软件开发方法和维护方法,合 理地划分工具的功能范围,并使它们协调一致的进行工作。这就需要对工 具进行统一的支持,由平台的专门机构( 即集成机制) 来实现; 3 开放性。软件开发平台可灵活地进行扩充,并方便地接纳外来工具。只要 工具按照统一的接口要求设计,就可自由地集成到软件环境中去,而且, 平台中的工具可以随时修改和重组。环境的集成性和开放性是两个某种程 度上相矛盾的目标,在设计软件支撑环境时,合理地确定这些目标并解决 这些矛盾是至关重要的; 4 基于框架复用的可重构软件平台技术研究 4 可移植性。软件开发平台可以方便地从一台宿主机移到另一台宿主机,应 特别注意选用符合国际标准的软件来构成平台的运行环境,实现软件一级 的高度兼容。 1 2 研究内容 我校软件工程研究所一直注重对软件开发经验的分析与总结,通过长期的 项目开发实践,对项目的开发方法、人员机构组织、以及软件的设计等都积累了 丰富的经验并行成了自己的独特风格。依托这些积累,从2 0 0 4 年开始,我们抽调 人手组织团队开始对软件平台进行研究。通过对过去一段时期的项目进行分析, 以及对未来一段时期内的市场展望,我们最终确定平台的类型是“基于框架复 用的可重构软件平台”,它所适用的项目所具有的特征是: 1 面向行业不确定; 2 项目规模不大,工期在半年到两年左右 3 通过w e b 方式提供业务访问能力 4 基于关系型数据库系统,但是具体使用哪种数据库产品不确定: 5 用户需求不明确,所以通常需要首先提供一个快速原形,然后随着项目白勺 进行不断挖掘需求。r 因为面向行业不确定,所以基于构件的领域软件平台就不适用。而用户需 求不明确,则传统的瀑布开发模型很难应用,所以我们采用迭代开发模型,这对 平台的灵活性提出了较高的要求。 综合考虑上述因素,确定本课题的研究内容是 为了提高企业信息系统的开发效率,对“基于框架复用的可重构软件 平台”进行研究和设计,解决利用此平台进行软件项目开发时需要掌 握的关键技术以及与之对应的软件工程方法,从而实现在大规模软 件工业化生产中应用此技术。 在不致引起混淆的情况下,下文将此平台简称为“软件平台”。 研究具体内容: 5 基于框架复用的可重构软件平台技术研究 1 对现有平台相关技术的考察; 2 平台框架的设计; 3 对现有成熟技术的甄别和引进; 4 对于尚无成熟方案的组件进行自主开发 5 项目实施验证。 1 3本研究工作的意义 软件复用能够提高软件生产率,从而减少开发代价。用可复用的构件构造 系统还可以提高系统的性能和可靠性,因为可复用构件经过了高度的优化,并且 在实践中经受过考验。其次,软件复用能够减少系统的维护代价。由于使用经过 检验的构件,减少了可能的错误,同时软件中需要维护的部分也减少了。第三, 软件复用能够提高系统间的互操作性。通过使用统一的接口,系统将更为有效 地实现与其他系统之间的互操作性。第四,软件复用能够支持快速原型设计,利 用可复用构件和平台可以快速有效地构造出应用程序的原型,以获得用户对系 统功能的反馈。第五,软件复用还能够减少培训开销。 获得正确的框架对于进行正确的系统设计非常关键,从框架的层次上表示 系统,有利于系统较高级别性质的描述和分析。特别重要的是,在基于复用的软 件开发中,为复用而开发的软件框架可以作为一种大粒度的、抽象级别较高的 软件构件进行复用,而且软件框架还为构件的组装提供了基础和上下文。随着 技术的发展,现在不仅构件可以重用,框架也可以重用。这样,软件重用的领域 扩大到设计和分析阶段,涵盖到了软件开发的大部分过程。基于软件构件技术, 应用开发人员就可以利用现成的软件构件装配成适用于不同领域、功能各异的 应用系统。这是软件产业发展的一个必然趋势。借用构件技术、软件框架和软件 平台,人们将彻底改变软件的生产方式,从根本上提高软件生产的效率和质量, 提高开发大型软件系统尤其是商用系统的成功率。 1 4国内外研究动态 1 4 1国际上的平台化软件开发思路 国际高端企业应用市场目前被s a p 、o r a c l e 和i b m 公司所把持,其平台产品 6 基于框架复用的可重构软件平台技术研究 皆基于专有的平台,往往有数十年的发展历史,产品实施订单均为数百万元或千 万元左右。 总体上看来,当前业界有一个大的趋势,即从“封闭的、专有的”系统向“符 合业界标准的、开放的”系统进行迁移。从市场发展来看,这是充分竞争后市场 成熟的表现;从企业发展的角度来讲,采用开放的系统可以不必受制于任何一 家厂商,有利于保证企业投资的长期有效,长期效果是i t 系统成本大大降低。 国际上的低端可重构软件平台起步较早,现在已有比较成熟的产品。在这 个领域中,开源软件受到大家普遍关注,因为它具有如下优点: 不依赖于某家软件厂商,不必担心公司业务发展受制于某家提供商 源码开放,不必担心后续功能扩展无法实现 咨询服务可选,可以自主在多家咨询服务商中选择; 软件成本低廉,节约i t 开支。 在诸多开源项目中,c o m p i e r e 、o f b i z 是n 前最受欢迎的两个。 露 c o m p i e r e 是拥有1 0 年以上的历史的大型开源项目,基于j 2 e e ,同时对c 鼬 和b s 结构提供优良的支持。c o m p i e r e 主要面向中小型企业,提供;s r p c r m 棍 关功能。c o m p i e r e 的优点在于 b s 和c s 架构支持; 开发历史悠久,资源丰富,用户群广泛 善 一基 冒 提供了标准的e r p c r m 财务功能,经过简单配置即可使用( 对于国内用 户可能不适用) 。 c o m p i e r e 的缺点在于 依赖于特定的数据库产品( 目前只支持o r a c l e 和p o s t g r e s q l ) ,配置不够 灵活; 依赖于特定的j 2 ea p p l i c a t i o ns e r v e r ; 不是完全使用j 2 e e 推荐的系统架裢j 1 0 】; 作为一个平台,配置不够灵活,不便于二次开发; 7 基于框架复用的可重构软件平台技术研究 本地化程度不够,所提供的业务逻辑几乎完全不适用于中国国情; 因版本演进较快,导致产品质量不够稳定,经常会有比较严重的b u g 被发 现。 o f b i z 也拥有非常悠久的历史,基于3 2 e e 架构,系统设计着重于框架的复 用。o f b i z 的优点在于: 全面应用x m l ; 数据库独立,不依赖于某家数据库产品( 支持当前几乎所有的r d b m s ) j 2 e ea p p l i c a t i o ns e r v e r 独立; 提供了很好的开发平台,扩展性很强; 广受好评的w o r k f l o we n g i n e ( 基于x p d l ) ; 提供了一个比较完善的w e b 商店( e c o m m e r c e ) ,可直接应用于小型b 2 c 电 子商务公司。 t h r o f b i z 的缺点在于: , 没有像c o m p i e r e j l g 样提供现成的e r p c r m 功能; 只有b s ,没有c s ; 行业用户数量少,开发社群小; 本地化程度不够。 1 4 2国内动态 在中国,从b s 和_ - - - 层结构的软件系统模型之始,就奠定了平台的地位和基 本内涵。不过,最初的平台大多指基础软件,应用软件、管理软件的平台概念是 最近兴起的。7 1 2 0 0 2 年初开始,首先是一些国内厂商,如东软金算盘、思维加速、点击科技 等以“平台”概念定义自己的新产品,再以后是国内权威的中科院软件所也推出 了自己的“网驰”( o n c e ) 软件平台。 8 基于框架复用的可重构软件平台技术研究 总体上,国内的平台应用分为两类:一类基于技术层次的基础架构平台,是 传统中间件的延伸,它组建了一个适应各种应用的统一技术支撑环境;另一类 是基于业务模型的应用平台。更多的是从管理应用需求出发,把工作流、内容管 理、个性化报表工具等组合在一起,提供一个支持管理应用开发的平台。“基于 业务”的应用平台同样可以有两种实现方法,第一种是从管理业务出发,深入分 析管理应用需求,提出管理模型,再建立技术实现的平台;还有一种做法是把 管理应用的共同技术特征抽象出来,基于组件式的开发技术建立平台。举例来 说,第一种做法中,我们可以建立人员组织模型、流程管理模型等,这是与i t 技 术无关的,然后通过软件建模满足不同的个性化管理需求;而第二种做法是, 把e r p 、c r m 、0 a 等模块均需要的一些技术,如工作流引擎放人平台中。通过 底层调用简化开发。 大多数应用开发平台属于第二类,可称之为“组件式”应用开发平台,而思 维加速的t i b2 0 业务架构平台则是少数属于第一类的代表。 2 0 0 2 年6 月,东软金算盘推出中国v p 平台软件。紧接东软金算盘之后,北 京佳软信息技术有限公司推出了佳软e 6 企业级管理软件开发平台。2 0 0 2 年8 月, 点击科技和中关村科技软件公司同时发布了各自的平台软件“竞开协同应用平 警 台”和“中关通用资源管理平台”。2 0 0 3 年初用友发布了统一应用平台( u a p ) 策 。 略。2 0 0 3 年2 月2 5 日,金蝶软件发布了企业应用套件k i n g d e ee a s 。 在国内,平台的出现还只有两年左右的时间,发展远未成熟。而且我们必须 考虑到低端应用所特有的一些要素,例如往往提供低端平台实施的公司是一些,崦 小公司,这些小公司经营不稳定,也就是说很可能在企业信息化产品实施数年 后,当需要对平台进行重构或升级的时候却找不到当初实施的公司了,所以开源 的产品在本应用领域内有独特的优势,一方面是由于平台产品开放源代码,所以 企业可以自如的选择实施公司或是自主开发,另一方面开放源代码的产品对于 市场的吸引力是巨大的,往往可以号召多家公司共同参与,群策群力,集小力为 大力。所以在平台的设计中,我们十分重视对于已有项目的复用,以及对业界开 放标准的遵守。 9 第二章平台技术研究与设计 本章详细讲述了平台的研究和设计的过程。需求来源于长期的项目开发实 践,以及在前人理论上提出的创新;研究开始于对现有工具和项目工程方法的 分析,终于设计原则的提出;设计的依据来源于研究的成果,设计的成果回归于 实践。 2 1研究指导思想和方法 平台研究的指导思想是:灵活性与开发速度的统一。 平台的灵活性和开发速度是一对矛盾。平台的灵活性越高,则开发人员的j 开发速度就越低,因为许多功能都需要开发人员进行定制,其极限是直接采用高 级语言( 如j a v a 和c + + ) 进行开发的传统模式;而要提高软件的开发速度,必然 。 要求将许多工作直接集成到平台中,这必然降低平台的灵活性,其极限为直接采0 用商品化软件。 本研究所采用的研究方法大体如图2 1 所示。 圆一圆圃 上t 匝圃璎匡亟圈骂圆姻 图2 1 :研究方法示意图 平台的需求来源于我校长期的软件项目开发实践及开发习惯,在此需求的 基础上,对目前已有的工具进行分析调查,若存在合适的产品则将其集成到平台 中;若不存在合适的产品则进行自主开发。当平台的开发达到一定可用度的时 候,开始尝试在个实际项目中应用此平台并获得反馈,根据反馈意见做出进一 步的调整。平台的完成随着实验项目的结束而完成。 基于框架复用的可重构软件平台技术研究 2 2 总体架构 我们选择j 2 e e 做为平台的实现方案,主要是基于跨平台和开放性的考虑。 目前在企业信息系统领域主流的三大解决方案分别是j a v a 、n e t 和p h p ,除 了p h p 技术重点在w e b 表现层,j a v a 和n e t 都能提供从顶到底的完整解决 方案。纯粹从技术上来比较,j a v a 和n e t 各有所长,但是从学术和研究的角度 来讲,j a v a 具有无可置疑的优势:j a v a 阵营内大多数的项目都是学院派的,往 往以开放源代码的形式发布;从企业的视角来看,开放源代码意味着安全和长 久的技术支持;从软件生产商的角度来讲,开源意味着公平竞争、打破垄断;从 学术研究的角度来讲,开源意味着深层的知识交流与共享。 传统的三层架构( 即表示层负责数据在用户面前的具体呈现形式以及用户 输入数据的初步合法性检查,逻辑层负责具体的业务逻辑的执行以及对用户输 入数据的解析,数据层负责数据的永久化存储) 至今仍具有顽强的生命力,虽然 有很多人提出了各种各样的n 层架构解决方案,但其实本质上都是在三层架构的 基础上进行扩展和细分。笔者认为: 划分三层结构最大的好处在于可以让具有不同专长的人员工作在不 同的层面上,最大限度的发挥他们的特长,而不需面对陌生的新领域 美工设计界面,业务人员编写业务逻辑、d b a 进行数据库配置。 细分下来,每一层都是由很多不同的模块组成的,其概况如下 1 表示层 ( a ) h t m l x h t m l 渲染引擎 ( b ) 构件库 ( c ) j 2 e ew e bc o m p o n e n t s 2 逻辑层 ( a ) m i n i l a n g u a g e 解释引擎 ( b ) 服务管理 ( c ) 事务引擎 ( d ) 轻且镛e g o a 2 1 作流引擎( e g o a 是我校自主研发的一套工作流弓 擎) 1 基于框架复用的可重构软件平台技术研究 图22 :平台总体架构示意图 ( e ) s h a r k : :作流引擎 3 数据层 ( a ) 数据持久化相关组件 ( b ) 通用数据表结构( 将常用的如人员、部门、客户等表规范化) ( c ) 公用数据( 省、市、国家行政区划等等) 平台的总体结构如图22 所示。 从代码层次来看,平台中的组件及其依赖关系如表2 1 所示。 以下详细说明每个组件研究设计思路和方案。 1 3 基于框架复用的可重构软件平台技术研究 模块名称依赖关系职责 s h a r e l基本公用子程序 e n t i t y s h a r e实体引擎 e x t u t i l s h a r e ,e n t i t y扩展公用子程序 e g o a s h a r e s h a r ee g o a 基础子程序库 e g o a d b a oe g o a s h a r e e g o a 持久化组件 e g o a c o n t r o l l e re g o a s h a r e ,e g o a d b a oe g o a 弓i 擎 w e bs h a r eh t t p 、s m t p 等w e b 功能接口 s e r v i c es h a r e服务管理 a u t h s h a r e ,s e r v i c e 权限检查 m ! a n g s h a r e js e r v i c e ,e n t i t ym i n i l a n g u a g e 弓 擎 j u n i t| j u n i t 接口 t e s t m a k e rs h a r e t e s t m a k e r 接口 d i t r e p o s h a r e数据完整性校验用例库接口 d i t d i f f s h a r e ,d i r r e p o d b d i f 潍释引擎 m a i l s h a r e ,w e be m a i l 发送 e x c e l s h a r e ,w e bj e x c e l 报表接口 1 4 基于框架复用的可重构软件平台技术研究 2 3 表示层 表示层承担的职责是: 1 对逻辑层提供的数据进行渲染,以用户友好的方式呈现出来; 2 用户输入数据的初步合法性检查。 由于平台构建在j 2 e e 体系之上,因此对j 2 e e 传统的w e b 表示形式提供支持 就是理所当然的事情。这包括:f 1 0 1 1j a v a s e r v e rp a g e st e c h n o l o g y ( j s p ) 2j a v a s e r v e rp a g e sd o c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【语文】福建省福州市福州教育学院附属第一小学小学一年级上册期末试卷(含答案)
- 省平台新建药物合同
- 买房前订房合同
- 西平钢管扣件租赁合同
- 人教版小学数学二年级下册期末总复习摸底测试卷
- 旧设各居间合同
- 经营性购销合同
- 惠东餐饮公司合同
- 2025秋学期小学三年级上册劳动技术(苏科版)期末测试卷含答案
- 购车指标判定无效合同
- 超声窦卵泡计数临床实践与应用
- 工程竣工移交单(移交甲方、物业)
- 企业安全生产费用管理制度
- 检测公司成本管理制度
- 中粮薪酬管理制度
- 《市域(郊)铁路设计规范》条文说明
- 二年级上册劳动技术课课件
- 2025年高考语文全国一卷试题真题及答案详解(精校打印)
- 新能源储能电站采购合同
- 高中生艾滋病预防教育课件
- 风景名胜区管理条例培训
评论
0/150
提交评论