1、WEB开发技术课程设计报告员工工资管理系统班 级: 姓 名: 学 号: 指导教师: 时 间: 摘 要 工资管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人
2、事,工资信息进行管理,具有手工管理所无法比拟优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极地提高人事,工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 关键词:数据库;SQL Server2012;工资管理 目 录第一章 开发环境和开发工具 .4 1.1 开发背景 .4 1.2 开发环境 .4第二章 工资管理信息系统的分析与设计 .5 2.1 系统需求分析 .5 2.2 系统总体设计 .7 2.2.1系统设计目标 .72.2.2 开发设计思想 .8 2.2.3 系统功能模块设计 .8第三章 数据库设计 .10 3.1 引入背景
3、 .10 3.2 数据库需求分析 .10 3.3 数据库概念结构设计 .11 3.4 数据库逻辑结构设计 .13第四章 系统详细设计与实现.15 4.1 公共类设计与实现.15 4.2 数据访问层内设计与实现.17结论 .24参考文献 .25第一章 开发环境和开发工具1.1 开发背景 随着计算机技术的飞速发展,计算机在企业管理中的应用越来越普及,利用计算机实现企业工资的管理显得越来越重要。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、
4、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 企业的工资管理是公司管理的一个重要内容。随着当今企业人员数量增加,企业的工资计算也变得越来越复杂。如果能够实现工资
5、管理的自动化,无疑是给企业管理部门带来很大的方便。 资金是企业生存的主要元素。资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。最初的工资统计和发放都是使用人工方式处理,工作的时候,出现错误的机率也随之升高。工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多工资信息的处理,同时使用电脑还可以安全地保存大量的工资记录。 企业工资管理系统,为个人提供工资查询服务,为企业提供工资计算,工资统计等服务。传统的纸张材料的数据信息管理已经不适合现代企业公司的
6、发展了,实现工资管理的系统化、规范化、自动化,将成为现在公司管理工资的首选。本系统实现的工资管理系统基本上能够满足现代化企业工资管理的需求。1.2 开发环境 本文所采用的开发环境主要是基于数据库系统的SQL Server 2012 和基于面向对象程序设计。利用SQL Server 2012创建企业中的部门信息表。个人信息表、员工工资表以及用户信息表。利用数据库建立连接之后,利用控件按钮以及一些程序代码实现一些特定的功能,例如员工信息查询、员工信息编辑、职工工资查询、职工工资编辑等,极大地提高了工资管理的效率。第二章 工资管理信息系统的分析与设计 随着计算机技术的飞速发展,计算机在企业管理中应用
7、的普及,利用计算机实 现工资管理势在必行。 工资管理是现代企业管理不可缺少的一部分,是适应现代化制度要求,推动企业劳动工资管理走向科学化、规范化的必要条件。 2.1 系统需求分析 2.1.1对功能的规定 在现代企业的生产和动作过程中,往往需要对企业员工的工资进行管理,企业的工资管理活动中都包含了以下几项功能: 1、员工信息管理:实现对员工基本信息的管理操作,包括员工基本数据信息的添加、修改、删除和查询等功能; 2、工资管理:完成对基础数据设定(如工龄工资、岗位工资、所得税率等),工资统计、实发工资(根据出勤统计结果),打印工资条,及员工奖励和惩罚,福利补贴的设定,月度工资计算; 3、工资查询:
8、可根据条件查询员工历史工资数据(如按月份查询、按姓名查询、按部门查询等); 4、汇总打印:提供报表打印输出功能,可以报表的形式打印员工信息、工资发放报表、工资历史报表、员工奖励和员工惩罚报表; 5、系统维护:可对数据进行备份和恢复,并可实现数据导入导出功能。 6、管理员设置:实现系统用户及密码的设置操作,可以增加和删除系统用户(仅系统管理员才有权限),对系统当前用户修改密码。 本系统主要功能有:(1) 员工基本工资的设定。 (2) 奖金以及福利补贴的设定。 (3) 实发工资计算公式的调整。 (4) 根据出勤统计结果计算本月各项实际金额。 根据需要的功能,得到系统功能模块设置,如图所示 工资管理
9、系统工资设置查询月度工资计算基本工资设置福利设置奖金设置津贴设置扣发设置计算公式设置统计计算报表输出图1-1系统功能图2.1.2对性能的规定 1、精度 要求用户输入的信息尽量准确:员工出勤以“天”为最小单位:员工工资以“元”为最小单位:扣款比率及奖金比率为浮点型数据,小数点后保留两位有效数据: 2、时间特性要求 a页面响应时间:3sb更新处理时间:5s c数据的转换和传递时间:10s d解题时间:30s 3、灵活性 a运行环境的变化:如果增强服务器的硬件配置,不仅可以增快系统的响应时间,还能足够保证系统的稳定性 b同其他软件的接口的变化:升级,也能够得到系统稳定性及响应时间的提升。 c精度和有
10、效时限的变化:如果要求统计的员工的工资金额足够准确,则可以尽量将统计工资的算法设计的复杂些 d计划的变化和改进:可以从网络上寻找已有的功能模块进行代码复用,以加快开发进度,同时可保证软件质量。 2.1.3 输入输出要求 工资管理系统根据用户设定的工资项目和工资核算公式,在操作员输入当前日期的前提下自动完成月工资计算,支持多套帐目情况下的工资生成。 (1) 工资项目及计算公式自由设定,工资项目设立最多40项。 (2) 支持外部EXCEL表及DBF数据导入。 (3) 报表数据统一以EXCEL格式存盘。 (4) 将实发月工资为负的输出视为非法输出。 2.1.4数据管理能力要求 维护过程是对长期不变数
11、据进行的,把这部分数据放在维护部分进行增加、删除、修改的目的就是为了充分地对库中的数据进行保护。进行数据备份主要将数据库文件备份到可移动磁盘上,以备数据丢失时重新恢复,或提供给其他人使用。对于工资项目中的数据,系统应有能力支持信息的维护与更新,并支持数据的批量录入与修改。系统中可以完成增删一条或多条员工及其工资记录的操作,可以按照日期、部门及员工信息检索到特定记录,能够生成财务上需要的各种报表。 2.1.5故障处理要求 由于使用时间过长,使用频率过高,导致数据库遭到破坏,可以采取定时备份数据库来更新数据库的方法,在数据库出现问题的时候恢复数据库。 2.1.6其他专门要求 数据不管是在企业内部之
12、间传输,还是公司与分公司之间进行远程数据传输时,防止数据被不法分析任意的修改和破坏,对所有的敏感数据均进行基于SSL协议 的加密操作,只有对信息解密的人员才能最终读取数据信息。这样,能最大程度的防止数据在传输过程的安全保密性。 2.2 系统总体设计 2.2.1 系统设计目标 本文研究开发的人事管理信息系统用于支持企业完成劳动人事管理工作,有如下 三个方面的目标: 支持企业实现规范化的管理。 支持企业高效率完成工资管理的日常业务,包括新员工加入时人事档案的建 立、老员工转出、辞职、退休等。 支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的 员工数目决定招聘人数等。2.2.2
13、开发设计思想 基于以上系统设计目标,本文在工资管理信息系统时遵循了以下开发设计思 想: 采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资 源,提高系统开发水平和应用效果的目的。 尽量达到操作过程中的直观、方便、实用、安全等要求。 系统采用C/S体系结构,Clinet(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未 参与开发的技术维护人员补充、维护。 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、 备份等操作。 2.2.3
14、系统功能模块设计 本系统分为五个模块:用户管理、工资管理、职工管理、退出、关于。得到如图所示的系统功能模块图。工资管理系统职工管理工资管理用户管理关于增加职工更改职工信息基本工资考勤信息查询更改考勤信息总工资系统介绍人员介绍权限密码管理职工信息查询退出图1-2系统功能模块图第三章 数据库设计3.1 引入背景 工资管理信息系统是一个数据库应用系统,员工的所有工资信息都保存在数据库中。数据库结构设计是工资管理信息系统数据库应用系统开发过程中一个非常重要的环节,设计的好坏将直接对所开发的工资管理信息系统的效率以及实现的效果产生影响。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,
15、系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。数据库结构设计主要就是要设计好数据库中各个表的结构,包括信息保存在哪些表格中、各个表的结构如何以及各个表之间的关系。由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。 3.2 数据库需求分析 数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。在 这个阶段主要工作是收集基本数据以及数据处理的流程,为以后进一步设计一打下基础。需求分析主要解决两个问题: 内容要求。调查应用系统用户所需要操作的数据,决定在数据库中存储什么 数据。 处理要求。调查应用系统用户要求对数据库进行什么样的处理,理清数据库 中各种数据之间
16、的关系。 在数据库需求分析后,得到一个数据字典文档,包括3方面内容。 .数据项。包括名称、含义、类型、取值范围、长度以及和其他数据项之间的 逻辑关系。 .数据结构。若干个数据项的有意义的集合,包括名称、含义以及组成数据结 构的数据项。 .数据流。指数据中数据的处理过程,包括输入、处理和输出。 本系统数据项和数据结构设计如下: .员工基本情况。包括的数据项有编号、姓名、性别、部门、身份证号、生日、民族、联系电话、邮箱、毕业学校、备注。企业部门信息。包括的数据项有部门号、部门名称、部门电话、部门负责人、 部门地址、开户银行、银行账号。 员工工资信息。包括员工编号、姓名、年份、月份、基本工资、加工工
17、资、交通补助、总工资、考勤扣除、保险扣除、扣税、总扣除、实际工资、编辑时间、备注。 用户登录信息。包括用户号、用户名、密码、用户组号。 3.3 数据库概念结构设计 数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实 体,以及它们之间的关系,为后面的逻辑结构设计打下基础。用E-R图是描述数据实体关系的一种直观描述工具,所以本系统采用了E-R图的方法进行数据库概念结构设计。 员工信息表员工编号身份证号码部门名称职称联系电话毕业学校民族学历生日性别 别别姓名图1-3员工信息实体E-R图考勤表加班时数考勤日期事假天数迟到次数旷工天数员工编号部门编号基本工资表部门名称基本工资职称福利
18、分配表员工编号金额统计日期部门编号图1-4考勤表信息E-R图,基本信息表E-R图,福利分配表E-R图员工信息具有员工考勤员工福利员工具有具有具有员工工资图1-5实体之间E-R图3.4 数据库逻辑结构设计 概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进 行数据库应用的设计。也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。 工资管理系统数据库中各个表格的设计结果如下面的四个表所示。每个表表示数据中的一个表。 表1-1员工信息表 表1-2工资计算表表1-3变动工资表表1-4考勤表表1-5基本工资表表1-6用户Login登陆表第四章 系统详细设计与实现4.1公共
19、类设计与实现 数据库的连接:etConnection() try package org.pan.util;import java.sql.*;/* * Title: 锟斤拷菘锟絣锟接癸拷锟斤拷锟斤拷 * Description: * Copyright: Copyright (c) 2003 * author: linlin * version 1.0 */public class DBConnectionManager / private String driverName = com.microsoft.jdbc.sqlserver.SQLServerDriver; /oracle.jd
20、bc.driver.OracleDriver;/ private String url = jdbc:microsoft:sqlserver:/localhost:1433; /jdbc:oracle:thin:127.0.0.1:1521:oracle; private String user = sa; private String password = 123; private String driverName=com.microsoft.jdbc.sqlserver.SQLServerDriver; private String url = jdbc:microsoft:sqlser
21、ver:/localhost:1433;DatabaseName=员工工资管理; public void setDriverName(String newDriverName) driverName = newDriverName; public String getDriverName() return driverName; public void setUrl(String newUrl) url = newUrl; public String getUrl() return url; public void setUser(String newUser) user = newUser;
22、 public String getUser() return user; public void setPassword(String newPassword) password = newPassword; public String getPassword() return password; public Connection g Class.forName(driverName); return DriverManager.getConnection(url, user, password); / return DriverManager.getConnection(url); ca
23、tch (Exception e) e.printStackTrace(); return null; public static void main(String args) / DBConnectionManager DBConnectionManager1 = new DBConnectionManager(); try DBConnectionManager dcm = new DBConnectionManager(); Connectionconn = dcm.getConnection(); Statement stmt=conn.createStatement(); Resul
24、tSet rs=stmt.executeQuery(select * from admin); /stmt = conn.createStatement(); while(rs.next() System.out.println(rs.getString(1); System.out.println(rs.getString(2); System.out.println(); /stmt.executeUpdate( insert into my.txt values (Ruby,27,锟斤拷锟界部); /*/ catch(Exception e) e.printStackTrace(); /
25、stmt.executeUpdate( insert into my.txt values (Ruby,27,锟斤拷锟界部); /*/4.2数据访问层内设计与实现举例:1.登陆Login类:员工工资管理系统 function checkform() if (document.loginForm.adminName.value= | document.loginForm.password.value=) alert(用户名或密码为空!); return false; return true; % if (!mesg.equals()out.println( + mesg + );% 员工工资管理系统 系统登陆 帐号: 密码: 此代码实现用户的登陆,用户登录员工工资管理系统,输入账号和密码,点击“登录”。实现的界面如下:2添加ADD类: 员工工资管理系统-添加员工信息 员工工资管理系统 员工信息管理 假条信息管理 工资信息管理 退出 添加新的员工信息 员工编号: *必填 姓名: *必填 部门: *必填 性别: 男 女 民族: 身份证号: