项目设计实训报告.docx

上传人:b****6 文档编号:5831796 上传时间:2023-01-01 格式:DOCX 页数:23 大小:1.16MB
下载 相关 举报
项目设计实训报告.docx_第1页
第1页 / 共23页
项目设计实训报告.docx_第2页
第2页 / 共23页
项目设计实训报告.docx_第3页
第3页 / 共23页
项目设计实训报告.docx_第4页
第4页 / 共23页
项目设计实训报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

项目设计实训报告.docx

《项目设计实训报告.docx》由会员分享,可在线阅读,更多相关《项目设计实训报告.docx(23页珍藏版)》请在冰豆网上搜索。

项目设计实训报告.docx

项目设计实训报告

西安郵電學院

项目设计实训报告书

 

院系名称

继职学院

学生姓名

张兰

专业名称

计算机网络技术

班级

0902班

学号

3094202017

时间

2011年11月28日至12月9日

实训题目人事管理系统

一、实验目的

综合应用所学的高级语言程序设计知识,自行设计并实现一个较为完整的小型管理信息系统。

通过系统分析、系统设计、编程实现,写实训报告等环节,初步掌握软件系统的设计方法和步骤,提高灵活运用程序语言进行软件开发的技能,提高程序设计水平和分析问题、解决问题的能力。

二、实验内容

(1):

熟悉VisualBasic语言的语法、开发环境和各种内部控件和工具的用法;

(2):

熟悉大型数据库的使用方法,练习使用MSSQLServer建立和修改数据库。

(3):

学习Client/Server模式应用系统的开发。

三、需求分析和概要设计

1、所开发系统的各项功能的详细描述

功能描述:

该信息管理系统可以在Windows2000Server

平台上运行,开发工具采用VisualBasic语言开发。

其工作流程为:

用户可以通过注册登录,进行信息录入、修改和删除的操作。

系统的功能特点及描述:

1用户登录与注册

该功能是系统在被访问之前,要对进入系统的用户进行核对,对系统安全性的保护。

2主界面

(1)主窗体;主窗体是程序操作过程中必不可少的,它是人机交互的重要环节,通过主窗体,用户可以调用系统相关的各子模块,快速掌握本系统的实现功能及操作方法。

当登陆窗体成功以后,用户就会进入主窗体,在主窗体界面中,最上面是菜单栏,里面包含各个项目。

(2)系统管理:

有用户信息进行注销,和用户注册的功能,对系统中用户信息,员工信息,部门管理,薪酬管理等基本信息进行维护,如用户的添加、修改、删除等。

新部门的设立,已有部门的修改等。

(3)员工管理:

对员工的基本信息进行管理,例如新建一个员工信息,对在职员工的详细信息进行查询、修改、删除、统计、排序操作。

查询可以按照员工编号、姓名、电话、部门等多种条件进行查询;统计可以按照员工编号进行统计;排序按照员工编号可以实现升序与降序的功能。

(4)薪酬管理:

对员工的薪酬信息进行管理,例如新建一个员工薪酬信息,对在职员工的基本工资、奖金、加班工资进行查询、修改、删除、统计、排序操作。

查询可以按照员工编号、姓名、电话、部门这些条件进行查询。

(5)辅助项目管理:

其中包括对部门的管理和员工报表的输出;部门管理中可以实现对部门的管理,例如新建一个部门,对部门信息进行查询、修改、删除、统计、排序操作。

查询可以按照部门名称、负责人进行查询。

员工报表实现对员工信息的输出报表,可以帮助企业访问、格式化数据,并把数据信息以可靠和安全的方式呈现给使用者。

(6)帮助:

其中包括对系统的帮助内容与介绍,使用户对本系统有全面的了解。

2.数据流程图

人事档案管理的数据流图

通过对“人事档案管理系统流程图”抽象处理,得到“人事档案管理数据流图”。

E-R图

3、软件的总体架构,即软件包括哪些模块以及各模块之间的联系。

用户管理模块,员工管理模块,薪酬管理模块,分类管理模块,辅助管理模块,帮助模块。

数据库

4、数据库设计,即数据库中包括哪些表,表之间的联系。

在数据库人事管理系统中一共建了四个表分别如下:

Yuangong表

列名

数据类型

备注

职工编号

int4

主键

姓名

char10

民族

char10

身份证号

char50

性别

char10

学历

char10

部门

char20

职称

char20

电话

char50

Email

char50

Salary表

列名

数据类型

备注

职工编号

char10

主键

基本工资

char500

奖金

char500

加班工资

char500

工资合计

char800

Department表

列名

数据类型

备注

部门名称

char20

负责人

char20

部门介绍

char800

(二)运行环境规定

1.设备

运行本软件要在奔腾III以上、内存在256MB以上的计算机。

2.支持软件

本系统只是的操作系统包括:

WindowsXP。

本系统支持的数据库:

SQLServer2000。

本系统的开发工具:

VB6.0

3.控制

本系统通过“用户验证”模块进行用户登录的控制,根据不同用户的权限调用不同的模块。

四、详细设计和实现

1、登陆界面:

此界面用到了textbox控件、label控件、commandbotton控件利用存储过程读取数据判断用户名、密码是否匹配,如果不匹配则返回,匹配则进入下一个页面。

代码如下:

登录

PrivateSubForm1_Load()

OptionExplicit

PublicLoginSucceededAsBoolean

'引用MicrosoftActiveXDataObjects2.6Library

'定义连接对象和记录集

DimconnAsADODB.Connection

DimrsAsADODB.Recordset

'对取消按钮单击事件的响应

PrivateSubcmdCancel_Click()

'设置全局变量为false

'不提示失败的登录

LoginSucceeded=False

Me.Hide

EndSub

'对登录按钮单击事件的响应

PrivateSubcmdOK_Click()

Setconn=NewADODB.Connection

Setrs=NewADODB.Recordset

'建立无源数据库连接

conn.ConnectionString="driver={sqlserver};server=Dell--181;uid=sa;pwd=;Database=人事系统管理"

conn.ConnectionTimeout=50

conn.Open

DimstrAsString

'连接连接对象

Setrs.ActiveConnection=conn

'设置游标类型

rs.CursorType=adOpenDynamic

IfTrim(txtUserName.Text="")Then

MsgBox"用户名不能为空,请重新输入用户名!

",vbOKOnly+vbExclamation,"警告"

txtUserName.SetFocus

Else

'设置查询字符串

str="select*fromlogin_userwherename='"&Trim(txtUserName.Text)&"'"

rs.Openstr

Ifrs.EOF=TrueThen

MsgBox"没有这个用户,请重新输入用户名!

",vbOKOnly+vbExclamation,"警告"

txtUserName.SetFocus

Else

'登录成功,连接主窗口

If(Trim(txtPassword.Text)=Trim(rs.Fields("password")))Then

LoginSucceeded=True

Me.Hide

Form2.Show

Else

MsgBox"密码不正确,请重输入密码!

",,"警告"

txtPassword.SetFocus

SendKeys"{Home}+{End}"

EndIf

EndIf

EndIf

EndSub

注册:

PrivateSubCmd1_Click()

DimmrcAsADODB.Recordset

DimtxtsqlAsString

'判断文本框中是否有内容

IfLen(user1.Text)="0"Then

MsgBox"请输入用户名!

",,"提示"

user1.SetFocus

ExitSub

EndIf

IfLen(user_password.Text)="0"Then

MsgBox"请输入密码!

",,"提示"

user_password.SetFocus

ExitSub

EndIf

IfLen(password_ch.Text)="0"Then

MsgBox"请输入确认密码!

",,"提示"

password_ch.SetFocus

ExitSub

EndIf

IfLen(yanzh.Text)="0"Then

MsgBox"请输入验证码!

",,"提示"

yanzh.SetFocus

ExitSub

EndIf

IfTrim(user_password.Text)<>Trim(password_ch.Text)Then

MsgBox"密码前后输入不一致,请重新输入!

",vbOKOnly+vbExclamation,"系统——提示"

user_password.SetFocus

password_ch.Text=""

ExitSub

EndIf

'判断输入验证码是否等于显示的

IfTrim(yanzh.Text)<>Pic1.TagThen

MsgBox"验证码输入错误,请重新输入!

",vbOKOnly+vbExclamation,"系统——提示"

yanzh.Text=""

yanzh.SetFocus

CallForm_Activate

ExitSub

EndIf

txtsql="Select*fromlogin_userwherename='"&Trim(user1.Text)&"'"'查询是否已存在该用户名

Setmrc=ExecuteSQL(txtsql)

Ifmrc.EOF=FalseThen

MsgBox"该用户名已存在!

",vbOKOnly+vbExclamation,"系统——提示"

user1.SetFocus

user1.Text=""

user_password.Text=""

password_ch.Text=""

yanzh.Text=""

mrc.Close

ExitSub

EndIf

txtsql="Select*fromlogin_user"

Setmrc=ExecuteSQL(txtsql)

mrc.AddNew

mrc.Fields(0)=Trim(user1.Text)

mrc.Fields

(1)=Trim(password_ch.Text)

'调用加密函数,并储存加密后的密码

mrc.update

mrc.Close

MsgBox"用户添加成功!

",vbOKOnly+vbInformation,"系统——提示"

user1.SetFocus

user1.Text=""

user_password.Text=""

password_ch.Text=""

yanzh.Text=""

CallForm_Activate

UnloadForm8

Me.Show

EndSub

系统流程图如下:

系统登录界面(图1.1):

注册界面(图1.2):

在注册中使用了模块,设置变量:

PublicPublicStrAsString

PublicFunctioncnn()AsADODB.Connection

'建立无源数据库连接

Setconn=Server.CreateObject("ADODB.Connection")

conn.ConnectionString="driver={SQLServer};server=Dell--180;uid=sa;pwd=sa;database=人事管理系统"

conn.Open

EndSub

PublicSubMain()

PublicStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=人事管理系统;DataSource=DELL--180"

'"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=人事管理系统;DataSource="&App.Path&"\H:

\人事管理\人事管理_Data=False"

Me.Show

EndSub

PublicFunctionEncodePassWord(ByValPWDAsString)AsString

DimCodePwdAsString

DimOnePwdAsString*1

DimiAsInteger

CodePwd=""'初始化

OnePwd=""

PWD=Trim(PWD)

i=0

IfLen(PWD)=0Then

EncodePassWord=""

ExitFunction

EndIf

Fori=1ToLen(PWD)

OnePwd=Mid(PWD,i,1)'从代加密的密码中取出一位字符进行ASCII变换

CodePwd=CodePwd&Chr(Asc(OnePwd)+(3*i+1))

Next

EncodePassWord=CodePwd

EndFunction

PublicFunctionDecodePassWord(ByValPWDAsString)AsString

DimCodePwdAsString

DimOnePwdAsString*1

DimiAsInteger

CodePwd=""'初始化

OnePwd=""

PWD=Trim(PWD)

i=0

IfLen(PWD)=0Then

DecodePassWord=""

ExitFunction

EndIf

Fori=1ToLen(PWD)

OnePwd=Mid(PWD,i,1)'从代解密的密码中取出一位字符进行ASCII变换

CodePwd=CodePwd&Chr(Asc(OnePwd)-(3*i+1))

Next

DecodePassWord=CodePwd

EndFunction

PublicFunctionExecuteSQL(ByValSQLAsString)AsADODB.Recordset

DimcnnAsNewADODB.Connection

DimrstAsADODB.Recordset

DimsTokens()AsString

PublicStr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=人事管理系统;DataSource=DELL--180"

OnErrorGoToError_Do

cnn.OpenPublicStr

sTokens()=Split(SQL)

IfInStr("INSERT,DELETE,UPDATE",UCase(sTokens(0)))Then

cnn.ExecuteSQL

Else

Setrst=NewADODB.Recordset

Withrst

.ActiveConnection=cnn

.CursorLocation=adUseClient

.CursorType=adOpenStatic

.LockType=adLockOptimistic

.OpenTrim(SQL)

EndWith

'rst.OpenTrim(SQL),cnn,adOpenStatic,adLockOptimistic

SetExecuteSQL=rst

EndIf

Setcnn=Nothing

Setrst=Nothing

ExitFunction

Error_Do:

DimErr_StrAsString

Err_Str="服务器"&Err.Description

IfMsgBox(Err_Str,vbRetryCancel+vbCritical,"警告")=vbRetryThen

Resume

Else

Setcnn=Nothing

Setrst=Nothing

End

EndIf

EndFunction

2、主窗体(菜单栏):

利用菜单编辑器来实现菜单栏,其中包含七个项目及以下的子项目;界面背景用Image属性进行添加图片。

菜单栏界面如下1.3:

3、员工信息管理

员工信息管理其中包括对员工信息的查询、添加、删除、统计、排序。

页面利用Adodc与数据库的连接,还可用SQL语句进行数据库字段的筛选,在运用DataGrid进行数据绑定如图1.4:

(1)员工信息添加

图1.4

(2)员工信息查询

图1.5

(3)员工信息删除、排序

图1.5

1添加的代码为:

PrivateSubcmdAdd_Click()

IfcmdAdd.Caption="确定"Then

Adodc1.Recordset.update

cmdAdd.Caption="添加记录"

Else

Adodc1.Recordset.AddNew

cmdAdd.Caption="确定"

update.Enabled=True

EndIf

EndSub

2查询的代码为:

PrivateSubcmdFind_Click()

IfTxtfind.Text=""Then

MsgBox"请选择查询项目并输入查询内容!

",48,"提示"

ExitSub

EndIf

Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.FindCombFind.Text&"="&"'"&Txtfind.Text&"'"

IfAdodc1.Recordset.EOFThen

MsgBox"记录不存在",64,"提示"

EndIf

EndSub

 

PrivateSubForm_Load()

Adodc1.Visible=False

CombFind.AddItem"姓名"

CombFind.AddItem"职工编号"

CombFind.AddItem"身份证号"

CombFind.AddItem"电话"

EndSub

3删除与排序的代码为:

PrivateSubCmddel_Click()

DimstrResultAsString

strResult=MsgBox("是否真的要删除该员工信息?

",vbYesNoCancel+vbQuestion+vbDefaultButton1,"退出询问")

IfstrResult=vbYesThen

Adodc1.Recordset.Delete

Adodc1.Recordset.MovePrevious

Else

IfstrResult=vbNoThen

EndIf

EndIf

EndSub

 

PrivateSubLabel7_Click()

Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.CommandType=adCmdText

Adodc1.RecordSource="select*from员工资料orderby职工编号asc"

Adodc1.Refresh

EndSub

PrivateSubLabel8_Click()

Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.CommandType=adCmdText

Adodc1.RecordSource="select*from员工资料orderby职工编号desc"

Adodc1.Refresh

EndSub

3、分类管理

分类管理中运用Option控件、Adodc控件可以实现男女性别分类显示。

页面利用Adodc与数据库的连接,在运用DataGrid进行数据绑定;

主要代码如下:

DimcondstrAsString

condstr=""

IfOption1.Value=TrueThen

Ifcondstr=""Then

condstr="性别='男'"

Else

condstr=condstr+"and性别='男'"

EndIf

EndIf

IfOption2.Value=TrueThen

Ifcondstr=""Then

condstr="性别='女'"

Else

condstr=condstr+"and性别='女'"

EndIf

EndIf

Ifcondstr<>""Then'有条件

Adodc1.RecordSource="select*from员工资料where"+condstr

Adodc1.CommandType=adCmdText

Adodc1.Refresh

Else'无条件

Adodc1.RecordSource="select*from员工资料"

Adodc1.CommandType=adCmdText

Adodc1.Refresh

EndIf

图1.7

4、薪酬查询;

图1.8

5、辅助项目管理:

图1.9图2.0

报表:

添加DataEnviroment和DataReport设计器在数据报表中设

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

当前位置:首页 > 职业教育 > 职高对口

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

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