网站地图985论文网
主要服务:硕士论文、论文发表、论文修改服务

软件开发论文:基于SSM的员工管理系统

来源:985论文网 添加时间:2020-05-29 14:58
摘 要
近几年社会经济信息化快速发展,信息技术的日新月异。开发信息资源、推进信息化应用成为社会各界普遍关注、广泛实践的新兴产业。党的十五大明确要求推进国民经济信息化。十五届四中全会进一步强调,企业要通过“加强现代信息技术的运用,建立灵敏、准确的信息系统”,科学经营管理。国务院已明确为“管理年”,要求各部门把工作重点放在加强管理上面来,以不断提高经济效益。
随着计算机技术的发展,我们工作生活中的方方面面,都用到信息技术,它也使我们的生活更加方便美好。目前,我国社会的信息化发展日益显著,企业进行信息化的管理已经成为常态,这是时代的选择,也是发展的必然。因此员工管理系统便应运而生,技术的日趋完善,行业的竞争压力,使得更多的企业逐渐应用员工管理系统。
在系统开发方面,要求软件界面简洁、美观。 操作简单、功能实用、稳定性强。 具有可扩展性,具有跨平台的能力、数据库安全稳定。同时设计出的系统必须适合现代企业的管理理念,对于企业的发展有推动作用,节省不少人力、物力及财力。
系统要有员工资料,对员工的上班情况有考勤管理、请假管理、人事管理、部门管理等多项功能。
关键词:员工管理;SSM;JAVA;
SSM based employee management system
Student majoring in Network engineering  XieYaxin  
 Tutor  Wufeng
    
Abstract
In recent years, with the rapid development of social and economic information, information technology is changing with each passing day. The development of information resources and the promotion of information application have become a new industry that is widely concerned and practiced by all walks of life. The 15th National Congress of the Communist Party of China clearly requires to promote the informatization of national economy. The Fourth Plenary Session of the 15th Central Committee further stressed that enterprises should strengthen the use of modern information technology, establish sensitive and accurate information systems, and conduct scientific management. The State Council has made it clear that the year of management requires all departments to focus on strengthening management so as to continuously improve economic efficiency.            
With the development of computer technology, all aspects of our work and life use information technology, which also makes our life more convenient and beautiful. At present, the development of information technology in our society is increasingly significant. It is the choice of the times and the necessity of development for enterprises to carry out information management. Therefore, the staff management system came into being. With the improvement of technology and the competitive pressure of the industry, more and more enterprises gradually apply the staff management system.            
In the aspect of system development, the software interface is required to be simple and beautiful. Simple operation, practical function and strong stability. With scalability, cross platform capabilities, database security and stability. At the same time, the system designed must be suitable for the management concept of modern enterprises, which can promote the development of enterprises and save a lot of human, material and financial resources.            The system should have employee information, and have attendance management, leave management, personnel management, department management and other functions for the employees' work.
 
Key words: Staff management; SSM;JAVA
1 绪论
1.1 研究课题的目的与背景
随着社会的不断发展,企业规模不断扩大,企业员工的管理也变得越来越复杂,越来越重要。因此,如何更高效的管理企业员工,对企业管理和发展有着重要的意义。企业要实现利润最大化,合理高效地开发人力资源,就需要一份优秀的人力资源管理方式,
使公司能用同样的人数,同样的时间,创造更大的价值。而这便是我所努力的。
 
 
1.2 本课题的研究意义
近些年来计算机行业的飞速发展,已影响到我们生活、工作中的方方面面,我作为一个网络工程专业的本科生,希望可以在这方面有所贡献。我希望能用我四年的所学,编写出一个实用的程序,来帮助企业更有效的管理企业员工。 
信息化管理能使得企业的管理效率和生产水平得以提高,主要体现在:计算机信息化管理后,减少了某些不必要的人工;计算机可以更快地传递消息,提高了员工的沟通协作配合,继而提高了工作效率。
在系统开发方面,该系统具有操作简单、功能实用、稳定性强。 具有可扩展性,跨平台的能力、数据库安全稳定等诸多特点。同时还可以推动企业的发展,节省不少人力、物力及财力。
该系统操作非常简单,只需输入一些简单的汉字、数字,即可完成员工的管理,各种信息的增删改查。对于企业来说,利用这款软件,高效率管理公司员工,是在竞争越来越大的情况下,公司脱颖而出的必要条件;而且员工管理如果用人工的话,是一项非常烦琐的事情,还极易出错,造成不必要损失,极其不便。而计算机,具有着人工管理所无法比拟的优点。例如:查找方便、不会出错、存储量大、安全性高、寿命长、成本低等。这些优点能够更好的保证公司的利益。
 
 
2 相关技术介绍
前端界面的采用HTML5语言,来实现系统界面的内容与开发;
采用Eclipse编译软件,Java编译语言来完成对系统的设计与实现;
Web服务器端则采用Tomcat服务器;
数据库系统则采用MySQL数据库;
系统框架采用SSM (Spring+springmvc+ Mybatis);
2.1 MySQL概述
MySQL是最流行的关系型数据库管理系统,是开源的不需要付费。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于增、删、改、查数据库中所保存的数据。
所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系型"可以理解为"表格"的概念。
MySQL 支持大型数据库,支持上千万条记录的大型数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
MySQL 可以运行于多个系统上,并且支持多种语言。
2.2 Spring+SpringMVC+Mybatis
SSM即是指 Spring+SpringMVC+Mybatis ,是三种框架的集成 ,SpringMVC为控制器(controller) ,Spring 为事务层(service), MyBatis 负责持久层(dao)。是目前JavaWeb开发中最流行的框架组合,个人见解更愿意认为SSM是一个优秀的平台。它们不依赖于的JavaEE容器,能够运行在任何支持Java的服务器中,能够提高开发效率,性能稳定,方便后期因需求变更而进行改进,解耦合性强,还有良好的可扩展性和可维护性。 
Spring是java bean容器,就像是一个大工厂。可以非常有效率的管理 java bean也包括分离出的DAO和Service。Spring的核心思想是IOC(控制反转)。
Springmvc作为控制层的web框架,在action层面进行拦截,使用注解的方式来定义controller中的antion,在xml中配置自动扫描即可实现业务的跳转。并且由于是spring大家族的产品,对spring的兼容性几乎到达百分之百兼容。
Mybatis是对jdbc的封装,它让数据库底层操作变的透明。Mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库的sql语句映射。在每次访问数据库时,通过sqlSessionFactory拿到一个sqlSession,然后执行sql命令。
 
 
2.3 Tomacat概述
Tomcat主要是运行于web服务器端的一个应用程序,是Servlet容器,同时它也包括了Web服务器的功能,或者说是一个中间构件。具有开源、免费的特性,,在tomcat上部署应用程序的时候,我们是把应用程序放在tomcat根路径下的webapps文件夹下,而这个文件夹下可以放置多个应用程序,我们可以通过请求来决定具体访问那个应用。
2.4 B/S结构
B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。B/S是C/S经过修改、升级得到的。采取三层架构,只要有浏览器就可以打开,用户通过浏览器操作页面,事务逻辑的实现基于服务器端,少部分由前端完成。B/S属于一次性开发,允许不同的人从不同的地方,以不同的方式,对数据库进行管理,还能保护数据平台、管理访问权限,保证有数据库的安全。
3 企业员工管理系统需求的分析
系统界面美观,操作简便,安全性高,可升级,系统要有员工资料,对员工的上班情况有考勤管理、请假管理、人事管理、部门管理等多项功能。
 
3.1 功能需求的分析
权限管理:登陆系统实现拥有不同的权限,可以登陆不同的界面,实现不同的操作;
管理员人事管理:实现对员工的信息的管理,包括员工基本信息和岗位信息,并且管理员账户拥有更改信息的功能包括添加、修改、删减信息,照片的管理、状态更改、人员子集的管理。负则后台数据
公司经理的人事管理:主要负责企业员工考勤情况、请假管理、报表管理。考勤规则制定,记录结果,发表公告。
  
图3-1系统功能结构
如图3-1所示,管理员账号支持基本信息管理模块的添加,修改,删除,查询等基本操作;经理账号,考勤管理模块需要支持相应考勤记录,并可以实现统计结果、生成数据报表;对于系统维护模块,需要有灵活的权限管理和密码管理功能。
3.2 系统需求模型分析
如图3-2,表示的是系统的总体用例模型。容易知道,有二种不同类型的用户,部门经理和系统管理员。二种用户负责的对象并不相同:
部门经理——员工管理、考勤管理、工资管理。
系统管理员——管理角色、维护系统、用户管理。
 
图3-2总体的用例模型
系统管理员的功能包括登录系统、员工信息管理、员工信息增、删、改、查维护系统、用户管理等,见图3-3。登录系统依赖于用户管理和角色管理,系统外的执行者包括三个。 
 
图3-3系统管理用例图
员工管理子系统有四个用例,包括员工信息的添加、员工信息修改、员工信息删除和员工信息查询用例,系统执行者有两个,分别是员工部门主管和普通用户,用例图如图3-4。
员工部门经理可以实现所有的用例功能,包括增、删、改和查。
 
图3-4员工管理用例图
 
图3-5工资管理用例图
考勤管理子系统主要包含三个部分,分别是考勤查询、考勤添加和考勤删除用例,删除和查询依赖于添加用例。考勤管理用例图见图3-6。
员工部门经理可以操作所有三个用例。
 
 
图3-6考勤管理用例图
3.3 系统安全性需求
 
为保证系统稳定运行,后台数据安全,根据本系统的特点,制定以下安全策略。
1、一般的安全策略
打开防火墙:通过防火墙实现,内、外网的安全隔离和访问权限的控制,用以阻止外部用户恶意访问的目的,通过防火墙对系统制订的访问权限;禁止不需要的网络服务
2、对于SQL注入问题一些安全措施:
SPRINGMVC和JSTL进行编码处理
WEB.XML中添加
    <context-param>
        <param-name>defaultHtmlEscape</param-name>
        <param-value>true</param-value>
    </context-param>
JSP模板中添加
针对所有FORM
 <spring:htmlEscape defaultHtmlEscape="true" />
针对单个INPUT等
  <form:input path="name" htmlEscape="true" />
直接输出的标签
    <c:out value="${user.userName}" />
重写HttpServletRequestWrapper或HttpServletResponseWrapper使用FILTER进行过滤
 
4 企业员工管理系统设计
管理也是一门科学,它是生产力要素的重要组成部分。员工管理系统,就是为了实现现代化、科学化、规范化管理。只可以有效地强化企业管理,提高工作效率,增加企业效益。
它主要的功能就是管理、检测,企业内部的人员调动,请假,考勤等一些相关的事物管理工作。它能够用最小的投入,确保企业的各项工作有序开展,为公司减少一些不必要的开销。由上可知,在进行系统设计的时候,既要站在员工的立场上考虑问题,又要在公司角度上满足需求,让最终的产品能够让大家都满意;
 
4.1 设计目标与原则
 
系统外观,也就是系统界面,要美观,干净,符合公司气质。
系统需要做到,实现用户之间的信息交流,用以完成员工管理,并确保信息的安全性。
系统能够进行后期扩容与升级,适应企业将来的发展需要。
系统需要满足以下原则:
(1)安全性;
系统中储存着员工信息和公司信息,信息泄露会造成严重后果,做这个程序,就要确保客户信息安全。系统中的每一个小的缺陷,都会让用户面临着信息泄漏的风险,因此,安全第一。
(2)可扩容,可升级;
企业的发展,或许会造成员工的大量增加,使得系统的容量不够用,所以在设计的前,要兼顾系统的可升级性。
(3)稳定性
做系统是为了更简便、高效的管理员工。如果你的系统,经常出问题,那会给公司造成了更大的不便。
 
4.2 系统架构设计
 
4.2.1总体架构设计
 
系统总体架构设计:
1.根据需求把系统细分成各个模块
2.设计好各个模块的功能
3.处理各个模块之间的逻辑关系
4.根据逻辑关系设计好模块间信息的传输
 
 
图4-1员工管理系统流程图
 
 
4.2.2 系统体系结构
 
图4-2系统体系结构
 
4.2.3 数据层设计
数据层利用Hibernate将数据库表以对象方式一一封装,通过访问数据库,进行事务的增、删、改、查操作操作。
4.2.4 业务层设计
控制层利用Spring容器的IOC(控制反转)机制,对业务流程进行控制和管理。主要接口设计如下:
Processor:流程控制器,监控整个业务流程的状态。
ProcessContext:配置上下文环境类。
Activity:系统会自动调用onCreate方法来完成创建工作.该创建工作包括布局,监听器的绑定等。
ErrorHandler:错误处理机制,处理流程中的所有出错部分。
主要业务分为二个模块
(1)系统管理员
(2)企业经理
4.3 数据库设计
数据库设计来包括六个阶段,分别是:
需求分析阶段:了解客户需求,思考建什么表,建多少表,
概念结构设计阶段:根据表的关系,形成DBMS概念模型,
逻辑结构设计阶段:将概念模型换为数据模型,
物理设计阶段:为数据模型选取适合应用环境的物理结构,
数据库实施阶段:运用DBMS建立数据库,
数据库运维阶段:数据库试用后正式取用。
 
