VB课程设计.docx

上传人:b****8 文档编号:10945930 上传时间:2023-02-23 格式:DOCX 页数:16 大小:240.08KB
下载 相关 举报
VB课程设计.docx_第1页
第1页 / 共16页
VB课程设计.docx_第2页
第2页 / 共16页
VB课程设计.docx_第3页
第3页 / 共16页
VB课程设计.docx_第4页
第4页 / 共16页
VB课程设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VB课程设计.docx

《VB课程设计.docx》由会员分享,可在线阅读,更多相关《VB课程设计.docx(16页珍藏版)》请在冰豆网上搜索。

VB课程设计.docx

VB课程设计

吉林工程技术师范学院

《VB课程设计》

设计题目:

企业工资管理系统

专业:

计算机科学与技术

班级:

学号:

学生姓名:

指导教师:

高汝仪张松岩

 

2011年6月

信息工程学院

目录

摘要I

第一章系统分析1

第二章系统实现5

第三章系统调试8

第四章使用说明11

总结13

附录

1、源代码14

2、参考资料25

 

摘要

传统事业单位的工资管理方法以及传统工资管理存在很多的缺陷与弊端。

在事业单位以往的工资录入中,计算、合计等需要通过大量的手工完成,数据量多,处理速度慢,而且极易出错,导致工作效率低。

为了解决这一矛盾,利用计算机来进行工资的管理,是十分必要的。

程序设计重点论述了工资管理信息系统的组成与每个模块的功能。

设计工资管理信息系统主要从模块组成、数据连接、功能实现等方面着手。

设计过程主要以上面的分析的重点作为依据。

首先进行基础数据的采集,然后进行工资的核算等。

在朝这个思想靠近的过程中,在许多小的细节上还存在着很多不足。

关键词:

管理信息系统,模块组成

 

 

第一章系统分析

1.1、系统概述

纵观各企业工资管理软件、一个好的企业工资管理软件,应具有简单友好的操作界面、安全性好的数据库、分级用户权限管理、强大数据导出及备份功能、联机帮肋文档。

本系统着重围绕这几点进行开发设计。

基于以上众多问题的分析,和企业管理制度的参考。

将系统具体分为系统管理、员工信息设定、工资信息管理、工资结算管理、数据库管理、工具箱、帮助七大模块:

系统管理分为操作员登录管理,用户管理,锁定操作画面及退出。

操作员登录管理记录用户登录的时间,方便管理员查看。

在用户暂时离开时可锁定操作画面,防止非法操作。

用户管理分为新建普通用户,新建管理员用户,修改密码三部分。

 

1.2系统功能

1、用户和组管理功能

2、数据的添加、删除、修改功能

3、数据统计功能

4、信息保存功能

5、数据导出功能

6、方便的数据库备份功能

7、提供实用的工具箱

 

1.3数据流程图

具有相应权限的用户在正确登陆后,可以打开并添加新员工的个人档案,添加完成后可以使用数据导出功能,导出数据。

数据流图如下图1-1所示:

 

1.4模块图

 

如图:

图1-2系统功能模块图

 

第二章系统的实现

2.1系统安全及权限的实现

为了确保系统的安全,对数据库进行加密处理,采用了用户和组管理,并记录用户登录信息。

拥有高级权限的用户,可以创建不同的组,并可将全部或部分权限分配给创建用户。

为了实现该功能,系统采用了递归方式,使高一级别的用户可以管理低级用户,最高权限属于管理员。

具体描述如下:

2.2登录窗口的实现

系统登陆时,要求正确输入用户名和密码。

成功登陆后显示如图4-2所示工资管理系统主界面。

用户名分为管理员用户和普通用户。

如图2-1所示:

 

 

图2-1登录窗口

 

2.3员工基本档案信息的实现

员工基本档案信息管理,在窗体中完成员工基本信息的录入工作。

根据提示在该窗体中输入相应的信息,最后单击“保存”按钮,进行信息的保存。

如图2-2所示

图2-2员工基本档案信息录入窗口

 

2.4工资的结算

在该窗体中输入相应的信息,完成月工资结算、产量汇总、综合处理具体如图2-3所示:

 

图2-3月工资结算、产量汇总、综合处理

 

第三章系统调试

性能测试与分析

这个阶段的关键任务是通过各种类型的测试及相应的调试,使软件达到预定的的要求,根据分工本人负责整个程序运行以及整个程序调试。

3.1、测试环境

测试环境为:

操作系统:

Windows2000及以上

数据库系统:

Access2000。

3.2、系统测试需求分析

