首页 > 范文大全 > 正文

基于SSH+ExtJs的企业软件项目管理系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于SSH+ExtJs的企业软件项目管理系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:许多大型软件系统的开发经验和教训表明,在软件开发过程中,如果软件组织不能良好地实施和管理软件开发过程,就会导致工期滞后,费用增加。针对此不足,我们开发该系统确保软件开发能良好运作。在整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问题,且界面友好美观大方、操作简单方便快捷。

关键词:开发过程;项目管理;SSH;ExtJs

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599(2011)09-0000-02

SSH + ExtJs-based Enterprise Software Project Management System

Liu Shuying1,Peng Fang2

(1.Xianyang Normal University,Information Engineering College,Xianyang712000,China;2.Xianyang Normal University Personnel Department,Xianyang712000,China)

Abstract:Many large software system development experiences show that in the software development process, if not good software organizations to implement and management software development process, it will cause the time lag and increased cost. According to this shortage, we develop the software development this system to ensure that have a good operation. In the design process, we take into account database security, consistency and stability and reliability etc. it have the friendly interface and convenient and quick operation.

Keywords:Development process;Project management;SSH;ExtJs

一、引言

目前,很多软件公司都存在由于软件项目管理不当,导致软件产品不能按时交付。大多数中小型软件公司在软件项目管理中存在较大的缺陷,在管理项目阶段依然采用最原始的手工处理方式,没有专业的项目管理软件,导致没有很好的控制项目进度,成本和质量[1-3]。针对此问题,我们开发了该项目管理系统,通过对项目计划、项目进度跟踪、需求管理、缺陷管理等整个软件开发环节进行管理,方便管理人员及时了解每个项目的情况,从而提高公司的开发效率。

二、系统架构设计

本系统将采用JavaEE最常规的开发模式MVC三层架构的模式进行开发,MVC的结构如图1所示。通过图示能够看出,Model就是数据层,在本系统中所对应的就是通过hibernate生成的Entity Control就是处理具体业务的场所,在本系统中通过Service以及Struts的Action去实现,Service与Action通过Spring的依赖注入进行关联,最终Action将处理的结果返回至页面中向用户反馈,这就是页面显示层(View)。针对Struts2,其中也包含一个MVC的思想,View其实可以说是Result(标签不是V),Model是Action(Action有一点Control的作用,但主要是Model的作用,因为模型的概念就是存放数据,Struts2是从Action里面读取数据的),Control可以认为是.xml(web.xml和struts.xml)配置文件。

在系统开发过程中,我们主要用到以下关键技术。

(一)MD5加密算法:Message Digest Algorithm MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。本系统的用户登陆密码采用MD5加密的方式存储,优点在于:即使数据库管理员进入数据库也无法看到用户的登陆密码,MD5加密是不可逆的。在登陆判断时,采用的方法是将用户登陆输入的密码也采用MD5的方式加密,将加密后的密码和数据库中的密码对比,从而判断是否登陆成功[4]。

图1.MVC结构图

(二)Struts2的文件下载:Struts采用的配置文件能够将处理的结果返回至页面中,或者选择指定的页面进行跳转。而本系统的文件下载采用的是通过Struts2向页面返回一个输入流InputStream,在Action中获取需要下载的文件,并将文件写入流中,Struts2的配置文件需要按如下配置:

method="download">

attachment;filename="${fileName}"

downloadFile

其中fileName是需要下载的文件名,downloadFile是文件所在的输入流。

三、系统分析

通过对实际开发流程和软件公司的调查,提出如下开发目标:

(一)在用户登录时,根据不同角色进入不同的欢迎页面。(二)接受的邮件默认是未读状态,当查看过后就变为已读的状态。(三)数据库中用户登陆密码加密,使数据库管理人员无法看到各个人员的登陆密码。(四)该系统应易于修改和扩充。

通过对软件公司项目管理情况的调研,系统分为项目经理、软件工程师两个角色[5-7]。

针对主要角色,项目经理业务流程图,如图2。

图2.项目经理业务流程图

该系统的数据库设计涉及到八张表,即系统用户、用户信息、通知信息、项目人员、项目表、附件、项目任务、项目资料。

四、系统设计

此系统主要实现的功能为:项目经理能够项目的设计、需求等相关文档,监控各个开发人员的工作情况,以及整个项目的进度情况;开发人员能够通过本系统获取每天的工作任务,以及上报自己的工作情况,以及查看整体进度等相关功能。根据系统的功能需求,本系统的总体结构由用户管理、软件项目管理、内部信息管理、用户的基本操作、项目任务组成。系统总体结构图如图3所示。

图3.系统总体结构图

系统主界面共有两个,分别是项目项目经理和软件工程师,页面采用左侧是树状菜单,中间主体部分是各个功能的页面,采用Tab页的管理方式实现。页面全部是采用ExtJs开发,用户能够容易的看出,ExtJs比以往的Jsp页面更加美观用户体验更好。

五、结论与展望

系统经过测试运行后,对现有软件公司的管理效率和开发效率都有了很大的提高。而且系统采用ExtJs作为展现层,系统的用户体验和界面友好程度会大大高于其他以Jsp或Asp开发的系统。系统具有良好的可移植性便于升级,且具有很强的应用性。

尽管系统实现了预期的目标,但在部分功能上还不够完善,比如软件开发过程中还存在成本管理,系统还有待进一步完善和提高,这将在以后的运行和使用中不断修改完善。

参考文献:

[1]王立国,梅媚,杜维栋.工程项目延期风险管理的模型构建与应用[J].项目管理技术,2011(2):51-55

[2]赵冬梅.王晓强.侯丽娜.工程项目工期延误的关键风险研究[J].技术经济与管理研究.2009(5):48-50

[3]邱菀华.现代项目风险管理方法与实践[M].北京:科学出版社,2003

[4]孙维国.MD5算法在数据安全中的应用及安全性分析[J].微计算机应用.2010(10):66-69

[5]Eunchang Lee.Large engineering project risk management using a Bayesian belief net work[J].Expert Systems wit h Applications,2009(3):5880-5887

[6]冯楠,方德英.软件项目投资风险评价过程建模[J].计算机工程与应用,2008(6):33-34

[7]Van Truong Luu.Quantifying schedule risk in construction project using Bayesian belief net works[J].International Journal of Project Management 2009(1):39-50

[8]周围华,波.基于贝叶斯网络的建设项目质量管理风险因素分析――以京沪高速铁路建设项目为例[J].中国软科学,2009(9):99-05

作者简介:

刘淑英(1982-),女,陕西榆林人,硕士,讲师,咸阳师范学院信息工程学院,主要研究方向为:软件工程。

[基金项目]咸阳师范学院校内基金资助(07XSYK261),陕西省科技厅项目基金资助(2009JM8021)