陈润鑫 3112101116.docx
《陈润鑫 3112101116.docx》由会员分享,可在线阅读,更多相关《陈润鑫 3112101116.docx(39页珍藏版)》请在冰豆网上搜索。
陈润鑫3112101116
淮阴工学院
数据库原理及应用课程设计报告
选题名称:
公司工资信息管理系统
系(院):
江淮学院
专业:
计算机科学与技术
班级:
计算机3111
姓名:
陈润鑫学号:
3112101116
指导教师:
单劲松
学年学期:
2012~2013学年第2学期
2013年6月20日
设计任务书
课题
名称
公司工资信息管理系统
设计
目的
1.掌握数据原理关系数据库理论基本概念;
2.掌握并应用DDL,SQL建立数据库及数据库表,依据要求查询、统计相关数据;
3.掌握利用高级语言与数据库建立连接、查询数据、插入数据、删除数据的方法;
4.利用数据库设计的一般步骤,完成数据库的需求分析、概念设计、逻辑设计;
5.学会对所学知识进行总结,加深对课堂知识的理解与掌握。
实验
环境
1.Windows2000以上操作系统;
2.VB编程工具。
任务
要求
1.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;
2.在第15周末之前完成预设计,请指导教师审查通过后进行下一步工作;
3.按所设计方案进行软设计;
4.完成系统设计,写出报告初稿方可申请参加答辩;
5.结束后,及时提交实习报告(含纸质稿、电子稿)。
工作进度计划
序号
起止日期
工作内容
1
2013.6.1~2013.610
查阅资料,提出设计方案。
2
2013.6.11~2013.6.20
根据提出设计方案逐项完成。
3
2013.6.21~2013.6.27
在机房实现软件系统、系统调试。
4
2013.6.28~2013.6.30
根据教师反馈意见,修改、完善、上交实习报告。
指导教师:
单劲松
2013年6月8日
摘要:
公司的工资管理是公司管理的一个重要内容。
工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。
工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、奖金、税收、实际发放工资等。
资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。
本次设计主要阐述员工工资管理系统主要是以企业员工工资情况为对象而开发的。
涉及系统比较小。
其系统的设计主要包括数据库的设计、维护和应用界面的设计与后台数据库的连接。
经分析采用Microsoft公司开发的VisualBasic6.0为开发工具,MicrosoftSQLsever2005为后台数据库。
VisualBasic(简称VB)是由Microsoft公司推出的在Windows操作平台下最迅速、最简捷的应用开发工具之一。
它引入了面向对象的程序设计思想和“控件”的概念,使得大量已经编好的VisualBasic程序可以直接拿来使用。
同时VB具有简单、易学的特点,是大多数初学者最理想的编程语言,也是专业人员得心应手的开发工具。
它在一个公共环境里集成了许多不同的功能,例如,设计、编辑、编译和调试。
MicrosoftSQLServer2005简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。
关键词:
工资管理系统、设计、开发工具
目录
第一章绪论5
1.1问题的提出5
1.2系统设计功能5
第二章数据库系统设计6
2.1数据库分析设计6
2.2数据各个表之间的关系8
第三章各个关系间的数据结构9
3.1系统设计目标9
3.2系统概要分析9
第四章企业工资管理系统应用设计11
4.1企业工资管理系统设计11
4.2子模块的设计12
第五章各个模块部门代码18
5.1登陆界面18
5.2工资管理系统界面19
5.3用户管理界面20
5.4部门基本信息维护界面21
5.5部门基本信息查询界面22
5.6员工基本信息维护界面23
5.7员工基本信息查询界面24
5.8员工工资信息维护界面26
5.9员工工资信息查询界面27
总结28
参考文献30
第一章绪论
1.1问题的提出
随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好的完成员工工资管理工作。
提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于vb与sql数据库技术建立一个通用工资管理系统,该系统提供了查询、添加、修改、删除等功能,并对工资进行了统计如基本工资、奖金、税收。
基本上能满足管理员和公司的要求。
1.2系统设计功能
企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、添加、删除等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:
(1)对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:
有调出、有调入、也有职工在本单位内部调动。
因此,设计系统是应考虑到这些情况。
(2)对职工的工资进行计算、修改。
同时,能对各职工的工资进行计算,即计算基本工资、奖金、税收及实发工资等。
(3)查询统计功能。
要求即可以单项查询,比如查看某个职工的基本信息等;也可以多项查询,比如某个部门所有的员工的基本信息。
(4)对用户管理功能。
一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。
第二章数据库系统设计
2.1数据库分析设计
需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。
理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。
抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。
需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。
所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。
此次课程设计的使用者是企业的员工,主要是针对系统的管理员。
其进行的操作就是对公司员工、部门等一些方面改动的改善。
由此对员工需求分析如下。
用户的需求就是对员工工资和使用用户的添加、删除、修改和查询。
这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。
搜集了各项要求,故数据项要求设计如下:
表2.1员工信息表
键
名称
数据类型
大小
空
主键
员工编号
char
8
不可以
姓名
char
8
不可以
性别
char
2
不可以
出生年月
datetime
8
不可以
主键
所属部门
char
8
不可以
文化程度
char
4
不可以
职称
char
12
不可以
图2.1员工信息表
表2.2部门信息
键
名称
数据类型
大小
空
主键
部门编号
char
10
不可以
部门名称
char
10
不可以
部门负责人
char
8
不可以
部门人数
int
4
不可以
图2.2部门信息表
表2.3工资信息表
键
名称
数据类型
大小
空
主键
员工编号
char
8
不可以
主键
部门编号
char
4
不可以
基本工资
numeric
(18,0)
不可以
奖金
numeric
(18,0)
不可以
税收
numeric
(18,0)
不可以
实发工资
numeric
(18,0)
不可以
图2.3工资信息表
表2.4用户表
键
名称
数据类型
大小
空
主键
用户名
char
12
不可以
密码
int
4
不可以
是否为管理员
char
10
可以
图2.4用户表
2.2数据各个表之间的关系
在设计过程中,从用户的角度考虑来处理各个表之间的约束关系,把概念模式转化成逻辑模式最终形成E-R图。
员工信息表(员工编号、姓名、性别、出生年月、所属部门、文化程度、职称)
部门信息表(部门编号、部门名称、部门负责人、部门人数)
工资信息表(员工编号、部门编号、基本工资、奖金、税收、实发工资)
用户表(用户名、密码、是否为管理员)
各个模块之间的关系,如图2.5所示。
图2.5各表之间的联系
第三章各个关系间的数据结构
3.1系统设计目标
开发这个系统的目的就是帮助企业部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。
实现企业高效、科学、现代化的员工管理。
系统最终实现的主要功能如下。
工资信息设置部分:
包括设置员工的基本工资和其他项目的金额,如奖金。
信息管理部分:
包括员工信息、部门信息和工资信息。
信息维护部分:
包括信息添加、删除、修改。
信息查询部分:
按添加进行查询。
系统部分:
包括添加用户、修改用户。
3.2系统概要分析
用户在使用一个系统时,必须先登录操作界面,在操作完成后然后再退出,其操作如图3.1所示。
图3.1系统流程图
用户进入管理系统的身份不同,所获得的权限也不同,普通用户只可以进行查询工作,而管理员还可以进行维护工作。
图3.2普通用户权限
用户管理(添加、删除)
系统管理
添加、删除、修改、查询
部门信息管理
管理员
添加、删除、修改、查询
员工信息管理
添加、删除、修改、查询
工资信息管理
图3.3管理员权限
各个模块简介:
登录模块:
主要完成用户的登录信息核对并进入主界面。
用户管理模块:
主要完成对用户信息的添加和删除功能。
信息设置模块:
主要对公司员工和部门的管理。
工资管理模块:
主要完成对员工工资的添加、删除、修改、查询。
第四章企业工资管理系统应用设计
4.1企业工资管理系统设计
4.1.1“登陆模块”详细设计
“登录模块”的设计主要是针对用户登录界面的设计,判断用户是管理员还是普通用户,从而进入主界面。
登陆界面主要由用户名和密码的信息,还有标题的设置,登录和退出按钮的设置。
用户只有选择用户名后填入相应的密码并选择是否为管理员后点击“登录”才能进入主界面,点击“退出”会退出系统。
由此,登陆界面设计如图4.1所示。
图4.1登陆界面设计界面
若用户对此有操作上的错误,我设计的特点是都有提示的对话框(几乎每个窗体都设置了如下操作,除了特殊的提示外,相同的提示在以后的篇幅中不再一一写出),如图4.2所示。
图4.2操作错误提示
4.1.2“主界面”的详细设计
主界面的设计是由菜单编辑器生成,主要由系统管理、公司部门基本信息管理、公司员工基本信息管理、公司员工工资信息管理五个模块组成。
其作用是使程序更加有条有理,有利于管理。
其中普通用户只可部分操作,管理员可以对所有模块进行操作。
主界面设计如图4.3所示:
图4.3主界面设计图
4.2子模块的设计
4.2.1选择“系统管理”→“用户管理”菜单,在用户信息的表格里输入用户名、密码和是否为管理员,点击“添加”按钮,系统自动新增用户名及其用户信息。
如图4.4所示。
点击“删除”按钮,则会显示所有用户,点击你要删除的那用户,点击“删除”按钮,该用户将会被删除。
如图4.5所示。
图4.4用户添加
图4.5用户删除
4.2.2选择“公司部门基本信息管理”→“部门基本信息维护”菜单(维护选项只有管理员身份才能进入),在部门信息的表格里输入相应内容,点击“添加”按钮,系统自动新增该部门信息。
如图4.6所示。
点击“删除”、“修改”按钮,则会显示所有部门信息,点击你要删除的那部门,点击“删除”按钮,该部门将会被删除。
“修改”只需在显示的DataGrid控件上直接修改。
如图4.7所示。
图4.6部门基本信息维护窗体
图4.7部门信息删除修改窗体
4.2.3选择“公司部门基本信息管理”→“部门基本信息查询”菜单,在查询条件的表格里输入相应内容(如:
在部门人数的check控件上打上勾,在部门人数后面的text文本框中输入3),点击“查询”按钮,系统会将符合要求的部门显示在下面的DataGrid控件上。
如图4.8所示。
图4.8部门基本信息查询窗体
4.2.4员工基本信息维护、公司员工工资信息维护(维护选项只有管理员身份才能进入)选项,其内容与部门信息维护大致相同,在此不一一写出。
如图4.9、4.10所示。
图4.9员工基本信息维护窗体、员工基本信息删除修改窗体
图4.10员工工资信息维护窗体、员工工资信息删除修改窗体
4.2.5员工基本信息查询、公司员工工资信息查询选项,其内容与部门信息查询大致相同,在此不一一写出。
如图4.11、4.12所示。
图4.11员工基本信息查询窗体
图4.12员工工资信息查询窗体
第五章各个模块部门代码
5.1登陆界面
PrivateSubCommand1_Click()
Dims1AsString
DimPasswordAsString
OnErrorResumeNext
IfText1.Text=""Then'用户名为空,则退出
MsgBox("用户名不能为空,请重新输入")
Text1.SetFocus
ExitSub
EndIf
'按输入的用户名进行查询
s1="SELECT*from用户表WHERE用户名='"&Text1.Text&"'"
Adodc1.RecordSource=s1
Adodc1.Refresh
IfAdodc1.Recordset.EOF=FalseThen'判断查询结果
UserName=Adodc1.Recordset.Fields(0)'有该用户名,即用户名正确
Password=Adodc1.Recordset.Fields
(1)
UserType=Adodc1.Recordset.Fields
(2)
IfPassword=Text2.TextThen'判断密码是否正确
IfCheck1.Value=1Then
UnloadMe'密码正确,关闭当前窗体
工资管理系统.Show
EndIf
IfCheck2.Value=1Then
UnloadMe
普通员工登陆系统.Show
EndIf'显示主界面窗体
ExitSub
Else
MsgBox("密码错误,请重新输入")'密码错误,提示
Text2.SetFocus
Text2.Text=""
EndIf
Else'没有该用户名,即用户名错误
MsgBox"用户名错误,请重新输入"
Text1.SetFocus
Text1.Text=""
Text2.Text=""
EndIf
Count1=Count1+1'错误次数累计
IfCount1>=3Then
MsgBox"错误超过3次,系统退出"
UnloadMe
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Count1=0
Label1.Caption="欢迎来到公司工资管理系统"
Label1.FontSize=20
Label1.ForeColor=vbRed
Timer1.Interval="500"
Timer1.Enabled=True
EndSub
PrivateSubTimer1_Timer()
IfLabel1.ForeColor=vbRedThen
Label1.ForeColor=vbBlue
Else
Label1.ForeColor=vbRed
EndIf
Label1.Left=Label1.Left-300
IfLabel1.Left+Label1.Width<"0"Then
Label1.Left=用户登录.Width
EndIf
EndSub
5.2工资管理系统界面
PrivateSubAA2_Click()
用户管理.Show
EndSub
PrivateSubAA3_Click()
End
EndSub
PrivateSubBB2_Click()
部门基本信息维护.Show
EndSub
PrivateSubBB3_Click()
部门基本信息查询.Show
EndSub
PrivateSubCC2_Click()
员工基本信息维护.Show
EndSub
PrivateSubCC3_Click()
员工基本信息查询.Show
EndSub
PrivateSubDD2_Click()
员工工资信息维护.Show
EndSub
PrivateSubDD3_Click()
员工工资信息查询.Show
EndSub
PrivateSubForm_Load()
Text1.Text=Now
EndSub
PrivateSubTimer1_Timer()
Text1.Text=Now
EndSub
普通员工登陆系统附加下面代码:
PrivateSubForm_Load()
AA2.Enabled=False
BB2.Enabled=False
CC2.Enabled=False
DD2.Enabled=False
EndSub
5.3用户管理界面
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("用户名")=Text1.Text
Adodc1.Recordset.Fields("密码")=Text2.Text
Adodc1.Recordset.Fields("是否为管理员")=Text3.Text
Text1.SetFocus
Adodc1.Recordset.Update
MsgBox"添加成功",vbOKOnly+vbExclamation,"添加结果"
EndSub
PrivateSubCommand2_Click()
用户删除.Show
EndSub
PrivateSubCommand3_Click()
UnloadMe
EndSub
用户删除界面:
PrivateSubCommand1_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Refresh
MsgBox"删除成功",vbOKOnly+vbExclamation,"删除结果"
EndSub
PrivateSubCommand2_Click()
UnloadMe
用户管理.Show
EndSub
5.4部门基本信息维护界面
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("部门编号")=Text1.Text
Adodc1.Recordset.Fields("部门名称")=Text2.Text
Adodc1.Recordset.Fields("部门负责人")=Text3.Text
Adodc1.Recordset.Fields("部门人数")=Text4.Text
Text1.SetFocus
Adodc1.Recordset.Update
MsgBox"添加成功",vbOKOnly+vbExclamation,"添加结果"
EndSub
PrivateSubCommand2_Click()
部门信息删除修改.Show
EndSub
PrivateSubCommand3_Click()
部门信息删除修改.Show
EndSub
PrivateSubCommand4_Click()
UnloadMe
EndSub
部门信息删除修改界面:
PrivateSubCommand1_Click()
UnloadMe
部门基本信息维护.Show
EndSub
PrivateSubCommand2_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Refresh
MsgBox"删除成功",vbOKOnly+vbExclamation,"删除结果"
EndSub
5.5部门基本信息查询界面
PrivateSubCommand1_Click()
Dims1AsString
s1=""
IfCheck1.Value=1Then
IfText1.Text<>""Then
Ifs1<>""Then
s1=s1&"and"
EndIf
s1=s1&"部门编号='"&Text1.Text&"'"
EndIf
EndIf
IfCheck2.Value=1Then
IfText2.Text<>""Then
Ifs1<>""Then
s1=s1&"and"
EndIf
s1=s1&"部门名称='"&Text2.Text&"'"
EndIf
EndIf
IfCheck3.Value=1Then
IfText3.Text<>""Then
Ifs1<>""Then
s1=s1&"and"
EndIf
s1=s1&"部门负责人='"&Text3.Text&"'"
EndIf
EndIf
IfCheck4.Value=1Then
IfText4.Text<>""Then
Ifs1<>""Then
s1=s1&"and"
EndIf
s1=s1&"部门人数='"&Text4.Text&"'"
EndIf
EndIf
Ifs1<>""Then
s1