人事管理系统软件工程课程设计

来源:二级建造师 发布时间:2020-11-19 点击:

软件工程课程设计
            ―――人事管理系统
                指导老师:
                  班  级:
                  姓  名:
            学 号:
前 言 随着当今社会计算机的不断的发展,人们开发优质软件的能力大大落后于计算机硬件日新月异的进展和社会对计算机软件的不断增长的需求,这种状况已经严重的妨碍了计算机技术的进步,软件工程学就此产生,现在它已经成为计算机科学技术的一个重要分支,一个异常活跃的研究领域,严格遵循软件工程方法论可以大大增高软件开发的成功率,能够显著减少软件开发和维护中的问题。

软件工程学研究的范围非常广泛,包括技术方法,工具和管理等许多方面,软件工程又是一门迅速发展的新兴学科新的技术方法和工具不断涌现。, 系 统 分 析 1.1 系统开发的背景 随着计算机的普及,人们对计算机的人实际需求有了明显的增加。计算机对于大量信息的管理的优势更是显而易见。有了这个员工管理系统,管理员的工作任务就事半功倍了。

1.2 系统开发的目的 本需求的编写目的在于研究管理系统软件的开发途径和应用方法,为以后的开发工作提供可靠的依据。该员工管理系统是一套操作简便实用的员工管理软件,包括“员工工资查询” ,“员工调度查询” ,“员工基本信息”三大功能,实现了日常员工的全面自动管理,提高工作质量等方面,成为员工管理人员不可获缺的工具。  1. 3任务概述 该员工管理系统目前已有比较完善的管理与使用功能。员工管理系统软件是为满足管理员方便对员工的具体信息工资的管理。

1.3.1开发意图 为了员工管理的更完善;

为了员工管理更方便;

减轻员工管理工作人员的工作负担;

为了加强员工各方面的正规化管理。

1.3.2应用目标 通过本系统软件,能帮员工管理人员利用计算机,快速方便的对员工进行管理,例如员工基本信息,福利,工资查询所需操作。

1.3.3作用及范围 本软件使用与各个工厂的员工管理,是一个很方便的员工管理软件以对员工的工资随时进行删除,添加,查询和处理。大大节省了员工管理人员的人力和财力。

人事管理系统需求分析 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。

 人事管理系统是一套功能强大而又操作简单实用的人事管理软件,包括人事管理、考勤管理、工资管理和系统维护管理功能,实现了某单位日常营运的全面自动管理,是各种事业性单位进行电脑信息管理的理想选择。根据计算机数据处理严密可靠的特有机制,在改善单位人、财、物管理,降低管理人员和事务人员工作强度,提高工作质量等方面,该工资管理软件将成为不可或缺的助手和工具。

用户特点:
  该系统的工作人员主要为项目管理人员、各操作人员等。

背景:
软件系统名称:
某单位人事/工资管理系统;

项目任务提出者:
太原科技大学

项目开发者:
计算机0257;

系统用户:
某单位管理人员。

系统配置:
(1)软件配置:
操作系统:Windows 98中文版或Windows2000中文版或更高;

数据库选择:SQL Server 2000;

    开发平台:Visual Basic 6.0。

(2)硬件配置:
  CPU:Pentiun Ⅱ 266或者更高;

  内存:64M或以上;

  硬盘:2G以上;

  显示器:VGA或更高;

系统总体功能需求 该人事管理系统包括人事管理、考勤管理、工资管理和系统维护管理五部分(如图1)。

人事管理系统 人事管理 考勤管理 工资管理 系统维护
 图1 系统总体功能需求框图 人事管理系统 人事管理 考勤管理 工资管理 系统维护 员工信息 人员调动 福利信息 正常出勤 异常出勤 加班处理 工资查询 系 统登录 操作员授权
      图2 系统详细功能需求框图 <1>人事管理系统 此管理系统包括员工信息、人员调动和福利信息三个功能模块。员工信息功能模块主要是对该单位的员工的基本信息进行管理,并能够对员工的基本信息进行查询便于修改和删除。人员调动模块主要是实现本单位人事调动的管理,该模块设置了员工的基本信息表,操作人员能够从该表中直接获得员工的基本信息,再进行人员调动操作,同时也保存了人员调动的历史信息。福利信息主要是对本单位的员工的福利信息进行管理。

<2>考勤管理系统 此管理系统包括正常出勤、异常出勤和加班处理三个功能模块。正常出勤是对员工的迟到和早退进行管理,同时能够查询人员信息,并对查询的人员信息进行添加。异常出勤是对员工的病假和事假进行管理。加班处理包括加班管理、人员信息和加班费率设置三部分组成。该模块主要对员工的加班进行管理,对员工的加班费用进行统计,为后续的功能模块提供数据。

<3>工资管理系统 此管理系统是对员工的工资进行管理。主要功能是对员工的基本工资、福利信息、迟到扣款、请假扣款和加班费用进行查询。

<4>系统维护
此管理系统包括系统登录、操作人员授权两个功能模块。

人事管理系统   (1)员工信息 员工信息功能模块包括新增员工、删除员工、修改员工和查询员工基本信息。该功能模块主要是对系统的初始化,对员工的基本信息进行管理和维护。对员工基本信息的查询,操作人员可以按员工编号、姓名进行查询,对查询结果进行维护。

“员工信息”包括(员工编号、员工姓名、姓别、所在部门、身份证号、地址、邮编、电话);
“员工信息”的ER图如图:
员工信息 姓名 编号 性别 所在部门 身份证号 电话 邮编 地址 (2)人员调动功能 人员调动功能模块包括员工基本信息查询、人员调动两部分组成。员工基本信息查询是为了方便进行人员调动,操作人员在进行人员调动时可以单击查询到人员信息直接进行部门的调动。历史调动信息用于保存每一次人员调动的操作以便以后查询人员调动信息。

“人员调动”包括(员工编号、员工姓名、原属部门、现属部门);
“人员调动”的ER图如图:
人员调动 员工编号 原属部门 现属部门 员工姓名 (3)福利信息功能 该功能模块主要是对本单位的员工的福利信息进行维护,增加、删除、员工的福利情况。

“福利信息”包括(员工编号、员工姓名、福利信息);
“福利信息”的ER图如图:
福利信息 员工编号 员工姓名 福利信息 “人事管理系统”的总ER图如图:
福利 调动支;
  动 查询询 查询询 正常出勤 查询询 查询询 异常出勤 加班处理 工资查询 福利信息 员工信息 操作员信息 人员调动 维护护 操作员年龄 操作员姓名 操作员编码 员工姓名 员工编号 员工姓名 员工编号 原部门 身份证号 现部门 地址 员工编号 员工姓名 员工年龄 身份证号 员工姓名 员工姓名 员工编号 员工编号 福利类型 员工编号 员工姓名 基本工资 请假类型 迟到时间 请假扣款 请假时间 迟到扣款 加班时间 迟到与否 加班费用 员工姓名 员工编号 业务流程图如图:
“人事管理系统”的顶层数据流图如图:
经细化后的“人事管理系统”数据流图如图:
数据字典:
 主要数据流定义:
数据流名称:登陆验证
 位置:操作员“登陆处理
 定义:登陆验证=操作员姓名+密码
 说明:操作员对系统进行维护,必先登陆界面,必须有合法的操作员姓名及密码。

数据流名称:验证结果
 位置:登陆处理“操作员
 定义:验证结果=[登陆成功|用户未注册|密码错误]
 说明:告知操作员登陆结果,如成功登陆,即可直接操作系统。

数据流名称:登记信息
 位置:登记处理“人事管理基本信息
 定义:登记信息=人事管理基本信息
 说明:登记新到员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等 数据流名称:登记结果
 位置:人事管理基本信息“登陆处理
 定义:登陆结果=[成功|失败]
 说明:告知系统操作员登记成功与否。

数据流名称:员工注册
 位置:员工“登陆处理
 定义:员工注册=员工基本信息+密码
 说明:员工登陆页面必须先注册,以得到合法的用户名和密码。

数据流名称:注册结果
 位置:登陆处理“员工
 定义:注册结果=[注册成功|注册失败]
 说明:告知员工注册成功与否。

数据流名称:员工登陆
 位置:员工“登陆处理
 定义:登陆验证=员工姓名+密码 说明:员工对员工的信息进行查询,必先登陆界面,必须有合法的员工姓名及密码。

数据流名称:登记结果
 位置:登记处理“员工处理
 定义:登陆结果=[成功|失败]
 说明:告知员登记成功与否。

数据流名称:查询要求
 位置:员工处理“人事管理基本信息 定义:查询要求=员工姓名 说明:用户要查询的员工姓名 数据流名称:查询结果
 位置:人事管理基本信息“员工处理
 定义:查询结果=[人事管理基本信息|失败]
 说明:员工要查询的人事管理基本信息和失败提示。

数据流名称:系统维护
 位置:登记处理“人事管理基本信息
 定义:登记新到员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等
 说明:登记新到员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等 数据流名称:维护结果
 位置:人事管理基本信息“登记处理
 定义:把登记的员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等反馈给操作员。

   说明:把登记的员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等反馈给操作员。

 数据存储定义:
数据存储名称:操作员授权
  输出:P1 数据结构:操作员姓名+密码
  说明:系统操作员姓名和密码是系统操作员登陆系统的钥匙。

数据存储名称:人事管理基本信息
  输入:P1 输出: P3 数据结构:员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等
  说明:员工的基本信息、人员调动信息、福利信息、正常出勤信息、请假处理信息、加班处理信息、基本工资信息、操作员授权信息等 数据存储名称:员工信息
  输出:P2
数据结构:员工姓名+密码
  说明:员工姓名和密码是员工登陆系统的钥匙。

数据项:
员工信息数据项如表:
数据项名 数据代码 类型 长度 是否为空 员工编号 员工编号  整型
100
否  员工姓名  员工姓名  字符型
100

性别
性别  字符型
100
否  所在部门  所在部门  字符型
100
否  身份证号  身份证号  长整型
100

地址
地址  字符型
100

邮编
邮编  长整型
100

电话
电话  长整型
100
是 人员调动数据项如表:
数据项名  数据代码
类型 
长度  是否为空 员工编号  员工编号 整型 100 否  员工姓名 员工姓名 字符型 100 否  原属部门 原属部门 字符型 100 否  现属部门 现属部门 字符型 100 否 福利信息数据项如表:
数据项名 数据代码 类型 长度 是否为空 员工编号 员工编号 整型 100 否 员工姓名 员工姓名 字符型 100 否 福利信息 福利信息 字符型 100 否 基本工资数据项如表:
数据项名 数据代码 类型 长度 是否为空 员工编号 员工编号 整型 100 否 员工姓名 员工姓名 字符型 100 否 基本工资 基本工资 字符型 100 否 操作员数据项如表:
数据项名 数据代码 类型 长度 是否为空 操作员编号 操作员编号 整型 100 否 操作员姓名 操作员姓名 字符型 100 否 性别 性别 字符型 100 否 年龄 年龄 整型 100 否 身份证号 身份证号 长整型 100 否 地址 地址 字符型 100 是 邮编 邮编 长整型 100 是 电话 电话 长整型 100 是 系统界面:
主界面如图:
用户登陆界面如图:
用户注册界面如图:
注册成功界面如图:
用户选择界面如图:
员工信息查询界面如图:
人员调动查询界面如图:
福利信息查询界面如图:
基本工资查询界面如图:
操作员登陆界面如图:
   操作员选择界面如图:
   员工信息维护界面如图:
   人员调动维护界面如图:
   福利信息维护界面如图:
   基本工资维护界面如图:
   操作员授权界面如图:
  原代码:
 主界面代码:
  Private Sub Command1_Click() End End Sub Private Sub Command2_Click() Me.Hide 用户选择界面.Show End Sub Private Sub Command3_Click() Me.Hide frmLogin.Show End Sub Private Sub 操作员_Click(Index As Integer) Me.Hide frmLogin.Show End Sub Private Sub 用户_Click(Index As Integer) Me.Hide 用户选择界面.Show End Sub 用户选择界面代码:
Private Sub Command1_Click() Me.Hide 员工信息.Show End Sub Private Sub Command2_Click() Me.Hide 人员调动.Show End Sub Private Sub Command3_Click() Me.Hide 人员福利.Show End Sub Private Sub Command4_Click() Me.Hide 正常出勤.Show End Sub Private Sub Command5_Click() Me.Hide 请假处理.Show End Sub Private Sub Command6_Click() Me.Hide 加班处理.Show End Sub Private Sub Command7_Click() Me.Hide 基本工资.Show End Sub Private Sub Command8_Click() Me.Hide 主界面.Show End Sub Private Sub 福利信息_Click(Index As Integer) Me.Hide 人员福利.Show End Sub Private Sub 基本工资_Click(Index As Integer) Me.Hide 基本工资.Show End Sub Private Sub 加班处理_Click(Index As Integer) Me.Hide 加班处理.Show End Sub Private Sub 请假处理_Click(Index As Integer) Me.Hide 请假处理.Show End Sub Private Sub 人员调动_Click(Index As Integer) Me.Hide 人员调动.Show End Sub Private Sub 员工基本信息_Click(Index As Integer) Me.Hide 员工信息.Show End Sub Private Sub 正常出勤_Click(Index As Integer) Me.Hide 正常出勤.Show End Sub 员工信息查询界面代码:
Private Sub Command1_Click() Me.Hide 用户选择界面.Show End Sub Private Sub Command2_Click() Dim n n = Text1.Text Adodc1.RecordSource = “select * from 员工信息 where 员工姓名='“ & n & “'“ Adodc1.Refresh MSHFlexGrid1.Refresh End Sub 人员调动查询界面代码:
Private Sub Command1_Click() Dim n n = Text1.Text Adodc1.RecordSource = “select * from 人员调动 where 员工姓名='“ & n & “'“ Adodc1.Refresh MSHFlexGrid1.Refresh End Sub Private Sub Command2_Click() Me.Hide 用户选择界面.Show End Sub 福利信息查询界面代码:
Private Sub Command1_Click() Dim n n = Text1.Text Adodc1.RecordSource = “select * from 福利信息 where 员工姓名='“ & n & “'“ Adodc1.Refresh MSHFlexGrid1.Refresh End Sub Private Sub Command2_Click() Me.Hide 用户选择界面.Show End Sub 基本工资查询界面代码:
Private Sub Command1_Click() Dim n n = Text1.Text Adodc1.RecordSource = “select * from 基本工资 where 员工姓名='“ & n & “'“ Adodc1.Refresh MSHFlexGrid1.Refresh End Sub Private Sub Command2_Click() Me.Hide 用户选择界面.Show End Sub 员工信息维护界面代码:
Private Sub Command1_Click() 员工信息.Show End Sub Private Sub Form_Load() Set grdDataGrid.DataSource = datPrimaryRS.Recordset(“ChildCMD“).UnderlyingValue End Sub Private Sub Form_Resize() On Error Resume Next '当窗体调整时会调整网格 grdDataGrid.Width = Me.ScaleWidth grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - datPrimaryRS.Height - 30 - picButtons.Height End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) '错误处理程序代码置于此处 '想要忽略错误,注释掉下一行 '想要捕获它们,在此添加代码以处理它们 MsgBox “Data error event hit err:“ & Description End Sub Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '为这个 recordset 显示当前记录位置 datPrimaryRS.Caption = “Record: “ & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '验证代码置于此处 '下列动作发生时该事件被调用 Dim bCancel As Boolean Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancel End Sub Private Sub cmdAdd_Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Recordset .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() '只有多用户应用程序需要 On Error GoTo RefreshErr datPrimaryRS.Refresh Set grdDataGrid.DataSource = datPrimaryRS.Recordset(“ChildCMD“).UnderlyingValue Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateErr datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me 操作员选择界面.Show End Sub 人员调动维护界面代码:
Private Sub Command1_Click() 人员调动.Show End Sub Private Sub Form_Load() Set grdDataGrid.DataSource = datPrimaryRS.Recordset(“ChildCMD“).UnderlyingValue End Sub Private Sub Form_Resize() On Error Resume Next '当窗体调整时会调整网格 grdDataGrid.Width = Me.ScaleWidth grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - datPrimaryRS.Height - 30 - picButtons.Height End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) '错误处理程序代码置于此处 '想要忽略错误,注释掉下一行 '想要捕获它们,在此添加代码以处理它们 MsgBox “Data error event hit err:“ & Description End Sub Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '为这个 recordset 显示当前记录位置 datPrimaryRS.Caption = “Record: “ & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '验证代码置于此处 '下列动作发生时该事件被调用 Dim bCancel As Boolean Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancel End Sub Private Sub cmdAdd_Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Recordset .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() '只有多用户应用程序需要 On Error GoTo RefreshErr datPrimaryRS.Refresh Set grdDataGrid.DataSource = datPrimaryRS.Recordset(“ChildCMD“).UnderlyingValue Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateErr datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me 操作员选择界面.Show End Sub Private Sub grdDataGrid_Click() End Sub 福利信息维护界面代码:
Dim WithEvents adoPrimaryRS As Recordset Dim mbChangedByCode As Boolean Dim mvBookMark As Variant Dim mbEditFlag As Boolean Dim mbAddNewFlag As Boolean Dim mbDataChanged As Boolean Private Sub Command1_Click() 人员福利.Show End Sub Private Sub Form_Load() Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open “PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;dsn=194同学录;uid=;pwd=;database=人事管理系统;“ Set adoPrimaryRS = New Recordset adoPrimaryRS.Open “SHAPE {select 员工编号,员工姓名,福利信息 from 福利信息} AS ParentCMD APPEND ({select 员工编号,员工姓名,福利信息 from 福利信息 } AS ChildCMD RELATE 员工编号 TO 员工编号) AS ChildCMD“, db, adOpenStatic, adLockOptimistic Dim oText As TextBox '绑定文本框到数据提供者 For Each oText In Me.txtFields Set oText.DataSource = adoPrimaryRS Next Set grdDataGrid.DataSource = adoPrimaryRS(“ChildCMD“).UnderlyingValue mbDataChanged = False End Sub Private Sub Form_Resize() On Error Resume Next '当窗体调整时会调整网格 grdDataGrid.Width = Me.ScaleWidth grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - 30 - picButtons.Height - picStatBox.Height lblStatus.Width = Me.Width - 1500 cmdNext.Left = lblStatus.Width + 700 cmdLast.Left = cmdNext.Left + 340 End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If mbEditFlag Or mbAddNewFlag Then Exit Sub Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '为这个 recordset 显示当前记录位置 lblStatus.Caption = “Record: “ & CStr(adoPrimaryRS.AbsolutePosition) End Sub Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '验证代码置于此处 '下列动作发生时该事件被调用 Dim bCancel As Boolean Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancel End Sub Private Sub cmdAdd_Click() On Error GoTo AddErr With adoPrimaryRS If Not (.BOF And .EOF) Then mvBookMark = .Bookmark End If .AddNew lblStatus.Caption = “添加记录“ mbAddNewFlag = True SetButtons False End With Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() '只有多用户应用程序需要 On Error GoTo RefreshErr Set grdDataGrid.DataSource = Nothing adoPrimaryRS.Requery Set grdDataGrid.DataSource = adoPrimaryRS(“ChildCMD“).UnderlyingValue Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() On Error GoTo EditErr lblStatus.Caption = “编辑记录“ mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err.Description End Sub Private Sub cmdCancel_Click() On Error Resume Next SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark > 0 Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = False End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateErr adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast '移到新记录 End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me 操作员选择界面.Show End Sub Private Sub cmdFirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False Exit Sub GoFirstError: MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo GoLastError adoPrimaryRS.MoveLast mbDataChanged = False Exit Sub GoLastError: MsgBox Err.Description End Sub Private Sub cmdNext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > 0 Then Beep '已到最后返回 adoPrimaryRS.MoveLast End If '显示当前记录 mbDataChanged = False Exit Sub GoNextError: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > 0 Then Beep '已到最后返回 adoPrimaryRS.MoveFirst End If '显示当前记录 mbDataChanged = False Exit Sub GoPrevError: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdRefresh.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub 基本工资维护界面代码:
Private Sub Command1_Click() 基本工资.Show End Sub Private Sub Form_Load() Set grdDataGrid.DataSource = datPrimaryRS.Recordset(“ChildCMD“).UnderlyingValue End Sub Private Sub Form_Resize() On Error Resume Next '当窗体调整时会调整网格 grdDataGrid.Width = Me.ScaleWidth grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - datPrimaryRS.Height - 30 - picButtons.Height End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) '错误处理程序代码置于此处 '想要忽略错误,注释掉下一行 '想要捕获它们,在此添加代码以处理它们 MsgBox “Data error event hit err:“ & Description End Sub Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '为这个 recordset 显示当前记录位置 datPrimaryRS.Caption = “Record: “ & CStr(datPrimaryRS.Recordset.AbsolutePosition) End Sub Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '验证代码置于此处 '下列动作发生时该事件被调用 Dim bCancel As Boolean Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancel End Sub Private Sub cmdAdd_Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Recordset .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() '只有多用户应用程序需要 On Error GoTo RefreshErr datPrimaryRS.Refresh Set grdDataGrid.DataSource = datPrimaryRS.Recordset(“ChildCMD“).UnderlyingValue Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdUpdate_Click() On Error GoTo UpdateErr datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdClose_Click() Unload Me 操作员选择界面.Show End Sub 系统的维护 人事管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;
针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。

