数据库课程设计_人事管理系统
人事管理系统一一 设计目标设计目标二二 功能设计功能设计三三 数据库设计数据库设计3.13.1 数据库设计数据库设计 3.1.1 数据库需求分析 3.1.2 数据库概念结构设计 3.1.3 数据库逻辑结构设计与实现3.23.2 系统设计系统设计 3.2.1 系统功能分析 3.3.2 系统功能模块设计 3.3.2 数据流程图3.33.3 主框架窗口设计主框架窗口设计 3.3.1 菜单的创建 3.3.2 工具条的创建 3.3.3 增加一个状态栏指示器3.43.4 增加新员工视类的创建增加新员工视类的创建3.53.5 人事变动视类的创建人事变动视类的创建3.63.6 员工信息查询修改视图类的创建员工信息查询修改视图类的创建3.73.7 登录对话框的创建登录对话框的创建3.83.8 关于对话框的创建关于对话框的创建四四 . .系统实现系统实现五五. . 小结小结六分析及结论六分析及结论七七附录附录1 1 设计目标设计目标人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。本 系统主要维护新员工资料;详细记录人事变动,包括岗位和部门的调整;员工 信息的查询和修改,包括员工个人信息和密码等。根据系统功能的要求,人事 管理系统可以分为新员工档案的输入,人事变更,员工档案的修改和查询等模 块。2 2 功能设计功能设计企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。 使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。 人事管理系统在设计时主要考虑以下几项功能要求:新员工资料的输入。人事变动的详细记录,包括岗位和部门的调整。员工信息的查询和修改,包括员工个人信息等。 为了更好的理解该系统和读懂该系统的源码,读者应对以下的知识点有所了 解:MS SQL SERVER 2000 数据库操作的基础知识。ODBC 数据源基础知识。基本的 SQL 语句,如添加,查询,修改和删除记录语句。Visual C+界面设计和关于数据库的基础知识。三数据库设计三数据库设计3.13.1 数据库设计数据库设计3.1.13.1.1 数据库需求分析数据库需求分析根据数据流程图,可以列出以下数据项和数据结构: 员工信息:员工号,姓名,年龄,部门,职务,员工编号。人事变动:记录号,员工,变动和详细描述。所需的外部数据支持。部门设置:部门编号,名称等。 。 3.1.23.1.2 数据库概念结构设计数据库概念结构设计人事管理系统的 E-R 图如图 3-13-1 所示。人事变动记录员工部门记录编号变动变动- 员工 归属管理部门编号年龄员工号 号号码职位姓名部门图 3-1 人事管理系统 E-R 图3.1.33.1.3 数据库逻辑结构设计与实现数据库逻辑结构设计与实现根据系统 E-RE-R 图,本系统需要有 2 个数据表分别来存放员工个人信息和人 事变动记录。并且需要一个外部数据表(部门信息)的支持。同时部分记录字 段要用代码来表示,依次需要 3 个代码表来分别记录职务和人事变更的代码。 最后,设立一个计数器数据表用于实现员工号的自动分配。这 7 个数据表用 Access 2000 实现,Access 2000 中的设计视图如表所示。其中数据类型的细节 应根据具体字段分别设置,如 PERSON 表的 ID 字段大小为 6,AUTHORITY 字段,SEX 字段,EDU_LEVEL 字段和 STATE 字段的大小为 1,DEPARTMENT 字段,JOB 字段的大小为 3。员工个人信息表(员工个人信息表(PERSON) 字段名称数据类型说明 ID文本员工号 NAME文本姓名 DEPARTMENT文本所在部门 JOB文本职务 SPECIALTY文本专业技能 REMARK文本备注职务代码表(职务代码表(JOB) 字段名称数据类型说明 CODE文本代码 DESCRIPTION文本描述部门信息表(部门信息表(DEPARTMENT) 字段名称数据类型说明 ID文本部门编号 NAME文本部门名称3.23.2 系统设计系统设计3.2.13.2.1 系统功能分析系统功能分析 人事管理系统主要有以下几项功能要求:新员工资料的输入。自动分配员工号。人事变动的详细记录,包括岗位和部门的调整。员工信息的查询和修改,包括员工个人信息等。 3.2.23.2.2 系统功能模块设计系统功能模块设计 根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能 模块如图 3-2 所示。人事管理系统新员 工档 案输 入人事 变更员工 档案 查询 修改图图 3-23-2 人事管理系统功能模块图人事管理系统功能模块图3.2.33.2.3 数据流程图数据流程图 系统的数据流程图如图 3-3 所示,所有数据由人事科管理人员输入。招聘新员工员工辞退岗位调整分配员工号员工信息数据人事变动记录 人事科图图 3-33-3 人事管理系统数据流程图人事管理系统数据流程图下面是系统运行时主要界面信息。人事管理系统人事管理系统“增加新员工”子窗口中,员工号和密码会自动按顺序生成,并且不允许修 改。 “人事变动”和“员工信息查询修改”子窗口中,须先输入员工号, 确认显 示的信息后才可进行相关的修改。产生的 3 个窗体列在“窗口”菜单下。当鼠标 在菜单项上移动时,状态栏中会自动显示菜单项的 Prompt 属性的内容。 “窗口”菜 单中的 4 项功能是标准的窗口排列功能。个人信息 查询3.33.3 主框架窗口设计主框架窗口设计3.3.13.3.1 菜单的创建菜单的创建用 VisualC+6.0 的菜单编辑器(Menu Editor)可以会让你方便的创建菜 单。在菜单编辑器中打开的设计窗口如图 3-6 所示。 AppWizard 创建的程序默认有两个菜单:IDR_MAINFRAME 为主框架窗口所 用,IDR_TESTTYPE(设应用程序名为 Test)为子框架窗口所用。因本例中没有用 默认的子框架,所以将 IDR_TESTTYPE 菜单删去,同时重新编辑 IDR_MAINFRAME 菜单,菜单属性设置如表 3-11 所示。图图 3-63-6 菜单编辑器窗口菜单编辑器窗口 3.3.23.3.2 工具条的创建工具条的创建用 Visual C+6.0 的工具条编辑器(Toolbar Editor)可以很方便的编辑工具 条。本程序创建的工具条如图所示,其中工具条各按钮的 ID 分别对应相应的菜 单项,按从左到右的次序对应的菜单项 ID 如表 3-12 所示。表表 3-123-12 工具条按钮对应的菜单项工具条按钮对应的菜单项 ID次序ID 1ID_SYSTEM_CONNECT 2ID_SYSTEM_DISCONNECT 3ID_MANAGE_ADD 4ID_MANAGER_CHANGE 5ID_MANAGER_SEARCH 6ID_WINDOW_CASCADE3.3.33.3.3 增加一个状态栏指示器增加一个状态栏指示器 在程序中加入一个状态栏指示器以显示登录状态。首先用增加一个资源 ID:ID_INDICATOR_LOGIN,然后在 MainFrm.cpp 中找到 indicators 变量的定 义处,添加此 ID 至其列表,程序如下: Static UNIT indicators= ID_SEPARATOR, /status line indicator ID_INDICATOR_LOGIN, /登录状态 ID_INDICATOR_CAPS, ID_INDICATOR_NUM, ID_INDICATOR_SCRL, ;3.43.4 增加新员工视类的创建增加新员工视类的创建首先加入一个新的窗体资源,在 Insert Resource 对话框中选择 Dialog 的 IDD_FORMVIEW 项。窗体创建后,在其上添加所需控件,最后的布局如图 3- 8 所示。创建好资源后,为窗体加入一个由 CFormView 类继承的 CAddView 封 装此窗体资源,然后用 Class Wizard 为所需控件加入成员变量。主要控件类型、 ID 和对应的成员变量及说明如表所示。增加新员工窗体增加新员工窗体 表表 1-131-13 增加新员工窗体控件列表增加新员工窗体控件列表 控件类型ID成员变量说明 Edit BoxIDC_ADD_EDT_IDm_strID员工号 Edit BoxIDC_ADD_EDT_NAMEm_strName姓名Combo BoxIDC_ADD_CMB_DEPARTMEN Tm_cDepartment m_strDepartment部门Combo BoxIDC_ADD_CMB_JOBm_cJob m_strJob职务ButtonIDC_ADD_BTN_ADD无“增加”按钮 CAddView 类需要用到主框架窗口类和加密类,因此需要在 cpp 文件开头加入 以下两行: #include “Crypt.h“ #include “MainFrm.h“ 另外,为了使用全局数据库变量 db,需要在 cpp 文件开头加入如下语句: Extern CDatabase db;3.53.5 人事变动视类的创建人事变动视类的创建首先加入一个新的窗体资源,同样在 Insert Resource 对话框中选择 Dialog 的 IDD_FORMVIEW 项。窗体创建后,在其上添加所需控件,最后的布局如图 3-9 所示。创建好资源后,为窗体加入一个由 CFormView 类继承的 CChangeView 封装此窗体资源,然后用 Class Wizard 为所需控件加入成员变量。 主要控件类型,ID 和对应的成员变量及说明如表 3-14 所示。图图 3-93-9 人事变动输入窗体人事变动输入窗体表表 1-141-14 人事变动窗体控制列表人事变动窗体控制列表 控制类型 ID 成员变量 说明 Edit BoxIDC_CHANGE_EDT_IDm_strID员工号 Edit BoxIDC_CHANGE_EDT_NAMEm_strName姓名 Combo BoxIDC_CHANGE_CMB_DEPARTMEN Tm_cDepartment部门Combo BoxIDC_CHANGE_CMB_JOBm_cJob职务 ButtonIDC_CHANGE_BTN_CHANGE无 “修改” 按钮CChangeView 中需要加入如下语句包含主框架窗口类: #include “MainFrm.h“同样,本类也需要加入以下语句引用全局变量 db。 extern CDatabase db;3.63.6 员工信息查询修改视图类的创建员工信息查询修改视图类的创建首先加入一个新的窗体资源,同样在 Insert Resourse 对话框中选择 Dialog 的 IDD_FORMVIEW 项。窗体最后的布局如图 3-10 所示。创建好资源后,为 窗体加入一个由 CFormView 类继承的 CSearchView 封装此窗体资源,然后用 Class Wizard 为所需控件加入成员变量。主要控件类型,ID 和对应的成员变量 及说明如表所示。员工信息查询修改视图员工信息查询修改视图表表 3-153-15 员工信息查询修改窗体控件列表员工信息查询修改窗体控件列表 控制类型 ID 成员变量 说