任务管理系统的开发

时间:2022-04-28 11:02:33

任务管理系统的开发

摘要:任务管理的主要功能是对各人员分配任务的进度进行跟踪管理。开发环境使用了eclipse、jetty,使用Java语言开发,开源MVC框架struts2,对象关系映射方案使用了Hibernate Annotation,IOC使用Spring,数据库使用了Mysql。系统将根据用户角色确定相应的操作权限,可以进行相应的操作。不同的角色可以跟踪不同的任务,普通用户仅可以查看分配给自己的任务,组长可以查看自己以及组员的任务信息。

关键词:任务进度; eclipse;Java;Spring;Hibernate;Struts2;Mysql

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)23-5278-03

日常工作中,经常面对多个任务穿行的情况,为了了解任务的进度情况,只有去和每个负责人员交流才能获取相关情况,但是这种方式导致效率低下、进度不准确,并且没有进展情况、任务转发流程的记录。针对这个情况,开发了任务管理系统,其主要功能包含任务创建、分配、转发、进度更新以及用户管理、组管理等功能。

开发环境使用了eclipse、jetty,系统采用了B/S架构,使用java语言开发,使用的技术均为成熟的开源方案,使用广泛,便于学习使用。

MVC框架使用了Struts2,该框架包含了拦截器、OGNL表达式语言、堆栈等技术(系统架构如图1所示)。整个框架结构清晰,开发过程一目了然,可以很好的掌握开发的过程。模块化的结构便于功能扩展。

Spring 控制翻转(Inversion of Control,IoC)的应用及面向接口编程使得在开发的过程中解耦,所有类的初始化由Spring完成,减少人为干预。不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。声明式的事务方式可以很灵活的进行事务管理,提高开发效率和质量。同时Spring对很多开源框架具有良好的支持,如Hibernate、Struts等,简化开发过程。

数据库采用了Mysql并使用Hibernate作为持久层方案,由于Mysql是一种关系型数据库,在面向对象的开发过程中,需要一个对象关系的映射,hibernate是这方面比较优秀的解决方案。Hibernate是轻量级对象封装,是一个独立的对象持久层框架,不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短了手动处理SQL和JDBC上的开发时间。同时系统采用了Dao、Service分层,Dao层仅处理对象的简单操作,Service层主要处理业务。

1 权限设计

系统共包含了新建任务、任务列表、我的任务、用户管理、用户组管理功能。系统定义了三种角色:系统管理员,组长,用户。不同的角色对应了不同的菜单项,系统管理员可以使用所有功能,组长功能包含新建任务、任务列表、我的任务。用户功能包含新建任务、我的任务。为了保证系统安全,防止没有相应角色的用户通过url直接访问相关功能,使用了webwork拦截器(代码1)进行权限检查,所有请求均会经过该拦截器处理,各请求会通过自定义的Annotation(代码2)声明获得相应操作需要的权限,level表示操作所需要的权限级别,只有当登陆用户的权限级别大于等于所要求的级别才可以进行相应的操作(权限声明代码3),如果没有相应的权限,则直接跳转到提示页面。

3 数据过滤

系统管理员和组长均有任务列表功能,但是所能查看的数据是不同的,系统管理员可以查看所有数据,而组长仅能查看自身及组员的任务数据,数据会根据组用户进行过滤。列表中通过图示简单明了的显示任务的进度、优先级信息。任务列表界面如图3所示。

用户管理功能是用于维护用户基本信息以及用户所拥有的角色。用户组管理维护用户组信息以及用户所属组内容,组长可以查看组内用户的任务。

通过该系统的使用,提高了人员的工作效率,并且可以查看用户所分配的任务,可以统计人员的工作量,便于对任务进行跟踪及进度检查。

参考文献:

[1] Struts官方网站[EB/OL].http:///development/2.x/.

[2] Spring官方网站[EB/OL].http:///.

[3] Hibernate官方网站[EB/OL].http:///.

[4] Mysql官方网站[EB/OL].http:///.

[5] Spring系列 Naveen Balani[EB/OL].http:///developerworks/cn/java/wa-spring1/.

上一篇:一种Apriori 改进算法在免疫入侵检测系统中的... 下一篇:应用OLP 系统提升干线光传输网安全的研究