软件工程课程设计企业工资管理系统_第1页
软件工程课程设计企业工资管理系统_第2页
软件工程课程设计企业工资管理系统_第3页
软件工程课程设计企业工资管理系统_第4页
软件工程课程设计企业工资管理系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 绪论21.1任务概述21.2开发工具2第二章 系统设计32.1应用需求与分析32.2系统模块划分32.3系统数据库设计3第三章 详细设计53. 1操作流程图532 “登录”模块详细设计533 “主窗体”模块详细设计934 各项子模块详细设计123.4.1 添加用户与删除123.4.2 修改用户133.4.3 退出153.4.4基本工资163.4.5岗位工资173.4.6部门管理193.4.7员工管理213.4.8发放工资213.4.9 按员工查询263.4.10 按部门查询27模块一:28模块二:28第四章 结束语30参考文献:31第1章 绪论1.1任务概述企业的工资管理是公司管理的一

2、个重要内容。随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既涉及到企业劳动人事的管理,同时也是企业财务管理的重要组成部分。工资管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统是典型

3、的信息管理系统(mis),前台程序开发工具采用微软的vb6,后台数据库采用sql server2000数据库。vb6是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。sql server2000数据库具有与vb6无缝连接、操作简单、易于使用的优点 1.2开发工具微软公司的visual basic 6.0是windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。visual basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因此,本系统前台使用ms v

4、isual basic 6.0开发,后台数据库采用sql server2000数据库。第2章 系统设计2.1可行性分析(1)技术上的可行性硬件要求:主要配置为cpu(pii300以上)、内存(128mb以上)、显卡(64mb以上)以及硬盘(10gb以上)等。 软件要求:系统采用visual basic 6.0和sql server 2000开发工具:用vb制作系统的用户界面,sql server 2000制作后台数据库,两者结合完成系统功能,可运行在windows系列操作系统上。(2)经济上的可行性 由于工资管理系统是一个比较小型的系统,所以从人力、物力、财力方面来说都是可行的。(3)社会可行

5、性 员工的工资管理工作变得越来越复杂,工资管理既涉及到劳动人事的管理,同时也是财务管理的重要组成部分。早期的工资统计和发放都是使用人工方式处理纸质档案,不仅花费财务人员大量的时间,且不易于保存,往往由于个人原因,抄写不慎或者计算疏忽等,出现工资发放错误的现象。基于以上原因,学校工资管理系统使用电脑安全保存,快速计算,全面统计,实现工资管理的系统化,规范化,自动化。因此,建立本系统具体有现实意义。(4)操作可行性 本系统运行在通用的windows操作系统上,具有windows相似的操作界面。具有简单易学,使用方便等特点,只需在计算机上进行相关的简单的设置即可,懂得计算机基本操作的人员经过短期培训

6、培训即可熟练操作,熟悉计算机操作的人员不需要再经过专门的培训即可熟练操作。2.2需求规定2.2.1 对功能的规定基本信息的添加、修改、删除和查询。基本信息包括项目类型信息,项目状态信息,模块状态信息和缺陷级别信息等。 此功能为项目组管理和软件项目管理模块提供数据。项目组信息的添加、修改、删除和查询。项目组信息包括收员工信息和角色信息。软件项目管理模块包括项目基本信息管理、软件模块管理和软件缺陷管理等功能2.2.2 对性能的规定a .精度 本系统所需要的数据比较简单,基本不存在精度的问题。b. 时间特性要求 要求本系统对于事务的处理有较高的响应,如数据库的更新操作等响应时间应限定在一定范围。2.

7、2.3 输入输出的要求该系统输入数据由管理员操作,其输出数据用于显示给用户查看。2.3运行环境硬件环境:学校需配备数据库服务器,本系统对个人计算机无特殊硬件要求,普通个人pc均能运行。软件环境:本系统是基于windows系统开发的,因此windows 2000 以上的个人pc都能较好的运行本系统。学校主机建议安装windows 2000 或 windows 2003 server 。2.4人工处理过程本系统在实际运用中,有时需要人工来调整,员工工资发放的时间等。2.5尚未解决的问题调试运行未出现问题,有待继续发现。2.6概念模型(整个工资管理系统的e-r图)2.7接口设计 (1)用户接口 用户

8、可以根据用户名和密码进行查询自己的相关信息。(2)外部接口软件接口:通过odbc与数据库之间进行连接;硬件接口:鼠标、键盘。(3)内部接口模块间采取数据耦合方式,通过参数表传递数据,交换信息。2.8运行设计 (1)运行控制用户只需要通过鼠标以及键盘就可以实现查询等本系统所包含的一切操作;(2)运行时间查询时间2s;登陆系统时间30 minutes;2.9应用需求与分析基本信息的添加、修改、删除和查询。基本信息包括项目类型信息,项目状态信息,模块状态信息和缺陷级别信息等。 此功能为项目组管理和软件项目管理模块提供数据。项目组信息的添加、修改、删除和查询。项目组信息包括收员工信息和角色信息。软件项

9、目管理模块包括项目基本信息管理、软件模块管理和软件缺陷管理等功能2.10系统模块划分开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规范化和自动化。能够和认识管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如下。企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额,如奖金等。企业工资信息管理部分:包括统计出勤、计算工资、查询工资和导出工资表等。系统部分:包括添加用户和修改密码。2.11系统数据库设计数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。数据库设计的好与坏,直接

10、影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。针对企业工资信息管理系统的需求,通过对员工工资计算过程的内容分析,为本系统设计如下的数据项和数据结构:基本工资信息:包括工资级别和工资金额。岗位工资信息:包括工资级别和工资金额。工资信息:包括员工编号、基本工资、岗位工资、水电费、津贴工资、扣除薪水、实发金额。部门信息:包括部门编号、部门名称、部门负责人、部门人数。工资统计信息:包括员工编号、姓名、出生年月、所属部门、文化程度、职称。考勤信息:包括员工编号、姓名、性别、迟到次数、缺席次数。津贴信息:包括员工编号、姓名、性别、加班时间、加班天数、

11、加班类型、津贴情况。用户信息:包括用户名、密码和权限。员工信息表员工编号char (8)主键,不允许重复姓名char (8)性别char (2)出生年月datetime所属部门char (4)外键文化程度char (4)职称char (12)部门信息部门编号char (4)主键,不允许重复部门名称char (20)部门负责人char (8)部门人数int基本工资工资级别char (2)主键,不允许重复工资金额numeric (8, 2)岗位工资工资级别char (2)主键,不允许重复工资金额numeric(8, 2)工资信息员工编号char (8)主键,不允许重复; 外键基本工资numeric

12、 (8, 2)岗位工资numeric (8, 2)水电费numeric (8, 2)津贴工资numeric (8, 2)加班工资扣除薪酬numeric (8, 2)迟到、缺席扣薪实发金额numeric (8, 2)考勤信息员工编号char (8)主键不允许重复姓名char(8)性别char(2)迟到次数numeric(3)缺席次数numeric(3)津贴信息员工编号char (8)主键不允许重复姓名char(8)性别char(2)加班时间numeric (8, 1)加班天数numeric (2)加班类型char(8)津贴情况numeric (8, 2)用户表用户名char (8)主键,不允许重

13、复密码char (20)权限char (20)第3章:详细设计31操作流程图初始登入用户:123 密码为:12332 “登录模块”详细设计 登录模块的详细设计主要是用户登录的一个界面,判断登录的用户是管理员还是普通用户,进入后将面对的是主界面,从而进行相关的操作。登录的界面主要由用户名和密码的信息,还有一些标题设置,确定和取消的按钮组成。通过标题可以知道此系统的大概内容,由此,登录界面的设计完成。窗体及核心代码如下:private sub cmd_cancel_click() txt_key.text = cmo_user.text = 请选择 unload meend subprivate

