
本文介绍了一个基于工作流技术而研制的软件项目管理系统。文章首先描述了传统软件项目管理系统的不足之处,提出用工作流的方法来设计软件项目管理系统,然后介绍了一些理论基础。文中重点阐述了系统的设计结构和所采用的一些技术,并给出了部分的具体实现方法。
论文关键词:工作流,JMS,项目管理,SPP,建模,工作流网
1前言
2O世纪7O年代以来,为了解决软机危机,改进软件过程能力,计算机科学家提出了软件工程的概念,将系统化的、规范化的、可度量的方法用于软件开发、运行和维护的过程。近些年来,随着计算机技术的进一步发展,相应的使用软件工程方法的软件项目管理系统也有了显著的发展。但是,由于开发流程中存在的不确定性以及项目变化等因素,这些系统也暴露出一些不足之处。
传统的软件项目管理系统,一般是由图形用户接口(GUI),应用程序和数据库组成,用户通过GUI向应用程序发出请求,应用程序处理这些用户请求,并且访问数据库,返回用户所要求的结果。这种模型在流程稳定的时候是可以满足需要的,它的缺点在于:
1)建模过程是之前设定好的,无法改变;
2)缺乏柔性,系统开始运行之后,预先定义好的条件就无法改变了;
3)可扩展性较差,如果想要增加或者修改相应的功能,整个系统必须重新开发。
目前,对工作流技术的研究以及相关产品的开发是国内外学者研究的热点问题之一,很多管理系统都采用工作流技术来克服上述问题。工作流起源于生产组织和办公自动化领域,它是针对日常工作中具有固定程序的活动而提出的概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。
WFMC给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行,以实现整体的业务目标。而这正适合于软件开发过程管理,基于上述的理由,我们结合江苏省十.五攻关“工作流技术的研究和应用”项目,研究并开发了基于工作流的软件项目管理系统CMMFlow,目前已应用于软件能力成熟度模型(CMM)的管理,其效果相当良好。
2理论基础
2.1 CMMI3级精简并行过程(SPP)模型
利用工作流技术可以设计和建立一个工作流环境,在此系统中,我们使用CMMI3级精简并行过程(SPP)模型来支持软件过程实施。
SPP把产品生命周期划分为产品概念、产品定义、产品开发、产品测试、用户验收和产品维护等6个阶段,包含项目管理、项目研发和机构支撑等3类过程、19个过程域。其中项目管理过程包含立项管理、结项管理、项目规划、项目监控、风险管理和需求管理等六个过程域;项目研发过程包含需求开发、技术预研、系统设计、实现和测试、系统测试、Beta测试、客户验收和项目技术评审等8个过程域;机构支撑过程包含配置管理、质量保证、培训管理、外包与采购管理以及服务与维护等5个过程域。
我们把每一个过程域都看成是一个流程,其中过程域之间的关系是线性为主,并行、迭代为辅。每个过程域包含若干原子活动。通过建立活动与角色以及角色与具体用户的关联,即可建立一个可执行的业务过程模型。
2.2基于petri网的可视化建模工具
在这个系统中,我们的建模工具是使用工作流网和XP—DL共用的策略,采用的是扩展的Petri网,对最终用户来说,足可视化的图形建模工具。为符合WfMC规范,工作流机装入的模型用XPDL存储,可使用XPDL和Petri网两种表示形式,验证是使用Petri网形式。
在Petri网的基础上,Aalst提出了工作流网(WF-net)的概念,其定义如下:
一个Petri网PN=(P,T,F)被称为工作流网,当且仅当它满足下面两个条件:
1)PN有两个特殊的库所:i和0。库所i是一个起始库所,即·i= ;库所O是一个终止库所,即O·= 。
2)如果在PN中加入一个新的变迁t,使t连接库所。与i,即·t·={0),t·={i),这时所得到的PN是强连接的。
下面我们给出一个用工作流网定义工作流的简单例子,例子描述的是软件立项管理的工作流过程。
根据工作流网的基本定义,通过使用不同类型的基本组件和触发机制,对立项管理进行建模,得到如图1所示的工作流网模型。
基本流程如下:立项建议小组进行立项调查,然后进行项目构思和可行性分析,在完成之后进行立项申请,然后立项审查小组对此立项进行审查,决定是否同意立项。如果否决,则必须重新进行立项建议,如果同意立项,进入项目筹备阶段,流程结束。
3系统设计
3.1设计思路
整个系统构架采用B/S模式,参照J2EE框架,主要分为四层:
1)展现层:主要包含客户浏览器端和Web服务器端的applet,jsp和servlet,负责和用户交互,接收数据,显示结果等。
2)商业逻辑:用于处理展现层从用户端接受到的数据,包含了控制应用处理的所有规则,同工作流执行服务通讯,并且将展现层和数据服务层连接起来。
3)工作流执行服务:是流程运行和管理的核心组件,包括工作流机和任务表管理器。
4)数据服务:负责提供对数据的存储和读取服务。
此外,在系统设计的过程中还采用了以下的技术:
1)J2EE框架
J2EE体系包括javaserverpages(JSP),javaSERVLET,enterprisebean,WEBsevrice等技术,提供了一个企业级的计算模型和运行环境用于开发和部署多层体系结构的应用。它通过提供企业计算环境所必需的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。J2EE中多数标准定义了接口,例如JNDI,JDBC等,这使得遵循这些标准的不同开发者之间的模块可以无缝地互连。
2)JMS
JAVA消息服务(JMS)定义了Java中访问消息中间件的接口。JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为JMSProvider。
在JMS中,每个客户机连接到一个为发送和接收消息提供框架的消息传递代理程序。客户机需知晓消息格式和消息目的地。根据JMSAPI,消息传递分为两种模式,点对点和发布/订阅模式。
点到点消息传递方法使用下列工具,如消息队列、发送方(或消息制作者)和接收方(或消息消费者)。客户机将发向特定接收方的消息发送到唯一的队列。当接收客户机从特定队列抽取消息时,它发出确认消息,表明消息已处理。队列将保留所有消息,直至接收方收到消息或消息到期。发布/预订消息传递方法使用发布者、订户和主题的概念。客户机将消息发送到主题或内容层次结构。为了接收到消息,消息消费者必须预订此主题。因此,对于这种方法,可以将消息制作者作为发布者,而消息消费者则是订户。JMS供应商将多个发布者发来的消息分发到主题和此主题的多个订户。
点对点模式适用于使用集中式工作流机的系统,对于大规模的分布式应用,发布/订阅模式则相当有效,但是,在保证各个分布式工作流机的一致性问题上则稍有难度。
3.2系统结构与功能特点
CMM软件项目管理系统的系统结构如图2所示,它主要由过程建模工具,工作流机,任务表管理器,web服务,客户端和数据库接口等组成,该系统的各功能特点是:在这个系统中,我们使用浏览器作为客户端,通过Http请求与Webserver交互,Websevrer再将收到的请求加以处理,判断哪些是应当丢弃的,哪些应该交由工作流执行服务处理,并将处理后的结果发送给工作流执行服务器。工作流机收到Webserver传送过来的数据后,会根据消息的具体内容继续执行流程或者将流程挂起或是结束流程的运行,并且更新任务表管理器的内容,在需要的时候调用相应的应用程序来完成任务的需要。在过程建模工具中建立,修改,删除的模型将通过存储过程来修改数据库中已存储的模型。
websevrer和工作流执行服务也都要通过存储过程来访问数据库。各部分的功能特点描述如图2。
1)建模工具:使用基于Petri网的建模方法来对企业经营过程进行过程定义,将经营过程转化为工作流引擎可以执行的形式。同时还提供对过程模型进行分析,测试的工具。
2)工作流机:工作流引擎是工作流平台的核心,它是业务流程的任务调度器,从某种程度上看,工作流机也是业务资源管理器。它的主要作用是实例化及执行过程模型、为过程和活动的执行进行导航、与外部过程交互完成各项活动、维护工作流控制数据和工作流相关数据等。
3)任务表管理器:过程模型中的每个活动都被看作是一个由计算机自动执行的任务或由用户手动执行的任务,任务表管理器负责对这些任务的监视和维护。
4)Web服务:包含了用于处理用户请求和显示结果的jsp和sevrlet,其主要工作是将客户端与工作流执行服务连接起来。
5)客户端客户端是基于浏览器方式的瘦客户端,方便管理员管理整个工作流管理系统的运行过程,和一般用户管理和执行分配给自己的任务。
6)数据库接口:实现了底层的数据存储,包括过程定义,工作流控制数据,工作流相关数据,企业组织模型等工作流管理系统运行过程中必须的信息。
4系统的一些实现技术
4.1任务的自动分配和触发机制
可以根据模型定义自动地分配任务,当一个过程实例运行的时候,活动可以根据模型定义自动分配到指定接收者,并且,有关完成此活动所需要的数据也会传递给相应的接收者,从而提高业务过程执行效率。模型中使用角色机制,不指定具体人员,这样,人员变更不至于引起模型的变动。系统支持迟后绑定,即可以在活动运行的时刻才确定此活动由谁来完成。
流程从使能到运行的控制,采用触发机制,分为人工触发、自动触发、消息触发和时间触发。人工触发一般是用户从任务表中选取其中一项任务来完成,自动触发是一些通过程序自动执行的过程,一旦使能就被触发,消息触发是指系统外部的消息到达触发,如Email,时间触发是由定时器来触发。
4.2活动信息的统计
系统可以通过对活动信息统计,并将活动的运行状况和统计信息存储在数据库内。通过提供有关工作量的信息,可以在建模的时候预测所需要的时间,并且在活动结束时计算任务完成情况,与初始模型进行对比,生成相应的图表以判断工作效率,辅助决策经营。除系统提供的几个基本统计模型之外,用户也可以利用系统提供的工具,自行扩展新的模型来完成工作量信息统计和生成对比图表。
结论根据软件过程管理的需求,以工作流技术为核心,J2EE技术为支撑,结合SPP模型,文章给出了一个软件管理系统的体系结构和其中的一些技术实现。但是,为了更好地实施软件过程控制和度量,我们发现,还有一些问题需要进行深入的研究。
首先,软件过程模型的建立就要结合具体的实际情况,需要深人了解整个软件过程,并根据不同的需要修改模型来完成资源的动态配置和管理。另外,关于分布式工作流机之间的通讯和一致性问题也是相当重要的问题,需要拟定合适的策略来实现资源优化调度。
云计算将使数字图书馆在软件环境、硬件存储、应用平台与服务方式等方面发生深刻变革,同时也会使信息资源面临很多安全问题。在云计算应用过程中应逐步建立和完善相关行业标准,保证信息资源的安全存储,实现信息资源的保密性与完整性、严格划分操作权限、加强用户访问控制,以保障数字图书馆信息资源的安全。 云计算是Google提出的全新的互联网应用模式,是分布式处理、并行处理和网格计算等计算机科学概念在互联网上的实...
信息技术飞速发展,社会与经济正在快速信息化。这对公安现役部队的信息安全提出了挑战。通过对信息安全现状分析。提出了公安现役部队的应对策略,同时对其建设发展趋势进行了探讨。 论文关键词:信息化;信息安全;网络安全;保密意识 2l世纪以来.人类社会进入信息化时代。近几年.全国公安现役部队深入贯彻公安部”科技强警”的指示方针.伴随着公安现役部队信息化工程的建设与发展,为全体官兵...
ASON作为下一代光网络中最重要的技术之一,在设备开发方面已经达到较高的水平,但是在应用方面还刚刚起步。本文通过分析ASON技术的特点和优势,讨论ASON在移动通信中的应用前景。关键词:ASON传送网移动通信 1引言 随着移动通信的飞速发展,数据服务量不断激增和接入业务日益多样化,对光传输网络在自适应能力方面提出了更高要求。当前通信网络的发展不仅要创造更大的带宽容量,还要解决如何将网络中的...
数字程控调度机是煤矿企业生产调度的一个重要组成部分,显得及其重要。一旦发生故障,将使企业调度通信暂时陷于瘫痪状态,所造成的经济损失无法估量,而且其对煤矿生产安全潜在的威胁也无法预计。因此,加强对数字程控调度机的维护就显得十分重要。本文介绍了数字程控调度机的维护特点、硬件和软件维护以及数字程控调度机工作中其它注意事项,简述了数字程控调度机在企业生产调度通信中的重要性,对数字程控调度机实际生产运行维护...
本文主要分析了我国软件项目管理的现状及存在的误区,总结了软件项目管理方面的经验,提出了初步的解决方案和办法。 随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加。计算机软件开发从“个人英雄”时代向团队时代迈进,计算机软件项目的管理也从“作坊式”管理向“软件工厂式”管理迈进。这就要求软件开发人员特别是软件项目管理...
在软件项目开发的过程中,软件项目管理的成功与否是决定一个项目是否能够顺利高效率完成的重要保证。但是我国大部分的软件企业在进行项目管理对都存在着各种问题,从而使项目不能顺利有效地完成。文章探讨了在嚼目管理过程里出现的常见问题,并给出了相应的解决策略。 我国软件产业的现状是数量已上规模,但质量亟待提高。在软件项目开发中,发现了一些普遍存在的问题,如项目严重误期、代码质量达不到标准、程序员疯狂工作仍然...
软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它文中通过介绍软件工程的相关知识和针对项目的特殊性对软件工程理论的具体实施办法,展示了如何将软件工程理论应用在实际工作中,从而快速、高效地开发出高质量的软件。 软件项目管理是使软件项目能...
随着当代信息技术的发展,互联网的共享性、开放性以及互联程度也在不断扩大。Internet的广泛普及,商业数字货币、网络银行等一部分网络新业务的迅速兴起,使得计算机网络的安全问题越来越显得重要,通过归纳总结,提出网络信息中的一些安全防护策略。 1.引言 网络环境的复杂性、多变性以及信息系统的脆弱性,决定了网络安全威胁的客观存在。当前,随着计算机技术的飞速发展,利用因特网高科技手段进行经济商业犯罪...
为进一步全面推进区域教育现代化建设、促进教育公平和均衡发展,在更高层次和更广范围内推进教育信息化建设,江苏全省启动了基础教育信息化公共服务体系建设。作为服务体系的重要组成部分和核心内容,江苏省确定了教师教育技术应用能力建设的发展目标和发展策略,将在此框架下建立一个全方位、多层次、重实践的教育技术能力培养和应用体系,提升整个教育信息化的实践效能。 论文关键词:教育技术;应用能力;目标;策略 江苏...
智能电网是当今世界电力系统发展方向,也是我国电网升级改造的目标。针对我国现有电网管理的应用程序及系统呈现分布式和异构等特点,从国内外智能电网信息集成技术的研究现状出发,分析现有电网信息集成的不足以及智能电网信息集成的要求,提出智能电网异构信息集成框架的方案。 论文关键词:智能电网;信息集成;公共信息模型:CLS;平台 0引言 智能电网是当今世界电力系统发展变革的最新动向,是节能减排、可持续和...
影响因子:0.000
影响因子:0.886
影响因子:5.670
影响因子:1.468
影响因子:3.363
影响因子:0.708
影响因子:0.000
影响因子:11.810