工资管理系统数据库课程设计报告报告.docx

上传人:b****8 文档编号:12814216 上传时间:2023-06-08 格式:DOCX 页数:23 大小:160.51KB
下载 相关 举报
工资管理系统数据库课程设计报告报告.docx_第1页
第1页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第2页
第2页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第3页
第3页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第4页
第4页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第5页
第5页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第6页
第6页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第7页
第7页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第8页
第8页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第9页
第9页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第10页
第10页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第11页
第11页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第12页
第12页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第13页
第13页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第14页
第14页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第15页
第15页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第16页
第16页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第17页
第17页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第18页
第18页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第19页
第19页 / 共23页
工资管理系统数据库课程设计报告报告.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

工资管理系统数据库课程设计报告报告.docx

《工资管理系统数据库课程设计报告报告.docx》由会员分享,可在线阅读,更多相关《工资管理系统数据库课程设计报告报告.docx(23页珍藏版)》请在冰点文库上搜索。

工资管理系统数据库课程设计报告报告.docx

工资管理系统数据库课程设计报告报告

 

目录

一、开发背景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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2