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

下载本文档

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

文档简介

1、 vbvb 课程设计课程设计 设计题目设计题目: 企业工资管理系统企业工资管理系统 专专 业业: 计算机科学与技术计算机科学与技术 班班 级级: 学学 号:号: 学生姓名学生姓名: 目目 录录 摘 要i 第一章 系统分析1 第二章 系统实现5 第三章 系统调试8 第四章 使用说明11 总 结 13 附 录 1、源代码14 2、参考资料25 摘摘 要要 传统事业单位的工资管理方法以及传统工资管理存在很多 的缺陷与弊端。在事业单位以往的工资录入中,计算、合计等 需要通过大量的手工完成,数据量多,处理速度慢,而且极易 出错,导致工作效率低。为了解决这一矛盾,利用计算机来进 行工资的管理,是十分必要的

2、。 程序设计重点论述了工资管理信息系统的组成与每个模块 的功能。设计工资管理信息系统主要从模块组成、数据连接、 功能实现等方面着手。 设计过程主要以上面的分析的重点作为依据。首先进行基 础数据的采集,然后进行工资的核算等。在朝这个思想靠近的 过程中,在许多小的细节上还存在着很多不足。 关键词:关键词:管理信息系统,模块组成 第一章第一章 系统分析系统分析 1.11.1、系统概述系统概述 纵观各企业工资管理软件、一个好的企业工资管理软件,应 具有简单友好的操作界面、安全性好的数据库、分级用户权限管 理、强大数据导出及备份功能、联机帮肋文档。本系统着重围绕 这几点进行开发设计。 基于以上众多问题的

3、分析,和企业管理制度的参考。将系统 具体分为系统管理、员工信息设定、工资信息管理、工资结算管 理、数据库管理、工具箱、帮助七大模块: 系统管理分为操作员登录管理,用户管理,锁定操作画面及退 出。操作员登录管理记录用户登录的时间,方便管理员查看。 在用户暂时离开时可锁定操作画面,防止非法操作。 用户管理分为新建普通用户,新建管理员用户,修改密码三 部分。 1.21.2 系统功能系统功能 1、 用户和组管理功能 2、 数据的添加、删除、修改功能 3、 数据统计功能 4、 信息保存功能 5、 数据导出功能 6、 方便的数据库备份功能 7、 提供实用的工具箱 1.31.3 数据流程图数据流程图 具有相

4、应权限的用户在正确登陆后,可以打开并添加新员工 的个人档案,添加完成后可以使用数据导出功能,导出数据。数 据流图如下图 1-1 所示: 1.41.4 模块图模块图 如图: 图 1-2 系统功能模块图 第二章第二章 系统的实现系统的实现 2.12.1 系统安全及权限的实现系统安全及权限的实现 为了确保系统的安全,对数据库进行加密处理,采用了用户和组管理, 并记录用户登录信息。拥有高级权限的用户,可以创建不同的组,并可将全 部或部分权限分配给创建用户。 为了实现该功能,系统采用了递归方式,使高一级别的用户可以管理低 级用户,最高权限属于管理员。 具体描述如下: 2.22.2 登录窗口的实现登录窗口

5、的实现 系统登陆时,要求正确输入用户名和密码。成功登陆后显示如图 4-2 所示工资管理 系统主界面。用户名分为管理员用户和普通用户。如图 2-1 所示: 图 2-1 登录窗口 2.32.3 员工基本档案信息的实现员工基本档案信息的实现 员工基本档案信息管理,在窗体中完成员工基本信息的录入工作。根据 提示在该窗体中输入相应的信息,最后单击“保存”按钮,进行信息的保存。 如图 2-2 所示 图 2-2 员工基本档案信息录入窗口 2.42.4 工资的结算工资的结算 在该窗体中输入相应的信息,完成月工资结算、产量汇总、 综合处理具体如图 2-3 所示: 图 2-3 月工资结算、产量汇总、综合处理 第三

6、章第三章 系统调试系统调试 性能测试与分析性能测试与分析 这个阶段的关键任务是通过各种类型的测试及相应的调试,使 软件达到预定的的要求,根据分工本人负责整个程序运行以及整 个程序调试。 3.13.1、测试环境、测试环境 测试环境为: 操作系统:windows2000 及以上 数据库系统:access2000。 3.23.2、系统测试需求分析、系统测试需求分析 科技成果管理系统作为信息管理系统应用程序,应具有设计 文件所规定的功能,各个功能模块都能完成相应的任务,保证 用户所输入数据的正确性和安全性。程序设计及相关功能是否 符合要求,只有通过严密的测试才能发现问题,尽可能减少错 误的发生。所以,

