人事管理系统.docx
- 文档编号:3949847
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:26
- 大小:905.69KB
人事管理系统.docx
《人事管理系统.docx》由会员分享,可在线阅读,更多相关《人事管理系统.docx(26页珍藏版)》请在冰点文库上搜索。
人事管理系统
目录
1.绪论1
1.1课题背景1
1.2系统开发关键技术介绍1
2.系统分析2
2.1用户工作流程2
2.2用户业务需求2
3.系统设计3
3.1设计思想3
3.2系统功能结构图3
3.3模块功能设计3
4.系统数据库设计5
4.1系统数据库的建立5
4.2系统E-R图5
4.3各个数据表的创建6
4.4触发器设计8
4.5数据库的连接9
5.系统实现10
5.1系统实现工具与支持平台10
5.2系统界面10
5.3系统主要功能实现14
5.4系统核心代码15
6.总结与展望20
6.1收获与体会20
6.2未来的展望20
参考文献21
致谢22
课程设计检查表23
1绪论
1.1课题背景
随着计算机技术的飞速发展和计算机在企业管理应用中的普及,利用计算机事项企业人事管理势在必行。
企业人事管理系统是一个现代化的企业在竞争中立于不败之地的必要条件,它为人事信息提供充足的信息和快捷的查询手段。
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是事业能够现代企业制度要求,推动企业劳动人事管理走向科学化、规范化的必要条件。
工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不容许出错,用计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计。
同时计算机具有手工管理无法比拟的优点:
检索快速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率,也是企业走向科学化、正规化管理,与世界接轨的重要条件。
1.2系统开发关键技术介绍
本系统采用的是开源的Eclipse做为开发系统前台的工具,后台数据库由Oracle10g开发。
采用两层体系架构模型即界面层和数据层。
分层结构设计特点:
本系统采用界面-数据库两层结构,将不同的复杂数据库操作或业务逻辑划分为独立的模块,所有的数据库创作均由用户叶面调用来完成,提高了系统的安全性和可移植性。
分层信息管理:
系统采用双层信息分来进行信息的组织管理,使信息的分类归属更清晰,不仅提高了信息的利用效率,而且方便了用户的查看和检索。
JSP语言是嵌入Java代码HTML语言,两种标记混杂,在一定程度上使开发更方便,但也存在问题,例如混杂的代码易出错,
同时,系统涉及复杂操作的不同功能独立出来,作为一个模块来设计,在需要用到特定功能的程序,仅需进行调用即可。
这样不仅避免了程序代码中不必要的重复,更重要的是使系统层次更为清晰,极大地方便了以后系统功能的增加,在一定程度上也减少了开发成本。
2系统分析
2.1用户工作流程
在用户登陆后,用户可以对工作和人员进行查询、更新和修改,其中对工作管理只要是对部门和职位进行管理;对人员管理只要是对员工的个人档案、考核情况、职位变更等信息进行管理。
管理主要包括增加、删除和修改。
2.2用户业务需求
(1)该管理软件将对人员进行资料管理和统计;
(2)该管理软件将根据用户的需要对增加、删除和修改情况进行查询;
(3)该管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;
(4)该管理软件提供企业人员管理,能够对企业员工的分类管理,新员工的加入以及员工删除,修改进本信息等功能。
3系统设计
3.1设计思想
(1)系统分成前台和后台几个相对独立的模块,但这些模块都进行集中式管理。
(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。
作为应用程序有较强的可操作性和扩展性。
(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。
3.2系统功能结构图
根据对信息管理系统进行可行性分析和结构化程序设计的要求,得到系统总体结构如图3-1所示:
图3-1人事管理系统功能结构图
3.3模块功能设计
作为一个具有应用价值的管理信息系统,在本质上说,其操作对象为数据库中存储的具体记录,因此,不仅要求所有使用的数据库系统具有比较高的稳定性、安全性及高负载下保持足够响应的能力,还要求设计者清楚需求,作为科学家的数据库逻辑结构设计,以提高数据库的利用效率,减少数据冗余。
本系统共包括两大模块,分别是工作管理模块和人员管理我模块。
每个模块的功能如下:
1.人员管理模块功能:
(1)实现个人档案信息的查询;
(2)实现个人档案信息的更新,包括增加、删除、修改功能;
(3)实现考核信息的查询;
(4)实现考核信息的更新,包括增加、删除、修改功能;
(5)实现职位变动信息的查询;
(6)实现职位变动信息的更新,包括增加、删除、修改功能;
2.工作管理模块功能:
(1)实现职位信息的查询;
(2)实现职位信息的更新,包括增加、删除、修改功能;
(3)实现部门信息的查询;
(4)实现部门信息的更新,包括增加、删除、修改功能;
4系统数据库设计
4.1系统数据库的建立
数据库的设计尽量的实现与应用程序做到最低等级的耦合,按照三层模式两级联系的方式设计数据库,把数据库设计成层次清晰的,高效的,实用数据库。
在该系统的数据库设计方面,把数据库的设计分为四层:
基本表,视图,包,存储过程。
其中视图作为联系存储过程与基本表的桥梁必须进行认真的设计,在最外层,包中包含存储过程耀勇到的一些信息,也可以认为包和存储过程是处于相同的层次,不将存储过程放置在包中,是考虑到对进行数据库基本表、视图以及功能型的存储过程扩展的时候应尽量避免和减少对系统的层次模型的影响。
以降低产生错误的可能。
但在数据库设计已经相对稳定的情况下,可以将存储过程置于包中,由于这是第一次使用ORACLE开发系统,兼顾上面的原因,而采用了包与存储过程分离的方式。
因为该系统是采用两层架构设计的,可通过应用服务器的扩展来实现新功能的添加。
而在该课程设计的内容定义方面,保证了数据的独立性,该系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。
我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制部分和客户应用部分,此时在控制部分添加触发器来防止数据读写的不一致性,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。
4.2系统E-R图
1.E-R模型
人事管理系统数据库E-R模型,如图4.1所示:
图4.1数据库E-R模型图
4.3各个数据表的创建
由数据模型利用Oracle10g进行数据库的详细设计,其基本表的设计如下:
表4.1用户信息列表(userinf)
Field
Type(Length)
Nullable
Default
ID
NUMBER(10)
--
--
NAME
VARCHAR(50)
YES
USERNAME
VARCHAR(50)
YES
--
PASSWORD
VARCHAR(50)
YES
--
USERDEPT
VARCHAR(50)
YES
--
USERLEVEL
VARCHAR(50)
YES
--
FORBID
VARCHAR(50)
YES
NO
SEENOTICE
VARCHAR(50)
YES
--
ALLOW_SEE_ALL_WORKDEP
VARCHAR(50)
YES
NO
ALLOW_SEE_DEPT_WORKDEP
VARCHAR(50)
YES
NO
ALLOW_WRITE_COMPLAN
VARCHAR(50)
YES
NO
ALLOW_CONTROL_DEPT_USER
VARCHAR(50)
YES
NO
ALLOW_CONTROL_ALL_USER
VARCHAR(50)
YES
NO
ALLOW_SEND_NOTE
VARCHAR(50)
YES
NO
ALLOW_XONTROL_NOTE
VARCHAR(50)
YES
NO
ALLOW_CONTROL_FILE
VARCHAR(50)
YES
NO
ALLOW_WRITE_STAFINF
VARCHAR(50)
YES
NO
ALLOW_XONTROL_LEVEL
VARCHAR(50)
YES
NO
ALLOW_EDIT_PERSON_PERSONINF
VARCHAR(50)
YES
NO
ALLOW_SEE_ALL_PERSONINF
VARCHAR(50)
YES
NO
ALLOW_SEE_DEPT_PERSONINF
VARCHAR(50)
YES
NO
ALLOW_EDIT_ALL_JOBCHANGINF
VARCHAR(50)
YES
表4.2考核信息列表(checkinf)
Field
Type(Length)
Nullable
Default
ID
NAMBER(10)
--
USERNAME
VARCHAR(50)
YES
CHECKNAME
VARCHAR(50)
YES
SYSDATE
USERNAME
VARCHAR(50)
YES
CHECKDATE
VARCHAR(50)
YES
CHECKCOMMMENT
VARCHAR(1000)
YES
CHECKSORT
VARCHAR(50)
YES
一般
CHECKTYPE
VARCHAR(50)
YES
未完成
CHECKRESULT
VARCHAR(50)
YES
REMARK
VARCHAR(1000)
YES
RECNAME
VARCHAR(50)
YES
RECDATE
DATE
YES
UPDATENAME
VARCHAR(50)
YES
UPDATEDATE
DATE
YES
表4.3职位变动记录信息表(checkjob)
Field
Type(Length)
Nullable
Default
ID
NAMBER(10)
--
USERNAME
VARCHAR(50)
--
DLDJOB
VARCHAR(50)
--
CHANGJOB
VARCHAR(50)
--
CHANGDATE
VARCHAR(50)
--
CHANGFILE
ARCHAR(50)
--
CHANGPERSON
VVARCHAR(1000)
--
RECUSERNAME
VARCHAR(50)
--
RECDATE
DATE
SYSDATE
UPDATEUSERNAME
VARCHAR(50)
--
UPDATEDATE
DATE
SYSDATE
表4.4个人档案信息表(personinf)
Field
Type(Length)
Nullable
Default
ID
NAMBER(10)
--
USERNAME
VARCHAR(50)
YES
INPUTDADE
DATE
YES
SYSDATE
UPDATEDATE
DATE
YES
SYSDATE
A1
VARCHAR(50)
YES
A2
VARCHAR(50)
YES
A3
VARCHAR(50)
YES
A4
VARCHAR(50)
YES
A5
VARCHAR(50)
YES
A6
VARCHAR(50)
YES
A7
VARCHAR(50)
YES
A8
VARCHAR(50)
YES
A9
VARCHAR(50)
YES
A10
VARCHAR(50)
YES
A11
VARCHAR(50)
YES
A12
VARCHAR(50)
YES
A13
VARCHAR(50)
YES
A14
VARCHAR(50)
YES
A15
VARCHAR(50)
YES
A16
VARCHAR(50)
YES
A17
VARCHAR(50)
YES
A18
VARCHAR(50)
YES
A19
VARCHAR(50)
YES
A20
VARCHAR(50)
YES
PHTOT
BFILE
YES
HAVEPHOTO
VARCHAR(50)
YES
4.4触发器设计
修改dept1表中的dept字段,同时对userinf表中的userdept字段进行修改。
createorreplacetriggereditDept1
afterupdateondept1foreachrow
begin
updateuserinf
setuserdept=:
new.dept
whereuserdept=:
old.dept;
endeditDept1;
修改userinf表中的name字段,同时对checkinf表中的username字段进行修改。
createorreplacetriggereditUserinf
afterupdateonuserinfforeachrow
begin
updatecheckinf
setusername=:
new.name
whereusername=:
old.name;
endeditUserinf;
4.5数据库的连接
应用程序与Oracle10g数据库的连接是通过JDBC,然后在程序中利用代码与数据库建立连接来实现的。
具体实现方法是:
在模块中声明调用JDBC连接控件,这样便能在任何时间连接数据库了。
使用CONN对象连接到Oracle10g。
在查询等按钮的单击事件中访问数据库。
可以使用应用程序配置文件建立一条到数据库服务器的连接,返回一个关键字ConnectionString,在实体数据链路层定义一个用于一个基类DBdata.cs在这个基类中接受该关键字ConnectionString,使用SqlConnection连接数据库。
配置文件连接数据库的代码:
Stringurl="jdbc:
oracle:
thin:
@localhost:
1521:
orcl";
//orcl为你的数据库的SID
Stringuser="gov";
Stringpassword="sa";
Connectionconn=DriverManager.getConnection(url,user,password);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
5系统实现
5.1系统实现工具与支持平台
(1)用户界面
本系统采用Eclipse+Tomcat设计,用户交互界面采用的是基于web的窗口界面。
(2)硬件接口
运行本系统的硬件基本要求如下:
CPU:
IntelP3及以上;
内存:
512MB及以上;
硬盘:
40GB及以上。
(3)软件接口
IE6.0浏览器或者其他同类浏览器
数据库服务器:
Oracle10g。
5.2系统界面
下面为运行后的界面图:
图5.1系统登录界面
图5.2人事管理主界面
图5.3工作管理分界面
图5.4人员管理分界面
图5.5部门管理
图5.6个人档案管理
图5.7考核管理
图5.8职务变动
5.3系统主要功能实现
1.前台
前台仅包括登陆后必须且仅需的功能,尽可能地做到简化操作程序,利于用户快捷、准确地进行操作。
功能包括前台各个部门的管理等;下载后台资料和将清款后的业务数据上传后台;完成前台交易中的扫描条码或输入商品编码、收款、打印收据、弹出银箱等一系列操作。
●支持多用户同时登陆。
●记录用户登陆信息、累计用户登陆次数等功能。
●支持多地点办公
●用户非常规操作记录,有助于减少用户操作时间,方便汇总打印各种业务报表。
2.后台
充分利用数据库的大容量、高效率等特点,为用户提供强大的功能支持,并处理分分部门数据和后台批事务处理,为管理者提供分析与决策必需的数据和信息。
5.4系统核心代码
设置数据库连接字符串:
<%@pageimport="java.sql.*"%>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Stringurl="jdbc:
oracle:
thin:
@localhost:
1521:
orcl";
//orcl为你的数据库的SID
Stringuser="gov";
Stringpassword="sa";
Connectionconn=DriverManager.getConnection(url,user,password);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
%>
登陆界面代码:
<%@pagecontentType="text/html;charset=gb2312"%>
<%@includefile="JSP/OPENDB.jsp"%>
<%!
Stringusername,password,sqlname;%>
<%
//登录
request.setCharacterEncoding("GB2312");
username=request.getParameter("username");
password=request.getParameter("password");
if((username!
=null)&(password!
=null))
{
//打开数据库查找是否有此用户
sqlname="select*fromuserinfwhereusername='"+username+"'andpassword='"+password+"'andforbid='no'";
ResultSetrt=stmt.executeQuery(sqlname);
if(rt.next())
{
if(rt.getString("username")!
=""){
session.putValue("oabusyname",rt.getString("name"));
session.putValue("oabusyusername",rt.getString("username"));
session.putValue("oabusyuserdept",rt.getString("userdept"));
session.putValue("oabusyuserlevel",rt.getString("userlevel"));
session.putValue("cook_allow_see_all_workrep",rt.getString("allow_see_all_workrep"));
session.putValue("cook_allow_see_dept_workrep",rt.getString("allow_see_dept_workrep"));
session.putValue("cook_allow_control_dept_user",rt.getString("allow_control_dept_user"));
session.putValue("cook_allow_control_all_user",rt.getString("allow_control_all_user"));
session.putValue("cook_allow_send_note",rt.getString("allow_send_note"));
session.putValue("cook_allow_control_note",rt.getString("allow_control_note"));
session.putValue("cook_allow_control_file",rt.getString("allow_control_file"));
session.putValue("cook_allow_control_level",rt.getString("allow_control_level"));
//如果有此用户就进入系统
response.sendRedirect("system.jsp");
}
}
}
%>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统