人事管理系统需求分析文档.docx
- 文档编号:6383417
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:19
- 大小:339.62KB
人事管理系统需求分析文档.docx
《人事管理系统需求分析文档.docx》由会员分享,可在线阅读,更多相关《人事管理系统需求分析文档.docx(19页珍藏版)》请在冰豆网上搜索。
人事管理系统需求分析文档
人事管理系统需求分析文档
1编写目的
开发设计基于SQLSERVER的数据库,进而对数据库有更深刻的认识,同时锻炼自己上机动手能力。
1.2背景
说明:
a.该软件命名为:
人事管理系统;
b.本项目的任务提出者:
指导老师
开发者:
王青峰,王加龙
用户:
企业
2系统开发环境
操作系统:
Windows2000
数据库:
Sqlserver2000
开发语言:
java语言
需求分析:
本系统是人事管理系统,它主要实现管理员如何对普通用户进行授权,如何插入、删除一个员工的信息,用户如何浏览员工的所有信息,以及用户如何查询自己想要的结果,也即是通过输入查询条件,显示符合条件的员工记录以及如何显示这个员工的全部信息。
如何对查询或统计出来的符合条件的记录用报表的形式打印出来,窗口打开时的排放顺序,也即是平铺还是重叠。
系统功能需求分析
该系统需要完成如下功能:
1员工各种信息的输入,包括员工的基本信息、学历信息、培训记录、调动记录、奖惩记录、考勤信息、工资信息。
2员工各种信息的修改。
3对于辞职、退休、开除员工信息的管理。
4按照某种条件,查询统计符合条件的员工信息。
5对用户进行授权。
6对查询、统计的结果打印输出。
3系统功能分析
系统开发的总体任务是实现企业人事管理的系统化、规范化和自动化。
本系统所具有的功能主要有:
●普通员工查看员工信息
•●加班津贴的管理。
(根据加班的时间和类型给予不同的加班津贴。
)
•●员工月工资的生成。
(根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工月工资。
)
•●系统管理员对系统的管理。
•●企业工资报表的生成。
(支持各种不同形式的报表,如单个员工工资报表生成、部门员工工资报表生成等)
•●信息查询系统的使用帮助。
●帐号信息的修改。
实现功能:
主要功能实现如下
普通用户:
1浏览员工信息
2修改密码
管理员:
1浏览所有员工信息
2修改员工信息
3增加新的员工
4撤除员工信息
5对系统进行些设置
流程图:
人事管理系统E-R图:
培训情况:
工资管理:
调动记录:
部门信息:
用户:
管理员:
关系模型:
(标有下划线的为主键)
基本信息(员工号,姓名,年龄,性别,部门,职务,修、学历,状态,出生年月,籍贯,民族,身份号,婚姻状况,政治面貌,血型,开始工作时间,家庭住址,电话)
学历信息(员工号,学历,专业,毕业院校,毕业时间,外语类型,外语级别,计算机级别)培训情况(培训名称,培训内容,员工号,开始时间,结束时间,培训单位,培训地点,培训费用)
考勤信息(员工号,本月天数,公休假天数,应出勤天数,请假天数,节假日加班,日常加班)
工资管理(员工号,部门,状态,基本工资,加班补贴,交通及通讯补贴,公积金,养老金,所得税,应发工资,实际工资)
调动记录(员工号,姓名,调动前部门,调动前职务,调动原因,调动时间,批准人,调动后部门,调动后职)
奖惩记录(员工号,奖惩,姓名,奖惩内容,奖惩原因,奖惩时间,批准部门,负责人)
部门信息(部门号,部门,部门经理,部门员工数)
用户(用户名,口令)
管理员(管理员,密码,权限
培训记录表
列名数据类型及长度是否为空说明
培训名称char(30)notnullpxnr
培训内容char(30)nullpxmc
员工号char(10)nullemp_no
开始日期datetime(8)nullksrq
结束日期datetime(8)nulljsrq
培训单位char(30)nullpxdw
培训地点char(30)nullpxdd
培训费用money(8)nullpxfy
考勤信息表
列名数据类型及长度是否为空说明
员工号char(10)notnullemp_no
本月天数int(4)notnullbyts
公休假天数int(4)nullgxjts
应出勤天数int(4)nullycqts
请假天数int(4)nullqjts
节假日加班int(4)nulljjrjb
日常加班int(4)nullrcjb
工资管理表
列名数据类型及长度是否为空说明
员工号char(10)notnullemp_no
部门char(10)notnullemp_bm状态char(10)notnullemp_zt
基本工资money(8)nulljbgz
加班补贴money(8)nulljbbt
午餐补贴money(8)nullwcbt
交通及通讯补贴money(8)nulljtbt
公积金money(8)nullgjj
养老金money(8)nullylj
应发工资money(8)nullyfgz
所得税money(8)nullsds
实发工资money(8)nullsfgz
调动记录表
列名数据类型及长度是否为空说明
员工号char(10)nullemp_no
姓名char(20)nullemp_name调动前部门char(10)nullddqbm
调动前职务char(10)nullddqzw
调动原因ntext(16)nullddyy
调动时间datetime(8)nullddsj
批准人char(10)nullpzr
调动后部门char(10)nullddhbm
调动后职务char(10)nullddhzw
奖惩记录表
列名数据类型及长度是否为空说明
员工号char(10)notnullemp_no
姓名char(20)nullemp_name奖惩char(10)notnulljc
奖惩内容char(10)nulljcnr
奖惩原因char(10)nulljcyy
奖惩时间datetime(8)nulljcsj
批准部门char(10)nullpzbm
负责人vacha(50)nullfzr
学历信息表
列名数据类型及长度是否为空说明
员工号char(10)notnullemp_no
学历char(10)notnullemp_xl
专业char(20)nullzy
毕业院校char(20)nullbyyx
毕业时间datetime(8)nullbysj
外语类型char(10)nullwylx
外语级别char(10)nullwyjb
计算机级别char(10)nulljsjjb
用户表
列名数据类型及长度是否为空说明
用户名char(10)nullyh_name口令char(10)nullyh_key
管理员表
列名数据类型及长度是否为空列名
管理员char(10)nullname
密码char(10)nullpassword权限char(10)nullpermission
部门信息表
列名数据类型及长度是否为空说明
部门号char(10)bmh
部门char(10)bm
部门经理char(10)bmjl
部门员工数int(4)bmygs
部门工资money(8)bmgz
T-SQL语句
---------全体员工信息----------------use人事管理系统
go
createprocfind_all
as
begin
select*from员工
end
GO
execfind_all
-----------------------------------
--调动信息查询
use人事管理系统
go
createprocfind_diaodong
as
begin
select*from调动记录
end
GO
execfind_diaodong
--------------------------------------
-----奖惩记录查询
use人事管理系统
go
createprocfind_jiangcheng
as
begin
select*from奖惩情况
end
GO
execfind_jiangcheng
--------------------------------------
-----考勤记录查询
use人事管理系统
go
createprocfind_kaoqin
as
begin
select*from考勤
end
GO
execfind_kaoqin
-------------------------------------
---培训记录查询
use人事管理系统
go
createprocfind_peixun
as
begin
select*from培训
end
GO
execfind_peixun
------------------------------------
------按员工号或姓名查询
use人事管理系统
go
createprocproc_nona
@员工号char(10),@姓名char(20)
as
select*from员工
where员工号=@员工号or姓名=@姓名GO
execproc_nona@员工号='2',@姓名=''execproc_nona'1','李牧白'
--------------------------------------
---按部门查询员工信息并返回员工数
---------存储过程调用存储过程
use人事管理系统
go
createprocproc_bumen
@部门char(10),@sumintoutput
as
select*from员工
where部门=@部门
select@sum=count(*)from员工
where部门=@部门
return@sum
GO
----调用按部门查询的存储过程
createprocproc_bm
@部门char(10)
as
declare@eint
execproc_bumen@部门,@eoutput
print'本部门共有'+cast(@easchar
(2))+'名员工。
'
GO
execprocproc_bm@部门='人事部'
execprocproc_bm'人事部'
--------------------------------------
------按员工号或姓名查询工资
use人事管理系统
go
createprocproc_gongzi
@员工号char(10),@姓名char(20)
as
declare@状态char(10)
declare@namechar(20)
select@状态=状态,@name=姓名from基本信息
where员工号=@员工号or姓名=@姓名
if@状态='在职'
begin
select员工号,姓名,状态,基本工资,加班补贴+午餐补贴+交通及通讯补贴+公积金as补贴,基本工资+加班补贴+午餐补贴+交通及通讯补贴+公积金as应发工资,
(基本工资+加班补贴+午餐补贴+交通及通讯补贴+公积金)*0.2as所得税,
(基本工资+加班补贴+午餐补贴+交通及通讯补贴+公积金)*0.8as实发工资
from工资管理
where员工号=@员工号or姓名=@姓名
end
elseif@状态='退休'
begin
select员工号,姓名,状态,基本工资,养老金+公积金as补贴,
基本工资+养老金+公积金as应发工资,
(基本工资+养老金+公积金)*0.2as所得税,
(基本工资+养老金+公积金)*0.8as实发工资
from工资管理
where员工号=@员工号or姓名=@姓名
elseif@状态='辞退'
begin
print'员工'+@name+'已经退职,所以工资停发'
end
else--@状态='开除'
begin
print'员工'+@name+'因~~~!
以被公司开除,所以工资停发'end
execproc_gongzi@员工号='2',@姓名=''
execproc_gongzi'11',''
-------------------------------------------------
-------删除某员工的基本信息
use人事管理系统
go
createprocdel_jiben
@员工号char(10),@姓名char(20)
as
deletefrom基本信息
where员工号=@员工号or姓名=@姓名
GO
execdel_jiben@员工号='2',@姓名=''
execdel_jiben'19',''
-----------------------------------------------------
use人事管理系统
/*如果存在同名的触发器,则删除*/
ifexists(selectnamefromsysobjects
wheretype='tr'andname='tri_jiben')
droptriggertri_jiben
go
createtriggertri_jiben----触发器演示
on基本信息
afterdelete
as
print'Youhavedeleted'+cast(@@rowcountasvarchar)+'record(s)!
'--------------------------------------------
use人事管理系统
/*如果存在同名的触发器,则删除*/
ifexists(selectnamefromsysobjects
wheretype='tr'andname='tri_jiben')
droptriggertri_jiben
createtriggertri_jiben----触发器演示
on基本信息
afterdelete
as
declare@员工号char(10),@姓名char(20),@性别char(10),@年龄int,@部门char(10),@职务char(10)
select@员工号=员工号,@姓名=姓名,@性别=性别,@年龄=年龄,@部门=部门,@职务=职务fromdeleted
iflen(@员工号)=0--or@姓名isnull
begin
print'没该员工的信息!
'
rollbacktran
end
else
begin
insertinto基本信息副表values(@员工号,@姓名,@性别,@年龄,@部门,@职务)
print'Youhavedeleted'+cast(@@rowcountasvarchar)+'record(s)!
'
end
go
----------------------------------
execdel_jiben@员工号='12',@姓名=''
execdel_jiben'35',''
@idint,@员工号char(10),@姓名char(20),@性别char(10),@年龄int,@部门char(10),@职务char(10)
as
begin
insertinto基本信息(id,员工号,姓名,性别,年龄,部门,职务)
values(@id,@员工号,@姓名,@性别,@年龄,@部门,@职务)
end
GO
execins_jiben1'22','22','aaa','男','23','',''
-----------------------------------------------------------
--------------x修改调动记录(8条属性)
-------------@员工号char(10),@调动前部门char(10),@调动前职务char(10),@调动原因ntext(16),
---@调动时间dateti@批准人char(10),@调动后部门char(10),@调动后职务char(10)use人事管理系统
go
createprocupd_diaodong1
@员工号char(10),
@调动前部门char(10),
@调动前职务char(10),
@调动原因ntext(16),
@调动时间datetime(8),
@批准人char(10),
@调动后部门char(10),
@调动后职务char(10)
as
update调动记录
set调动前部门=@调动前部门,
调动前职务=@调动前职务,
调动原因=@调动原因,
调动时间=@调动时间,
批准人=@批准人,
调动后部门=@调动后部门,
调动后职务=@调动后职务
where员工号=@员工号
go
-----------------------------
execupd_diaodong1'2','','','','','','',''
------------------------------------------------------------
use人事管理系统
/*如果存在同名的触发器,则删除*/
ifexists(selectnamefromsysobjects
wheretype='tr'andname='tri_jibe3')
droptriggertri_jiben3
go
----插入时触发器
createtriggertri_jiben3
on基本信息副表
forinsert
as
declare@员工号char(10)
select@员工号=员工号frominserted
ifexists(select*from基本信息副表where员工号=@员工号)
begin
print'该员工记录已经存在,您不能再插入~~!
'
rollback
end
else
print'你已经成功插入了'+cast(@@rowcountasvarchar)+'条记录!
'---------------------
execins_fubiao'22','aaa','男','23','',''
----------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 需求 分析 文档