科技成果管理系统作为信息管理系统应用程序,应具有设计文件所规定的功能,各个功能模块都能完成相应的任务,保证用户所输入数据的正确性和安全性。

程序设计及相关功能是否符合要求,只有通过严密的测试才能发现问题,尽可能减少错误的发生。

所以,必须对系统进行测试,达到纠错改错的目的。

测试方法

软件测试主要分静态和动态分析方法,动态法有白盒和黑盒法,本系统主要采用黑盒法进行测试对程序功能进行测试。

3.3、系统测试策略说明

●整个系统界面窗口的测试项目

1、相关输入或输出命令能否正常打开?

2、页面显示是否正常,读数据库时是否出错?

3、业务流程是否合理,是否适合用户操作?

●数据项测试项目

1.能否识别输入数据的类型和长度?

2.异常处理能否保证系统在不正确的操作下运行,能否识别非法数据?

3.数据库在大量的数据输入输出时能否正常运行?

4.数据写入数据库时能否写入到对应的字段?

3.4、系统测试方案设计

功能测试采用黑盒测试法,数据设计如下:

测试报告见

系统管理模块测试用例:

3.1.1设置操作员、密码、权限 设计测试用例,如表(表3.1.1):

表4.1.1

操作员编号

操作员姓名

操作员类别

 用户密码

01

wlz

系统管理员

wlz

02

wanglingzhing 

普通用户

wlz

 

3.1.2设置快捷键用户和登陆密码-测试用例设计如下表

第一次测试用例(设计两组相同数据)

第二次测试用例(两次密码输入不同)

用户名

用户密码

确认密码

用户名

用户密码

确认密码

1

1

1

111

111

11

第一次输入与预期结果一致、第二次不一致

与预期结果不一致

 

第四章使用说明

VB程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:

可视化设计和事件驱动编程。

1.可视化设计

同其他的一些可视化程序开发工具一样,VB具有可视化设计的特点,微软的Word在刚刚进入市场时,同WPS竞争的一个重要的功能砝码就是"所见即所得"的字处理功能,VB在设计应用程序界面时也可以说是"所见即所得".在设计时,头脑中所想象的应用程序界面,完全可以通过键盘鼠标以及徒手画出来,而不是编制大量的代码然后再编译生成,如果需要修改,也是利用键盘鼠标和手画,而底层的一些程序代码由VB自动生成或修改。

VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉Windows应用程序的用户而言是一点也不陌生,如"窗体"、"菜单"、"命令按钮"、"工具按钮"、"检查框"等等,用户只需要利用鼠标、键盘把这些控件对象拖动到适当的位置,设置它们的大小、形状、属性等,就可以设计出所需的应用程序界面。

2.事件驱动编程

Windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的,在使用VB设计应用程序时,必须首先确定应用程序如何同用户进行交互.例如发生鼠标单击、键盘输入等事件时,由用户编写的代码控制这些事件的响应,这就是所谓的事件驱动编程。

3.实现菜单选项

菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,VisualBasic也提供了强大的创建菜单功能是程序更加标准。

本系统使用VisualBasic的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用VisualBasic的ApplicationWizard来操作。

 

总结

此次课程设计,不尽巩固了所学知识,而且在这基础上也提高了自己,使我明白需求分析、合理设计数据库,编写代码对软件设计的好坏起了非常重要的作用。

由于本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。

 

附录:

1源代码

实现功能的部分主要代码:

PrivateSubComok_Click()

OnErrorGoToDealerror

DimstrSqlAsString

DimstrMsgAsString

'OnErrorGoToDealerror

DimobjCnAsNewConnection

strcn=CS()

objCn.ConnectionString=strcn

objCn.Open

SetobjRs=NewRecordset

SetobjRs.ActiveConnection=objCn

objRs.CursorLocation=adUseClient

strSql="SELECT*FROM系统用户"

objRs.OpenstrSql

objRs.ActiveConnection=Nothing

objCn.Close

SetobjCn=Nothing

IfLogontimes>=3Then

MsgBox"你已经超过最大登陆次数!

退出系统",vbOKOnly+vbCritical,"系统登录"

End

Else

objRs.MoveFirst

objRs.Find"用户名='"&txtUserName&"'"

IfobjRs.EOFThen

MsgBox"用户名错误!

",vbOKOnly+vbCritical,"系统登录"

txtUserName.SetFocus

txtUserName.Text=""

Else

IfobjRs!

口令<>txtPasswordThen

MsgBox"密码错误!

请重新输入!

",vbOKOnly+vbCritical,"系统登录"

txtPassword.SetFocus

txtPassword.Text=""

Else

'MsgBox"欢迎使用工资管理系统",vbOKCancel+vbOKOnly,"系统登录"

