摘要:针对传统的项目管理模式及管理方法周期长、开支大、效率不高,而现行的项目管理系统又不能实现全程跟踪和全程化管理的问题,根据软件开发企业项目管理需求和实际工作业务,基于SOA架构、Struts和WebService技术,从项目创建、项目跟踪、任务执行、数据接口、报表分析和数据挖掘等方面,该文一个基于PC端和Android移动手机端的项目管理系统,实现了项目的全程跟踪与管理,提高了管理工作效率,并为后期的项目开展提供了数据基础和智能支持。
关键词:移动项目管理;Struts框架;Web服务;面向服务的架构
伴随着当前网络信息技术的快速发展,项目管理系统现已比较成熟,可以满足中小型企业的基本项目管理需求,但大部分系统只能进行本地化操作,操作工具、功能比较单一,仅停留在针对某个具体的项目进行一些资源的分配、任务的创建执行等无法合理利用当前庞大的智能手机资源,决策能力不高,移动性差,无法适应当前网络环境飞速发展的新形势。面对大数据时代的来临,系统项目信息的交换和共享,以及针对各个项目所产生的客户关系和管理数据进行挖掘分析等,协助项目负责人或者更高层领导提供有力的分析数据进行决策,将成为将来管理系统发展的主流趋势。
1软件企业项目管理现状
目前中国软件市场已成为超过1300亿元的市场规模,未来五年将保持15%的年平均复合增长,研发、生产、营销等软件产业链环节的全面创新将成为软件市场发展的主旋律。随着软件产业的蓬勃发展,传统的项目管理方式逐渐暴露出功能简单、信息共享与交流不便,以及受区域限制等缺点,不再适应软件行业大规模发展的实际需求。
为了方便用户进行项目管理,合理利用当前网络环境和可联网工具,提高管理效率,满足用户随时随地办公的系统需求,该文提出了移动项目管理,即用户可以在任意地方通过任意可联网工具进行联网办公,如PC机、手机或平板电脑等,根据WBS工作分解思想,通过多种终端接人,充分利用移动资源进行项目管理,提高项目管理效率,提高项目成员之间的沟通能力,通过及时发现、及时反馈、及时调整、及时解决的管理思想,来帮助负责人更加合理有效的掌控项目,控制项目风险。通过移动项目管理系统可以将项目产生的数据信息或者人力资源信息进行系统交换和共享,合理利用和规划当前重叠信息,减少冲突,预防信息丢失,保持数据的一致性后期可对客户关系进行数据挖掘分析,分析客户关系群的特点,帮助企业“对症下药”,促进公司业务的拓展。
2关键技术介绍
2.1Struts技术
Struts是Apache组织的一个项目,是开源软件,使开发者能更深人的了解其内部实现机制。Struts开放源码框架的创建使开发者在构建基于JavaServlet,JavaServerPages(JSP)技术的Web开发更加容易。Struts框架本身是使用JavaServlet,JSP和CustomTagLibrary技术的一种Model-View-Controller(MVC)实现方式。利用Struts统一的框架标准为基础,开发者能够更专注于应用程序的商业逻辑。工作原理如图1所示。
首先,用户的HTTP请求一般以*.do。作为请求服务名,所有的*.do。请求均被传给控制器ActionServlet。其次,ActionServlet根据Struts-Config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean。将此FormBean传至指定名称的Action。由Action调用JavaBean完成相应的业务操作,如文件操作、数据库操作等。ActionServlet得到Action的执行结果,并根据Struts-Config.xml中的配置,将结果转发给JSP页面。最后,页面将最新结果呈现在客户端。使用Struts实现MVC模式,结构清晰,开发者仅需关注业务逻辑实现,具有丰富的标记库(taglib)提供数据库链接池管理和Exception处理机制使用页面导航,使系统的脉络更加清晰,易于系统的管理和维护。
2.2WebService技术和SOA架构
WebService技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据WebService规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。WebService是自描述、自包含的可用网络模块,可以执行具体的业务功能。WebService易于部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如XML和HTTP。WebService减少了应用接口的花费,为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
SOA(ServiceOrientedArchitecture,面向服务的架构)的思想是软件即服务,它把系统能够实现的功能划分为粒度不同的服务,通过发布可实现的接口为其他的应用程序提供服务,系统之间的功能调用转换为服务调用。采用SOA架构,企业应用集成问题可以有效地被解决,随着企业级应用的不断发展,业务要求的不断变化,为了减少系统的异构性,SOA已经成为当前研究的热点。目前,实现SOA的技术有很多种,比如Microsoft的DCOM.OMG的CORBA以及WebService。用WebService来实现SOA是一个很好的选择,优点在于:WebService是广泛普及的、简单的和平台中立的。该文中采用WebService来实现SOA架构的数据接口和数据交换。
3系统功能
移动项目管理包括PC客户端和移动终端两个管理平台,移动终端功能为从PC客户端复制过来的功能进行移动设备的实现。主要业务功能包括项目创建、计划编制、计划查看、跟踪、审批、报表、发布、任务执行、任务调整、任务预警、WebService数据服务,数据挖掘分析等。
1)项目创建:通过项目创建模块创建并发起一个项目,后续业务功能围绕项目展开。
2)计划编制:通过计划编制,项目负责人可以定制本项目所产生的计划。
3)计划查看:项目负责人将计划发布后,项目成员可以查看接收的计划。
4)跟踪:项目负责人可以跟踪项目、计划、里程碑或者具体任务的进度完成情况。
5)审批:项目负责人针对项目成员提交的工作成果或者上传调整任务等进行审批,审批通过方可进行下一步。
6)报表:通过定制报表,项目负责人可以查看项目相关统计数据信息。
7)发布:通过发布,将计划发布到客户端或者移动终端。
8)任务执行:项目成员接收到自己的任务后进行执行、登记和上传。
9)任务调整:通过任务调整模块,项目负责人可以对项目进行过程中所发生的变化以任务形式进行调整发布。
10)任务预警:系统根据预警规贝以,对系统进行自动预警或者项目负责人进行手工预警,来警示项目成员的任务执行过程。
11)WebService数据服务:基于WebService,系统可以从外部系统中导人数据,或者为外部系统提供访问接口。
12)数据挖掘分析:通过数据挖掘分析算法,对客户关系进行挖掘,以可视化的形式将分析结果进行呈现。
4系统设计
4.1开发环境及主要技术方案
系统采用RUP统一控制开发过程,使用OowerDesigner建模工具进行系统建模,使用MyEclipse9.0开发工具进行代码编写,采用SQLServer2008进行数据库存储,将服务端部署在具有较高性能的部门级服务器上。系统的整体设计、功能划分、数据库结构和用户界面设计等有较强的可扩展性和可维护性。系统架构图如图2所示:
4.2数据库设计
采用完全数据库设计,将项目资料和相关文件全部保存在数据库中,不仅增强了资料存放的安全,而且可以对文件进行更好的管理。稳定的后台数据库系统,足以支撑大量数据存储和频繁读写的需求。
4.3多角色的多用户管理设计
系统采用角色的方法来实现权限管理,通过用户角色表和角色权限表来实现用户与角色及角色与权限的映射关系,根据项目创建、任务审核、任务执行等流程中角色的不同,设定多类角色,动态分配权限,并可将多种角色用于用户的权限设置,提高了系统权限设置的灵活性。
4.4HighChats报表定制设计
HighChats是一个用纯JavaScript编写的一个图表库,能够很简单便捷的在Web网站或是Web应用程序添加有交互性的图表。目前HighChats支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表等,可以满足多种需求。
同时,HighChats界面美观,由于使用JavaScript编写,所以不需要像Flash和Java。那样需要插件才可以运行,而且运行速度快,生成的图表具有提示功能和放大功能,方便用户使用并具有较好的用户体验。HighChats还有很好的兼容性,能够完美支持当前大多数浏览器,包括Safari、IE和火狐等。
4.5使用SOA架构进行WebService设计
在人员管理、项目资源管理、PC端和Android端数据接口等多方面,采用WebService技术,实现了SOA架构下多种系统平台或功能之间的数据交互,提高了系统的开发性和可维护性。
4.6多层次的安全保障设计
本系统采取用户身份验证的方式登录,通过目录级访问控制保证系统信息的安全利用各种加密算法和防注人攻击保护网络安全;在SQLServer2008中通过数据备份与恢复打造数据的底层安全防线。
5结论
通过实际分析调研,移动项目管理平台的构造和开发,符合当前企业管理用户的迫切需求,能够充分利用当前的网络资源和各种移动设备资源,避免资源浪费,能够充分利用当前的信息数据,降低信息冲突的可能性,能够提高企事业单位项目管理效率,提供上层领导决策能力,在技术上实际需求且切实可行,后期具有一定的经济效益。(本文于2013年发表于《电脑知识与技术》)