企业人事信息管理系统课程设计说明书.docx
《企业人事信息管理系统课程设计说明书.docx》由会员分享,可在线阅读,更多相关《企业人事信息管理系统课程设计说明书.docx(28页珍藏版)》请在冰豆网上搜索。
企业人事信息管理系统课程设计说明书
企业人事信息管理系统
课程设计说明书
课程名称:
数据库访问技术
设计题目:
企业人事管理系统
专业:
软件工程班级:
姓名:
学号:
评分:
指导教师:
2013年01月17日
1、课题主要完成内容
1.开发项目简介:
1.1开发项目:
企业人事管理系统
1.2功能要求:
1.2.1基本信息管理
a)名族类别管理(增删改查功能)
b)员工类别管理(增删改查功能)
c)员工状态管理(增删改查功能)
d)文化程度管理(增删改查功能)
e)政治面貌管理(增删改查功能)
f)部门类别管理(增删改查功能)
g)工资类别管理(增删改查功能)
h)职务类别管理(增删改查功能)
1.2.2人事管理
a)员工信息管理(添加、删除、修改)
b)新员工入职
c)员工转正
d)员工离职
e)人事调动(包括部门内调动和部门间调动)
f)员工退休
2.需求分析:
2.1系统包含两大功能模块,即基本信息管理和人事信息管理。
2.2在基本信息管理模块中,又包含八大基本信息管理功能,各自都具备添加、删除、修改、查询的功能操作。
名族类别管理:
实现对员工名族的统计、排序。
员工类别管理:
可统计和管理员工在公司工作的形式。
员工状态管理:
集中管理员工的工作状态。
文化状态管理:
管理员工的文化程度情况。
政治面貌管理:
管理员工的政治面貌情况。
部门类别管理:
统一管理公司的机构设置情况。
工资类别管理:
管理公司的薪酬体系。
职务类别管理:
管理公司的职务分配体系。
2.3基本信息管理模块架构图:
2.4在人事信息管理模块中,包含六大功能模块:
员工信息管理、新员工入职、员工转正、员工离职、人事调动(包括部门内调动和部门间调动)、员工退休。
2.4.1员工信息管理架构图:
实现对员工信息的集中管理,具备增加、删除、修改员工信息的常规操作
2.4.2新员工入职架构图:
对新员工入职情况进行记录
2.4.3员工转正架构图:
主要是针对实习员工,实现对其转正情况的记录
2.4.4员工离职架构图:
用于日常工作中员工出差,请假等情况的管理
2.4.5人事调动架构图:
针对日常人事调动情况的查询和人事信息更新
2.4.6员工退休架构图:
针对老员工退休情况进行集中管理
2.5E-R图设计
2.5.1员工实体E-R图
员工:
主键是员工号,外键包括性别,名族类别,文化程度,政治面貌,职务,部门,工资,员工状态,姓名,员工类别,性别。
2.5.2部门类别实体E-R图
部门类别:
主键是部门类别编号,外键部门类别名。
2.5.3职务类别实体E-R图
职务类别:
主键是职务类别号,外键是职务类别名。
。
2.5.4工资类别实体E-R图
工资类别:
主键是工资类别号,外键是工资类别名。
2.5.5政治面貌实体E-R图
政治面貌类别:
主键是政治面貌号,外键是政治面貌名。
2.5.6总体E-R图
3、数据库设计
3.1PDM图
3.2通过PDM图,利用PowerDesigner工具生成的数据库表结构
/*==============================================================*/
/*Table:
Administrator*/
/*==============================================================*/
createtableAdministrator(
MemberIDintidentity,
MemberNamenvarchar(50)null,
Pwdintnull,
constraintPK_ADMINISTRATORprimarykey(MemberID)
)
go
/*==============================================================*/
/*Table:
CulturalStatus*/
/*==============================================================*/
createtableCulturalStatus(
cuStatusIdintidentity,
cuStatusNamenvarchar(50)null,
constraintPK_CULTURALSTATUSprimarykey(cuStatusId)
)
go
/*==============================================================*/
/*Table:
DepartmentCateory*/
/*==============================================================*/
createtableDepartmentCateory(
deCateoryIdintidentity,
deCateoryNamenvarchar(50)null,
constraintPK_DEPARTMENTCATEORYprimarykey(deCateoryId)
)
go
/*==============================================================*/
/*Table:
DutyCateory*/
/*==============================================================*/
createtableDutyCateory(
duCateoryIdintidentity,
duCateoryNamenvarchar(50)null,
constraintPK_DUTYCATEORYprimarykey(duCateoryId)
)
go
/*==============================================================*/
/*Table:
EmpStatus*/
/*==============================================================*/
createtableEmpStatus(
emStatusIdintidentity,
emStatusNamenvarchar(50)null,
constraintPK_EMPSTATUSprimarykey(emStatusId)
)
go
/*==============================================================*/
/*Table:
EmployCateory*/
/*==============================================================*/
createtableEmployCateory(
emCateoryIdintidentity,
emCateoryNamenvarchar(50)null,
constraintPK_EMPLOYCATEORYprimarykey(emCateoryId)
)
go
/*==============================================================*/
/*Table:
Employees*/
/*==============================================================*/
createtableEmployees(
emIdintidentity,
nationalIdintnull,
emCateoryIdintnull,
poStatusIdintnull,
emStatusIdintnull,
duCateoryIdintnull,
waCateoryIdintnull,
cuStatusIdintnull,
deCateoryIdintnull,
emNamenvarchar(50)null,
emSexnvarchar(50)null,
positiveTimedatetimenull,
retirementTimedatetimenull,
departureTimedatetimenull,
entryTimedatetimenull,
constraintPK_EMPLOYEESprimarykey(emId)
)
go
/*==============================================================*/
/*Table:
Nationall*/
/*==============================================================*/
createtableNationall(
nationalIdintidentity,
nationalNamenvarchar(50)null,
constraintPK_NATIONALprimarykey(nationalId)
)
go
/*==============================================================*/
/*Table:
Personnel*/
/*==============================================================*/
createtablePersonnel(
peIdintidentity,
emIdintnull,
peTimedatetimenull,
lastDepartmentnvarchar(50)null,
lastPositionnvarchar(50)null,
nowDepartmentnvarchar(50)null,
nowPositionnvarchar(50)null,
constraintPK_PERSONNELprimarykey(peId)
)
go
/*==============================================================*/
/*Table:
PoliticStatus*/
/*==============================================================*/
createtablePoliticStatus(
poStatusIdintidentity,
poStatusNamenvarchar(50)null,
constraintPK_POLITICSTATUSprimarykey(poStatusId)
)
go
/*==============================================================*/
/*Table:
WageCateory*/
/*==============================================================*/
createtableWageCateory(
waCateoryIdintidentity,
waCateoryNamenvarchar(50)null,
constraintPK_WAGECATEORYprimarykey(waCateoryId)
)go
3.3向数据库中添加数据以及构建存储过程
INSERT[dbo].[CulturalStatus]([cuStatusName])VALUES('高中')
INSERT[dbo].[CulturalStatus]([cuStatusName])VALUES('专科')
INSERT[dbo].[CulturalStatus]([cuStatusName])VALUES('大学')
INSERT[dbo].[DepartmentCateory]([deCateoryName])VALUES('人事部')
INSERT[dbo].[DepartmentCateory]([deCateoryName])VALUES('管理部')
INSERT[dbo].[DepartmentCateory]([deCateoryName])VALUES('业务部')
INSERT[dbo].[Nationall]([nationalName])VALUES('汉族')
INSERT[dbo].[Nationall]([nationalName])VALUES('傣族')
INSERT[dbo].[Nationall]([nationalName])VALUES('回族')
//[文化程度添加]存储过程
createprocedureCulturalStatus_Add(
@cuStatusNameNvarchar(50)
)
as
begin
insertintoCulturalStatusvalues(@cuStatusName)
end
createprocedureDepartmentCateory_Add(
@deCateoryNameNvarchar(50)
)
as
begin
insertintoDepartmentCateoryvalues(@deCateoryName)
end
createprocedureDutyCateory_Add(
@duCateoryNameNvarchar(50)
)
as
begin
insertintoDutyCateoryvalues(@duCateoryName)
end
//---------------------------------------------------员工基本信息查询存储过程
createprocedureEmployeeInformationManage_Query(
@emNamenvarchar(50)
)
as
begin
selectemIdas员工编号,emNameas员工姓名,emSexas性别,nationalNameas名族,poStatusNameas政治面貌,cuStatusNameas学历,emStatusNameas员工类别,emCateoryNameas员工状态,deCateoryNameas部门,duCateoryNameas职务类别,waCateoryNameas工资类别,entryTimeas入职时间,positiveTimeas转正时间,departureTimeas离职时间,retirementTimeas退休时间
fromdbo.Employees,dbo.Nationall,dbo.EmpStatus,dbo.EmployCateory,dbo.PoliticStatus,dbo.DutyCateory,dbo.CulturalStatus,dbo.WageCateory,dbo.DepartmentCateory
where(dbo.Employees.emName=@emNameanddbo.Employees.nationalId=dbo.Nationall.nationalIdanddbo.Employees.emStatusId=dbo.EmpStatus.emStatusIdanddbo.Employees.emCateoryId=dbo.EmployCateory.emCateoryId
anddbo.Employees.poStatusId=dbo.PoliticStatus.poStatusIdanddbo.Employees.duCateoryId=dbo.DutyCateory.duCateoryIdanddbo.Employees.cuStatusId=dbo.CulturalStatus.cuStatusId
anddbo.Employees.waCateoryId=dbo.WageCateory.waCateoryIdanddbo.Employees.deCateoryId=dbo.DepartmentCateory.deCateoryId)
end
//---------------------------------------------------员工基本信息显示存储过程
CreateprocedureEmployeeInformationManage
as
begin
selectemIdas员工编号,emNameas员工姓名,emSexas性别,nationalNameas名族,poStatusNameas政治面貌,cuStatusNameas学历,emStatusNameas员工类别,emCateoryNameas员工状态,deCateoryNameas部门,duCateoryNameas职务类别,waCateoryNameas工资类别,entryTimeas入职时间,positiveTimeas转正时间,departureTimeas离职时间,retirementTimeas退休时间
fromdbo.Employees,dbo.Nationall,dbo.EmpStatus,dbo.EmployCateory,dbo.PoliticStatus,dbo.DutyCateory,dbo.CulturalStatus,dbo.WageCateory,dbo.DepartmentCateory
where(dbo.Employees.nationalId=dbo.Nationall.nationalIdanddbo.Employees.emStatusId=dbo.EmpStatus.emStatusIdanddbo.Employees.emCateoryId=dbo.EmployCateory.emCateoryId
anddbo.Employees.poStatusId=dbo.PoliticStatus.poStatusIdanddbo.Employees.duCateoryId=dbo.DutyCateory.duCateoryIdanddbo.Employees.cuStatusId=dbo.CulturalStatus.cuStatusId
anddbo.Employees.waCateoryId=dbo.WageCateory.waCateoryIdanddbo.Employees.deCateoryId=dbo.DepartmentCateory.deCateoryId)
end
4、界面效果图
4.1登陆界面
实现多用户登入,需使用密码进入。
数据库中建立了用户表。
4.2人事信息管理系统主界面
包括连个模块,1、基本信息管理(管理员工的属性的增加,删除,更新,查询),2、人事管理(员工的基本信息管理,新员工入职,转正,离职,退休以及人事调动)
4.3基本信息包含的模块
4.4文化程度管理的添加、删除、更新、查询操作(演示如下)
4.4.1查询可以根据属性的ID,NAME分别进行查询:
4.4.1.1可以根据属性的ID进行查询出结果:
:
4.4.1.2可以根据属性的NAME进行查询出结果:
4.4.2添加:
点击增加按钮跳入下一个界面进行属性的增加功能
4.4.3属性的删除模块:
勾选要删除的项目,点击删除按钮
4.6属性的更新功能模块
勾选需要更新的项目,点击更新按钮进入更新界面,修改原有数据,点击确定即可:
4.7员工离职模块功能
勾选离职员工项目,点击【员工离职】按钮,进入员工离职界面:
离职界面中,会显示所选员工编号,原来员工所处的状态:
点击现员工状态下拉框,选择离职,选择离职时间下拉框,选择离职时间,点击提交按钮:
点击确定按钮,界面自动跳转到【员工基本信息管理】界面,可以发现,编号为1的员工状态已改为离职,离职时间一列还添加了时间。
4.8人事调动模块
点击人事调动按钮,进入人事调动界面,即显示信息如下:
添加人事调动记录,点击提交:
点击确定按钮,此时,记录中多了一条杨澜的人事调动记录:
选择员工姓名下拉框中的员工杨澜:
点击查询人事调动记录,查询杨澜调动记录如下:
4.9员工退休模块功能
在员工基本信息中勾选需要退休的员工,利用下拉框进行对员工的退休并记录下退休的时间
修改员工状态为退休,记录退休时间,点击提交按钮:
5、心得体会
一开始拿到课设的课题时,觉得这样的系统实现起来很难,随后老师给做了一番讲解,对它有了初步的概念的理解。
当画出PDM图后,对系统所需的数据库结构有了充分的理解。
接着,使用PowerDesigner生成了数据库的代码,放到SQL2008R2中建好数据库CompanyManagement,向数据库中添加完数据,以及VS中所需的存储过程,至此,数据库部分的工作已经全部完成。
然后,就是系统代码的编写。
在编写代码前,我们充分的做了系统的需求分析,明确了系统将具备什么样的功能后,开始制作各个模块的界面部分。
制作完成后,我们开始编写这些界面及各个控件的后台代码。
经过不断的修改,最终实现了课设所要求的系统功能。
通过这次实验,使我对开发一个微型的应用系统流程有了一个清晰的认识,例如实验前的需求分析,基础数据库的设计,系统具体功能的实现等等,收获很多!
参考文献
1、微软公司.《.NETFarmework2.0程序设计》.高等教育出版社.2007年版
2、微软公司.《数据库访问技术--ADO.NET2.0》.高等教育出版社.2007年版
附录: