人事管理系统详细设计说明书.docx
- 文档编号:29865982
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:43
- 大小:1.33MB
人事管理系统详细设计说明书.docx
《人事管理系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《人事管理系统详细设计说明书.docx(43页珍藏版)》请在冰豆网上搜索。
人事管理系统详细设计说明书
人事管理系统
──────────────────────────────
详细设计说明书
项目组成员:
何岁岁、刘盼盼、
孙亚洲
详细设计说明书编写者:
何岁岁
【二零一一年十二月二十日】
一、引言
人事管理系统是针对企业内部人事管理设计,分角色实现对公司部门及各部门员工的增、删、改、查以及对员工考勤的管理。
1.1编写目的:
在系统需求分析的基础上,对需求分析中产生的功能模块进行过程描述,设计功能模块的内部细节,包括算法和详细数据结构,为编写源代码提供必要的说明,并作为测试和维护的参考文档。
详细设计说明书的预期用户为所有与此项目相关的决策人员、开发人员和测试人员。
1.2项目背景:
项目名称:
人事管理系统
解决方案名称:
CompanyPersonnelManagementSystem
本项目创意的提出者:
孙亚洲、何岁岁、刘盼盼
开发者:
孙亚洲、何岁岁、刘盼盼
项目介绍:
人事管理是一套先进的管理模式,其实施要取得成功,必须有必需的技术和工具支持,公司人事管理软件(CPM)是实施人事部门人员管理职工必不可少的一套技术和工具集成支持平台。
CPM管理系统基于通讯、计算机等信息技术,能实现企业对职工、部门的良好管理,能够协助管理者更好地完成管理的两项基本任务:
管理和了解职工状况。
1.3定义
CPM:
CompanyPersonnelManagement,公司人事管理系统的缩写
命名规则:
※窗体
命名格式:
功能模块名+Form(例如:
部门管理窗体,SMF)
※控件
命名格式:
窗体名+功能名+控件名(例如:
部门管理窗体中的添加按钮,SMF_Addbtn)
字体格式:
主窗体控件:
微软雅黑,五号,粗体,字体颜色:
黑色
次窗体控件:
微软雅黑,小五,粗体,字体颜色:
黑色
※程序命名:
类:
首字母大写
属性:
首字母大写
方法:
首字母大写
字段:
单词首字母大写、
变量:
小写
1.4参考资料:
详细设计说明书模板资料、《人事管理系统需求分析说明书》
二、数据库设计
数据库名称:
HRManagement
2.1数据库表列表
序号
关系名称
表描述
1
部门表
存储公司的部门名称
2
职位表
存储部门有哪些职位
3
性别表
存储人的性别
4
民族表
存储不同民族信息
5
学历表
存储不同的学历
6
员工表
存储公司的员工信息
7
工作时间类别表
标识时间种类
8
工作时间表
存储上下班时间信息
9
打卡状态
存储打卡正常、迟到、早退三种状态
10
上班打卡记录表
存储员工上班打卡信息
11
下班打卡记录表
存储员工下班打卡信息
12
管理员表
存储管理员级别的员工进入系统的用户名及密码信息,管理员有对员工和部门增删改查的权限
13
超级管理员表
存储超级管理员信息,超级管理员增加了对管理员信息查看、修改和删除的权限
14
用户表
存储员工进入系统的用户名及密码信息
2.2逻辑结构设计:
序号
关系名称
关系的属性
1
部门表
部门ID、部门名称
2
职位表
职位ID、职位名称
3
性别表
性别ID、性别名称
4
民族表
民族ID、民族名称
5
学历表
学历ID、学历名
6
员工表
Id、职工ID、姓名、性别ID、职位ID、部门ID、学历ID、生日、照片、籍贯、现住地址、民族ID、联系方式、工作年限、毕业院校、专业、身份证号码、入职时间
7
工作时间类别表
类别ID、类别名称
8
工作时间表
工作时间ID、工作时间、类别ID
9
打卡状态
打卡状态ID、状态名称
10
上班打卡记录表
记录ID、打卡时间、状态ID、职工编号
11
下班打卡记录表
记录ID、打卡时间、状态ID、职工编号
12
管理员表
管理员ID、用户名、密码、职工编号
13
超级管理员表
超级管理员ID、用户名、密码、职工编号
14
用户表
用户ID、员工工号、密码
2.3物理结构设计:
1.部门表(Sections)
字段
说明
类型
可空
备注
SectionID
ID
Nvarchar
(2)
No
主键
SectionName
部门名称
Nvarchar(20)
No
唯一
2.职位表(Positions)
字段
说明
类型
可空
备注
PositionID
ID
Nvarchar
(2)
No
主键
PositionName
职位名称
Nvarchar(20)
No
唯一
3.性别表(Sexs)
字段
说明
类型
可空
备注
SexID
ID
int
No
主键,自增
SexName
性别名称
Nvarchar(4)
No
唯一
4.民族表(Nations)
字段
说明
类型
可空
备注
NationID
ID
int
No
主键,自增
NationName
民族名称
Nvarchar(16)
No
唯一
5.学历表(EduBackgrounds)
字段
说明
类型
可空
备注
EduBackgroundID
ID
int
No
主键,自增
EduBackgroundName
学历名称
Nvarchar(10)
No
唯一
6.员工表(Staffs)
字段
说明
类型
可空
备注
ID
ID
Int
No
主键,自增
StaffID
职工ID
Nvarchar(10)
No
组合项:
部门ID+职位ID+数字标识
StaffName
姓名
Nvarchar(10)
No
SexID
性别ID
Int
No
外键
PositionID
职位ID
Varchar(4)
No
外键
EduBackgroundID
学历ID
Int
No
外键
Birthday
生日
Nvachar(10)
Yes
Picture
照片
Image
Yes
NativePlace
籍贯
Nvarchar(40)
Yes
NowAddress
现住地址
Nvarchar(40)
Yes
IDcardNo
身份证号码
Nvarchar(18)
No
唯一
NationID
民族ID
Int
Yes
外键
ContactWay
联系方式
Nvarchar(30)
Yes
WorkSeniority
工作年限
Int
No
SectionID
部门ID
Nvarchar
(2)
No
外键
GraduateSchool
毕业院校
Nvarchar(30)
Yes
Major
专业
Nvarchar(16)
Yes
EmployedDate
入职时间
Datetime
No
7.工作时间类别表(WorkingTimeType)
字段
说明
类型
可空
备注
WTTypeID
ID
int
No
主键,自增
WTTypeName
类别名称
Nvarchar(14)
No
唯一
8.工作时间表(WorkingTimes)
字段
说明
类型
可空
备注
WorkingTimeID
ID
int
No
主键,自增
WorkTime
工作时间
Nvarchar(5)
No
唯一
WTTypeID
类别ID
Int
No
外键
9.打卡状态(ClockStatus)
字段
说明
类型
可空
备注
ClockStatusID
ID
int
No
主键,自增
ClockStatusName
状态名称
Nvarchar(10)
No
唯一
10.上班打卡记录表(StartClockRecords)
字段
说明
类型
可空
备注
SClockRecordsID
ID
int
No
主键,自增
SColckTime
打卡时间
DateTime
No
SClockStatusID
打卡状态ID
Int
No
外键
StaffID
职工ID
Nvarchar(10)
No
外键
11.下班打卡记录表(EndClockRecords)
字段
说明
类型
可空
备注
EClockRecordsID
ID
int
No
主键,自增
EColckTime
打卡时间
DateTime
No
EClockStatusID
打卡状态ID
Int
No
外键
StaffID
职工ID
Nvarchar(10)
No
外键
12.管理员表(Adms)
字段
说明
类型
可空
备注
AdmID
ID
int
No
主键,自增
AdmName
管理员名
Nvarchar(15)
No
唯一
AdmPW
密码
Nvarchar(15)
no
StaffID
职工Id
Nvarchar(10)
No
外键
13.超级管理员表(SuperAdms)
段
说明
类型
可空
备注
SuperAdmID
ID
int
No
主键,自增
SuperAdmName
管理员名
Nvarchar(15)
No
唯一
SuperAdmPW
密码
Nvarchar(15)
no
StaffID
职工Id
Nvarchar(10)
No
外键
14.用户表(Users)
字段
说明
类型
可空
备注
UserID
ID
int
No
主键,自增
StaffID
职工Id
Nvarchar(10)
No
外键
UserPW
密码
Nvarchar(15)
no
2.4数据表代码记录
1.部门表(Sections):
ID,名称
createtableSections
(
SectionIDnvarchar
(2)notnullprimarykey,
SectionNamenvarchar(20)notnullunique
)
2.职位表(Positions):
ID,名称
createtablePositions
(
PositionIDnvarchar
(2)notnullprimarykey,
PositionNamenvarchar(20)notnullunique
)
3.性别表(Sexs):
ID,名称
createtableSexs
(
SexIDintnotnullidentity(1,1)primarykey,
SexNamenvarchar(4)notnullunique
)
4.民族表(Nations):
Id,名称
createtableNations
(
NationIDintnotnullidentity(1,1)primarykey,
NationNamenvarchar(16)notnullunique
)
5.学历表(EduBackgrounds):
Id,名称
createtableEduBackgrounds
(
EduBackgroundIDintnotnullidentity(1,1)primarykey,
EduBackgroundNamenvarchar(10)notnullunique
)
6.员工表(Staffs):
Id,职工ID,姓名,性别ID,职位id,学历id,生日,照片,籍贯,现住地址,民族id,联系方式,工作年限,部门id,毕业院校,专业,身份证号码,入职时间
createtableStaffs
(
IDintnotnullidentity(1,1)primarykey,
StaffIDnvarchar(10)notnullunique,
StaffNamenvarchar(10)notnull,
SexIDintnotnullForeignkeyreferencesSexs(SexID),
PositionIDnvarchar(4)notnullForeignkeyreferencesPositions(PositionID),
EduBackgroundIDintnotnullForeignkeyreferencesEduBackgrounds(EduBackgroundID),
Birthdaynvarchar(10)notnull,
PictureImagenotnull,
NativePlacenvarchar(40)notnull,
NowAddressnvarchar(40)notnull,
NationIDintnotnullForeignkeyreferencesNations(NationID),
ContactWaynvarchar(30)notnull,
WorkSeniorityintnotnull,
SectionIDnvarchar(4)notnullForeignkeyreferencesSections(SectionID),
GraduateSchoolnvarchar(30)notnull,
Majornvarchar(16)notnull,
IDcardNonvarchar(18)notnullunique,
EmployedDatedatetimenotnull
)
7.工作时间类别表(WorkingTimeType):
ID,类别
createtableWorkingTimeType
(
WTTypeIDintnotnullidentity(1,1)primarykey,
WTTypeNamenvarchar(14)notnullunique
)
8.工作时间表(WorkingTimes):
Id,工作时间,工作时间类别
createtableWorkingTimes
(
WorkingTimeIDintnotnullidentity(1,1)primarykey,
WorkTimedatetimenotnullunique,
WTTypeIDintnotnullForeignkeyreferencesWorkingTimeType(WTTypeID)
)
9.打卡状态(ClockStatus):
ID,状态名称
createtableClockStatus
(
ClockStatusIDintnotnullidentity(1,1)primarykey,
ClockStatusNamenvarchar(10)notnullunique
)
10.上班打卡记录表(StartClockRecords):
ID,打卡时间,状态ID,职工ID
createtableStartClockRecords
(
SClockRecordsIDintnotnullidentity(1,1)primarykey,
SClockTimeDatetimenotnull,
SClockStatusIDintnotnullForeignkeyreferencesClockStatus(ClockStatusID),
StaffIDnvarchar(10)notnullforeignkeyreferencesStaffs(StaffID)
)
11.下班打卡记录表(EndClockRecords):
Id,打卡时间,标记id职工id
createtableEndClockRecords
(
EClockRecordsIDintnotnullidentity(1,1)primarykey,
EClockTimeDatetimenotnull,
EClockStatusIDintnotnullForeignkeyreferencesClockStatus(ClockStatusID),
StaffIDnvarchar(10)notnullforeignkeyreferencesStaffs(StaffID)
)
12.管理员表(Adms)Id,用户名,密码,职工id
createtableAdms
(
AdmIDintnotnullidentity(1,1)primarykey,
AdmNamenvarchar(15)notnullunique,
AdmPWnvarchar(15)notnull,
StaffIDnvarchar(10)notnullforeignkeyreferencesStaffs(StaffID)
)
13.超级管理员(SuperAdms)Id,用户名,密码,职工id
createtableSuperAdms
(
SuperAdmIDintidentity(1,1)notnullprimarykey,
SuperAdmNamenvarchar(15)notnullunique,
SuperAdmPWnvarchar(15)notnull,
StaffIDnvarchar(10)notnullforeignkeyreferencesStaffs(StaffID)
)
14.用户表(Users)Id,职工id,密码
createtableUsers
(
UserIDintnotnullidentity(1,1)primarykey,
UserPWnvarchar(15)notnull,
StaffIDnvarchar(10)notnullforeignkeyreferencesStaffs(StaffID)
)
2.5数据库RE图
三、软件结构
3.1、顶级结构
3.2、一般职工界面结构
3.3管理员界面
3.4超级管理员界面
四、程序模块描述
4.1登录模块
1.流程图:
输入用户名、密码、
选择身份
登录成功
◆职工输入用户名、密码并选择登录身份,根据选择的身份做不同的操作
◎若选择的是“职工”,系统将查询数据库中的用户表Users的记录,用户名密码核对正确后加载职工主界面;
◎若选择的是“管理员”,系统将查询数据库中的管理员表Adms的记录,用户名密码核对正确后加载管理员主界面;
◎若选择的是“超级管理员”,系统将查询数据库中的用户表SuperAdms的记录,用户名密码核对正确后加载超级管理员主界面;
◎三种身份,若用户名、密码核对不正确,弹出提示消息框:
“用户名或密码错误!
”。
2.界面设计及代码如下:
◎用到的控件字段名、方法及变量有:
※控件:
用户名文本框名称:
Login_UserNametxt
密码文本框名称:
Login_UserPWtxt
身份下拉列表名称:
Login_Rolecom
登录标签名称:
Login_Enterlab
退出标签名称:
Login_Esclab
※变量:
UserChangeuc=newUserChange();//处理登录业务类的实例
※调用方法:
uc.GetUser(user);//核对一般职工的用户名、密码;
uc.GetAdm(adm);//核对管理员的用户名、密码;
uc.GetSupAdm(supadm);//核对超级管理员的用户名、密码。
◎“登录”标签的单击事件:
privatevoidLogin_Enterlab_Click(objectsender,EventArgse)
{
usertype=Login_Rolecom.Text;
try
{
if(usertype=="职工")
{
Useruser=newUser();
user.StaffID=Login_UserNametxt.Text.Trim();
user.UserPW=Login_UserPWtxt.Text.Trim();
count=uc.GetUser(user);
}
elseif(usertype=="管理员")
{
Admadm=newAdm();
adm.AdmName=Login_UserNametxt.Text.Trim();
adm.AdmPW=Login_UserPWtxt.Text.Trim();
count=uc.GetAdm(adm);
}
elseif(usertype=="超级管理员")
{
SuperAdmsupadm=newSuperAdm();
supadm.SuperAdmName=Login_UserNametxt.Text.Trim();
supadm.SuperAdmPW=Login_UserPWtxt.Text.Trim();
count=uc.GetSupAdm(supadm);
}
if(count>0)
{
this.DialogResult=DialogResult.OK;
username=Login_UserNametxt.Text;
this.Close();
}
else
{
MessageBox.Show("用户或密码错误!
");
}
}
catch(Exceptionexc)
{
MessageBox.Show(exc.Message);
}
}
◎“退出”标签的单击事件:
privatevoidLogin_Esclab_Click(objectsender,EventArgse)
{
this.Close();
}
4.2职工考勤模块
1.流程图:
每天中午12点整
每天晚上22点整
◆成功登录系统后
◎所有的职工都可以进行上下班打卡操作,每个职工每天只允许打一次上班卡和一次下班卡;上班打卡时间为每天的am6:
00–12:
00,12点整截止,下班打卡时间为每天的pm12:
00-22:
00,22点整截止。
◎“超级管理员”登录,系统会在每天中午12点和每天晚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 详细 设计 说明书