7、必须对系统进行测试,达到纠错改错的目的。 测试方法 软件测试主要分静态和动态分析方法,动态法有白盒和黑盒 法,本系统主要采用黑盒法进行测试对程序功能进行测试。 3.33.3、系统测试策略说明、系统测试策略说明 整个系统界面窗口的测试项目 1、相关输入或输出命令能否正常打开? 2、页面显示是否正常,读数据库时是否出错? 3、业务流程是否合理,是否适合用户操作? 数据项测试项目 1. 能否识别输入数据的类型和长度? 2. 异常处理能否保证系统在不正确的操作下运行,能否识 别非法数据? 3. 数据库在大量的数据输入输出时能否正常运行? 4. 数据写入数据库时能否写入到对应的字段? 3.43.4、系统

8、测试方案设计、系统测试方案设计 功能测试采用黑盒测试法,数据设计如下:测试报告见测试报告见 系统管理模块测试用例: 3.1.1 设置操作员、密码、权限设计测试用例,如表 (表 3.1.1): 表 4.1.1 操作员编号操作员姓名操作员类别用户密码 01wlz 系统管理员 wlz 02wanglingzhing 普通用户 wlz 3.1.2 设置快捷键用户和登陆密码测试用例设计如下表 第一次测试用例(设计两组相同数据)第二次测试用例(两次密码输入不同) 用户名 用户密码确认密码用户名用户密码确认密码 11111111111 第一次输入与预期结果一致、第二次不一致与预期结果不一致 第四章 使用说明

9、 vb 程序语言具有许多优秀的特性,用其设计应用程序时有两 个基本特点:可视化设计和事件驱动编程。 1 1可视化设计可视化设计 同其他的一些可视化程序开发工具一样,vb 具有可视化设计 的特点,微软的 word 在刚刚进入市场时,同 wps 竞争的一个重要的 功能砝码就是所见即所得的字处理功能,vb 在设计应用程序界面 时也可以说是所见即所得.在设计时,头脑中所想象的应用程序 界面,完全可以通过键盘鼠标以及徒手画出来,而不是编制大量的 代码然后再编译生成,如果需要修改,也是利用键盘鼠标和手画,而 底层的一些程序代码由 vb 自动生成或修改。 vb 为用户提供大量的界面元素(在 vb 中称为控件

10、对象),这些 控件对象对于熟悉 windows 应用程序的用户而言是一点也不陌生, 如窗体、菜单、命令按钮、工具按钮、检查框等等,用 户只需要利用鼠标、键盘把这些控件对象拖动到适当的位置,设置 它们的大小、形状、属性等,就可以设计出所需的应用程序界面。 2.2.事件驱动编程事件驱动编程 windows 操作系统出现以来,图形化的用户界面和多任务多进 程的应用程序要求程序设计不能是单一性的,在使用 vb 设计应用 程序时,必须首先确定应用程序如何同用户进行交互.例如发生鼠 标单击、键盘输入等事件时,由用户编写的代码控制这些事件的响 应,这就是所谓的事件驱动编程。 3 3实现菜单选项实现菜单选项

11、菜单是程序最重要的特性之一,大多数程序都依赖一个定义 良好的菜单使程序易于使用和维护,visual basic 也提供了强大的 创建菜单功能是程序更加标准。 本系统使用 visual basic 的菜单编辑器建立菜单或者修改已 经存在的菜单,您也可以使用 visual basic 的 application wizard 来操作。 总结总结 此次课程设计,不尽巩固了所学知识, 而且在这基础上也提高 了自己,使我明白需求分析、合理设计数据库,编写代码对软件 设计的好坏起了非常重要的作用。由于本身能力的局限性,所以 做编写的代码,即使经过反复检查也难免出错所以在本阶段力求 使用有限的时间找出尽可能

12、多的错误,力求系统尽量正确。 附附 录:录: 1 源代码源代码 实现功能的部分主要代码: private sub comok_click() on error goto dealerror dim strsql as string dim strmsg as string on error goto dealerror dim objcn as new connection strcn = cs() objcn.connectionstring = strcn objcn.open set objrs = new recordset set objrs.activeconnection = o

