工资管理系统课程设计1.docx
- 文档编号:29461683
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:36
- 大小:280.96KB
工资管理系统课程设计1.docx
《工资管理系统课程设计1.docx》由会员分享,可在线阅读,更多相关《工资管理系统课程设计1.docx(36页珍藏版)》请在冰豆网上搜索。
工资管理系统课程设计1
课程设计报告书
专业:
教育技术学
题目:
工资管理系统
班级:
2012级教育技术班
姓名:
李卫
学号:
201201030319
摘要
工资管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事,工资信息进行管理,具有手工管理所无法比拟优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极地提高人事,工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
关键词:
数据库;SQLServer2008;工资管理
目录
目录1
第一章开发环境和开发工具1
1.1C#语言简介1
1.2开发背景1
1.3开发环境2
第二章工资管理信息系统的分析与设计3
3.1系统需求分析3
3.2系统总体设计3
3.2.1系统设计目标3
3.2.2开发设计思想3
3.2.3系统功能模块设计4
第三章数据库设计6
3.1引入背景6
3.2数据库需求分析6
3.3数据库概念结构设计7
3.4数据库逻辑结构设计9
第四章系统详细设计与实现11
4.1公共类设计与实现11
4.2数据访问层类设计与实现11
4.3业务逻辑层类设计与实现11
4.4界面设计及实现11
4.4.1登陆界面及代码12
4.4.2主界面及代码16
结论21
心得体会22
参考文献23
第一章开发环境和开发工具
1.1开发背景
随着计算机技术的飞速发展,计算机在企业管理中的应用越来越普及,利用计算机实现企业工资的管理显得越来越重要。
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事工资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
企业的工资管理是公司管理的一个重要内容。
随着当今企业人员数量增加,企业的工资计算也变得越来越复杂。
如果能够实现工资管理的自动化,无疑是给企业管理部门带来很大的方便。
资金是企业生存的主要元素。
资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分,因为企业每个月都要涉及发放企业员工工资的问题。
企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。
最初的工资统计和发放都是使用人工方式处理,工作的时候,出现错误的机率也随之升高。
工资管理系统就是使用电脑代替大量的人工统计和计算,完成众多工资信息的处理,同时使用电脑还可以安全地保存大量的工资记录。
企业工资管理系统,为个人提供工资查询服务,为企业提供工资计算,工资统计等服务。
传统的纸张材料的数据信息管理已经不适合现代企业公司的发展了,实现工资管理的系统化、规范化、自动化,将成为现在公司管理工资的首选。
本系统实现的工资管理系统基本上能够满足现代化企业工资管理的需求。
1.2开发环境
本文所采用的开发环境主要是基于数据库系统的SQLServer2008和基于面向对象程序设计。
利用SQLServer2008创建企业中的部门信息表。
个人信息表、员工工资表以及用户信息表。
利用数据库建立连接之后,利用控件按钮以及一些程序代码实现一些特定的功能,例如员工信息查询、员工信息编辑、职工工资查询、职工工资编辑等,极大地提高了工资管理的效率。
第二章工资管理信息系统的分析与设计
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现工资管理势在必行。
工资管理是现代企业管理不可缺少的一部分,是适应现代化制度要求,推动企业劳动工资管理走向科学化、规范化的必要条件。
2.1系统需求分析
2.1.1对功能的规定
在现代企业的生产和动作过程中,往往需要对企业员工的工资进行管理,企业的工资管理活动中都包含了以下几项功能:
1、员工信息管理:
实现对员工基本信息的管理操作,包括员工基本数据信息的添加、修改、删除和查询等功能;
2、工资管理:
完成对基础数据设定(如工龄工资、岗位工资、所得税率等),工资统计、实发工资(根据出勤统计结果),打印工资条,及员工奖励和惩罚,福利补贴的设定,月度工资计算;
3、工资查询:
可根据条件查询员工历史工资数据(如按月份查询、按姓名查询、按部门查询等);
4、汇总打印:
提供报表打印输出功能,可以报表的形式打印员工信息、工资发放报表、工资历史报表、员工奖励和员工惩罚报表;
5、系统维护:
可对数据进行备份和恢复,并可实现数据导入导出功能。
6、管理员设置:
实现系统用户及密码的设置操作,可以增加和删除系统用户(仅系统管理员才有权限),对系统当前用户修改密码。
本系统主要功能有:
(1)员工基本工资的设定。
(2)奖金以及福利补贴的设定。
(3)实发工资计算公式的调整。
(4)根据出勤统计结果计算本月各项实际金额。
根据需要的功能,得到系统功能模块设置,如图所示
数据流程图
2.1.2对性能的规定
1、精度
要求用户输入的信息尽量准确:
员工出勤以“天”为最小单位:
员工工资以“元”为最小单位:
扣款比率及奖金比率为浮点型数据,小数点后保留两位有效数据:
2、时间特性要求
a.页面响应时间:
3s
b.更新处理时间:
5s
c.数据的转换和传递时间:
10s
d.解题时间:
30s
3、灵活性
a.运行环境的变化:
如果增强服务器的硬件配置,不仅可以增快系统的响应时间,还能足够保证系统的稳定性
b.同其他软件的接口的变化:
升级,也能够得到系统稳定性及响应时间的提升。
c.精度和有效时限的变化:
如果要求统计的员工的工资金额足够准确,则可以尽量将统计工资的算法设计的复杂些
d.计划的变化和改进:
可以从网络上寻找已有的功能模块进行代码复用,以加快开发进度,同时可保证软件质量。
2.1.3输入输出要求
工资管理系统根据用户设定的工资项目和工资核算公式,在操作员输入当前日期的前提下自动完成月工资计算,支持多套帐目情况下的工资生成。
(1)工资项目及计算公式自由设定,工资项目设立最多40项。
(2)支持外部EXCEL表及DBF数据导入。
(3)报表数据统一以EXCEL格式存盘。
(4)将实发月工资为负的输出视为非法输出。
2.1.4数据管理能力要求
维护过程是对长期不变数据进行的,把这部分数据放在维护部分进行增加、删除、修改的目的就是为了充分地对库中的数据进行保护。
进行数据备份主要将数据库文件备份到可移动磁盘上,以备数据丢失时重新恢复,或提供给其他人使用。
对于工资项目中的数据,系统应有能力支持信息的维护与更新,并支持数据的批量录入与修改。
系统中可以完成增删一条或多条员工及其工资记录的操作,可以按照日期、部门及员工信息检索到特定记录,能够生成财务上需要的各种报表。
2.1.5故障处理要求
由于使用时间过长,使用频率过高,导致数据库遭到破坏,可以采取定时备份数据库来更新数据库的方法,在数据库出现问题的时候恢复数据库。
2.1.6其他专门要求
数据不管是在企业内部之间传输,还是公司与分公司之间进行远程数据传输时,防止数据被不法分析任意的修改和破坏,对所有的敏感数据均进行基于SSL协议的加密操作,只有对信息解密的人员才能最终读取数据信息。
这样,能最大程度的防止数据在传输过程的安全保密性。
2.2系统总体设计
2.2.1系统设计目标
本文研究开发的人事管理信息系统用于支持企业完成劳动人事管理工作,有如下三个方面的目标:
●支持企业实现规范化的管理。
●支持企业高效率完成工资管理的日常业务,包括新员工加入时人事档案的建立、老员工转出、辞职、退休等。
●支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘人数等。
2.2.2开发设计思想
基于以上系统设计目标,本文在工资管理信息系统时遵循了以下开发设计思想:
●采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
●尽量达到操作过程中的直观、方便、实用、安全等要求。
●系统采用C/S体系结构,Clinet(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。
●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
●系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.2.3系统功能模块设计
本系统分为五个模块:
用户管理、工资管理、职工管理、退出、关于。
得到如图所示的系统功能模块图。
第三章数据库设计
3.1引入背景
工资管理信息系统是一个数据库应用系统,员工的所有工资信息都保存在数据库中。
数据库结构设计是工资管理信息系统数据库应用系统开发过程中一个非常重要的环节,设计的好坏将直接对所开发的工资管理信息系统的效率以及实现的效果产生影响。
好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。
数据库结构设计主要就是要设计好数据库中各个表的结构,包括信息保存在哪些表格中、各个表的结构如何以及各个表之间的关系。
由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。
3.2数据库需求分析
数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。
在这个阶段主要工作是收集基本数据以及数据处理的流程,为以后进一步设计一打下基础。
需求分析主要解决两个问题:
:
.●内容要求。
调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。
●处理要求。
调查应用系统用户要求对数据库进行什么样的处理,理清数据库中各种数据之间的关系。
在数据库需求分析后,得到一个数据字典文档,包括3方面内容。
●.数据项。
包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。
●.数据结构。
若干个数据项的有意义的集合,包括名称、含义以及组成数据结构的数据项。
●.数据流。
指数据中数据的处理过程,包括输入、处理和输出。
本系统数据项和数据结构设计如下:
●.员工基本情况。
包括的数据项有员工号、员工姓名、性别、所属部门、身份证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、联系电话、邮箱、备注。
●企业部门信息。
包括的数据项有部门号、部门名称、部门电话、部门负责人、部门地址、开户银行、银行账号。
●员工工资信息。
包括职工编号、职工姓名、基本工资、考核工资、房补、工龄工资、奖励工资、应发金额合计、住房公积金、惩罚金额、医疗保险、养老保险、应扣金额合计、工资合计、发放历史、月份。
●用户登录信息。
包括用户号、用户名、密码、用户组号。
3.3数据库概念结构设计
数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
用E-R图是描述数据实体关系的一种直观描述工具,所以本系统采用了E-R图的方法进行数据库概念结构设计。
员工信息实体E-R图:
考勤表信息E-R图,基本工资表信息E-R图,福利分配表信息E-R图:
实体之间关系E-R图
3.4数据库逻辑结构设计
概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。
也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。
工资管理系统数据库中各个表格的设计结果如下面的四个表所示。
每个表表示数据中的一个表。
数据库表的设计及表结构:
员工信息表:
工资计算表:
变动工资表:
考勤表:
福利费计提分配表:
基本工资表:
用户登录Login表:
第四章系统详细设计与实现
4.1公共类设计与实现
Dbcon类:
实现数据库的链接,各增删改查功能的实现,各种函数的实现
1.数据库的链接
privatestaticstring_connStr="DataSource=.;InitialCatalog=工资管理;IntegratedSecurity=True";
privatestaticSqlConnectionsqlcon=null;
privatestaticvoidCreateConnection()
{
if(sqlcon==null)
{
sqlcon=newSqlConnection(_connStr);
sqlcon.Open();
}
elseif(sqlcon.State==ConnectionState.Closed||sqlcon.State==ConnectionState.Broken)
{
sqlcon.Close();
sqlcon.Open();
}
2.执行Insert/update/delete,不带参数
publicstaticintExecuteNoQuery(stringstrsql)
{
inti;
CreateConnection();
SqlCommandsqlcmd=newSqlCommand(strsql,sqlcon);
i=sqlcmd.ExecuteNonQuery();
sqlcon.Close();
returni;
}
publicstaticintExecuteNoQuery(stringstrsql,paramsSqlParameter[]param)
{
inti;
CreateConnection();
SqlCommandsqlcmd=newSqlCommand(strsql,sqlcon);
sqlcmd.Parameters.Clear();
foreach(SqlParameterparinparam)//遍历数组将参数对象添加到操作命令中
{
sqlcmd.Parameters.Add(par);
}
i=sqlcmd.ExecuteNonQuery();
sqlcon.Close();
returni;}
考勤database,职工database类:
主要实现数据库连接
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Data;
usingSystem.Data.SqlClient;
namespaceDatabase
{publicclass考勤database
{publicstaticSqlDataReadergetreder(stringsql1)
{stringconn_str1="DataSource=.;InitialCatalog=工资管理;IntegratedSecurity=True";
SqlConnectionconn1=newSqlConnection(conn_str1);
conn1.Open();
SqlCommandcmd1=newSqlCommand(sql1,conn1);
SqlDataReaderrd1=cmd1.ExecuteReader();
returnrd1;}}}
4.2数据访问层类设计与实现
1、考勤sever类:
publicclass职工sever
{publicstaticDataTableliulan(string职工表)
{stringsql="select员工编号,员工姓名,性别,出生日期,身份证号码,部门编号,部门名称,职称,工龄,个人账号,联系电话from员工信息表where员工编号";
DataTableds=DBcon.GetTable(sql);
returnds;}
publicstaticList<职工表>getall()
{List<职工表>rea=newList<职工表>();
stringsql="select*from员工信息表";
SqlDataReaderrd=Database.职工database.getreder(sql);
while(rd.Read())
{职工表Model=new职工表();
Model.员工号=rd["员工编号"].ToString();
Model.员工名=rd["员工姓名"].ToString();
Model.别=rd["性别"].ToString();
Model.出生=rd["出生日期"].ToString();
Model.身份证号=rd["身份证号码"].ToString();
Model.部门号=rd["部门编号"].ToString();
Model.部门名=rd["部门名称"].ToString();
Model.职=rd["职称"].ToString();
Model.龄=rd["工龄"].ToString();
Model.人账号=rd["个人账号"].ToString();
Model.系电话=rd["联系电话"].ToString();
rea.Add(Model);}
returnrea;}
/*<-------------查询职工信息---------->*/
publicstaticList<职工表>search(stringname)
{List<职工表>rea=newList<职工表>();
stringsql="select*from员工信息表where员工编号='"+name+"'";
SqlDataReaderrd=Database.职工database.getreder(sql);
while(rd.Read())
{职工表Model=new职工表();
Model.员工号=rd["员工编号"].ToString();
Model.员工名=rd["员工姓名"].ToString();
Model.别=rd["性别"].ToString();
Model.出生=rd["出生日期"].ToString();
Model.身份证号=rd["身份证号码"].ToString();
Model.部门号=rd["部门编号"].ToString();
Model.部门名=rd["部门名称"].ToString();
Model.职=rd["职称"].ToString();
Model.龄=rd["工龄"].ToString();
Model.人账号=rd["个人账号"].ToString();
Model.系电话=rd["联系电话"].ToString();
rea.Add(Model);}
returnrea;}
/*<-------------删除职工信息---------->*/
publicstaticintdelete(stringygbianhao1)
{
intnumber1;
stringstr="deletefrom员工信息表where员工编号="+ygbianhao1+"";
number1=DBcon.ExecuteNoQuery(str);
returnnumber1;}
/*<-------------更新职工信息---------->*/
publicstaticintupdate(职工表Model)
{intnumber2=0;
SqlParameter[]param={
newSqlParameter("@员工编号",Model.员工号),
newSqlParameter("@员工名称",Model.员工名),
newSqlParameter("@性别",Model.别),
newSqlParameter("@出生日期",Model.出生),
newSqlParameter("@身份证号码",Model.身份证号),
newSqlParameter("@部门编号",Model.部门号),
newSqlParameter("@部门名称",Model.部门名),
newSqlParameter("@职称",Model.职),
newSqlParameter("@工龄",Model.龄),
newSqlParameter("@个人账号",Model.人账号),
newSqlParameter("@联系电话",Model.系电话),};
stringstr="update员工信息表set员工编号=@员工编号,员工姓名=@员工姓名,性别=@性别,出生日期=@出生日期,身份证号码=@身份证号码,部门编号=@部门编号,部门名称=@部门名称,职称=@职称,工龄=@工龄,个人账号=@个人账号,联系电话=@联系电话where部门编号=@部门编号";
number2=DBcon.ExecuteNoQuery(str,param);
returnnumber2;}
职工表ss=new职工表();
DBconqq=newDBcon();
/*--------------------加载函数----------------*/
publicList<职工表>职工表All()
{List<职工表>xb=newList<职工表>();
SqlConnectioncon=qq.GetCon();
SqlCommandcom=newSqlCommand("pro_select",con
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 课程设计