基于Java平台的公务员考核管理系统的设计与实现
2009-09-26施滔滔郭姝俞啸王良坪
施滔滔 郭 姝 俞 啸 王良坪
[摘要]针对当前政府单位公务员考核管理效率低等问题,提出一种基于Java平台下C/S模式的公务员考核管理系统的设计与实现方案,对系统进行整体设计和详细设计,该系统主要包括考核对象管理、考核单位管理、考核指标管理、考核成绩管理、投票系统管理、报表生成、系统管理这些功能模块,最后还介绍系统设计的关键技术,通过这些技术,提高公务员考核管理的效率。
[关键词]Java C/S模式 公务员考核管理系统
中图分类号:TP302.1文献标识码:A文章编号:1671-7597(2009)0920051-02
一、引言
近年来,随着科学技术的飞速发展,信息化已遍及世界的每一个角落,计算机以其精确、高效的优势逐渐渗入到社会的各个领域,可以说现代社会已离不开计算机。但政务网站以及政务考核系统在我国的发展还未能完全赶上信息化的潮流。各政府机关部门都有大量的资料及考核信息需要处理,然而很多部门还需要依靠大量的人力资源进行各类信息数据的处理,这种状况在县一级的政府单位表现尤为突出。[1]
很多政府单位在公务员管理方面有着一套完整的方案措施,一直以来其考核和管理主要靠人工操作来完成,由于数据工作量大,特别是在投票统计和处理的过程中难免会因为人为疏忽而造成数据计算有误,效率相对较低,信息更新不及时,其公正性也难以保证,针对这些问题,本文设计了一个基于Java平台C/S结构开发的公务员考核管理系统,该系统结合山东省微山县公务员考核管理的实际情况,将公务员考核管理的各个方面进行信息化管理,管理人员可对公寓管理的基本信息进行增加、删除、修改等,该系统极大的提高了公务员考核管理的效率,使得公务员的考核管理更加科学规范。
二、系统的开发环境及技术要求
(一)系统的开发环境
本系统在Windows XP操作系统下采用MyEclipse 7.0开发环境进行开发,在Java平台下采用J2EE开发系列中的Struts、Spring、Hibernate为主要架构,并通过JSP进行外部表现。数据存储方面,Microsoft SQL Server 2005作为一个中型并不断向大型数据库软件更新的数据软件来满足需求。[2]
(二)开发架构和SQL语言简介
Struts[3]是开源软件。可减少在运用MVC设计模型来开发Web应用的时间。它是MVC的一种实现,它将Servlet和JSP标记用作实现的一部分,而且继承了MVC的各项特性,并根据J2EE的特点做了相应的变化与扩展。
Spring[3]是开源框架,致力于J2EE应用的各层的解决方案,它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Hibernate[3]是开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
SQL[4]是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统。SQL语言一共分为四大类:数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)以及数据控制语言(DCL)。[5]
(三)C/S模式
C/S模式[6]主要由客户应用程序(Client),服务器管理程序(Server)和中间件(Middleware)三个部件组成,客户应用程序是系统中用户与服务器进行交互的部件。服务器程序负责有效地管理系统资源,对资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业.以满足用户查询管理数据的要求。
三、系统设计
(一)总体设计
公务员考核管理系统主要包括考核对象管理、考核单位管理、考核指标管理、考核成绩管理、投票系统管理、报表生成、系统管理这些模块。总体设计如图1所示:
(二)模块设计
各模块详细设计如下:[1]
考核对象管理:主要包括考核对象的基本信息,分为领导班子和领导干部,领导班子包括领导班子ID、部门名、考核类别;领导干部包括领导干部ID、姓名、用户名、密码、性别、所属单位ID、投票标记、级别。通过考核对象管理模块可以对考核对象的基本信息进行录入、删除、修改等基本操作。
考核单位管理:主要包括具有给分权单位的基本信息,即包括单位ID、单位名称、用户名、密码,可以对考核单位的基本信息进行录入、删除、修改。
考核指标管理:主要包括考核指标ID、指标名称、对应的给分单位情况。
考核成绩管理:主要包括考核对象ID、各项考核指标、对应得分、给分时间。
投票系统管理:主要包括具有投票权的对象和处理后投票数据的基本信息,具有投票权的对象包括投票人ID、用户名、密码、级别、投票标记;处理后投票数据包括考核对象ID、投票性质、各等级成绩记录(实绩突出票、实绩较好票、实绩一般票、实绩较差票)。
报表生成:即将考核对象的总成绩分门别类的以报表输出到督考办。
系统管理:包括管理员密码的修改,用户添加和删除,权限的设置,数据库备份、导入和输出,系统日志文件的查看等。
四、关键技术
登陆模块的设计是整个系统设计的第一步,也是系统设计重要组成部分,本系统根据不同的登陆身份分配不同的权限,分为给分单位、领导班子、职员、管理员,只有管理员可以对系统的数据进行添加、删除和修改。其他用户登陆系统后只能浏览新闻和投票给分,该部分的主要程序代码如下[7]:
private int id[];
UserDAOHibernateImpl userDAO = new UserDAOHibernateImpl();
private Map sessionMap;
public String execute() throws Exception
{
ActionContext ctx=ActionContext.getContext();
userDAO.setType(rad);
id=new int[1];
if(rad.equals("c"))
{
ctx.getSession().put("guanliyuan", this.getUsername());
ctx.getSession().put("guanliyuanmima", this.getPassword());
return "guanliyuan";
}
//验证登录者的信息
if(isInvalid(username,password,rad))
{
sessionMap.put(AuthenticationInterceptor.USER_SESSION_KEY, "user");
ctx.getSession().put("user", this.getUsername());
ctx.getSession().put("password", this.getPassword());
ctx.getSession().put("type", rad);
ctx.getSession().put("deng_id", String.valueOf(id[0]));
//取得考核项信息
List list=userDAO.getlist("KaoHeX", KaoHeX.class,"DepartId",id[0]); this.kao_he_xiang=list;
ctx.getSession().put("kao_he_xiang", this.getKao_he_xiang());
return SUCCESS;//显示成功页面
}
else
{
//将出错信息加入到ActionError
message = "输入错误的用户名和密码!请重新输入!";
return INPUT;//返回输入页面
}
}
五、结束语
该系统作为公务员考核管理系统基本上能够完成公务员考核管理的要求,系统的设计具有一定的可行性,可以节省督考办考核管理的财力、物力、人力,大大的提高了公务员考核管理的效率,为公务员考核管理工作起到了很大的推动作用,可以推广到政府机关部门使用。
参考文献:
[1]张虹、姜淑娟、刘迎春、荣新节,软件工程与软件开发工具[M].北京:清华大学出版社,2004.
[2]张虹,《软件工程与软件开发工具》[M].清华大学出版社,2004.
[3]陈雄华,《精通spring企业应用开发详解》[M].电子工业出版社,2007.
[4]詹英,《SQL server 2005数据库系统开发》[M].清华大学出版社,2008.
[5]刘志成,《SQL Server 2005 实例教程》[M].北京:电子工业出版社2008.
[6]赵永乐、杨新芳,管理信息系统设计中C/S 模式与B/S 模式的比较[J].商丘职业技术学院学报,2007,6(2):52.
[7]叶健毅,《精通Java EE》人民邮电出版社[M].2009.
作者简介:
施滔滔(1988-),女,汉族,江苏南通人,本科,江苏省徐州市中国矿业大学计算机学院计算机科学与技术专业,主要研究方向:计算机应用,软件工程;郭姝(1989-),女,汉族,本科,江苏省徐州市中国矿业大学计算机学院信息与安全专业;俞啸(1989-),男,汉族,本科,江苏省徐州市中国矿业大学计算机学院计算机科学与技术专业;王良坪(1987-),男,汉族,本科,江苏省徐州市中国矿业大学计算机学院计算机科学与技术专业。