1、信息系统设计与开发 系统名称:工资管理系统 开发人员:薛靖峰 学号:1009034122 专业:信息管理与信息系统 (1)编写目的 随着社会的发展,中国的中小型企业越来越多,而对企业而言,人力资源是企业最宝贵的资源,也是企业的“生命线”。工资管理又是人力资源管理的重中之重。实行电子化智能化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作 。实现企业更大的工作效益和利润。提高工作效率,减少人力;节省开支;先前人工劳动的自动化;针对使用企业与人群为中小型的管理者。 (2)背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势,企业要在当今激烈的社
2、会竞争中生存并发展,单靠人工或九十年代的手动,机械化操作是不够的,社会的发展,要求企业要跟上时代的步伐,抓住新时代的新科技的机遇,运用自动化,智能化的电脑管理,实现企业的高效益发展,这其中,企业员工的工资管理,对一个企业起着很关键的作用。因此开发一个能自动化的管理企业员工工资的发放,员工内部信息的管理,企业招聘的管理等功能的系统,对一个企业的发展铺上了一条奔向高速发展的道路。在一个企业中,工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不
3、仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。2、可行性研究的前提(1)要求主要功能:为企业提供工资管理的软件,方便公司进行准确的工资管理。性能要求:可以准确登记出勤率以及一些特殊的影响工资的因素,工资的计算及发放等,可以以不同的方式查询工资情况。最重要的是准确。输入要求:数据完整 、准确,真实。输出要求
4、:简洁、快速、实时、可以打印相关的报表,提供一定的视图。安全与保密要求:本系统的管理员要对该管理系统的安全负责,系统由特定人员修改及进行更新,计算等功能实现。职工只有查询的权利,不能对其中的数据进行修改。上级管理者可以利用视图进行查看,或是打印报表。(2)目标系统实现后,大大地提高职工工资 管理系统的运行效率,可以减少由人为而导致的纪录及运算错误。可以对某些特殊工资的界定条件进行设定保护,使公司更好的运行。(3)评价尺度:成本效益分析结果,效益大于成本,技术可行,效益小于成本,技术不可行,现有技术可完全承担开发任务,操作可行,软件可被原工作人员快速接受。(4)1、 管理上的可行性分析 随着市场
5、近几年的发展,公司规模的不断扩大,业务的扩张,为了提高企业的业务水平,为企业简化人事管理,提高商品库存效率,增加公司的业绩。在管理方面已经积累了丰富的管理经验与方法,并建立的成熟的管理制度、齐全的规章制度汇集了正确的原始数据,使管理工作有了制度支持与信息支持。 特别是,能够改进企业管理机制,改善决策方式,减少管理成本,提高工作效率。领导的支持对于信息系统的开发和实施有很大作用,也能保证系统在开发过程中妥善解决矛盾,在企业上下顺利实施信息系统,实现信息系统最初的目标。 2、 技术上的可行性 随着IT技术的发展,特别是网络技术和数据库技术的发展,在软件开发方面,可以采用现行主流的开发技术;硬件技术
6、方面则可以充分利用日益增强的存储能力、通讯能力和处理速度来保证系统开发技术的准备。由此可见,该系统在技术上具有可行性。 3、 经济上的可行性 对于信息系统的初期投资,都是为了以后获得更大的经济效益。通过一定的成本、效益分析,我认为开发这个系统在经济上是可行的。因为虽然系统开发需要初始成本和日后的维护费用,但是,信息系统可以提供比以前更加准确和及时的信息,可以改善领导层的决策方式,促进故那里体制改革和提高工作效率,减少人员费用,这些都是可以在以后的管理过程中体现出来的,并且可以令公司比其他竞争对手更加具有竞争优势,对企业长远的发展有不可忽视的作用。所以,经济上的可行性是肯定的。 4、 可行性分析
7、结论 在对系统目标和环境进行分析的基础上,更进一步对系统的技术可行性、经济可行性、营运可行性等方面进行系统的可行性分析研究: 二、组织机构图 三、业务流程图四、功能结构图 五、数据流程图1.第一层数据流程图2.第二层数据流程图 六、数据字典(1)数据流 数据流编号:D01-03 数据流名:出勤情况 简要说明:每月员工出勤统计情况 数据流来源:人事部 数据流去向:工资信息设置处理 数据流组成:考勤统计时间+出勤天数+迟到早退次数+旷工次数+正常加班次数+特殊加班次数+出差次数 (2)数据存储 数据存储编号:F1 数据存储名称:月工资表 简要说明:每月按部门的工资表 数据存储来源:工资核算处理 数
8、据存储去向:工资查询处理 数据存储组成:工资统计时间+基本工资+职务津贴+奖金+福利+加班费+出差费+迟到早退扣发+旷工扣发+其他 (3)处理逻辑 编号:P 01-1.2 处理逻辑的名称:工资计算 简述:计算本月所有部门员工工资 输入数据流:基本工资,来自“工资信息设置”处理逻辑 其他项目,来自“工资信息设置”处理逻辑 效益工资,来自“工资信息设置”处理逻辑 出勤情况,来自“工资信息设置”处理逻辑 数据存储组成:工资统计时间+基本工资+职务津贴+奖金+福利+加班费+出差费+迟到早退扣发+旷工扣发+其他 输出的数据流:部门工资,去“月工资表”数据存储 员工个人工资,去“工资单”数据存储 (4)外
9、部实体 编号:S04 名称:员工 简述:本单位的员工 输入的数据流:工资单 输出的数据流:确认 七、E-R图 八、对象关系图 九、数据表详情1、工资表2、职工表3、财务表 十、系统截图 系统分析报告借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势,企业要在当今激烈的社会竞争中生存并发展,单靠人工或九十年代的手动,机械化操作是不够的,社会的发展,要求企业要跟上时代的步伐,抓住新时代的新科技的机遇,运用自动化,智能化的电脑管理,实现企业的高效益发展,这其中,企业员工的工资管理,对一个企业起着很关键的作用。因此开发一个能自动化的管理企业员工工资的发放,员工内部信息的管理,企业招聘
10、的管理等功能的系统,对一个企业的发展铺上了一条奔向高速发展的道路。在一个企业中,工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化
11、管理,与世界接轨的重要条件。1、系统的易用性和易维护性工资信息管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。工资信息管理系统中涉及到的数据是企业的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开
12、发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。3、系统的先进性目前计算系统的技术发展相当快,做为员工信息管理系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好
13、发展前途的产品。代码设计:添加用户:Private Sub cmdcancel_Click() Unload Me Exit SubEnd SubPrivate Sub cmdok_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(username.Text) = Then MsgBox 请输入用户名称, vbOKOnly + vbExclamation, 提示 Exit Sub username.SetFocus Else sql = select * from userinfo where userid= & usern
14、ame & Set re = getrs(sql, salary) If re.EOF = False Then MsgBox 这个用户已经存在,请重新输入用户名, vbOKOnly + vbExclamation, 提示 username.SetFocus username.Text = password.Text = confirmpwd.Text = Exit Sub Else If Trim(password.Text) Trim(confirmpwd.Text) Then MsgBox 两次输入密码不一致,请重新输入密码, vbOKOnly + vbExclamation, 提示 p
15、assword.Text = confirmpwd.Text = password.SetFocus Exit Sub ElseIf Trim(password.Text) = Then MsgBox 密码不能为空, vbOKOnly + vbExclamation, 提示 password.Text = confirmpwd = password.SetFocus Else sql = insert into userinfo (userid,userpwd) values( & username sql = sql & , & password & ) Call transactsql(s
16、ql, salary) MsgBox 添加成功, vbOKOnly + vbExclamation, 添加结果 username.Text = password.Text = confirmpwd.Text = username.SetFocus End If End If End IfEnd SubPrivate Sub Form_Load()End Sub出勤结果:Option ExplicitPrivate Sub DataGrid1_Click()End SubPrivate Sub Form_Load() Dim sql As String Dim rs As New ADODB.R
17、ecordset Dim sd As String If strusername admin Then sql = select sid from stuffinfo where sname= & strusername & Set rs = getrs(sql, salary) sd = rs(0) sql = select * from attendancestatistics where stuffid= & sd & Me.Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Sec
18、urity Info=False;Initial Catalog=工资管理;Data Source=(local) Me.Adodc1.RecordSource = sql Me.Adodc1.Refresh Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset Me.DataGrid1.Refresh Else sql = select * from attendancestatistics Me.Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Pers
19、ist Security Info=False;Initial Catalog=工资管理;Data Source=(local) Me.Adodc1.RecordSource = sql Me.Adodc1.Refresh Set Me.DataGrid1.DataSource = Me.Adodc1.Recordset Me.DataGrid1.Refresh End IfEnd Sub基本工资设置Option ExplicitPrivate id As StringPrivate Sub cmdcancel_Click() Unload Me Exit SubEnd SubPrivate
20、Sub init() Mposition.ListIndex = 0 Mstuffid.ListIndex = 0 Me.textmoney = Me.optionid.Value = TrueEnd SubPrivate Sub addrecord() 添加记录 Dim sql As String Dim rs As New ADODB.Recordset sql = select * from salarysetting Set rs = getrs(sql, salary) rs.AddNew rs.Fields(1) = Trim(id) rs.Fields(2) = Trim(Mpo
21、sition.Text) rs.Fields(3) = Trim(Me.textmoney) rs.Update rs.CloseEnd SubPrivate Sub cmdok_Click() Dim sql As String Dim rs As New ADODB.Recordset If ichangeflag = 1 Then If Me.optionid.Value = True Then If Mstuffid.Text = Then MsgBox 请选择员工编号, vbOKOnly + vbExclamation, 提示 ElseIf IsEmpty(Me.textmoney)
22、 = True Then MsgBox 请输入基本工资, vbOKOnly + vbExclamation, 提示 Me.textmoney.SetFocus ElseIf IsNumeric(Me.textmoney) = False Then MsgBox 请输入数字, vbOKOnly + vbExclamation, 提示 Me.textmoney = Me.textmoney.SetFocus Else sql = select * from salarysetting where stuffid= & Mstuffid.Text & Set rs = getrs(sql, sala
23、ry) If rs.EOF = False Then sql = delete from salarysetting where stuffid= & Mstuffid.Text & Call transactsql(sql, salary) End If rs.Close id = Mstuffid.Text Call addrecord MsgBox 已经设置基本工资, vbOKOnly + vbExclamation, 添加结果 Call init sql = select * from salarysetting Call frmresult.basictopic Call frmre
24、sult.showbasic(sql) frmresult.Show frmresult.ZOrder 0 Me.ZOrder 0 End If End If If Me.optionposition.Value = True Then If Mposition.Text = Then MsgBox 请输入职务, vbOKOnly + vbExclamation, 提示 ElseIf IsEmpty(Me.textmoney) = True Then MsgBox 请输入基本工资, vbOKOnly + vbExclamation, 提示 Me.textmoney.SetFocus ElseI
25、f IsNumeric(Me.textmoney) = False Then MsgBox 请输入数字, vbOKOnly + vbExclamation, 提示 Me.textmoney = Me.textmoney.SetFocus Else sql = select * from salarysetting where sposition = & Mposition.Text & Set rs = getrs(sql, salary) If rs.EOF = False Then sql = delete from salarysetting where sposition = & Mp
26、osition.Text & Call transactsql(sql, salary) End If rs.Close sql = select * from salarysetting where sposition = & Mposition.Text & Set rs = getrs(sql, salary) While Not rs.EOF id = rs(0) Call addrecord rs.MoveNext Wend rs.Close MsgBox 已经设置基本工资, vbOKOnly + vbExclamation, 添加结果 Call init sql = select
27、* from salarysetting Call frmresult.basictopic Call frmresult.showbasic(sql) frmresult.Show frmresult.ZOrder 0 Me.ZOrder 0 End If End If Else sql = update salarysetting set salary= & Me.textmoney & where stuffid= sql = sql & Mstuffid & Call transactsql(sql, salary) MsgBox 已经修改基本工资设置, vbOKOnly + vbEx
28、clamation, 提示 Unload Me sql = select * from salarysetting Call frmresult.basictopic Call frmresult.showbasic(sql) frmresult.Show frmresult.ZOrder 0 Call frmsumsalary.resumsalary(Date) End IfEnd SubPrivate Sub Form_Load() Dim sql As String Dim rs As New ADODB.Recordset If ichangeflag = 1 Then 添加信息 sq
29、l = select sid from stuffinfo order by sid Set rs = getrs(sql, salary) If rs.EOF = False Then While Not rs.EOF Mstuffid.AddItem rs(0) rs.MoveNext Wend rs.Close Mstuffid.ListIndex = 0 End If sql = select distinct sposition from salarysetting Set rs = getrs(sql, salary) If rs.EOF = False Then While No
30、t rs.EOF Mposition.AddItem rs(0) rs.MoveNext Wend rs.Close Mposition.ListIndex = 0 End If Me.optionid.Value = True Else 修改信息 Me.Caption = 修改基本工资设置 Set rs = getrs(strpublicsql, salary) Mstuffid.Text = rs(1) Mposition.Text = rs(2) Me.textmoney = rs(3) Mstuffid.Enabled = False Mposition.Enabled = False
31、 rs.Close End IfEnd Sub修改密码:Private Sub cmdcancel_Click() Unload Me Exit SubEnd SubPrivate Sub cmdok_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(oldpwd.Text) = Then MsgBox 请输入旧密码, vbOKOnly + vbExclamation, 提示 oldpwd.SetFocus Exit Sub Else If Trim(oldpwd.Text) Trim(userpassword) Then
32、MsgBox 旧密码与登录的密码不同,请重新输入!, vbOKOnly + vbExclamation, 提示 oldpwd.Text = oldpwd.SetFocus ElseIf Trim(newpwd.Text) = Then MsgBox 请输入新密码, vbOKOnly + vbExclamation, 提示 newpwd.SetFocus Exit Sub ElseIf Trim(newpwd.Text) Trim(confirmpwd.Text) Then MsgBox 两次密码不同, vbOKOnly + vbExclamation, 警告 newpwd.Text = con
33、firmpwd.Text = newpwd.SetFocus Else userpassword = newpwd sql = update userinfo set userpwd= & newpwd & where userid= & strusername & Call transactsql(sql, salary) MsgBox 密码已经修改, vbOKOnly + vbExclamation, 修改结果 Unload Me End If End IfEnd SubPrivate Sub oldpwd_Change()End Sub公式设置Private Sub cmdcancel_
34、Click() Unload Me Exit SubEnd SubPrivate Sub cmddefault_Click() Me.textovertimecom = 200 Me.textovertimespe = 400 Me.texterrand = 200 Me.textabsent = 50 Me.textle = 20 Call setvalueEnd SubPrivate Sub cmdok_Click() If Me.textovertimecom = And IsNumeric(Me.textovertimecom) = True Then MsgBox 请输入正常加班工资
35、百分比, vbOKOnly + vbExclamation, 提示 Me.textovertimecom = Me.textovertimecom.SetFocus ElseIf Me.textovertimespe = And IsNumeric(Me.textovertimespe) = False Then MsgBox 请输入特殊加班工资百分比, vbOKOnly + vbExclamation, 提示 Me.textovertimespe = Me.textovertimespe.SetFocus ElseIf Me.texterrand = And IsNumeric(Me.tex
36、terrand) = False Then MsgBox 请输入出差工资, vbOKOnly + vbExclamation, 提示 Me.texterrand = Me.texterrand.SetFocus ElseIf Me.textabsent = And IsNumeric(Me.textabsent) = False Then MsgBox 请输入旷工扣发工资, vbOKOnly + vbExclamation, 提示 Me.textabsent = Me.textabsent.SetFocus ElseIf Me.textle = And IsNumeric(Me.textle)
37、 = False Then MsgBox 请输入迟到早退扣发工资, vbOKOnly + vbExclamation, 提示 Me.textle = Me.textle.SetFocus Else Call setvalue Call init End IfEnd SubPrivate Sub setvalue() Dim sql As String Dim rs As New ADODB.Recordset sql = select * from formulasetting Set rs = getrs(sql, salary) If rs.EOF = False Then sql = d
38、elete from formulasetting Call transactsql(sql, salary) End If rs.AddNew rs.Fields(0) = Me.textovertimecom rs.Fields(1) = Me.textovertimespe rs.Fields(2) = Me.texterrand rs.Fields(3) = Me.textabsent rs.Fields (4) = Me.textle rs.Update rs.Close MsgBox 已经设置公式, vbOKOnly + vbExclamation, 设置结果End SubPrivate Sub init() 初始化 Me.textabsent = Me.texterrand = Me.textovertimecom = Me.textovertimespe = Me.textle = Me.textovertimecom.SetFocusEnd Sub
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100