企业人事管理系统系统设计说明书.docx
《企业人事管理系统系统设计说明书.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统系统设计说明书.docx(31页珍藏版)》请在冰豆网上搜索。
企业人事管理系统系统设计说明书
附录三
企业人事管理系统
系统设计说明书
、设计说明书
1引言
1.1编写目的
本说明书目的在于明确说明系统各功能的实现方式,指导开发员进行编码。
本说明书的预期读者为:
部门管理人员、系统设计人员、测试人员以及部分参与需求评审的人员。
1.2背景
待开发软件系统的名称:
企业人事管理系统;
此软件系统任务提出者:
贵州大学;
此软件系统任务开发者:
张光兰、谯亚军
此软件系统任务用户:
企业的所有员工。
1.3基线
企业人事管理系统需求分析说明书v1.0。
1.4范围
本系统的目标是管理企业员工、部门、岗位、人事调动的管理和经理及高层能对招聘人才做出计划。
系统包括企业的员工管理、部门管理、岗位管理基本管理工作。
系统包括为了开展上述工作而作的模块结构设置、管理角色设置、权限功能设置。
系统还包括为了监控、分析各项基本管理工作而编制的各项统计报表。
1.5定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
【角色】在登陆界面上面有一个角色选择按钮,角色的意思是该系统使用者身份级别,不同的身份级别将有不同的使用权限。
【在职人数】一个部门下面有很多不同的岗位,岗位上的容纳量,而岗位上的在职人数就可以表明,该岗位上的员工人数是否足够。
目的是可以根据这个值来确定招聘计划。
【月提层】该企业中的某一岗位的基础工资是固定的,员工的月提层是不同的,这样算下来才能区分出不同员工的总工资是不同的。
【打印】这是一个新增加的功能,点击它可以打印相关的文件信息出来。
1.6参考资料
a)某单位《书店管理系统》
b)某单位《宾馆客房管理系统》
c)《C#程序设计经典教程》--清华大学出版社
d)《C#开发实战1200例》(第I卷)--清华大学出版社
2总体设计
2.1概述
2.1.1功能描述
系统需要实现以下几个主要功能:
(1)登陆管理:
不同的管理员有不同权限,每一个管理员拥有自己的登陆用户名和密码,管理员都拥有查询和修改所有的职工的信息的权限,而只有高级管理员才拥有对管理层查询和修改的权限。
(2)系统管理:
1、对系统管理层人员的信息进行增、删、改、查;
2、企业部门和岗位的增、删、改、查;
3、员工基本信息的录入:
姓名,性别,年龄,身份证号,联系号码,家庭地址,婚姻状况,学历信息;
4、员工岗位信息录入:
职工号,任职时间,岗位编号,所在部门等;
5、员工的奖惩信息:
增、删、改、查。
6、员工基本信息的修改;
7、对于转出、辞职、辞退、退休员工信息的删除;
8、按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询、按职工号、按姓名等,至少应该包括按职工号、按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;
8、对查询、统计的结果打印输出;
(3)其他功能:
界面(要求容易操作);
2.2运行环境
2.2.1软件环境
分类
名称
语种
操作系统
Windows7
中文
数据库平台
SQL2008
应用平台
Visualstudio2010
应用平台补丁
2.2.2硬件环境
服务器
最低配置
推荐配置
应用和数据库服务器
CPU1.5GHz
CPU2.8GHz
内存2GB
内存4GB
磁盘160GB
磁盘320GB
2.3系统总体结构和软件技术
2.3.1系统构思
2.3.2软件框架
实现多层架构的设计框架;
3系统功能设计
采用原型模型设计该系统。
3.1安全管理功能
3.1.1登陆
打开企业人事管理系统可以看到如下界面:
企业员工选择角色并输入自己的用户名和密码可以登陆,正确登陆后可以得到如下界面:
密码和验证码正确之后将进入人事管理主界面
3.1.2安全管理
3.1.3重新登陆
公司的所有员工都可以根据自己改变后的用户名和密码在这里重新登陆。
3.1.4修改密码
每个员工可以通过初始密码登陆后修改自己的密码,以确保自己的信息安全。
3.1.5退出
点击“退出”可以在这里安全退出,会弹出一个提示用户的窗口,提示用户“你真的要退出系统吗?
”,选择确定按钮,及可以退出系统,并弹出一个提示用户的窗口“你已经成功退出系统”,选择返回及可以返到主界面,继续下一步的操作。
3.2系统维护功能
此项功能为系统管理员能进行的功能,仅以管理员身份进入才能进行如下操作。
3.2.1管理员维护子功能
此功能可以增加,修改,删除企业部门。
部门管理
员工管理
3.2.2员工信息管理子功能
此功能能对公司的人员进行增减删操作。
3.2.3岗位信息管理子功能
此功能能够登记公司下属的各个部门,能够处理部门增减变化的情况,登记各部门的编号、名称、部门负责人。
部门负责人从员工名册中选择,可以随时更换。
部门编号在登记之后不得修改。
部门下属员工从职员名册中选择。
一个职员只能属于一个部门。
部门职位管理
部门员工信息管理
3.2.4部门信息管理子功能
部门的增加、删除、更新、及相应的部门主管。
3.2.5员工奖惩信息管理子功能
动态增加、删除、修改员工的奖惩信息
4概念模型设计
4.1系统实体设计
实体列表
Name
Code
Parent
Generate
Number
员工
Employee
ConceptualDataModel'EMS'
TRUE
奖惩
RewardPunish
ConceptualDataModel'EMS'
TRUE
岗位
Post
ConceptualDataModel'EMS'
TRUE
职位信息
EmployeePost
ConceptualDataModel'EMS'
TRUE
部门
Department
ConceptualDataModel'EMS'
TRUE
基本表
[企业员工基本信息表]
Name
Code
DataType
Mandatory
员工编号
EmployeeID
Variablecharacters(50)
TRUE
姓名
Name
Variablecharacters(50)
TRUE
图片
Image
Image(100)
FALSE
密码
PassWord
Variablecharacters(50)
TRUE
出生日期
Birth
Date
TRUE
身份证号
Identity
Variablecharacters(50)
TRUE
联系方式
Tell
Variablecharacters(50)
TRUE
性别
Sex
Bit
TRUE
家庭地址
Address
Variablecharacters(200)
TRUE
婚姻状况
Marriage
Bit
TRUE
学历
Education
Variablecharacters(50)
TRUE
[企业员工奖惩表]
Name
Code
DataType
Mandatory
部门名称
DepartName
Variablecharacters(50)
TRUE
岗位名称
PostName
Variablecharacters(50)
TRUE
日期
Date
Date
TRUE
类别
Sort
Bit
TRUE
描述
Describe
Variablecharacters(500)
TRUE
[企业部门表]
Name
Code
DataType
Mandatory
部门编号
DepartmentID
Variablecharacters(50)
TRUE
部门名称
DepartmentName
Variablecharacters(50)
TRUE
负责人
Principal
Variablecharacters(50)
TRUE
密码
PassWord
Variablecharacters(50)
TRUE
联系方式
Tell
Variablecharacters(50)
TRUE
部门简介
Introduce
Variablecharacters(500)
TRUE
[员工岗位信息表]
Name
Code
DataType
Mandatory
任职日期
PostTime
Date
TRUE
月提成
Extra
Money(8,2)
FALSE
4.1.1数据表设计:
部门表
员工表
员工职位信息表
岗位表
奖惩表
管理员表
管理员信息
4.2概念模型设计
1、建立实体
根据需求分析阶段的分析报告,可以将该系统分为三个实体,即员工实体、部门实体、岗位实体,通过建模工具创建分析出来的三个实体。
企业人事管理系统联系图
企业人事管理系统概念模型
4.3物理模型设计
4.4物理模型图
1、数据库连接测试完成后先运行建模工具生成的SQ语句,确认生成的代码是否有误。
无误的界面
2、由于在建模生成的物理模型的SQL语句不是很完整,所以还要对SQL语句进行优化。
1)对员工表添加标志列,其代码为如下红色部分:
createtableEmployee(
IDINTIDENTITY(1,1),
EmployeeIDvarchar(50)notnull,
Namevarchar(50)notnull,
[Image]imagenull,
[PassWord]varchar(50)DEFAULT(123456)notnull,
Birthdatenotnull,
[Identity]varchar(50)notnull,
Tellvarchar(50)notnull,
SexbitDEFAULT(0)notnull,
[Address]varchar(200)notnull,
MarriagebitDEFAULT(0)notnull,
Educationvarchar(50)notnull,
constraintPK_EMPLOYEEprimarykeynonclustered(EmployeeID)
)
2)对部门信息表中的Name属性添加唯一性,表示部门名称不能同名,添加标志列,其代码为如下红色部分:
createtableDepartment(
DepartmentIDvarchar(50)notnull,
DepartmentNamevarchar(50)uniquenotnull,
Principalvarchar(50)uniquenotnull,
[PassWord]varchar(50)DEFAULT(123456)notnull,
Tellvarchar(50)notnull,
Introducevarchar(500)notnull,
constraintPK_DEPARTMENTprimarykeynonclustered(DepartmentID)
)
3)对员工职位信息表的Time属性添加默认时间为任职部门岗位的时间,还要对员工职位信息表添加叠成,表示当员工信息或岗位信息发生改变时员工职位的相应信息也发生改变,添加标识列,其代码为如下红色部分:
createtableEmployeePost(
IDINTIDENTITY(1,1),
PostIDvarchar(50)notnull,
EmployeeIDvarchar(50)notnull,
PostTimedateDEFAULT(GETDATE())notnull,
Extramoneynull
)
altertableEmployeePost
addconstraintFK_EMPLOYEE_EMPLOYEE_EMPLOYEEforeignkey(EmployeeID)
referencesEmployee(EmployeeID)
ONUPDATECASCADE
ONDELETECASCADE
altertableEmployeePost
addconstraintFK_EMPLOYEE_PSOTANDPO_POSTforeignkey(PostID)
referencesPost(PostID)
ONUPDATECASCADE
ONDELETECASCADE
4)对岗位表添加叠成,表示当部门信息发生改变时岗位的相应信息也发生改变,添加标志列,其代码为如下红色部分:
createtablePost(
IDINTIDENTITY(1,1),
PostIDvarchar(50)notnull,
DepartmentIDvarchar(50)notnull,
PostNamevarchar(50)notnull,
BasePaymoneynotnull,
Volumeintnotnull,
JobPeopleintnotnull,
PostItroducevarchar(500)notnull,
constraintPK_POSTprimarykeynonclustered(PostID)
)
altertablePost
addconstraintFK_POST_DPANDPOST_DEPARTMEforeignkey(DepartmentID)
referencesDepartment(DepartmentID)
ONUPDATECASCADE
ONDELETECASCADE
5)对奖惩表添加叠成,表示当员工信息发生改变时岗位的相应信息也发生改变,添加标志列,其代码为如下红色部分。
createtableRewardPunish(
IDINTIDENTITY(1,1)primarykey,
EmployeeIDvarchar(50)notnull,
DepartNamevarchar(50)notnull,
PostNamevarchar(50)notnull,
DatedateDEFAULT(GETDATE())notnull,
SortbitDEFAULT(0)notnull,
Describevarchar(500)notnull
)
altertableRewardPunish
addconstraintFK_REWARDPU_EMPLOYEEA_EMPLOYEEforeignkey(EmployeeID)
referencesEmployee(EmployeeID)
ONUPDATECASCADE
ONDELETECASCADE
6)创建管理员表,并且添加管理员,代码如下。
GO
CREATETABLE[Admin]
(
IDINTIDENTITY(1,1),
LoginNameNVARCHAR(50)NOTNULLUNIQUE,
[Password]NVARCHAR(50)NOTNULL,
RealNameNVARCHAR(50)NOTNULL,
PRIMARYKEY(LoginName)
);
GO
--添加数据到管理员表Admin
INSERTINTOAdmin(LoginName,[Password],RealName)VALUES('qyj','qyj','谯亚军')
INSERTINTOAdmin(LoginName,[Password],RealName)VALUES('zgl','zgl','张光兰')
7)修改完表结构后还要对岗位表添加触发器,当员工任职时相应的岗位在职人数自动加1,当员工离职时相应的岗位在职人数自动减1,其Sql代码如下。
--设置插入触发器
CREATETRIGGERTrigger_Insert_EmployeePost
ONEmployeePost
AFTERINSERT
AS
DECLARE@PostIDvarchar(50);
SELECT@PostID=PostIDFROMINSERTED;
UPDATEPostSETJobPeople=JobPeople+1WHEREPostID=@PostID;
--设置删除触发器
GO
CREATETRIGGERTrigger_EDLETE_EmployeePost
ONEmployeePost
AFTERDELETE
AS
DECLARE@PostIDvarchar(50);
SELECT@PostID=PostIDFROMDELETED;
UPDATEPostSETJobPeople=JobPeople-1WHEREPostID=@PostID;
3、修改完后运行SQL语句以确保改正在修改过程产生的错误
有错误的结果
改正后的的结果图片
4、当修改完后且运行无误后打开数据查看表确定是否创建成功。
部门表
员工表
员工职位信息表
岗位表
奖惩表
管理员表
管理员信息
5尚待解决的问题
该系统最大的问题是Windows窗体型的。
而不是Web型的,及企业员工不能随时随地的访问该系统,在后续的学习中,将会更进一步学习web的编程。