1、信息系统设计 2006-01-18 共 8 页 当前第 0 页人事管理系统的设计与实现-2002112105 程红秀文件类型: 软件开发用技术文档开发工具: Visual C+6.0 SQL Server 2000作 者: 程红秀完成日期: 2018 年 10 月 27 日一:系统功能综述:企业之间的竞争主要体现在三个方面:产品市场的竞争、资金市场的竞争和人才市场的竞争。在网络经济的环境下,人才是企业生存发展的基础,企业必须建立有效的人力资源管理系统,才能在竞争中取得优势. 完善的人力资源管理的两大目标是: 第一,有效地降低管理层、员工和人力资源部员工用于人力资源管理上的时间消耗;第二,要促使
2、人力资源部和管理层更加关注“增值活动” ,从而吸引、发展和留住优秀人才。本系统采用 Visual C+6.0 作为开发工具,利用 ADO 技术操作 SQL Server 数据库. 程序界面采用多文档的形式。本系统可分为以下几个功能模块:( 0) 管理员登录模块(一) 部门信息的管理(1). 添加部门信息(2). 修改部门信息1(3). 删除部门信息(二) 员工基本信息的管理。(1). 资料分类 (基本资料, 公司资料 , 个人资料, 家庭资料等)(2). 雇员可设置多种类型与级别(3). 职位可设置多种类型与级别(4). 保存人事变动数据(5). 记录雇员履历等数据(6). 岗位调动时自动更新
3、上下级关系 (三) 工作经历的记录。2(四) 员工的考勤信息的登记(1). 可自定义班值规律(2). 人事部门可定义排班技术(3). 可提供考勤机接口程序(4). 可在所需时间段内检查员工考勤记录并做统计分析(5). 可手工输入和调整员工考勤,并支持批处理(6). 支持公司考勤数据导入(7). 考勤数据可导出成为 XML 文件(五) 员工考评信息的登记(1). 自由定义奖惩种类(2). 可添加、修改、撤销以及删除员工奖惩(3). 高级查询功能(4). 导出为 XML 文件(5). 可选择要考评的部门,并选择月份3(六) 管理员的添加,删除和密码维护。管理员有超级管理员和普通管理员 2 类。超级
4、管理员拥有所有权限,可以添加其他管理员。而普通管理员登陆后,只能浏览信息,而不能修改信息。二:系统的 E-R 图:ER 模型的图例实体: 联系: 属性: 4三:数据库设计:*创建数据库*/USE master -切换到 master 数据库CREATE DATABASE Renshi -创建数据库 Renshi USE Renshi -切换到 Renshi 数据库/*创建部门表*/CREATE TABLE Bumen(BumenID int PRIMARY KEY IDENTITY, -部门编号BumenName varchar(40) NOT NULL, -部门名称Describe varc
5、har(400), -部门描述UpperID int NOT NULL -上级部门编号)/*创建员工*/CREATE TABLE Yuangong(yg_ID int PRIMARY KEY IDENTITY, -员工编号yg_Name varchar(50) NOT NULL, -员工姓名Photo image, -员工照片Sex char(2), -性别Nationality varchar(40), -民族Birth varchar(20), -生日Political_Party varchar(40), -政治面貌Culture_Level varchar(40), -文化水平Mari
6、tal_Condition varchar(20), -婚姻状况Family_Place varchar(60), -家庭住址Id_Card varchar(20), -身份证号BadgeID varchar(40), -工作证号Office_phone varchar(30), -办公电话Mobile varchar(30), -手机号Files_Keep_Org varchar(100), -毕业院校5Hukou varchar(100), -户口所在地HireDate varchar(20), -上岗日期BumenID int, -所在部门 IDPosition varchar(40),
7、 -工作岗位Title varchar(20), -职务State tinyint, -人员类型UpperID int, -上级人员Contract_Duration varchar(20), -合同有效期Memo varchar(200), -备注信息FillAdmin varchar(30), -管理员FillDate -填写日期)/*创建家庭表*/CREATE TABLE Family(Id tinyint PRIMARY KEY IDENTITY,yg_ID int NOT NULL, -员工编号Name varchar(50) NOT NULL, -姓名Sex char(2), -性
8、别Age tinyint, -年龄Relationship varchar(20), -关系WorkingOrg varchar(40) -工作单位)/*创建工作经历表*/CREATE TABLE Jingli(Id tinyint PRIMARY KEY IDENTITY, -自动增加的 IDyg_ID int NOT NULL, -员工 IDStartDate char(10), -开始日期EndDate char(10), -结束日期Unit varchar(50), -工作单位Title varchar(20) -担任职务)/*创建考勤表*/CREATE TABLE Kaoqin(Ch
9、eckDate char(10) NOT NULL, /*考勤日期*/yg_ID int NOT NULL, /*员工号*/ qqDays decimal(4,1), /*全勤天数*/ccDays decimal(4,1), /*出差天数*/bjDays decimal(4,1), /*病假天数*/6sjDays decimal(4,1), /*事假天数*/kgDays decimal(4,1), /*旷工天数*/fdxjDays decimal(4,1), /*法定休假天数*/nxjDays decimal(4,1), /*年修假天数*/dxjDays decimal(4,1), /*倒修假
10、天数*/cdMinutes tinyint, /*迟到时间(分钟)*/ztMinutes tinyint, /*早退时间*/ot1Days decimal(4,1), /*一类加班天数*/ot2Days decimal(4,1), /*二类加班天数*/ot3Days decimal(4,1), /*三类加班天数*/ Memo varchar(200) /*备注信息*/)/*创建考评表*/CREATE TABLE Pingjia(EvaMonth char(10) NOT NULL, -考评月份yg_ID int NOT NULL, -员工编号ztEva varchar(200), -总体评价j
11、lReason varchar(200), -奖励事由jlAmount smallint, -奖励金额cfReason varchar(200), -处罚事由cfAmount smallint, -处罚金额Memo varchar(200) -备注信息)/*创建用户表*/CREATE TABLE Admin(UserName varchar(40) PRIMARY KEY, -用户姓名Pwd varchar(40) NOT NULL, -用户密码UserType tinyint NOT NULL -用户权限)INSERT INTO Admin Values(e, e, 1) -插入默认的管理员
12、数据库表之间的关系如下图所示:7对应于数据库中的表,程序中为每个表建立了一个操作数据库的类,这样以后需要操作数据库时,直接调用这些类的成员函数就可以了,使程序更加设计面向对象:管理员表 Admin-CAdmin 类部门表 Bumen-CBumen 类员工表 Yuangong-CYuangong 类家庭表 Jiating-CJiating 类考勤表 Kaoqin- -CKaoqin 类考评表 Kaoping-CKaoping 类工作经历 Jingli-CJingli 类/*建立数据库连接和执行 SQL 语句的类 CADO 定义如下*/#if !defined AFX_CADO_H_#define
13、 AFX_CADO_H_#pragma once#import “C:Program FilesCommon FilesSystemadomsado15.dll“ no_namespace rename(“EOF“,“adoEOF“) rename(“BOF“,“adoBOF“)/*/class CADO private:_ConnectionPtr m_pConn; /数据库连接对象_RecordsetPtr m_pRS; /记录集对象public:CADO(); /在构造函数中创建连接virtual CADO(); /在析构函数中关闭记录集,释放连接public:_RecordsetPtr / 执行 返回记录集的 SQL 语句BOOL Execute(CString strSQL); / 执行不返回记录集的 SQL 语句;/*/#endif