13、bjcn objrs.cursorlocation = aduseclient strsql = select * from 系统用户 objrs.open strsql objrs.activeconnection = nothing objcn.close set objcn = nothing if logontimes = 3 then msgbox 你已经超过最大登陆次数!退出系统, vbokonly + vbcritical, 系统登录 end else objrs.movefirst objrs.find 用户名= & txtusername & if objrs.eof the

14、n msgbox 用户名错误!, vbokonly + vbcritical, 系统登录 txtusername.setfocus txtusername.text = else if objrs!口令 txtpassword then msgbox 密码错误!请重新输入!, vbokonly + vbcritical, 系统登录 txtpassword.setfocus txtpassword.text = else msgbox 欢迎使用工资管理系统, vbokcancel + vbokonly, 系统登录 strusername = txtusername userpassword =

15、txtpassword if cmbstatus = then msgbox 请选择登陆身份!, vbokonly + vbcritical, 系统登录 cmbstatus.setfocus else if cmbstatus.listindex = 0 and objrs!admin = true then useradmin = 1 end if if cmbstatus.listindex = 0 and objrs!admin = false then x = msgbox(你不是管理员,将以普通用户 登陆, vbokcancel + vbokonly, 系统登录) end if if

16、 x = 2 then txtusername.setfocus txtusername.text = txtpassword.text = else 添加操作员登陆时间 strsql = insert into t_login (用户,登录时 间) values( & txtusername & , & now & ) set objrs = executesql(strsql, strmsg) unload me mdiform1.show end if end if end if end if end if logontimes = logontimes + 1 登陆次数 exit su

17、b dealerror: msg = 程序执行出错,错误信息如下: & vbcrlf & err.description showerror msg end sub dim objrs as recordset dim i as integer dim logontimes as integer private sub comcancle_click() n = msgbox(你选择了退出系统登陆,退出将不能启动管理系统! & vbcrlf & 是否真的退出?, vbyesno, 系统验证) if n = vbyes then unload me end if end sub 员工月工资结算代

18、码 dim strsql as string dim strmsg as string dim rs as adodb.recordset dim dj1 as integer dim dj2 as integer dim dj3 as integer 记件统计 strsql = select * from salary where 工号= & gh & set rs = executesql(strsql, strmsg) if rs.eof = false then textno.text = rs.fields(工号).value textname.text = rs.fields(姓名

19、).value combod.value = rs.fields(工作日).value textlx(0).text = rs.fields(产品类型一). value dj1 = rs.fields(单价一).value dj2 = rs.fields(单价二).value dj3 = rs.fields(单价三).value textlx(1).text = rs.fields(产品类型二). value textlx(2).text = rs.fields(产品类型三). value rs.close strsql = select sum(数量一) as 数量一, sum(数量二) a

20、s 数量二,sum(数量三) as 数量三,sum(每日汇总) as 每日汇总 from salary group by 工号= & gh & set rs = executesql(strsql, strmsg) textsl(0).text = rs.fields(数量一). value textsl(1).text = rs.fields(数量二). value textsl(2).text = rs.fields(数量三). value textzj(0).text = val(textsl(0).text) * dj1 textzj(1).text = val(textsl(1).t

21、ext) * dj2 textzj(2).text = val(textsl(2).text) * dj3 txtgj.text = val(textzj(0).text) + val(textzj(1).text) + val(textzj(2).text) 奖金 福利结算 rs.close strsql = select * from sar_other where 工号 = & textno & set rs = executesql(strsql, strmsg) text(0).text = rs.fields(奖金).value text(1).text = rs.fields(津

22、贴).value text(2).text = rs.fields(福利).value text(3).text = rs.fields(其他项目).value 扣除 rs.close strsql = select * from kouchu where 工号= & textno & set rs = executesql(strsql, strmsg) tet(0).text = rs.fields(住宿费) tet(1).text = rs.fields(火食费) tet(2).text = rs.fields(公基金) tet(3).text = rs.fields(垃圾处理费) te

23、t(4).text = rs.fields(医疗保险费) tet(5).text = rs.fields(其它) else msgbox 数据库还没有此工号的工资记录, vbokonly + vbexclamation, 提示 chkboxjj.value = false chkboxcp.value = false chkboxcr.value = false chkboxjs.value = false exit sub end if 记时统计 rs.close strsql = select sum(加班时间) as 加班总时间, sum(工作小时数) as 工作小时数,sum(记时汇总) as 记时汇总 from time

温馨提示

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

评论

0/150

提交评论