小型企业的 人员管理系统课程设计报告.docx
《小型企业的 人员管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《小型企业的 人员管理系统课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
![小型企业的 人员管理系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-5/15/4002919b-efec-4bd2-825a-78f1ccfd89d3/4002919b-efec-4bd2-825a-78f1ccfd89d31.gif)
小型企业的人员管理系统课程设计报告
测试与光电工程学院
课程设计课题申报表
测控技术与仪器系2009级学生
相关课程
VB等
指导教师
程强强
学生人数
1
课题名称
基于VB的小型企业信息人员管理系统
设计地点
逸夫楼205
课题工作内容
本课程设计旨在训练和提高学生综合运用VB语言进行编程的能力,使学生更加系统的理解和掌握VB语言的基本概念、语言特点和编程技巧。
本课题的基本内容有:
1、可存储公司人员的基本信息包括:
工号、姓名、年龄、岗位、性别;
2、根据工号可查找某员工的所有基本信息;
3、根据工号可删除和修改某员工信息;
4、可添加新员工的基本信息;
软件调试成功后需进行课程设计报告的撰写,课程设计报告的格式完全参照本科毕业设计(大论文)的格式。
课题来源
课题性质
使用计算机情况
自编
软件
40小时
系负责人签字:
申报人:
程强强
2011年11月10日
测试与光电工程学院
课程设计任务书
测控技术与仪器系090813班学号09081313姓名曹爱松
课题名称:
小型公司的人员信息管理系统
课题要求:
1、可存储公司人员的基本信息包括:
工号、姓名、年龄、岗位、性别;
2、根据工号可查找某员工的所有基本信息;
3、根据工号可删除和修改某员工信息;
4、可添加新员工的基本信息;
课题进程:
1、第11、12周查找资料,确定开发程序的环境。
2、第13-16周编写、调试程序。
3、第16周周末编写课程设计报告。
指导教师:
程强强
目录
前言4
一、课程设计目的与要求5
1.1课程设计目的5
1.2课程设计的实验环境5
1.3课程设计的预备知识5
1.4课程设计要求5
二、课程设计内容6
2.1设计说明书6
2.2设计方法及源代码6
2.2系统流程图15
三、课程设计总结、心得与体会18
四、致谢18
参考文献19
前言
VB是VisualBasic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据链接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
已完成的应用程序是使用VisualBasic虚拟机真正.exe文件,可以自由发布VB中几个常用术语:
工程(Project)是指用于创建一个应用程序的文件的集合。
对象(Object)可控制的某个东西,VB中主要有两类对象:
窗体和控件。
应用程序的用户界面,即Windows。
窗体(Form):
控件(Control)指的是各种按钮、标签、文本框等。
属性(Property)是指对象的特征,如大小、标题或颜色。
ActiveX:
ActiveX是基于ComponentObjectModel(COM)的可视化控件结构的商标名称。
它是一种封装技术,提供封装COM组件并将其置入应用程序(如Web浏览器)的一种方法。
ComponentsObjectModel(COM):
是软件组件互相通讯的一种方式。
它是一种二进制和网络标准,允许任意两个组件互相通讯,而不管它们是在什么计算机上运行(只要计算机是相连的),不管各计算机运行的是什么操作系统(只要该操作系统支持COM)也不管该组件是用什么语言编写的。
一、课程设计目的与要求
1.1课程设计目的
本课程的课程设计实际是学生学习完《可视化编程技术》课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本方法及基本技巧。
1.2课程设计的实验环境
设计环境:
(1).硬件环境
COREI3微机,内存2GB。
(2).操作系统
WindowsXP。
(3).编程环境
VisualBasic6.0程序设计语言,Access2003数据库。
1.3课程设计的预备知识
熟悉VisualBasic6.0程序设计的基本语法知识及常用技巧和Access2003数据库的相关知识。
1.4本课题的基本内容:
本课程设计旨在训练和提高学生综合运用VB语言进行编程的能力,使学生更加系统的理解和掌握VB语言的基本概念、语言特点和编程技巧。
按课程设计指导书提供的课题,设计一个完整的信息管理应用程序。
要求根据规定设计管理系统的具体要求,按照应用程序的设计步骤和VB的基本知识应用程序的分析与实现。
应根据后面给出的基本学时分配合理安排设计时间,并独立完成各方面的设计。
要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。
1、可存储公司人员的基本信息包括:
工号、姓名、年龄、岗位、性别;
2、根据工号可查找某员工的所有基本信息;
3、根据工号可删除和修改某员工信息;
4、可添加新员工的基本信息;
二、课程设计内容
2.1设计说明书
1、设计“用户登录界面”窗体,登录分为管理员登录和普通用户登录两类。
2、设计“管理员登录界面”窗体。
“管理员登录界面”窗体中要输入用户名和密码。
其中,用户名和密码的设置值为默认值。
窗体中有两个按钮,分别为登录和返回。
登录是进入“人员管理——管理员”窗体,返回是回到“用户登录界面”窗体。
3、分别设计“人员管理——管理员”窗体和“人员管理——普通用户”窗体。
两个窗体基本格式相同,窗体中有两个菜单,分别为“编辑”和“查询”。
“编辑”菜单中有两个子菜单分别是“员工”和返回”;“查询”菜单中有一个子菜单“工号”。
当为管理员登录时,“编辑”和“查询”两个菜单均显示,当普通用户登录时,只显示“查询”菜单。
管理员可以根据“员工”选项添加,更改,删除员工的信息;普通用户可以根据“工号”查询自己的或者是其他员工的信息。
“返回”选项返回至上一个窗体。
4、设计“基本信息编辑器”窗体。
管理员在此编辑员工的信息,普通员工在此查询自己的或者是其他员工的信息。
在此窗体中加入了Adodc控件,用于连接VB窗体和Access2003数据库。
2.2设计方法及源代码
1、设计“用户登录界面”窗体
“普通用户”按钮的事件代码
PrivateSubCommandNormal_Click()
frmMain.Show
Me.Hide
frmMain.mnuAdd.Enabled=False
frmMain.mnuAddc.Enabled=True
frmMain.Caption="人员管理-普通用户"
EndSub
“管理员”按钮的事件代码
PrivateSubCommandManage_Click()
frmlgin.Show
Me.Hide
frmlgin.txtuser.Text=""
frmlgin.txtPassword.Text=""
frmlgin.txtuser.SetFocus
EndSub
“退出”按钮的事件代码
PrivateSubCommandExit_Click()
UnloadMe
EndSub
2、设计“管理员登录界面”窗体。
“登录”按钮的事件代码
PrivateSubCommandLgin_Click()
Iftxtuser.Text=""AndtxtPassword.Text=""Then
frmMain1.Show
Me.Hide
frmMain1.mnuAdd.Enabled=True
frmMain1.mnuAddc.Enabled=False
frmMain1.Caption="人员管理-管理员"
Else
txtuser.Text=""
txtPassword.Text=""
txtuser.SetFocus
k=k+1
Ifk<3Then
MsgBox"密码错误,还有"&(3-k)&"次机会",vbCritical,"输入错误"
Else
MsgBox"抱歉!
密码错误,您无权使用本系统!
",vbInformation,"结束信息"
End
EndIf
EndIf
EndSub
“返回”按钮的事件代码
PrivateSubCommandBack_Click()
frmsystem.Show
Me.Hide
EndSub
3、设计“人员管理——管理员”窗体
“员工”按钮的事件代码
PrivateSubmnuy_Click()
frmedit.Show
Me.Hide
EndSub
“返回”按钮的事件代码
PrivateSubmnub_Click()
frmlgin.Show
Me.Hide
EndSub
4、设计“人员管理——普通用户”窗体
“员工”按钮的事件代码
PrivateSubmnuy_Click()
frmedit.Show
Me.Hide
EndSub
“返回”按钮的事件代码
PrivateSubmnub_Click()
frmlgin.Show
Me.Hide
EndSub
5、设计“基本信息编辑器”窗体
“添加”按钮的事件代码
PrivateSubcmdadd_Click()
DimmuAsInteger
Ifcmdadd.Caption="添加"Then
Adodc1.Recordset.MoveLast
nu=Adodc1.Recordset("编号")+1
Adodc1.Recordset.AddNew
cmdadd.Caption="确定"
Command1.Enabled=False
Command3.Enabled=False
Command4.Enabled=False
Command5.Enabled=False
Else
answer=MsgBox("确定要增加该条记录吗?
",vbYesNo,"增加记录")
Ifanswer=vbYesThen
Adodc1.Recordset.Update
MsgBox"添加成功!
",,"添加记录"
Else
Adodc1.Recordset.CancelUpdate
EndIf
'Text1.Locked=True
Text2.Locked=True
Text3.Locked=True
Command2.Caption="新增"
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=True
Command5.Enabled=True
EndIf
EndSub
“删除”按钮的事件代码
PrivateSubcmddelete_Click()
DimanwserAsString
anwser=MsgBox("确实删除该记录吗?
",vbYesNo+vbQuestion,"警告")
Ifanwser=vbYesThen
IfAdodc1.Recordset.EOF=FalseThen
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Recordset.MoveFirst
Else
MsgBox"数据库没有记录!
",vbCritical,"警告"
EndIf
EndIf
EndSub
“搜索”按钮的事件代码
PrivateSubcmdsearch_Click()
DimSnumberAsString
Snumber=InputBox("请输入工号",查找工号)
IfSnumber<>""Then
Snumber="SID='"&Snumber&"'"
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.FindSnumber
EndIf
Iftxtgh(0).Text=""Then
MsgBox"未找到匹配的记录",vbCritical,"警告"
Adodc1.Recordset.MoveFirst
EndIf
EndSub
“修改按钮的事件代码
PrivateSubcmdsearch_Click()
DimSnumberAsString
Snumber=InputBox("请输入工号",查找工号)
IfSnumber<>""Then
Snumber="SID='"&Snumber&"'"
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.FindSnumber
EndIf
Iftxtgh(0).Text=""Then
MsgBox"未找到匹配的记录",vbCritical,"警告"
Adodc1.Recordset.MoveFirst
EndIf
EndSub
“上一条”按钮的事件代码
PrivateSubcmdprevious_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOF=TrueThen
Adodc1.Recordset.MoveFirst
cmdprevious.Enabled=False
MsgBox"已经是第一条记录",vbCritical,"警告"
Else
cmdnext.Enabled=True
cmdprevious.Enabled=True
EndIf
EndSub
“下一条”按钮的事件代码
PrivateSubcmdprevious_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOF=TrueThen
Adodc1.Recordset.MoveFirst
cmdprevious.Enabled=False
MsgBox"已经是第一条记录",vbCritical,"警告"
Else
cmdnext.Enabled=True
cmdprevious.Enabled=True
EndIf
EndSub
“Adodc”控件的事件代码
PrivateSubAdodcinfo_Click()
DimcnAsNewADODB.Connection
cn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\db1.mdb"
cn.Execute"insertintoadmin(zhanghao,mima)values('"&Text1.Text&"','"&Text2.Text&"')"
cn.Close
MsgBox"保存完毕!
"
EndSub
2.3系统流程图
说明:
以下是对应上面系统功能模块实图的系统流程图,因为制图的不便,故只将成功完成一次操作的流程给出,而“各个流程中中途如果输入了菜单中没有的项以及数据保存文件中没有的数据而被强制退出”的流程因为过于复杂(每步都要进行判断)而没有给出,实际情况一试便知。
在此我对此表示深深的歉意,我以后一定会努力完善我们各方面的工作的。
三、总结、心得与体会
通过这次课题设计,我觉得做好一个程序,灵活运用是关键。
把基础学好不一定能把程序编好,但基础知识不好,一定编不出好程序。
做大规模的程序不只是一个人努力就行了,一定要有团队合作能力。
编程最主要是思路清晰,只要你把思路理顺了,就有利于你在编程的过程中少走弯路。
运行正确的程序并不一定是好程序,编程员时刻要牢记的一条就是自己写的程序不仅是给自己看的,也要让别人能轻易地看懂。
我们在分块设计时就因为都太“以自我为中心“了,直接导致最后把程序汇总的时候才发现”错误“一大堆!
当然、这也使我们更加体会到了程序可读性的重要之所在。
要想学好VB我觉得除了在课堂上认真学习之外也要做好以下几点:
1.认真对待每一个程序的编写2.做好对每一个所编程序的总结3.写程序尽量要规范、严谨,效率尽量要高4.养成自我测试的习惯5.多看一些别人编的程序,把好的思路和方法记下来,以备不时之需6.要有恃之以恒的精神以及严谨的科学研究作风
在这短短的两个星期的努力奋斗中、在程老师的辛勤指导下。
我终于把本次课题设计顺利完成。
回想起课题设计过程中面对程序错误一大堆的失望与成功完成程序中每一个模块的喜悦时,我真正的体会到了:
1.团队合作的好坏直接影响到了做好一件工作的质量与效率;2.细节决定成败;3.学术不管是哪一门,只要你用心去对待它,它也会用心地来回报你,这也正印证了一句话:
“一分耕耘一分收获”!
展望无限美好的21世纪,我们青年学生更应该好好学习、努力拼搏,为将来成长为一名对祖国、对人民、对社会的有用之才而不断奋斗!
四、致谢
这次课程设计能够圆满的结束,在次,我衷心的感谢我的指导老师程强强,给了我很大的帮助与启发,提供并介绍给我们一些很有用的资料书,无论是在这次设计过程,还是以后走出社会都很有用。
同时感谢090813班的同学们的建议与帮忙;感谢他们为我提供的资料和知识点。
我此次计算机课程设计的完成与你们每一个人分不开。
谢谢你们!
参考文献
[1]汉清计算机工作室.VisualBasic6.0数据库开发实例.北京:
机械工业出版社,2000:
10-54
[2]何旭洪.VisualBasic数据库开发实例导航.北京:
人民邮电出版社,2002:
75-86
[3]孙健鹏.VB数据库开发实例解析.北京:
机械工业出版社,2005:
204-283
[4]王汉新.VisualBasic程序设计.北京:
科学出版社,2002:
128-197
[5]陈惟斌.VisualBasic6.0开发指南.北京:
清华大学出版社,2001:
100-201
[6]张春葆.VB数据库系统设计与开发.北京:
清华大学出版社,2006:
273-294
[7]李金玲.Access2002数据库开发即时应用.北京:
人民邮电出版社,2002:
267-308
[8]张之洞.VisualBasic6HarryM.北京:
电子工业出版社,2005:
128-231
[9]李晓黎,张巍.VisualBasic应用系统开发与实例.北京:
人民邮电出版社,2003:
143-284
[10]刘瑾.VB从入门到精通.北京:
人民邮电出版社,2001:
64-127