企业工资管理系统数据库课程设计报告书.docx
- 文档编号:24514389
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:17
- 大小:72.87KB
企业工资管理系统数据库课程设计报告书.docx
《企业工资管理系统数据库课程设计报告书.docx》由会员分享,可在线阅读,更多相关《企业工资管理系统数据库课程设计报告书.docx(17页珍藏版)》请在冰豆网上搜索。
企业工资管理系统数据库课程设计报告书
某某大学
课程设计报告
课程名称:
数据库原理课程设计
设计题目:
企业工资管理系统
系别:
计算机系
专业:
计算机科学与技术
组别:
学生:
学号:
起止日期:
指导教师:
第一章开发目的与意义
1.1背景
随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要,所以引进计算机技术对企业部员工进行方便的管理,这样有诸多好处。
各层管理人员可以对企业众多的员工信息进行动态的管理,例如基本资料的修改,添加,删除,查询等。
有利于减少错误,减轻人事部门的任务,提高效率,节约人力资源,降低企业成本。
1.2开发目的
本系统开发的目的一方面从提高人事工资管理工作的效率出发,摆脱过去由人用纸和笔进行的费时费力的繁重工作,如何通过设计一个切实可行的软件系统用于解决人事工资管理中信息处理总量大、容繁多、手段落后的现状,即利用成熟的计算机系统来实现人事工资管理工作的自动化。
本系统是根据企业管理的一些实际情况而编制的一套自动化的人事工资管理系统。
1.3开发意义
企业工资管理是任何企事业单位都需要进行的一项工作。
因此,开发制作工资管理系统具有较大的社会现实意义,同时工资管理系统是一切应用系统的典,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,具有典的数据库系统的特性。
企业工资管理系统主要用于企业部员工的档案、工资、考勤等管理,便于公司领导掌握人员的动向,及时调整人才的分配,同时也减少了手工操作带来的一些繁琐与不便,使员工情况的记录和统计变得十分简单.这些优点可以极大的提高企业对工资管理的效率。
因此,工资管理系统是企事业信息化、智能化、科学化和正规化不可缺少的管理软件。
第二章需求分析
2.1系统需求
根据企业工资管理的实际要求,结合职工工资管理的实际流程,“企业工资管理系统”需要满足以下需求。
⑴掌握企业每位员工的基本情况。
其中包括职工号,职工,部门编号,性别,民族,出生日期,政治面貌,婚否,职务,部门名称,籍贯,学历,工龄,工资级别,地址,联系等。
⑵基于权限的管理。
本系统可同时提供给系统管理人员或者职工使用。
但对于职工类用户而言,只能查看其本人信息。
而对于系统管理人员用户而言,其可管理所有的职工信息及各部门信息。
⑶为系统管理人员提供灵活的浏览和查找功能。
可以查看某个部门所有职工的信息;可以对职工的信息提供模糊和精确查找。
⑷系统管理人员可以对职工信息进行变动管理,对职工信息进行添加、编辑和删除等操作。
⑸系统管理人员可以对职工工资信息进行管理,对职工的工资标准进行设定,对职工每月的工资进行记录,对工资情况进行查询。
2.2模块需求
2.2.1系统管理模块
本系统的用户将分为两类:
操作员和普通用户。
操作员类的用户是指当前系统中所有的管理员,其为操作员的,而密码为操作员的口令,有特定的权限对系统中的所有学生信息进行浏览、查找,而且可添加、编辑和删除职工记录,也可以使用相应的报表功能。
对于普通用户,即整个公司的职工,只能浏览自己的信息,不能修改其他职工的信息和自己的信息。
2.2.2部门管理模块
可进行部门浏览以及部门信息的添加,删除。
2.2.3职工信息模块
可查看职工信息和工资信息,对管理人员来说,可对职工信息进行更新,对职工来说查询自己的信息或是知道和密码的其他职工的信息。
2.2.4工资信息管理模块
只对管理员有用,进行新工资的添加和旧工资删除,对信息进行及时的更新。
2.2.5浏览员工信息模块
只对管理员有用,浏览所有的职工的信息,工资的信息。
2.2.6增加新员工模块
只对管理员有用,进行新职工的添加和已经离开的职工的删除,对信息进行及时的更新。
2.2.7打印报表模块
对管理员和职工有用,可以通过查询或得所需的信息并进行打印。
第三章总体设计
3.1总体设计层次图
职工工资系统
职工工基本信息
工资信息
基础工资
岗位工资
工龄工资
考勤工资
图3-1总体设计层次图
3.2实体与数据分析
通过分析,该系统中实体包含部门,职工,工资,操作员
包含的数据项分别如下:
1.部门编号,部门名称,部门经理
2.职工号,职工,部门编号,
3.职工编号,职工,性别,部门名称,基础工资
4.职工编号,职工,性别,部门名称,工龄工资
5.职工编号,职工,性别,部门名称,岗位工资
6.职工编号,职工,性别,部门名称,考勤工资
7.职工编号,职工,性别,部门名称,基础工资,工龄工资,考勤工资,岗位工资,总工资
8.操作员编号,操作员,口令,权限
9.用户编号,用户,口令
第四章数据库设计
4.1概念设计
部门和职工的关系:
图4-1部门和职工实体联系图
职工和工资的关系:
基础工资
图4-2职工和工资实体联系图
4.2逻辑设计
部门表(部门编号,部门名称,部门经理)
职工表(职工号,职工,部门编号,,性别,民族,出生日期,政治面貌,婚否,职务,部门名称,籍贯,学历,工龄,工资级别,地址,联系)
基础工资表(职工编号,职工,性别,部门名称,基础工资)
工龄工资表(职工编号,职工,性别,部门名称,工龄工资)
岗位工资表(职工编号,职工,性别,部门名称,岗位工资)
考勤工资表(职工编号,职工,性别,部门名称,考勤工资)
总工资表(职工编号,职工,性别,部门名称,基础工资,工龄工资,考勤工资,岗位工资,总工资)
操作员表(操作员编号,操作员,口令,权限)
用户表(用户编号,用户,口令)
约束的说明:
职工表:
列名
数据类型
可否为空
约束说明
职工号
Char(12)
Notnull
PrimarykeyForeignkey
职工
Char(12)
null
性别
Char
(2)
null
出生日期
date
null
政治背景
Char(10)
null
职务
Char(10)
null
部门名称
Char(40)
null
籍贯
char(20)
null
学历
Char(10)
null
工龄
Char
(2)
null
工资等级
Char
(2)
Null
家庭住址
Char(30)
null
联系
Char(20)
null
婚否
Char
(2)
null
部门名称
Char(6)
null
部门表:
列名
数据类型
可否为空
约束说明
部门编号
Char(6)
Notnull
Primarykey
部门
Char(40)
Null
部门经理
Char(12)
Null
基础工资表:
列名
数据类型
可否为空
约束说明
基础工资
Decimal(5)
Notnull
Primarykey
职工号
Char(12)
Notnull
Primarykeyforeignkey
职工
Char(12)
Null
性别
Char
(2)
Null
部门名称
Char(40)
Notnot
工龄工资表
列名
数据类型
可否为空
约束说明
工龄工资
numeric(10)
Notnull
Primarykey
职工号
Char(12)
Notnull
Primarykeyforeignkey
职工
Char(12)
Null
性别
Char
(2)
Null
部门名称
Char(40)
Notnot
岗位工资表
列名
数据类型
可否为空
约束说明
岗位工资
Decimal(5)
Notnull
Primarykey
职工号
Char(12)
Notnull
Primarykeyforeignkey
职工
Char(12)
Null
性别
Char
(2)
Null
部门名称
Char(40)
Notnull
考勤工资表
列名
数据类型
可否为空
约束说明
考勤工资
Decimal(5)
Notnull
Primarykey
职工号
Char(12)
Notnull
Primarykeyforeignkey
职工
Char(12)
Null
性别
Char
(2)
Null
旷工次数
Unsignedint
Null
病假次数
Unsignedint
Null
事假次数
Unsignedint
Null
加班
Unsignedint
Null
节日加班
Unsignedint
Null
迟到次数
Unsignedint
Null
早退次数
Unsignedint
Null
月份
date
Null
总工资表
列名
数据类型
可否为空
约束说明
总工资
Decimal(5)
Notnull
Primarykey
职工号
Char(12)
Notnull
Primarykeyforeignkey
职工
Char(12)
Null
性别
Char
(2)
Null
部门名称
Char(40)
Notnull
岗位工资
Decimal(5)
Notnull
基础工资
Decimal(5)
Notnull
工龄工资
numeric(10)
Notnull
考勤工资
Decimal(5)
Notnull
月份
date
Null
操作员表
列名
数据类型
可否为空
约束说明
操作员编号
Char(4)
Notnull
primarykey
用户编号
Char(12)
Notnull
primarykey
操作员
Char(12)
Null
密码
Char(10)
Null
权限
Char(20)
Null
用户表
列名
数据类型
可否为空
约束说明
用户
Char(12)
Null
密码
Char(10)
Notnull
第五章程序模块设计
5.1系统功能设计
该系统可实现的功能有,员工可以通过该系统进行员工信息,员工工资的查询,管理员可以本系统进行维护及所需信息的更新,删除,修改。
本人在此工资系统开发中承担工资信息管理模块。
5.2用户界面和程序代码设计
工资录入界面如下(5-1图):
图5-1工资录入界面
“工资录入”的“clicked”的事件代码:
open(w_salary)可实现对工资的各个部分的添加,删除等。
“添加”的cb_add的“clicked”的事件代码:
longll_currentrow
ifii_index=1then
ll_currentrow=tab_salary.tabpage_1.dw_basicsalary.insertrow(0)
tab_salary.tabpage_1.dw_basicsalary.scrolltorow(ll_currentrow)
tab_salary.tabpage_1.dw_basicsalary.setrow(ll_currentrow)
tab_salary.tabpage_1.dw_basicsalary.setfocus()//获得焦点
endif
ifii_index=1then
ll_currentrow=tab_salary.tabpage_2.dw_standingsalary.insertrow(0)
tab_salary.tabpage_2.dw_standingsalary.scrolltorow(ll_currentrow)
tab_salary.tabpage_2.dw_standingsalary.setrow(ll_currentrow)
tab_salary.tabpage_2.dw_standingsalary.setfocus()
endif
ifii_index=1then
ll_currentrow=tab_salary.tabpage_3.dw_attendence.insertrow(0)
tab_salary.tabpage_3.dw_attendence.scrolltorow(ll_currentrow)
tab_salary.tabpage_3.dw_attendence.setrow(ll_currentrow)
tab_salary.tabpage_3.dw_attendence.setfocus()
endif
ifii_index=1then
ll_currentrow=tab_salary.tabpage_4.dw_positionsalary.insertrow(0)
tab_salary.tabpage_4.dw_positionsalary.scrolltorow(ll_currentrow)
tab_salary.tabpage_4.dw_positionsalary.setrow(ll_currentrow)
tab_salary.tabpage_4.dw_positionsalary.setfocus()
endif
ifii_index=1then
ll_currentrow=tab_salary.tabpage_5.dw_sumsalary.insertrow(0)
tab_salary.tabpage_5.dw_sumsalary.scrolltorow(ll_currentrow)
tab_salary.tabpage_5.dw_sumsalary.setrow(ll_currentrow)
tab_salary.tabpage_5.dw_sumsalary.setfocus()
endif
“删除”的cb_delete”的“clicked”事件代码:
ifii_index=1then
tab_salary.tabpage_1.dw_basicsalary.deleterow(0)
endif
ifii_index=1then
tab_salary.tabpage_2.dw_standingsalary.deleterow(0)
endif
ifii_index=1then
tab_salary.tabpage_3.dw_attendence.deleterow(0)
endif
ifii_index=1then
tab_salary.tabpage_4.dw_positionsalary.deleterow(0)
endif
ifii_index=1then
tab_salary.tabpage_5.dw_sumsalary.deleterow(0)
endif
“保存”的cb_save的“clicked”的事件代码:
tab_salary.tabpage_1.dw_basicsalary.update()
ifsqlca.sqlcode<>0then
rollback;
messagebox("错误","基础工资存盘失败!
")
return
endif
commit;
tab_salary.tabpage_2.dw_standingsalary.update()
ifsqlca.sqlcode<>0then
rollback;
messagebox("错误","工龄工资存盘失败!
")
return
endif
commit;
tab_salary.tabpage_3.dw_attendence.update()
ifsqlca.sqlcode<>0then
rollback;
messagebox("错误","考勤工资存盘失败!
")
return
endif
commit;
tab_salary.tabpage_4.dw_positionsalary.update()
ifsqlca.sqlcode<>0then
rollback;
messagebox("错误","岗位工资存盘失败!
")
return
endif
commit;
tab_salary.tabpage_5.dw_sumsalary.update()
ifsqlca.sqlcode<>0then
rollback;
messagebox("错误","总工资存盘失败!
")
return
endif
commit;
工资查询界面如下(5-2图):
图5-2工资插叙界面
“检索”的cb_look的事件代码:
stringls_workerid,ls_workername
longll_rows
ls_workerid=trim(sle_workerid.text)
ls_workername=trim(sle_workername.text)//获取此单行变量的容赋给变量
ifls_workerid=""andls_workername=""then
messagebox("提示","请输入职工号或")
return
endif
ifls_workerid=""then
dw_sumsalarylook.setfilter("worker_name'"+ls_workername+"")
dw_sumsalarylook.filter()
ifll_rows=0then
messagebox("提示","无记录!
")
else
sle_workerid.text=dw_sumsalarylook.object.worker_id[1]
endif
return
endif
dw_sumsalarylook.setfilter("worker_id='"+ls_workerid+"'")
dw_sumsalarylook.filter()
ll_row=dw_sumsalarylook.retrieve()//获得检索数据的行数
ifll_row=0then
messagebox("提示","无记录!
")
else
sle_workername.text=dw_sumsalarylook.object.worker_name[1]
endif
5.3系统说明
该系统是为方便企业进行工资管理而设计的,使用方法如下:
1.进入登录界面后,选择登录身份。
2.以管理员身份登录后可进行企业各部门人事设定以及工资设定和查询,并对所需信息的打印,修改操作员密码和权限。
3.以员工身份登录时只能进行对个人的工资信息的查询和打印,还可进行修改身份密码等操作。
第六章个人体会
通过此次的数据库课程设计过程中,让我巩固并且学到了许多知识,让我把所学知识能够融入到实践中。
在这次课程设计中特别感谢马桂芳老师,是她的悉心教导让我明确了方向,是她孜孜不倦的讲解让我们遇到的许多问题迎刃而解。
同时,还要感谢同组的同学,是他们的帮助和鼓励给了我信心,让我们可以一直坚持到最后,最终交上一份满意的答卷。
参考文献
[1]阿奇.PowerBuilder实用教程[M].3版.北京:
电子工业,2009:
2-1.
[2]王珊萨师煊.数据库系统概论[M].4版.北京:
高等教育,2006:
5-4.
指导教师评语:
指导教师签名:
年月日
成绩评定
项目
权重
成绩
1、设计过程中出勤、学习态度等方面
0.1
2、设计技术水平
0.4
3、编程风格
0.2
4、设计报告书写及图纸规程度
0.3
总成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 工资管理 系统 数据库 课程设计 报告书