14、sub cmd_ok_click() dim try_times as string dim sql as string dim rst as adodb.recordset try_times = 0if (trim(txt_key.text) = ) then msgbox 请输入密码, vbokonly + vbexclamation, 提示else sql = select * from 用户表 where 用户名= & trim(cmo_user.text) & set rst = executesql(sql, ) if trim(rst.fields(1) = trim(txt_

15、key.text) then if trim(rst.fields(2) 管理员 then frm_main.xitong.enabled = false 在这里设计非管理员用户的权限,这里我假设让非管理员用户不能用菜单中的系统 frm_main.shezhi.enabled = false frm_main.xinxiweihu.enabled = false end if rst.close username = trim(cmo_user.text) frm_main.show unload me else msgbox 密码不正确,请重新输入, vbokonly + vbexclama

16、tion, 警告 txt_key.setfocus txt_key.text = try_times = try_times + 1 exit sub 在这里若密码错了应该跳出该过程,否则下面的语句还会执行,这不是你想要的 end if try_times = try_times + 1 个人认为密码输入错了才加一,你这样的话,用户名错了也会加一,当然你这里用户名不会错是吧,改得多余了 if try_times = 3 then unload me end ifend ifend subprivate sub form_load() dim i as integer dim sql as st

17、ring dim rst as adodb.recordset sql = select 用户名 from 用户表 set rst = executesql(sql, ) for i = 1 to rst.recordcount cmo_user.additem (rst.fields(0) rst.movenext next iend sub主窗体:private sub bumenxinxi_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from 用户表 set rst = executesql(s

18、ql, )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_bumenxinxi.showunload meend ifend ifend subprivate sub gangweigongzi_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from 用户表 set rst = executesql(sql,

19、 )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_gangweigongzi.showunload meend ifend ifend subprivate sub jiben_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from 用户表 set rst = executesql(sql, )power

20、= rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_jiben.showunload meend ifend ifend subprivate sub yonghushanchu_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from 用户表 set rst = executesql(sql, )power = rst.fi

21、elds(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_tianjiayushanchu.showunload meend ifend ifend subprivate sub yonghutianjia_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from 用户表 set rst = executesql(sql, )power = rst

22、.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_tianjiayushanchu.showunload meend ifend ifend subprivate sub form_load() dim i as integer dim sql as string dim rst as adodb.recordset sql = select 权限 from 用户表 set rst = executesql(sql, )

23、for i = 1 to rst.recordcount rst.movenext next i33 “主窗体”模块详细设计在这个项目中,选择使用多文档界面。使用这个窗体的好处是可以使程序更加有条理。对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。主窗体设计的界面是用菜单编辑器做的,主要由系统、工资信息设置、工资信息管理和关于这四个大模块组成。主窗体是进行相关操作的主界面。在这几个里,管理员有所有的权利进行各种操作。private sub bumenxinxi_click()dim sql as stringdim rst as new adodb.recordsetsql

24、= select * from 用户表 set rst = executesql(sql, )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_bumenxinxi.showunload meend ifend ifend subprivate sub gangweigongzi_click()dim sql as stringdim rst as new adodb.recordsetsql = s

25、elect * from 用户表 set rst = executesql(sql, )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_gangweigongzi.showunload meend ifend ifend subprivate sub jiben_click()dim sql as stringdim rst as new adodb.recordsetsql = select *

26、from 用户表 set rst = executesql(sql, )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_jiben.showunload meend ifend ifend subprivate sub yonghushanchu_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from 用户表

27、 set rst = executesql(sql, )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_tianjiayushanchu.showunload meend ifend ifend subprivate sub yonghutianjia_click()dim sql as stringdim rst as new adodb.recordsetsql = select * from

28、用户表 set rst = executesql(sql, )power = rst.fields(2)if trim(power) 管理员 thenmsgbox 您无权进行该操作!, vbokonly + vbexclamation, 警告elseif trim(power) = 管理员 thenfrm_tianjiayushanchu.showunload meend ifend ifend subprivate sub form_load() dim i as integer dim sql as string dim rst as adodb.recordset sql = selec

29、t 权限 from 用户表 set rst = executesql(sql, ) for i = 1 to rst.recordcount rst.movenext next iend sub34 各项子模块详细设计3.41添加用户与删除选择“系统”“添加用户与删除”菜单,在添加用户的窗体里,输入新的用户名称和密码后,单击“添加”按钮,系统将会添加新的用户。在窗体里输入用户名称和密码,单击“删除”按钮,系统将会删除原来用户。主窗体及核心代码如下:private sub cmd_adduser_click()dim newrst as adodb.recordsetdim sql as str

30、ingsql = insert into 用户表 values( & & trim(txt_username.text) & , _ & & trim(txt_password.text) & , _& & trim(txt_power) & & )set newrst = execute_sql(sql)sql = select * from 用户表set newrst = select_sql(sql)set datagrid1.datasource = newrstend subprivate sub cmd_cancel_click()unload meend subprivate s

31、ub cmd_delete_click()dim sql as stringsql = select * from 用户表if txt_username then set objrs = executesql(sql, ) set datagrid1.datasource = objrs 刷新网格,显示操作后的结果 end if if objrs.recordcount = 0 then msgbox 库中没有记录! exit sub end if if objrs.recordcount 0 then if msgbox(真的要删除该级用户信息吗?, vbyesno + vbquestion

32、, 警告) = vbyes then objrs.delete msgbox 删除成功!, vbinformation, 提示 end if end ifend subprivate sub form_load()dim newrst as adodb.recordsetdim sql as stringsql = select * from 用户表set newrst = select_sql(sql)set datagrid1.datasource = newrstend sub3.42 修改用户选择“系统”-“修改用户”菜单,在窗体里输入新的用户名称和用户权限,单击“修改”按钮,系统将会

33、修改原来用户信息。private sub cmd_adduser_click()dim newrst as adodb.recordsetdim sql as stringsql = insert into 用户表 values( & & trim(txt_username.text) & , _ & & trim(txt_password.text) & , _ & & trim(txt_power) & & )set newrst = execute_sql(sql)sql = select * from 用户表set newrst = select_sql(sql)set datagri

34、d1.datasource = newrstend subprivate sub cmd_cancel_click()unload meend subprivate sub cmd_delete_click()dim sql as stringsql = select * from 用户表if txt_username then set objrs = executesql(sql, ) set datagrid1.datasource = objrs 刷新网格,显示操作后的结果end if if objrs.recordcount = 0 then msgbox 库中没有记录! exit s

35、ub end if if objrs.recordcount 0 then if msgbox(真的要删除该级用户信息吗?, vbyesno + vbquestion, 警告) = vbyes then objrs.delete msgbox 删除成功!, vbinformation, 提示 end if end ifend subprivate sub form_load()dim newrst as adodb.recordsetdim sql as stringsql = select * from 用户表set newrst = select_sql(sql)set datagrid1

36、.datasource = newrstend sub3.4.3退出选择“系统”-“退出”菜单,单击则推出主菜单界面。3.4.4基本工资选择“设置”-“基本工资”菜单,可以单击“添加”,“删除”,“修改”,“取消”按钮来实现相应功能。主窗体及核心代码如下:dim objrs as adodb.recordsetdim msg_sql as stringprivate sub cmd_add_click()if combo_level.text then set objrs = executesql(insert into 基本工资 values( + str(combo_level.text)

37、 + , + (text_pay.text) + ), msg_sql) 插入符合条件的工资信息 set objrs = executesql(select * from 基本工资, msg_sql) set datagrid1.datasource = objrs 刷新网格,显示操作后的结果 combo_level.setfocus combo_level.text = text_pay.text = end ifend subprivate sub cmd_cancel_click()unload meend subprivate sub cmd_delete_click() if obj

38、rs.recordcount = 0 then msgbox 库中没有记录! exit sub end if if objrs.recordcount 0 then if msgbox(真的要删除该级别工资信息吗?, vbyesno + vbquestion, 警告) = vbyes then objrs.delete msgbox 删除成功!, vbinformation, 提示 combo_level.setfocus combo_level.text = text_pay.text = end if end ifend subprivate sub form_load()set objr

39、s = executesql(select * from 基本工资, msg_sql)set datagrid1.datasource = objrsend subprivate sub text_pay_lostfocus()if val(text_pay.text) = 10000 then msgbox 数据非法 text_pay.text = text_pay.setfocus end ifend sub3.4.5岗位工资选择“设置”-“岗位工资”菜单,可以单击“添加”,“删除”,“修改“”取消“按钮来实现相应功能。dim objrs as adodb.recordsetdim msg

40、_sql as stringprivate sub cmd_add_click()if combo_level.text then set objrs = executesql(insert into 岗位工资 values( + str(combo_level.text) + , + (text_pay.text) + ), msg_sql) 插入符合条件的工资信息 set objrs = executesql(select * from 岗位工资, msg_sql) set datagrid1.datasource = objrs 刷新网格,显示操作后的结果 combo_level.set

41、focus combo_level.text = text_pay.text = end ifend subprivate sub cmd_cancel_click()unload meend subprivate sub cmd_delete_click() if objrs.recordcount = 0 then msgbox 库中没有记录! exit sub end if if objrs.recordcount 0 then if msgbox(真的要删除该级别工资信息吗?, vbyesno + vbquestion, 警告) = vbyes then objrs.delete ms

42、gbox 删除成功!, vbinformation, 提示 combo_level.setfocus combo_level.text = text_pay.text = end if end ifend subprivate sub form_load()set objrs = executesql(select * from 岗位工资, msg_sql)set datagrid1.datasource = objrsend subprivate sub text_pay_lostfocus()if val(text_pay.text) = 10000 then msgbox 数据非法 te

43、xt_pay.text = text_pay.setfocus end ifend sub3.4.6部门管理选择“信息维护”-“部门管理”菜单,可以单击“添加”,“删除”, “修改“”取消“按钮来实现相应功能。 3.4.7员工管理选择“信息维护”-“员工管理”菜单,可以单击“添加”,“删除”, “修改“”取消“按钮来实现相应功能。3.4.8 发放工资选择“信息维护”-“发放工资”单击“添加”或“修改”按钮则弹出“添加员工工资”菜单,可以实现添加员工工资或修改员工工资。dim rst as adodb.recordsetdim sql as stringprivate sub cmd_add_c

44、lick()frm_tianjiagongzi.showend subprivate sub cmd_alter_click()frm_tianjiagongzi.showtxt_no.enabled = false frm_tianjiagongzi.show frm_tianjiagongzi.txt_bianhao.text = datagrid1.columns(0) frm_addsalary.txt_name = datagrid1.columns(1) frm_tianjiagongzi.cmo_jiben = datagrid1.columns(1) frm_tianjiago

45、ngzi.cmo_gangwei = datagrid1.columns(2) frm_tianjiagongzi.txt_shuidian = datagrid1.columns(3)end subprivate sub cmd_delete_click() if rst.recordcount 0 then if msgbox(确定删除该员工的工资信息吗?, vbyesno + vbquestion, 警告) = vbyes then rst.delete set rst = executesql(select * from 工资信息, sql) set datagrid1.datasou

46、rce = rst msgbox 删除成功!, vbokonly + vbexclamation, 提示 end if end ifend subprivate sub cmd_cancel_click()frm_main.showunload meend subprivate sub form_load()set rst = executesql(select * from 工资信息, sql)set datagrid1.datasource = rstend sub3.4.9按员工查询选择“工资查询”-“按员工查询”,输入员工编号和姓名,单击“查询”即可查看个人工资情况。 dim msg_sql as stringdim objrs as adodb.recordsetprivate sub cmd_cancel_click()frm_main.show frm_main.xitong.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论