摘要
随着大规模软件的出现,软件质量成为软件行业倍受关注的重点问题之一,同时过程引擎管理系统的通用性不强,导致软件的开发成本高。为了解决这些问题,提出了一种解决方案——面向服务的过程引擎模型SOPE(Service-Oriented Process Engine)模型。该模型通过引入过程服务的概念,把过程工具灵活管理起来,既可以完成软件开发过程的定义、解析和组装,也提供软件过程的主动执行和行为监控,同时也支持软件过程的演化。
SOPE模型的思想是把软件开发过程中使用的工具看作一个过程服务,一系列相关服务可以组装成功能更强、结构更复杂的复合服务。在SOPE模型的支持下,通过复用已有的服务,软件开发者可以快速构造过程管理系统。这样不仅可以节省开发时间和经费,提高软件开发效率,避免开发过程中的重复劳动,而且开发出的系统更加规范、更加可靠,后期维护费用更低。这对于进一步提高企业信息化程度,增强企业核心竞争力有着非常重要的意义。本文的主要工作和研究成果如下:
1.首先对过程支持系统的现状和发展进行了分析,指出了现阶段过程引擎系统的不足;分析了软件过程技术的发展、几个典型的软件过程模型。
2.设计了SOPE模型的体系结构。以过程服务在SOPE中的执行为主线阐述了SOPE的八个主要部件和五个接口功能和设计结构。建设性地提出了SOPE的执行器对执行片段的调度算法,该调度算法的思想是先来先服务(FCFS)的调度策略结合超时超长剥夺策略的调度算法。
3.建设性地把软件开发过程中用到的开发工具看作是一种过程服务,通过过程组装可以适应不同的系统需求。
4.本文最后给出了SOPE模型的几个模块的实现方法,提出了该模型的三层构架思想及实现方案。
With the occurrence of cosmically software, software quality is becoming an important problem in software industry. At the same time, software development costs is high because of lower generality of process management system .In order to solve these problems ,this paper proposes a new solution ,Service-oriented process engine model ,called SOPE model. This model imports the conception of process service,it not only implements the definition, parsing and assemble of the software development process, but also provides the initiative executing and the behavior monitoring. And it also supports the evolvement of software process.
SOPE model regards tools used in software develpment as service ,and then a series of relevant service could be assembled into a composite service which is more powerful in function and more complicated in structure .With the support of SOPE ,software developer could quickly build a process management system .In this way ,it could not only save time and fund ,improve the development efficiency and avoid the duplicated work ,but also develop a well-specified ,more reliable product which requires lower maintenance cost .It is meaningful for quickening the digitalization progress of the enterprise and improving the kernel competition capability .The main research of this paper is as follows:
1. The status in quo and development of process support system are analyzed, and its shortage is pointed out. Also the technique of the process and some of process model are analyzed.
2. The architecture of the SOPE model is designed .Using the process flow service's executing in SOPE as mainline ,the functionality and structure of the model's eight modules and five exterior interfaces are depicted .A scheduling algorithm about executor's executing segments is innovatively presented.The algorithm uses the FCFS(First Come First Served)strategy combining the preemption strategy with time-out and out-of-queue.
3. The model regards tools in software development as service and it can meet different demands by process assemble.
4. This paper gives the implement method of mainly module and system architecture and implement scheme.
引文
[1]周之英.现代软件工程.北京:科学出版社,2001
[2](美)Roger S.Pressman 著,梅宏 译.软件工程实践者的研究方法 机械工业出版社
[3]严伟,陈英,张明基于工作流的软件过程自动化支持平台研究,2003全国软件与应用学术会议论文集,北京:机械工业出版社,2003
[4]朱三元,钱乐秋,宿为民.软件工程技术概论.北京:科学出版社,2002
[5]柳军飞,唐稚松.软件过程建模语言研究.软件学报.1996,7(8).449-457
[6]陈诚 软件过程的建模、分析和演化技术研究:[博士论文].北京:中国科学院软件所,2002
[7]Gianaolo Cugola,CarloGhezzi.Software Process:a Retrospective and Path to the Future.Software Process:Improvement and Practice,1998,4(3):101-123
[8]J.Martin.Rapid Application Development.Prentice-Hall,1991.
[9]M.Aoyame,Agile Software Process and Its Experience,20th International Conference on Software Engineering,Kyoto Japan,1998.
[10]IEEE Standard for a Software Quality Metrics Methodology,IEEE Std 1061:1992,1992
[11]Fourth International Software Process Workshop,Representing and Enacting the Software Process,1988
[12]余金山,试论软件过程模型及其重要性.华侨大学学报,1994.01
[13]赵晓华编著,软件开发自动化技术—软件工程与CASE,北京:国防工业出版社
[14]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907
[15]何新贵,王纬,王方德,崔宗学等 软件能力成熟度模型清华大学出版社,2000
[16]范玉顺,罗海滨,林慧萍等.工作流管理技术基础.北京:清华大学出版社,2001
[17]罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907
[18]Peter C L,Walter H D.Object-oriented protocol hierarchies for distributed workflow systems.Theory and Practice of Object Systems,1995,1(4):281-300
[19]李红臣,史美林.工作流模型及其形式化描述.计算机学报,2003,26(11):1456-1463
[20]韩瀛,Rup初探.http://www.ahetc.gov.cn/cit/200105101.doc
[21]赵方圆.基于构件的可重构软件开发平台技术研究[硕士学位论文].中国海洋大学,2004
[22]Eric Newcomer.Finding Web Services with UDDI[Z].http://www.uddi-china.org.
[23]N.H.M adhavji.Envirionment Evolution:The prism Model of Changes,IEEE Transactions on Software Engineering,vol 18,380-392,May1992
[24]S.Bandinelli,A.Fuggeta,and C.Ghezzi.Software Process Model Evolution in the SPADE Environment.GOOD STEP Technical ReportPrism No.014,Dec,1993.
[25]Barry Boehm.A spiral model of program development and enhancement Software Enginneering Notes,11(4):14-24,1986.
[26]B.Henderson-Sellers and J.M.Edwards.The Object-Oriented Systems Life Cycle.Communications of the ACM,33(9):142-159,1990.
[27]Nierstrasz.component-oriented Software Development.Communications of the ACM,35(9):160-165,1992.
[28]Kent.Beck,Extreme Programming Explained:Embrace Change.Addison Wesley.2000.
[29]Mike Beedle,Martine Devos,Yonat Sharon,and al.SCRUM:A Pattern Language for Hyperproducttive Software Development.In Pattern Languages of Program Design 4.Addison-Wesley.p637-652,2000
[30]田浩 一个以活动为中心的软件过程建模工具的设计与实现,中国科学院,2004
[31]Homepage of Extreme Programming,http://www.extremeprogramming.org
[32]J.C.Dernjame,Badara Ali Kaba,and David Wastell.Software Process:principles,methodology and technology.LNCS 1500,Springer Verlag,1998.
[33]Bill Curtis,Marc I.Kellner,and Jim Over.Process Modeling.Communication of the ACM.35(9):75-90,1992.
[34]WfMC.Workflow Management Coalition:The Workflow Reference Model.TC0021003,1995.1.http://www.wfmc.org