strusername=txtUserName

userpassword=txtPassword

IfCmbStatus=""Then

MsgBox"请选择登陆身份!

",vbOKOnly+vbCritical,"系统登录"

CmbStatus.SetFocus

Else

IfCmbStatus.ListIndex=0AndobjRs!

admin=TrueThen

UserAdmin=1

EndIf

IfCmbStatus.ListIndex=0AndobjRs!

admin=FalseThen

X=MsgBox("你不是管理员,将以普通用户登陆",vbOKCancel+vbOKOnly,"系统登录")

EndIf

IfX=2Then

txtUserName.SetFocus

txtUserName.Text=""

txtPassword.Text=""

Else

'添加操作员登陆时间

strSql="insertintot_login(用户,登录时间)values('"&txtUserName&"','"&Now&"')"

SetobjRs=ExecuteSQL(strSql,strMsg)

UnloadMe

MDIForm1.Show

EndIf

EndIf

EndIf

EndIf

EndIf

Logontimes=Logontimes+1'登陆次数

ExitSub

Dealerror:

msg="程序执行出错,错误信息如下:

"&vbCrLf&Err.Description

ShowErrormsg

EndSub

DimobjRsAsRecordset

DimiAsInteger

DimLogontimesAsInteger

PrivateSubComcancle_Click()

n=MsgBox("你选择了退出系统登陆,退出将不能启动管理系统!

"&vbCrLf&"是否真的退出?

",vbYesNo,"系统验证")

Ifn=vbYesThen

UnloadMe

EndIf

EndSub

员工月工资结算代码

DimstrSqlAsString

DimstrMsgAsString

DimrsAsADODB.Recordset

Dimdj1AsInteger

Dimdj2AsInteger

Dimdj3AsInteger

'记件统计

strSql="select*fromsalarywhere工号='"&gh&"'"

Setrs=ExecuteSQL(strSql,strMsg)

Ifrs.EOF=FalseThen

TextNO.Text=rs.Fields("工号").Value

TextNAMe.Text=rs.Fields("姓名").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="selectsum(数量一)as数量一,sum(数量二)as数量二,sum(数量三)as数量三,sum(每日汇总)as每日汇总fromsalarygroupby工号='"&gh&"'"

Setrs=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).Text)*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*fromSar_otherwhere工号='"&TextNO&"'"

Setrs=ExecuteSQL(strSql,strMsg)

Text(0).Text=rs.Fields("奖金").Value

Text

(1).Text=rs.Fields("津贴").Value

Text

(2).Text=rs.Fields("福利").Value

Text(3).Text=rs.Fields("其他项目").Value

'扣除

rs.Close

strSql="select*fromkouchuwhere工号='"&TextNO&"'"

Setrs=ExecuteSQL(strSql,strMsg)

Tet(0).Text=rs.Fields("住宿费")

Tet

(1).Text=rs.Fields("火食费")

Tet

(2).Text=rs.Fields("公基金")

Tet(3).Text=rs.Fields("垃圾处理费")

Tet(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

ExitSub

EndIf

'记时统计

rs.Close

strSql="selectsum(加班时间)as加班总时间,sum(工作小时数)as工作小时数,sum(记时汇总)as记时汇总fromtimekaoqingroupby工号='"&gh&"'"

Setrs=ExecuteSQL(strSql,strMsg)

Txt(0).Text=rs.Fields("工作小时数").Value

Txt

(2).Text=rs.Fields("加班总时间").Value

Textgj.Text=rs.Fields("记时汇总").Value

strSql="select单价,加班单价fromtimekaoqinwhere工号='"&gh&"'"

Setrs=ExecuteSQL(strSql,strMsg)

Txt

(1).Text=rs.Fields("单价").Value

Txt(3).Text=rs.Fields("加班单价").Value

Text5.Text=Val(Txtgj.Text)+Val(Textgj.Text)+Val(Text(0).Text)_

+Val(Text

(1).Text)+Val(Text

(2).Text)+Val(Text(3).Text)

Text3.Text=Val(Txtgj.Text)-Val(Tet(0).Text)-Val(Tet

(1).Text)_

-Val(Tet

(2).Text)-Val(Tet(3).Text)-Val(Tet(4).Text)-Val(Tet(5).Text)

EndSub

 

2参考文献

1.《VisualBasic.NET程序设计》北京:

清华大学出版社,2008刘炳文

2.《VisualBasic.NET程序设计基础教程》北京:

机械工业出版社,2006汤庸

3.《VisualBasic.NET全程指南》北京:

电子工业出版社,2008朱本城,王凤林

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1