人事管理系统中涉及到的数据是员工的重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。

设计小结 在这三周的时间里,我在老师的指导下进行曲了有关数据库课程设计项目。通过这次的课程设计,我对数据库有了进一步的了解,加深了我们对数据库基础理论和基础知识的理解。初步掌握了软件系统设计的全过程及使用数据库进行软件设计的基本方法,特别是对简单的数据库设计所涉及的问题。

紧张的设计后我就要给出当中各模块的功能,在我的数据库中我将功能主要分为三个模块即“用户查询”,“用户意见管理”,“系统维护”。在这三个模块中大致地概括了该数据库系统所包含的功能,这就是我做交通管理系统的所在过程。

参考资料 书名:《PowerDesigner软件分析设计技术》
作者:白尚旺 出版社:电子工业出版社 书名:《VisualBasic程序设计教程》
作者:龚沛曾 陆慰民 杨志强 出版社:高等教育出版社 书名:《软件工程导论》
 作者:张海藩  出版社:清华大学出版社

推荐访问:jsp人事管理系统 c++人事管理系统 java人事管理系统 sql人事管理系统 php人事管理系统 c++人事管理系统 vb人事管理系统 南通人事管理系统首页 uml人事管理系统
上一篇:提名审判庭庭长拟任表态发言
下一篇:提名秘书长兼办公厅主任表态发言

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有