工资管理系统数据库课程设计报告 2.docx
- 文档编号:9988292
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:24
- 大小:148.82KB
工资管理系统数据库课程设计报告 2.docx
《工资管理系统数据库课程设计报告 2.docx》由会员分享,可在线阅读,更多相关《工资管理系统数据库课程设计报告 2.docx(24页珍藏版)》请在冰豆网上搜索。
工资管理系统数据库课程设计报告2
目录
一、开发背景2
二、功能描述3
三、数据流分析4
3.1数据流图4
3.2数据字典5
四、概念模型设计7
五、逻辑结构设计和优化10
六、应用程序设计11
七、心得体会13
参考文献14
附录14
一、开发背景
随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。
在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。
如何设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作。
这样就使办公人员可以轻松快捷地完成工资管理的任务。
对于企、事业单位的工资发放来说,不需要太大型的数据库系统。
只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位三方对数据的管理及需求的系统。
企业的目标就是在于利用编程软件开发一个功能实用,用户操作方便,简单明了的工资管理程序。
实现工资的集中管理。
可供财务人员对本单位的人员以及工资进行增加、删除、修改、查询,对工资发放中的应发工资合计等项目由系统自动进行计算;同时系统还可对员工及工资管理情况进行多角度查询。
基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。
企业工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用微软的VB6,后台数据库采用SQLServer2000数据库。
VB6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。
SQLServer2000数据库具有与VB6无缝连接、操作简单、易于使用的优点
二、功能描述
工资管理系统系是为了更好的实现工资各种信息的管理以及各种信息的安全性管理。
本系统主要对查看员工的各种工资信息需求所设计的,可以很好的管理数据。
本系统的主要功能由以下几个部分组成:
经过调研及分析,工资管理信息系统主要完成以下功能:
(1)管理员身份的确认:
只有用户名和用户密码都相符的管理员方可进入本系统,为了防止不合法用户对数据的察看和修改,管理员可以设定用户名、密码和其权限,还可以对纪录进行增加、删除、修改等操作。
当管理员要进入系统时必须先输入用户名和密码,按“确认”按钮后,系统辨别管理员身份,对合法管理员赋予权限。
(2)员工基本信息模块:
员工的基本信息。
(3)工资信息模块:
员工每个月度的基本工资、岗位工资、水电费、津贴工资、扣除薪酬、实发金额。
(4)部门信息模块:
公司各部门编号、名称、负责人、人数。
(5)考勤模块:
记录员工迟到、缺席次数。
(6)津贴模块:
记录员工加班情况派发津贴。
(7)员工信息管理模块:
管理员对所需要的资料的查询即对员工基本信息的增加、删除、修改、查询操作。
(8)员工工资管理模块:
管理员对所需要的资料的查询即对员工工资信息的增加、删除、修改、查询操作。
三、数据流分析
3.1数据流图
图3.1工资管理系统简易数据流图
3.2数据字典
3.2.1数据结构描述
名称:
员工(Employee)
含义说明:
员工信息
组成结构:
员工编号+姓名+性别+出生年月+所属部门+文化程度+职称
名称:
工资(Salary)
含义说明:
工资信息
组成结构:
员工编号+基本工资+岗位工资+水电费+津贴工资+扣除工资+实发工资
名称:
部门(branch)
含义说明:
部门信息
组成结构:
部门编号+部门名称+部门负责人+部门人数
3.2.2数据流的描述
数据流名称:
员工信息添加简述:
新员工信息录入
数据流来源:
公司管理者
数据流去向:
员工信息
数据流组成:
员工编号+姓名+性别+出生年月+所属部门+文化程度+职称
数据流名称:
员工信息修改简述:
员工信息错误或者员工调动
数据流来源:
员工信息
数据流去向:
员工信息
数据流组成:
员工编号+姓名+性别+出生年月+所属部门+文化程度+职称
数据流名称:
员工信息删除简述:
员工离职
数据流来源:
员工信息
数据流去向:
员工信息
数据流组成:
员工编号+姓名+性别+出生年月+所属部门+文化程度+职称
数据流名称:
工资添加简述:
新员工工资添加
数据流来源:
公司管理者
数据流去向:
工资信息
数据流组成:
工号+基本工资+岗位工资+水电费+津贴工资+扣除薪酬+实发金额
数据流名称:
工资修改简述:
公司对工资修改
数据流来源:
公司管理者
数据流去向:
工资信息
数据流组成:
工号+基本工资+岗位工资+水电费+津贴工资+扣除薪酬+实发金额
3.2.3主要数据存储的定义
存储名称:
员工记录
输入:
员工基本信息
输出:
员工所有信息
数据结构:
员工编号+姓名+性别+出生年月+所属部门+文化程度+职称
存储名称:
部门记录
输入:
部门基本信息
输出:
部门所有信息
数据结构:
部门编号+部门名称+部门负责人+部门人数
存储名称:
工资记录
输入:
员工工资信息
输出:
员工所有工资信息
数据结构:
员工编号+基本工资+岗位工资+水电费+津贴工资+扣除工资+实发工资
存储名称:
考勤记录
输入:
员工考勤信息
输出:
员工所有考勤信息
数据结构:
员工编号+姓名+性别+迟到次数+缺席次数
存储名称:
津贴记录
输入:
员工津贴信息
输出:
员工所有津贴信息
数据结构:
员工编号+姓名+性别+加班时间+加班天数+津贴情况
四、概念模型设计
根据系统数据流图和数据字典,得出系统的概念模型(E-R)如图所示。
图4.1用户信息E-R图
图4.2员工信息E-R图
图4.2部门信息E-R图
图4.3工资信息E-R图
图4.4考勤信息E-R图
图4.5津贴信息E-R图
图4.6工资管理系统总E-R图
五、逻辑结构设计和优化
5.1基本表
关系模式:
员工信息(员工编号、姓名、性别、出生年月、所属部门、文化程度、职称)
部门信息(部门编号、部门名称、部门负责人、部门人数)
基本工资(工资级别、工资金额)
岗位工资(工资级别、工资金额)
工资信息(员工编号、基本工资、岗位工资、水电费、津贴工资、扣除工资、实发金额)
考勤信息(员工编号、姓名、性别、迟到次数、缺勤次数)
津贴信息(员工编号、姓名、性别、加班时间、加班天数、加班类型、津贴情况)
用户信息(用户名、密码、权限)
表5.1员工信息表
员工编号
char(8)
主键,不允许重复
姓名
char(8)
性别
char
(2)
出生年月
datetime
所属部门
char(4)
外键
文化程度
char(4)
职称
char(12)
表5.2部门信息表
部门编号
char(4)
主键,不允许重复
部门名称
char(20)
部门负责人
char(8)
部门人数
int
表5.3基本工资表
工资级别
char
(2)
主键,不允许重复
工资金额
numeric(8,2)
表5.4岗位工资表
工资级别
char
(2)
主键,不允许重复
工资金额
numeric(8,2)
表5.5工资信息表
员工编号
char(8)
主键,不允许重复;外键
基本工资
numeric(8,2)
岗位工资
numeric(8,2)
水电费
numeric(8,2)
津贴工资
numeric(8,2)
加班工资
扣除薪酬
numeric(8,2)
迟到、缺席扣薪
实发金额
numeric(8,2)
表5.6考勤信息表
员工编号
char(8)
主键不允许重复
姓名
Char(8)
性别
Char
(2)
迟到次数
Numeric(3)
缺席次数
Numeric(3)
表5.7津贴信息表
员工编号
char(8)
主键不允许重复
姓名
Char(8)
性别
Char
(2)
加班时间
numeric(8,1)
加班天数
numeric
(2)
加班类型
Char(8)
津贴情况
numeric(8,2)
表5.8用户信息表
用户名
char(8)
主键,不允许重复
密码
char(20)
权限
char(20)
六、应用程序设计
6.1用户了登陆模块
登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。
登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。
通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。
窗体如下:
图6.1用户登录界面
6.2主窗体模块
在这个项目中,选择使用多文档界面。
使用这个窗体的好处是可以使程序更加有条理。
对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。
主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。
主窗体是进行相关操作的主界面。
在这几个里,管理员有所有的权利进行各种操作。
窗体如下:
图6.2主窗体界面
七、心得体会
通过这两周的数据库设计,使我们从中受到很大的影响,不仅将大学所学的知识进行了实际应用,还学到了很多书本上学不到的知识。
开阔了视野,增长了知识,积累了一些经验和教训。
充分锻炼了自己的动手和应用能力,真正做到了理论联系实际。
开发本系统的过程中,首先要对企业工资管理进行系统调研,熟悉企业财务、人事、工资发放管理的流程、步骤;选用开发工具要选用自己最熟悉、应用较多的开发工具,本系统开发选用MSVisualBasic6.0,其具有语言简单、功能强大、组件众多的优点。
程序模块的编制中,重点把握系统内部完整性、功能性、实用性、便捷性,使其能够协调统一、运行无误。
运行结果证明,工资管理系统提高了工作效率,节省了人力和物力。
本次程序我主要负责数据库的开发背景和用户登录、主窗体的设计。
由于是第一次弄数据库程序设计,对于数据库的流程还不是很清楚,所以很大一部分时间是在网上找资料,来完善我们这次数据库的需求分析。
一开始对于我们这个数据库系统的功能模块、数据流图和数据字典都不是很清楚该怎么样来书写和绘图,不过经过进一步的学习终于懂得这些该怎么样写才是正确的,也增强了我自学的积极性。
具体我们这个程序应该完成些什么功能还是通过小组共同商讨才确定下来,因为一开始对这次数据库程序设计还很陌生,所以都是在摸索中前进,当然也会遇到很多问题。
比如一个功能的实现遇到了困难就会很焦急的面对这个问题。
最后,我们要感谢老师的关心、指导和教诲。
再次向所有关心、帮助、理解、支持我们做好数据库课程设计的老师和同学们致以深深的谢意,感谢你们的帮助和关爱!
参考文献
[1]龚沛曾,陆慰民,杨志强﹒VisualBasic6.0程序设计简明教程(6.0版)[M]﹒高等教育出版社﹒2001
[2]林永,张乐强﹒VisualBasic用户编程手册(第二版)[M]﹒人民邮电出版社﹒2002
[3]萨师煊,王珊﹒数据库系统概论(第三版)[M]﹒高等教育出版社﹒2000
[4]王珊,陈红﹒数据库系统原理教程[M]﹒清华大学出版社﹒1998
[5]钱雪忠,李京﹒数据库原理及应用(第三版)[M]﹒北京邮电大学出版社﹒2010
[6]温贤发﹒VB数据库程序设计高手[M]﹒科学出版社﹒2001
附录
登录模块源代码如下:
PrivateSubcmd_cancel_Click()
txt_key.Text=""
cmo_user.Text="请选择"
UnloadMe
EndSub
PrivateSubcmd_ok_Click()
Dimtry_timesAsString
DimsqlAsString
DimrstAsADODB.Recordset
try_times=0
If(Trim(txt_key.Text)="")Then
MsgBox"请输入密码",vbOKOnly+vbExclamation,"提示"
Else
sql="select*from用户表where用户名='"&Trim(cmo_user.Text)&"'"
Setrst=ExecuteSQL(sql,"")
IfTrim(rst.Fields
(1))=Trim(txt_key.Text)Then
IfTrim(rst.Fields
(2))<>"管理员"Then
frm_main.xitong.Enabled=False'在这里设计非管理员用户的权限,这里我假设让非管理员用户不能用菜单中的‘系统’
frm_main.shezhi.Enabled=False
frm_main.xinxiweihu.Enabled=False
EndIf
rst.Close
UserName=Trim(cmo_user.Text)
frm_main.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入",vbOKOnly+vbExclamation,"警告"
txt_key.SetFocus
txt_key.Text=""
try_times=try_times+1
ExitSub'在这里若密码错了应该跳出该过程,否则下面的语句还会执行,这不是你想要的
EndIf
'try_times=try_times+1'个人认为密码输入错了才加一,你这样的话,用户名错了也会加一,当然你这里用户名不会错是吧,改得多余了
Iftry_times=3Then
UnloadMe
EndIf
EndIf
EndSub
PrivateSubForm_Load()
DimiAsInteger
DimsqlAsString
DimrstAsADODB.Recordset
sql="select用户名from用户表"
Setrst=ExecuteSQL(sql,"")
Fori=1Torst.RecordCount
cmo_user.AddItem(rst.Fields(0))
rst.MoveNext
Nexti
EndSub
主窗体:
PrivateSubbumenxinxi_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_bumenxinxi.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubgangweigongzi_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_gangweigongzi.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubjiben_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_jiben.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubyonghushanchu_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_tianjiayushanchu.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubyonghutianjia_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_tianjiayushanchu.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubForm_Load()
DimiAsInteger
DimsqlAsString
DimrstAsADODB.Recordset
sql="select权限from用户表"
Setrst=ExecuteSQL(sql,"")
Fori=1Torst.RecordCount
rst.MoveNext
Nexti
主窗体模块源代码如下:
PrivateSubbumenxinxi_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_bumenxinxi.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubgangweigongzi_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_gangweigongzi.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubjiben_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_jiben.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubyonghushanchu_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_tianjiayushanchu.Show
UnloadMe
EndIf
EndIf
EndSub
PrivateSubyonghutianjia_Click()
DimsqlAsString
DimrstAsNewADODB.Recordset
sql="select*from用户表"
Setrst=ExecuteSQL(sql,"")
power=rst.Fields
(2)
IfTrim(power)<>"管理员"Then
MsgBox"您无权进行该操作!
",vbOKOnly+vbExclamation,"警告"
Else
IfTrim(power)="管理员"Then
frm_tianjiayushanchu.Show
UnloadMe
EndIf
EndIf
EndSub
Pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理系统数据库课程设计报告 工资管理 系统 数据库 课程设计 报告