4.4数据表结构设计
 
4.4.1数据库设计概述
 
根据项目需求,以及公司实际情况,就可以得到数据资料和结构框架:
1.员工基本信息表:员工的工号,姓名,性别,出生日期,所属部门编码,职务编码,员工学历,家庭住址和联系方式等内容。
2.记录考勤的信息表:签到时间,员工工号,日期,离开的时间等内容。
3.员工考勤合计:员工工号,部门,旷工合计,请假合计,评价。
4.部门的信息表:员工工号,部门编码,人员的数量等。
4.4.2数据库表详细设计
.常用命令
1)查看有哪些数据库
show databases;
2)使用某一个数据库
use dName;
3)查看某个数据库中有什么表
show tables;
4)创建和删除一个数据库
create database dName;
drop database dName;
5)创建和删除表
create table tName(
colName1 type1 [约束],
colName2 type2 [约束],
     colName3 type3 );
drop table tName;
 
 
员工考勤表(TS_Salary),如表 4-3 所示:
 
表 4-3 员工考勤表
字段名 中文含义 数据类型 数据长度
(byte) 约束
 
PersonID 员工ID int 4 Not null
basesalary 考勤 Double 4 Not null
bounty 旷工合计 int 4
punish 请假 int 4
salaryDate 日志管理 DateTime 8 Not null
 
 
员工考勤表主键为:PersonID
 
 
4.考勤信息合计表(TS_attendance_info),如表 4-4
 
 
 
表4-4 考勤信息合计表
字段名 中文含义 数据类型 数据长度
(byte) 约束
 
PersonID 员工姓名 int 4 Not null
TimeAttendance 上班时间 datatime 8 Not null
dateAttendance 签到日期 datatime 8 Not null
timeExit 下班时间 datatime 8 Not null
考勤信息合计表的主键为:PersonID。
5 企业员工管理系统的实现
5.1 开发环境
5.1.1 开发与运行环境
开发工具:
JDK1.5、DreamwaverMX、Photoshop、MyEclipse
运行环境:
数据库服务器:中文Windows2003Server。
WEB应用服务器:采用中文Windows2003Server,tomcat6.0。
客户端:中文Windows2000Professional或Windowsxp(IE6。0以上)。
5.1.2软件硬件资源
数据库服务器:主频2GHz以上,内存2G以上,硬盘容量120G以上。
WEB应用服务器:主频2GHz以上,内存2G以上,硬盘容量30G以上。
客户端:主频1G以上,内存512MB以上,硬盘容量20G以上。
5.2系统实现
5.2.1 系统管理模块的实现
1、登录系统功能
客户端应用程序在这里主要就是承接转换的功能,同时要求自身的安保系数够高,对于大众用户的详细身份能够准确鉴别,而防止资料被泄密或遗失。在员工管理体系中专设了一个必经登陆界面这一项,在该页面中输入正确的用户名和密码后即可进入系统的主界面。为了高度的确保安全,在体系登陆的过程中使用了双保险,一方面是在连接数据库时候登陆的口令必须正确,在校验的时候还要有正确的口令,特别是口令这一块,系统的存入初期已经将所有的口令进行专有的识别处理,当只有以上的两个口令都准确无误的时候,才能真正的进入系统,调去所需要的资料,同时最大范围的阻止了外来的干扰和破坏,整个体系的登录模块流程图如图5-1所示:
 
图5-1系统的登录图
系统用户在系统登录页面输入用户名和密码,点击“确定”按钮,系统首先获取登录页面输入的用户名和密码,然后在数据库系统用户信息表中,以用户名和密码为查询条件,查询该记录;如果能够查询到该记录,则该用户合法,向相应权限的系统主菜单页面跳转;如果不能查询到该记录,则该用户不存在或密码不正确,在系统登录页面显示相应的错误信息。系统登录的界面如图5-2所示。
  
图5-2系统登录界面
系统实现时,LoginAction对象用于完成登录业务,系统登录模块的核心代码如下所示:
publicclassuserLogin:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.ButtonloginB;
protectedSystem.Web.UI.WebControls.TextBoxP_UserName;
protectedSystem.Web.UI.WebControls.ButtonButton1;
protectedSystem.Data.DataTabledt1;
protectedSystem.Data.DataTabledt2;
protectedstringOrgId="";
protectedstringOrgName="";
privatestaticILoglogger=
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().
DeclaringType);
privatevoidloginB_Click(objectsender,System.EventArgse)
{
//用户通过TWS验证以后,把用户ID传到GSS系统
//得到用户所属组织ID
stringuserName=P_UserName.Text.Trim();//得到用户名
logger.Debug(userName);
//AppFun.Writelog(@"D:\trace.log",userName);
//stringuserName=Request.QueryString["UserName"];
//stringorg_id="QHqLftbTBG";
stringorg_id="ChuanzRoot";
stringorg_name="ShunanRoot";
logger.Debug(org_name);
Session["GSSUserID"]=userName;
Session["GSSUserOrgID"]=org_id;
Session["GSSUserOrgName"]=org_name;
Response.Redirect("../test.aspx");
}
}
}
2、用户管理功能
用户管理功能的操作人员是系统的管理员,对系统中涉及到的用户信息进行管理,包括用户登录名、登录密码、用户类型、用户权限等信息进行添加、删除、修改和查询操作。用户管理功能的流程图如图5-3所示。
 
图5-3用户管理流程图
添加新用户需要输入的属性包括用户名称、用户明码、用户说明、用户部分、并且赋予相应的权限给用户。核心代码如下所示:
<servlet>
<servlet-name>CServlet</servlet-name>
<display-name>CServlet</display-name>
<load-on-startup>1</load-on-startup>
<servlet-class>
org.apache.cxf.transport.servlet.CXFManger
</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/services/*</url-pattern>
<servlet-name>CXFServlet</servlet-name>
</servlet-mapping>
 
图5-4角色管理流程图
3、角色管理功能
角色管理主要用来管理系统中的三个角色,包括系统管理员、员工部门主管和普通用户,可以对这几个角色进行添加、删除、修改和查询,也可以添加新的角色,对角色的功能进行分配。
角色管理的流程图见图5-4。
角色管理模块的核心代码如下:
publicintsaveSysUser(SysUserVOsuvo){
//TODO自动生成方法存根
if(suvo==null)return0;
MD5md5=newMD5();//MD5加密
SysUsersysUser=newSysUser();
sysUser.setUname(suvo.getUname());
sysUser.setUuid(suvo.getUuid());
sysUser.setUpassword(md5.callMD5(suvo.getUpassword()));
sysUser.setSysDepart((SysDepart)sysDepartDao.get(SysDepart.class,
suvo.getDeptId()));
sysUser.setSysRole((SysRole)sysRoleDao.get(SysRole.class,
suvo.getRoleId()));
returnsysUserDao.save(sysUser);
}
4、系统维护
对系统基本参数进行设置和管理,包括系统运行的的相关状况进行查询和恢复,以便在系统出现问题时可以及时恢复避免数据的丢失。主要实现的功能分为以下几个:
1.部门设定功能:设置呈现为树状的组织结构,包括部门名称和结构等等;同时需要对部门的职责岗位进行设置。
2.设置模块参数:设置系统里面每个模块的参数,如各种分类信息参数以及页面的行数等。
3.数据备份:数据的导入导出。
4.系统日志记录:查看系统的日志记录
5.2.2 员工管理模块的实现
员工管理模块包含的主要功能有添加员工信息、修改员工信息、删除员工信息和员工信息的查询。
添加员工信息需要输入员工的基本信息,包括员工姓名、性别、民族、身份证号、出生年月、婚姻状况、入党时间、部门名称ID、参加工作时间、政治面貌、毕业学校、所学专业、文化程度、联系电话、手机号码、电子邮箱、籍贯、家庭住址、户口所在地、登记时间等信息,员工ID属性是系统自动生成的,输入信息之后保存到数据库。
修改员工信息功能可以修改员工的上述基本信息,员工ID属性不可以修改。
删除员工信息需要具有相关的权限,具有关联的员工不能进行删除操作。
查询员工信息功能可以对员工的基本情况进行查询,可以输入或者选择一个属性查询,也可以实现组合属性的查询,支持模糊查询等。
员工管理模块的流程图如图5-5所示。
在人员信息录入页面,点击“插入”按钮,进入员工基本信息新建页面。在此页面输入员工基本信息,输入完毕后,点击“确定”按钮,提交页面数据,如数据合法,则弹出系统提示对话框,提示是否确认,如果确认,则在数据库员工基本信息表中的插入一条记录,否则返回主菜单。在输入确认完毕后提示是否继续输入,如是则返回输入数据界面,否则返回主界面。
打开删除员工信息页面,选定欲删除的员工信息,点击“删除”按钮,则弹出删除确认对话框,提示是否确认删除操作,点击“确认”按钮,则在数据库系统菜单信息表中删除选中的记录,返回主界面。在删除数据更新数据表完毕后提示是否继续删除,点击“是”按钮,则返回选定员工信息数据界面,继续删除,否则对话框关闭,返回主菜单。
打开修改员工信息页面,选定欲修改的员工信息,点击“修改”按钮,修改所要更新的数据,更新完毕,则弹出系统提示对话框,提示是否确认修改操作,点击“确认”按钮,则修改成功,返回主菜单。在点击确认完毕后,系统弹出是否继续修改提示对话框,点击“是”按钮,则返回选定员工信息数据界面,继续修改,否则返回主界面。
以上的板块的查询窗口特指带的是静态查询,全部的体系中要想实现同台查询,必须由这一方面的设计来实现。
 
5-5员工管理模块流程图
ArchivesAction对象完成员工信息管理。
通过ArchivesAction类来列出所有员工信息,主要实现代码如下:
publicActionForwardlist(ActionMappingmapping,ActionFormform,
functionproc_LOGIN()
{
varnAppID=Request("ixAppID")()||-1
varsUser=Request.ServerVariables("AUTH_USER")()
varsPassword=Request.ServerVariables("AUTH_PASSWORD")()
//提取数据
if(oSSOInitSuccess.bValid)//TAR:719980
rsSSO=oSSO.selectByItem(gWS.connect(),nAppID,IXITEMTYPE_app)
varnSSOID=-1,sHomeDir="",bMapDrive=false
varoConn=gWS.connect(),bPass=false
varoADUser=null
while(gDB.hasData(rsSSO))
{
oSSO.nSSOID=rsSSO("ssoID").Value
bPass=oSSO.dbSelect(oConn)
if((oSSO.nType==IXSSOTYPE_WINSIGNON)&&bPass)
{
sUser=oSSO.sLogin
sPassword=oSSO.sPassword
sHomeDir=oSSO.sUserHomeDir
}
if((oSSO.nType==IXSSOTYPE_UNIXSIGNON)&&bPass)
{
nSSOID=oSSO.nSSOID
}
}
员工信息修改首先需要查询出需要修改的员工信息,然后选择需要修改的那条记录,每次只能对一条记录进行修改,修改信息的核心代码如下所示:
//修改数据
if(oParser.Parse()==false)
{
oParser=null
oParser=Server.CreateObject("com.citrix.nfuse.TemplateParser")
oParser.setSingleSessionField("NFuse_TemplatesDir",sPath)
oParser.setSingleSessionField("NFuse_Template",sTemplate)
oParser.setSingleSessionField("NFuse_User",sMFUser)
oParser.setSingleSessionField("NFuse_Domain",sDomain)
oParser.setSingleSessionField("NFuse_Password",sPassword)
oParser.setSingleSessionField("NFuse_Application",sApp)
oParser.setSingleSessionField("NFuse_CitrixServer",sCitrixServer2)
oParser.setSingleSessionField("NFuse_CitrixServerPort",
nCitrixServerPort2)
对人员进行查询的界面如下所示,可以通过姓名或者部门进行查询,也可以实现组合查询,查询结果通过列表显示,可以选择一条记录进行删除或者修改。
5.2.3 考勤管理模块的实现
考勤管理模块主要实现的功能包括考勤信息的添加、查询和删除。
添加模块主要对员工的考勤信息进行记录,包括姓名、员工组、班次、出勤天数、年假天数、探亲假天数、有薪假天数工伤假天数、产假天数和社保产假天数等信息,员工编号自动生成。
普通用户可以查询自己的考勤信息记录,但是不能进行修改和删除操作。
如果员工离职员工部门主管可以删除无效的考勤记录,具有关联信息的记录不能实现删除。
考勤管理模块的流程图如图5-6所示。
 
图5-7考勤管理模块流程图
考勤信息模块的主要作用就是记录员工的迟到﹑早退﹑事假﹑病假等的信息操作录入系统,还可以实现打印结果。录入的操作过程是一样的,但是在查询这一方面,可以根据不同的参数来实现查询。下图就展示按照日期这一参数的查询结果。图5-7表示考勤信息查询结果的列表显示。
系统实现时,TimeAction对象完成考勤报表,TimeAction中列出员工考勤统计,核心代码如下:
functionmakeTicket(sHomeDir,sUser,sPwd,bMapDrive)
{
varnDocID=ixRequest("ixDocID")
if(!nDocID)
return
varsTicketDir="",oADUser=null
varbMapDrive=false
if(sHomeDir)
{
if(!bMapDrive)
sTicketDir=getMappedDrive(sHomeDir,sUser,sPwd)
else
sTicketDir=sHomeDir
if(!sTicketDir)return
}else
{
oADUser=gUser.dsSelect()
sTicketDir=oADUser.homeDirectory
}
returnbRetval
}
此外,考勤管理模块需要实现请假、销假的管理功能,假期和病假管理和文档管理的业务流程是相似,不同的地方,他们只能离开人员,可以从以下只休假及病假管理处理逻辑描述返回进行阐述。
1.员工需要请假,首先申请提出,然后系统需要核对员工的当前状态,如果已经是休假状态,那么就会拒绝员工的请假申请,并且做出相应的提示。如果用户的状态是工作中,那么就会把这个流程信息加入到工作流的引擎数据库表单之中,把相关的请假信息在员工管理的工作任务中记录。
2.员工在登录系统之后,进入到员工管理模块,查看自己是不是有请假销假申请需要进行处理,如果存在的话,系统会提醒用户去实现相关的处理工作。
3.请假销假工作办理过程是,首先将定义的流程信息在工作流引擎数据库表
单中进行填写,然后把请假信息添加到员工管理的工作记录当中。
4.销假申请的流程,首先对于当前状态进行核对,工作状态下能够提醒用户并不需要病假,限制用户的操作。休假状态下就可以把销假流程添加到工作流引擎数据库表单里面,同时在员工管理的工作记录当中记录销假信息。
5.用户能够查询请销假状态,进入查询需要查询条
件的输入,相应的结果将显示在表格的形式中。
6.删除操作可以由用户实现用来消除病假记录,你首先需要删除的工作流引擎,离开病假数据,然后删除内部员工管理记录有关数据。
请销假的程序流程见图5-8所示。
 
图5-8员工管理流程图
其中员工的基本信息是集成调用了其他Web服务实现的,调用过程的关键代码如下所示。Web服务的实现需要在服务器段完成,以下的配置信息应该添加到web.xml文件里面。
<servlet>
<servlet-name>CServlet</servlet-name>
<display-name>CServlet</display-name>
<load-on-startup>1</load-on-startup>
<servlet-class>
org.apache.cxf.transport.servlet.CXFManger
</servlet-class>
</servlet>
<servlet-mapping>
<url-pattern>/services/*</url-pattern>
<servlet-name>CXFServlet</servlet-name>
</servlet-mapping>
5.2.4、工资管理模块的实现
工资管理模块主要实现的功能包括工资登记、工资查询和工资修改,普通用户可以对自己的工资信息进行查询,员工部门主管对三个功能具有操作权限。工资登记之后才能进行查询和修改。工资登记功能首先进入功能页面,选择工资登记功能,输入或选择需要添加的属性,包括工资额、工资级别、基础工资、职务工资、级别工资等信息,工资合计属性通过计算自动生成。工资查询功能可以查询系统中已经登记了的工资信息,可以输入对一个属性进行查询,也可以对多个属性进行组合查询,支持模糊查询功能,查询结果列表显示。工资修改功能只能修改系统中登记了的工资记录,在查询的基础上,选择一条记录进行修改,不支持批量修改,修改时需要填写属性,之后将结果保存到数据库。工资管理模块的流程图如图5-9所示。
 
图5-9工资管理流程图
工资信息模块的功能就是负责员工的一些福利待遇和基本薪水等信息的录入系统。操作部分和考勤管理板块差不多,而且界面上的功能也大同小异。实行的查询功能也是根据输入的参数而具体进行操作。下图显示了工资查询的结果。工资查询的核心代码如下所示:
//工资查询
while(gDB.hasData(rs))
{
if(rs("relType").value==IXCATRELN_ONETOMANYC)
{
varnChildSchema=rs("dstSchemaID").value
varoChildSchema=gWS.getCatalogueByID(nChildSchema)
if(oChildSchema.bRequireLogin)
{
if(!bGotCatList)
{
varsGrpList=Session("ixUser_groups")
varrsCats=
gUser.getCatalogues(gWS.connect(),sGrpList,gWS.nProjID,true)
vararUserCats=[]
while(gDB.hasData(rsCats))
{
arUserCats[rsCats("schemaID").value]=true
rsCats.MoveNext()
}//while
bGotCatList=true
rsCats.Close()
}
if(arUserCats[nChildSchema])
arDataLink[oChildSchema.sConn]=oChildSchema.nCatID
}
}//master-childreln
rs.MoveNext()
}//while
if(rs)
{
rs.Close
rs=null
}
}
6 企业员工管理系统的测试
6.1 系统测试概述
所谓系统测试就是站在软件使用者的立场上,将系统中存在的所有错误进行准确定位,并对其进行测试,测试的目的包括以下四个方面。
1.以系统测试作为手段,查找发现存在于软件系统的各种错误。
2.能够有效的保障在使用软件时的安全可靠,也可作为评价软件系统的安全性和可靠性的重要参考因素。
3.有效的检测软件能否符合软件系统设计和任务书(研发部参照咨询部下发的科研项目任务书)的要求,以及能否满足其所规定的技术。
4.准确有效的对软件成分由低层到高层的组装过程进行定义并将实现这一目标。整个体系的研发初期一切必须按照标准来进行,这样做的结果就是得出来的系统功能完备,操作界面好,交互性强,为后续的检测埋下很好的伏笔,研发结束后,能够很顺畅的运行起来。软件的测试是其开发过程中一个必不可少的步骤,而且越来越受到大众的认可,就整个软件的使用寿命中而言,软件的测试针对的就是其在程序中的调试,只有这样才能做到有的放矢,而且目标专一,这里面涉及到的一些准则通常相关的说明书,文档等,所以如果标准中出现了一丝丝的误差就会影响到检测的最终的结果。就算在检测过程中追查到了错误的根源是标准设计方面,后期的修改所付出的代价也是惨重的。解决的最理想的途径就是将每一个研发的环节和环节中形成的结果进行严格的把关,多层次的往复检测,尽量将误差和错误率减少到最低程度。具体的操作过程按照下述的图示进行:
 
图6-1系统测试步骤流程图
6.2测试结果统计
如表6-4所示:
表6-4测试结果
版本号 接受/拒绝 Bug总数 Bug分布
0.1 接受 35个 二个模块均有分布
1.0 接受 8个 二个模块均有分布
BUG
总计: 43个 接受版本
总计 2个 拒绝版
总计: 0个
 
企业员工管理系统通过在物资公司的员工管理部进行实地的用户体验应用后,得到了良好的反馈效果,用户表示软件系统的使用状况良好,认可系统的功能和性能,并充分肯定了系统的稳定性,安全性,可靠性。
 
结论
文章是在多层人事管理体系的基础上深入探讨研发新的管理系统的,这一个新的系统和以前的一些相关的软件有很大的不同,该系统是在现在的大网络背景下,结合运用网络相关的技术,来达到为本系统利用的宗旨,这一做法的优势在是 B/S 架构的相关的基础上,大范围的调动网络技术,利用网络迅速这一特点来及时的对人事信息的及时更新与操作。
文章中的重点是在人事管理体系的系统之上,研究如何更加合理的对结构进行设计以及如何能够最终的进行实际操作,更进一步的开创了将这一方面的软件和当今的网络技术相结合的想法和行动的先河。它将会为以后的电子政务的后期工作的延续与拓深埋下伏笔。这一做法的便于操作,因为在客户端根本就不用再架设相关的硬件和软件,所要做的就是打开网页然后畅通的享受其带来的便利。如果这一体系成功的运用起来了,那么就可以在终端通过附加一些功能就可以去完善体系的功能,而且在后期的调试过程中,可以将相关的部门在人员管理信息上进行有效的沟通,实现资源共享和高效利用。当每一个环节都按照预期的目标发展的话,则会形成一个非常完善与合理的应用平台,方便大家的操作使用。目前,企业员工管理系统已投入使用。该系统的应用给企业管理带来了方便,提高了效率,节约了管理成本,但是本系统仍然存在着一些不足,我会在以后的工作中进一步完善。
重要提示:转载本站信息须注明来源:985论文网,具体权责及声明请参阅网站声明。
阅读提示:请自行判断信息的真实性及观点的正误,本站概不负责。
jQuery右侧可隐藏在线QQ客服
在线客服