工资管理系统开发实验报告.docx
- 文档编号:25220499
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:25
- 大小:231.75KB
工资管理系统开发实验报告.docx
《工资管理系统开发实验报告.docx》由会员分享,可在线阅读,更多相关《工资管理系统开发实验报告.docx(25页珍藏版)》请在冰豆网上搜索。
工资管理系统开发实验报告
信
息
系
统
设
计
与
开
发
(1)编写目的
随着社会的发展,中国的中小型企业越来越多,而对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。
工资管理又是人力资源管理的重中之重。
实行电子化智能化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。
实现企业更大的工作效益和利润。
提高工作效率,减少人力;节省开支;先前人工劳动的自动化;针对使用企业与人群为中小型的管理者。
(2)背景
借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势,企业要在当今激烈的社会竞争中生存并发展,单靠人工或九十年代的手动,机械化操作是不够的,社会的发展,要求企业要跟上时代的步伐,抓住新时代的新科技的机遇,运用自动化,智能化的电脑管理,实现企业的高效益发展,这其中,企业员工的工资管理,对一个企业起着很关键的作用。
因此开发一个能自动化的管理企业员工工资的发放,员工内部信息的管理,企业招聘的管理等功能的系统,对一个企业的发展铺上了一条奔向高速发展的道路。
在一个企业中,工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
2、可行性研究的前提
(1)要求
①主要功能:
为企业提供工资管理的软件,方便公司进行准确的工资管理。
②性能要求:
可以准确登记出勤率以及一些特殊的影响工资的因素,工资的计算及发放等,可以以不同的方式查询工资情况。
最重要的是准确。
③输入要求:
数据完整、准确,真实。
④输出要求:
简洁、快速、实时、可以打印相关的报表,提供一定的视图。
⑤安全与保密要求:
本系统的管理员要对该管理系统的安全负责,系统由特定人员修改及进行更新,计算等功能实现。
职工只有查询的权利,不能对其中的数据进行修改。
上级管理者可以利用视图进行查看,或是打印报表。
(2)目标
系统实现后,大大地提高职工工资管理系统的运行效率,可以减少由人为而导致的纪录及运算错误。
可以对某些特殊工资的界定条件进行设定保护,使公司更好的运行。
(3)评价尺度:
成本效益分析结果,效益大于成本,技术可行,效益小于成本,技术不可行,现有技术可完全承担开发任务,操作可行,软件可被原工作人员快速接受。
(4)
1、管理上的可行性分析
随着市场近几年的发展,公司规模的不断扩大,业务的扩张,为了提高企业的业务水平,为企业简化人事管理,提高商品库存效率,增加公司的业绩。
在管理方面已经积累了丰富的管理经验与方法,并建立的成熟的管理制度、齐全的规章制度汇集了正确的原始数据,使管理工作有了制度支持与信息支持。
特别是,能够改进企业管理机制,改善决策方式,减少管理成本,提高工作效率。
领导的支持对于信息系统的开发和实施有很大作用,也能保证系统在开发过程中妥善解决矛盾,在企业上下顺利实施信息系统,实现信息系统最初的目标。
2、技术上的可行性
随着IT技术的发展,特别是网络技术和数据库技术的发展,在软件开发方面,可以采用现行主流的开发技术;硬件技术方面则可以充分利用日益增强的存储能力、通讯能力和处理速度来保证系统开发技术的准备。
由此可见,该系统在技术上具有可行性。
3、经济上的可行性
对于信息系统的初期投资,都是为了以后获得更大的经济效益。
通过一定的成本、效益分析,我认为开发这个系统在经济上是可行的。
因为虽然系统开发需要初始成本和日后的维护费用,但是,信息系统可以提供比以前更加准确和及时的信息,可以改善领导层的决策方式,促进故那里体制改革和提高工作效率,减少人员费用,这些都是可以在以后的管理过程中体现出来的,并且可以令公司比其他竞争对手更加具有竞争优势,对企业长远的发展有不可忽视的作用。
所以,经济上的可行性是肯定的。
4、可行性分析结论
在对系统目标和环境进行分析的基础上,更进一步对系统的技术可行性、经济可行性、营运可行性等方面进行系统的可行性分析研究:
二、组织机构图
三、业务流程图
四、功能结构图
五、数据流程图
1.第一层数据流程图
2.第二层数据流程图
六、数据字典
(1)数据流
数据流编号:
D01-03
数据流名:
出勤情况
简要说明:
每月员工出勤统计情况
数据流来源:
人事部
数据流去向:
工资信息设置处理
数据流组成:
考勤统计时间+出勤天数+迟到早退次数+旷工次数+正常加班次数+特殊加班次数+出差次数
(2)数据存储
数据存储编号:
F1
数据存储名称:
月工资表
简要说明:
每月按部门的工资表
数据存储来源:
工资核算处理
数据存储去向:
工资查询处理
数据存储组成:
工资统计时间+基本工资+职务津贴+奖金+福利+加班费+出差费+迟到早退扣发+旷工扣发+其他
(3)处理逻辑
编号:
P01-1.2
处理逻辑的名称:
工资计算
简述:
计算本月所有部门员工工资
输入数据流:
基本工资,来自“工资信息设置”处理逻辑
其他项目,来自“工资信息设置”处理逻辑
效益工资,来自“工资信息设置”处理逻辑
出勤情况,来自“工资信息设置”处理逻辑
数据存储组成:
工资统计时间+基本工资+职务津贴+奖金+福利+加班费+出差费+迟到早退扣发+旷工扣发+其他
输出的数据流:
部门工资,去“月工资表”数据存储
员工个人工资,去“工资单”数据存储
(4)外部实体
编号:
S04
名称:
员工
简述:
本单位的员工
输入的数据流:
工资单
输出的数据流:
确认
七、E-R图
八、对象关系图
九、数据表详情
1、工资表
2、职工表
3、财务表
十、系统截图
系统分析报告
借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势,企业要在当今激烈的社会竞争中生存并发展,单靠人工或九十年代的手动,机械化操作是不够的,社会的发展,要求企业要跟上时代的步伐,抓住新时代的新科技的机遇,运用自动化,智能化的电脑管理,实现企业的高效益发展,这其中,企业员工的工资管理,对一个企业起着很关键的作用。
因此开发一个能自动化的管理企业员工工资的发放,员工内部信息的管理,企业招聘的管理等功能的系统,对一个企业的发展铺上了一条奔向高速发展的道路。
在一个企业中,工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
1、系统的易用性和易维护性
工资信息管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
工资信息管理系统中涉及到的数据是企业的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。
系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。
如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
3、系统的先进性
目前计算系统的技术发展相当快,做为员工信息管理系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
代码设计:
添加用户:
PrivateSubcmdcancel_Click()
UnloadMe
ExitSub
EndSub
PrivateSubcmdok_Click()
DimsqlAsString
DimrsAsADODB.Recordset
IfTrim(username.Text)=""Then
MsgBox"请输入用户名称",vbOKOnly+vbExclamation,"提示"
ExitSub
username.SetFocus
Else
sql="select*fromuserinfowhereuserid='"&username&"'"
Setre=getrs(sql,"salary")
Ifre.EOF=FalseThen
MsgBox"这个用户已经存在,请重新输入用户名",vbOKOnly+vbExclamation,"提示"
username.SetFocus
username.Text=""
password.Text=""
confirmpwd.Text=""
ExitSub
Else
IfTrim(password.Text)<>Trim(confirmpwd.Text)Then
MsgBox"两次输入密码不一致,请重新输入密码",vbOKOnly+vbExclamation,"提示"
password.Text=""
confirmpwd.Text=""
password.SetFocus
ExitSub
ElseIfTrim(password.Text)=""Then
MsgBox"密码不能为空",vbOKOnly+vbExclamation,"提示"
password.Text=""
confirmpwd=""
password.SetFocus
Else
sql="insertintouserinfo(userid,userpwd)values('"&username
sql=sql&"','"&password&"')"
Calltransactsql(sql,"salary")
MsgBox"添加成功",vbOKOnly+vbExclamation,"添加结果"
username.Text=""
password.Text=""
confirmpwd.Text=""
username.SetFocus
EndIf
EndIf
EndIf
EndSub
PrivateSubForm_Load()
EndSub
出勤结果:
OptionExplicit
PrivateSubDataGrid1_Click()
EndSub
PrivateSubForm_Load()
DimsqlAsString
DimrsAsNewADODB.Recordset
DimsdAsString
Ifstrusername<>"admin"Then
sql="selectsidfromstuffinfowheresname='"&strusername&"'"
Setrs=getrs(sql,"salary")
'sd=rs(0)
sql="select*fromattendancestatisticswherestuffid='"&sd&"'"
Me.Adodc1.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=工资管理;DataSource=(local)"
Me.Adodc1.RecordSource=sql
Me.Adodc1.Refresh
SetMe.DataGrid1.DataSource=Me.Adodc1.Recordset
Me.DataGrid1.Refresh
Else
sql="select*fromattendancestatistics"
Me.Adodc1.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=工资管理;DataSource=(local)"
Me.Adodc1.RecordSource=sql
Me.Adodc1.Refresh
SetMe.DataGrid1.DataSource=Me.Adodc1.Recordset
Me.DataGrid1.Refresh
EndIf
EndSub
基本工资设置
OptionExplicit
PrivateidAsString
PrivateSubcmdcancel_Click()
UnloadMe
ExitSub
EndSub
PrivateSubinit()
'Mposition.ListIndex=0
Mstuffid.ListIndex=0
Me.textmoney=""
Me.optionid.Value=True
EndSub
PrivateSubaddrecord()'添加记录
DimsqlAsString
DimrsAsNewADODB.Recordset
sql="select*fromsalarysetting"
Setrs=getrs(sql,"salary")
rs.AddNew
rs.Fields
(1)=Trim(id)
rs.Fields
(2)=Trim(Mposition.Text)
rs.Fields(3)=Trim(Me.textmoney)
rs.Update
rs.Close
EndSub
PrivateSubcmdok_Click()
DimsqlAsString
DimrsAsNewADODB.Recordset
Ifichangeflag=1Then
IfMe.optionid.Value=TrueThen
IfMstuffid.Text=""Then
MsgBox"请选择员工编号",vbOKOnly+vbExclamation,"提示"
ElseIfIsEmpty(Me.textmoney)=TrueThen
MsgBox"请输入基本工资",vbOKOnly+vbExclamation,"提示"
Me.textmoney.SetFocus
ElseIfIsNumeric(Me.textmoney)=FalseThen
MsgBox"请输入数字",vbOKOnly+vbExclamation,"提示"
Me.textmoney=""
Me.textmoney.SetFocus
Else
sql="select*fromsalarysettingwherestuffid='"&Mstuffid.Text&"'"
Setrs=getrs(sql,"salary")
Ifrs.EOF=FalseThen
sql="deletefromsalarysettingwherestuffid='"&Mstuffid.Text&"'"
Calltransactsql(sql,"salary")
EndIf
rs.Close
id=Mstuffid.Text
Calladdrecord
MsgBox"已经设置基本工资",vbOKOnly+vbExclamation,"添加结果"
Callinit
sql="select*fromsalarysetting"
Callfrmresult.basictopic
Callfrmresult.showbasic(sql)
frmresult.Show
frmresult.ZOrder0
Me.ZOrder0
EndIf
EndIf
IfMe.optionposition.Value=TrueThen
IfMposition.Text=""Then
MsgBox"请输入职务",vbOKOnly+vbExclamation,"提示"
ElseIfIsEmpty(Me.textmoney)=TrueThen
MsgBox"请输入基本工资",vbOKOnly+vbExclamation,"提示"
Me.textmoney.SetFocus
ElseIfIsNumeric(Me.textmoney)=FalseThen
MsgBox"请输入数字",vbOKOnly+vbExclamation,"提示"
Me.textmoney=""
Me.textmoney.SetFocus
Else
sql="select*fromsalarysettingwheresposition='"&Mposition.Text&"'"
Setrs=getrs(sql,"salary")
Ifrs.EOF=FalseThen
sql="deletefromsalarysettingwheresposition='"&Mposition.Text&"'"
Calltransactsql(sql,"salary")
EndIf
rs.Close
sql="select*fromsalarysettingwheresposition='"&Mposition.Text&"'"
Setrs=getrs(sql,"salary")
WhileNotrs.EOF
id=rs(0)
Calladdrecord
rs.MoveNext
Wend
rs.Close
MsgBox"已经设置基本工资",vbOKOnly+vbExclamation,"添加结果"
Callinit
sql="select*fromsalarysetting"
Callfrmresult.basictopic
Callfrmresult.showbasic(sql)
frmresult.Show
frmresult.ZOrder0
Me.ZOrder0
EndIf
EndIf
Else
sql="updatesalarysettingsetsalary="&Me.textmoney&"wherestuffid='"
sql=sql&Mstuffid&"'"
Calltransactsql(sql,"salary")
MsgBox"已经修改基本工资设置",vbOKOnly+vbExclamation,"提示"
UnloadMe
sql="select*fromsalarysetting"
Callfrmresult.basictopic
Callfrmresult.showbasic(sql)
frmresult.Show
frmresult.ZOrder0
Callfrmsumsalary.resumsalary(Date)
EndIf
EndSub
PrivateSubForm_Load()
DimsqlAsString
DimrsAsNewADODB.Recordset
Ifichangeflag=1Then'添加信息
sql="selectsidfromstuffinfoorderbysid"
Setrs=getrs(sql,"salary")
Ifrs.EOF=FalseThen
WhileNotrs.EOF
Mstuffid.AddItemrs(0)
rs.MoveNext
Wend
rs.Close
Mstuffid.ListIndex=0
EndIf
sql="selectdistinctspositionfromsalarysetting"
Setrs=getrs(sql,"salary")
Ifrs.EOF=FalseThen
WhileNotrs.EOF
Mposition.AddItemrs(0)
rs.MoveNext
Wend
rs.Close
Mposition.ListIndex=0
EndIf
Me.optionid.Value=True
Else'修改信息
Me.Caption="修改基本工资设置"
Setrs=getrs(strpublicsql,"salary")
Mstuffid.Text=rs
(1)
Mposition.Text=rs
(2)
Me.textmoney=rs(3)
Mstuffid.Enabled=False
Mposition.Enabled=False
rs.Close
EndIf
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 开发 实验 报告