当前位置:首页>文档>人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)

人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)

  • 2026-03-08 02:13:38 2026-01-20 00:51:43

文档预览

人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)
人事管理系统需求分析文档_436套软件开发需求文档_VD516-软件开发需求文档_10各类系统软件开发需求_更新内容_产品需求文档案例(73份)

文档信息

文档格式
doc
文档大小
0.194 MB
文档页数
16 页
上传时间
2026-01-20 00:51:43

文档内容

1 编写目的 开发设计基于SQL SERVER的数据库,进而对数据库有 更深刻的认识,同时锻炼自己上机动手能力。 1.2背景 说明: a. 该软件命名为:人事管理系统; b. 本项目的任务提出者:指导老师 开发者:王青峰,王加龙 用户:企业 2 系统开发环境 操作系统:Windows 2000 数据库:Sql server 2000 开发语言:java语言 需求分析: 本系统是人事管理系统,它主要实现管理员如何对普通用户进行 授权,如何插入、删除一个员工的信息,用户如何浏览员工的所有信 息,以及用户如何查询自己想要的结果,也即是通过输入查询条件, 显示符合条件的员工记录以及如何显示这个员工的全部信息。如何对 查询或统计出来的符合条件的记录用报表的形式打印出来,窗口打开 时的排放顺序,也即是平铺还是重叠 。 系统功能需求分析 该系统需要完成如下功能: 1 员工各种信息的输入,包括员工的基本信息、学历信息、 培训记录、调动记录、奖惩记录、考勤信息、工资信息。 2 员工各种信息的修改。 3 对于辞职、退休、开除员工信息的管理。 4 按照某种条件,查询统计符合条件的员工信息。 5 对用户进行授权。 6 对查询、统计的结果打印输出。3 系统功能分析 系统开发的总体任务是实现企业人事管理的系统化、规范化和自动化。 本系统所具有的功能主要有: ● 普通员工查看员工信息 • ● 加班津贴的管理。(根据加班的时间和类型给予不同的加班津贴。) • ● 员工月工资的生成。(根据月工资生成公式,按照员工的考勤情况和工 作表现,生成员工月工资。) • ● 系统管理员对系统的管理。 • ● 企业工资报表的生成。(支持各种不同形式的报表,如单个员工工资报 表生成、部门员工工资报表生成等) • ● 信息查询系统的使用帮助。 ● 帐号信息的修改。 实现功能:主要功能实现如下 普通用户:1 浏览员工信息 2 修改密码 管理员: 1 浏览所有员工信息 2 修改员工信息 3 增加新的员工 4 撤除员工信息 5 对系统进行些设置流程图: 系统登陆 合法用户 非法用户 管理员 普通用户 退出系统 用 系 参 信 修 户 统 数 息 改 信 初 设 浏 密 息 始 置 览 码 维 化 护 人事管理系统 E-R 图: 部 门 管理员 N 1 基本信息 1 拥 组成 管理 有 1 M N 学历信息 1 拥有 1 员工 1 拥有 1 考勤信息 N 1 拥 有 有 1 1 N 拥 1 奖惩记录 1 有 培训记录 拥有 拥有 1 拥有 1 用 户 调动记录 工 资基本信息: 政治面貌 部 门 职 务 婚 姻 状况 员工号 民 族 姓 名 生分证号 性 籍 基本信息 别 贯 年 出生年月 龄 电 话 学 历 状 血 型 态 开始工作 家庭住址 时间 学历信息: 员 工 毕业院 学 历 号 校 学历信息 专 业 毕业 时间 外 语 外语级别 计算机级 类型 别 培训情况: 培训名称 开始时间 培训内 容 员工号 培 训 情 况 结束时间 培训单位 培训地 培训费用 点考勤信息: 应出勤天 本月天数 数 公休假天 考勤信息 请假天数 数 节假日加班 员 工 日常加班 号 工资管理: 员工号 交通及通讯补 部 门 状 贴 态 加班补贴 工资管理 基 本 工资 公积金 养老金 所得税 应发工 实际工 资 资 调动记录: 员工号 姓 名 调动前职务 调动原因 调动记录 调动前部 门 调动后 职 调 动 批 准 人 调动后 时间 部门奖惩记录: 奖 惩 记 录 奖惩 奖 惩 时间 奖惩内容 批准部门 奖惩原因 负 责 人 员工号 姓 名 部门信息: 部门信息 部 门 号 部 门 部门员工数 部门经 理 用 户: 用 户 用户名 口 令 管理员: 管理员 权 管理员 限 密 码关系模型: (标有下划线的为主键) 基本信息(员工号,姓名,年龄,性别,部门,职务,修、学历,状态,出生年月,籍贯,民族,身 份号,婚姻状况,政治面貌,血型,开始工作时间,家庭住址,电话) 学历信息(员工号,学历,专业,毕业院校,毕业时间,外语类型,外语级别,计算机级别) 培训情况(培训名称,培训内容,员工号,开始时间,结束时间,培训单位,培训地点,培训费 用) 考勤信息(员工号, 本月天数,公休假天数,应出勤天数,请假天数,节假日加班,日常加班) 工资管理(员工号, 部门,状态,基本工资,加班补贴,交通及通讯补贴,公积金,养老金,所 得税,应发工资,实际工资) 调动记录(员工号,姓名,调动前部门,调动前职务,调动原因,调动时间,批准人,调动后部 门,调动后职) 奖惩记录(员工号,奖惩,姓名,奖惩内容,奖惩原因,奖惩时间,批准部门,负责人) 部门信息(部门号,部门,部门经理,部门员工数) 用户(用户名,口令) 管理员(管理员,密码,权限 基本信息表 列名 数据类型及长度 可否为空 说明 员工号 char(10) not null emp_no 姓名 char(20) not null emp_name 年龄 int(4) not null age 性别 char(10) null sex 部门 char(10) null emp_bm 职务 char(10) null emp_zw 学历 char(10) null emp_xl 状态 char(8) null emp_zt 出生年月 datetime(8) null emp_csny 籍贯 varchar(10) null emp_jg 民族 char(20) null emp_mz 身份证号 char(30) null emp_sfzh 婚姻状况 char(8) null emp_hyzk 政治面貌 char(20) null emp_zzmm 血型 char(10) null emp_xx 开始工作时间 datetime(8) null emp_ksgzsj 家庭住址 char(30) null emp_jtzz 电话 char(20) null emp_th 培训记录表 列名 数据类型及长度 是否为空 说明 培训名称 char(30) notnull pxnr 培训内容 char(30) null pxmc 员工号 char(10) null emp_no开始日期 datetime(8) null ksrq 结束日期 datetime(8) null jsrq 培训单位 char(30) null pxdw 培训地点 char(30) null pxdd 培训费用 money(8) null pxfy 考勤信息表 列名 数据类型及长度 是否为空 说明 员工号 char(10) notnull emp_no 本月天数 int(4) notnull byts 公休假天数 int(4) null gxjts 应出勤天数 int(4) null ycqts 请假天数 int(4) null qjts 节假日加班 int(4) null jjrjb 日常加班 int(4) null rcjb 工资管理表 列名 数据类型及长度 是否为空 说明 员工号 char(10) notnull emp_no 部门 char(10) notnull emp_bm 状态 char(10) notnull emp_zt 基本工资 money(8) null jbgz 加班补贴 money(8) null jbbt 午餐补贴 money(8) null wcbt 交通及通讯补贴 money(8) null jtbt 公积金 money(8) null gjj 养老金 money(8) null ylj 应发工资 money(8) null yfgz 所得税 money(8) null sds 实发工资 money(8) null sfgz 调动记录表 列名 数据类型及长度 是否为空 说明 员工号 char(10) null emp_no 姓名 char(20) null emp_name 调动前部门 char(10) null ddqbm 调动前职务 char(10) null ddqzw 调动原因 ntext(16) null ddyy 调动时间 datetime(8) null ddsj 批准人 char(10) null pzr 调动后部门 char(10) null ddhbm 调动后职务 char(10) null ddhzw奖惩记录表 列名 数据类型及长度 是否为空 说明 员工号 char(10) notnull emp_no 姓名 char(20) null emp_name 奖惩 char(10) notnull jc 奖惩内容 char(10) null jcnr 奖惩原因 char(10) null jcyy 奖惩时间 datetime(8) null jcsj 批准部门 char(10) null pzbm 负责人 vacha(50) null fzr 学历信息表 列名 数据类型及长度 是否为空 说明 员工号 char(10) notnull emp_no 学历 char(10) notnull emp_xl 专业 char(20) null zy 毕业院校 char(20) null byyx 毕业时间 datetime(8) null bysj 外语类型 char(10) null wylx 外语级别 char(10) null wyjb 计算机级别 char(10) null jsjjb 用户表 列名 数据类型及长度 是否为空 说明 用户名 char(10) null yh_name 口令 char(10) null yh_key 管理员表 列名 数据类型及长度 是否为空 列名 管理员 char(10) null name 密码 char(10) null password 权限 char(10) null permission 部门信息表 列名 数据类型及长度 是否为空 说明 部门号 char(10) bmh 部门 char(10) bm 部门经理 char(10) bmjl 部门员工数 int(4) bmygs 部门工资 money(8) bmgzT-SQL语句 ---------全体员工信息---------------- use 人事管理系统 go create proc find_all as begin select * from 员工 end GO exec find_all ----------------------------------- --调动信息查询 use 人事管理系统 go create proc find_diaodong as begin select * from 调动记录 end GO exec find_diaodong -------------------------------------- -----奖惩记录查询 use 人事管理系统 go create proc find_jiangcheng as begin select * from 奖惩情况 end GO exec find_jiangcheng -------------------------------------- -----考勤记录查询 use 人事管理系统 gocreate proc find_kaoqin as begin select * from 考勤 end GO exec find_kaoqin ------------------------------------- ---培训记录查询 use 人事管理系统 go create proc find_peixun as begin select * from 培训 end GO exec find_peixun ------------------------------------ ------按员工号或姓名查询 use 人事管理系统 go create proc proc_nona @员工号 char(10),@姓名 char (20) as select * from 员工 where 员工号=@员工号 or 姓名=@姓名 GO exec proc_nona @员工号 ='2',@姓名='' exec proc_nona '1','李牧白' -------------------------------------- ---按部门查询员工信息并返回员工数 ---------存储过程调用存储过程 use 人事管理系统 go create proc proc_bumen @部门 char(10) ,@sum int output as select * from 员工 where 部门=@部门 select @sum=count(*) from 员工 where 部门=@部门return @sum GO ----调用按部门查询的存储过程 create proc proc_bm @部门 char(10) as declare @e int exec proc_bumen @部门 ,@e output print '本部门共有'+cast(@e as char(2))+'名员工。' GO exec proc proc_bm @部门 ='人事部' exec proc proc_bm '人事部' -------------------------------------- ------按员工号或姓名查询工资 use 人事管理系统 go create proc proc_gongzi @员工号 char(10),@姓名 char (20) as declare @状态 char(10) declare @name char(20) select @状态=状态 , @name= 姓名 from 基本信息 where 员工号=@员工号 or 姓名=@姓名 if @状态='在职' begin select 员工号 , 姓名 ,状态,基本工资,加班补贴+午餐补贴+交通及通讯补贴+公积金 as 补贴, 基本工资 +加班补贴+午餐补贴+交通及通讯补贴+公积金 as 应发工资, (基本工资 +加班补贴+午餐补贴+交通及通讯补贴+公积金)*0.2 as 所得税, (基本工资 +加班补贴+午餐补贴+交通及通讯补贴+公积金)*0.8 as 实发工资 from 工资管理 where 员工号=@员工号 or 姓名=@姓名 end else if @状态='退休' begin select 员工号 , 姓名 ,状态,基本工资,养老金+公积金 as 补贴, 基本工资 +养老金+公积金 as 应发工资, (基本工资 +养老金+公积金)*0.2 as 所得税, (基本工资 +养老金+公积金)*0.8 as 实发工资 from 工资管理 where 员工号=@员工号 or 姓名=@姓名 end else if @状态='辞退'begin print'员工'+ @name +'已经退职,所以工资停发' end else --@状态='开除' begin print '员工'+ @name + '因~~~!以被公司开除,所以工资停发 ' end exec proc_gongzi @员工号 ='2',@姓名='' exec proc_gongzi '11',' ' ------------------------------------------------- -------删除某员工的基本信息 use 人事管理系统 go create proc del_jiben @员工号 char(10),@姓名 char (20) as delete from 基本信息 where 员工号=@员工号 or 姓名=@姓名 GO exec del_jiben @员工号 ='2',@姓名='' exec del_jiben '19',' ' ----------------------------------------------------- use 人事管理系统 /* 如果存在同名的触发器,则删除*/ if exists( select name from sysobjects where type='tr'and name='tri_jiben') drop trigger tri_jiben go create trigger tri_jiben ----触发器演示 on 基本信息 after delete as print 'You have deleted '+cast(@@rowcount as varchar)+' record(s)!' -------------------------------------------- use 人事管理系统 /* 如果存在同名的触发器,则删除*/ if exists( select name from sysobjects where type='tr'and name='tri_jiben') drop trigger tri_jiben gocreate trigger tri_jiben ----触发器演示 on 基本信息 after delete as declare @员工号 char(10),@姓名 char(20),@性别 char(10),@年龄 int,@部门 char(10),@职务 char(10) select @员工号=员工号, @姓名=姓名,@性别=性别,@年龄=年龄, @部门=部门,@职务=职务 from deleted if len(@员工号)=0 --or @姓名 is null begin print ' 没该员工的信息 ! ' rollback tran end else begin insert into 基本信息副表 values ( @员工号, @姓名, @性别, @年龄, @部门 ,@职务 ) print 'You have deleted'+ cast(@@rowcount as varchar) + ' record(s)!' end go ---------------------------------- exec del_jiben @员工号 ='12',@姓名='' exec del_jiben '35','' @id int , @员工号 char(10),@姓名 char(20),@性别 char(10),@年龄 int,@部门 char(10),@职务 char(10) as begin insert into 基本信息 ( id,员工号, 姓名, 性别, 年龄, 部门 ,职务 ) values ( @id ,@员工号, @姓名, @性别, @年龄, @部门 ,@职务 ) end GO exec ins_jiben1 '22', '22','aaa','男','23','','' ----------------------------------------------------------- -------------- x修改调动记录(8条属性) ------------- @员工号 char(10),@调动前部门 char(10), @调动前职务 char(10), @调动原 因 ntext(16), ---@调动时间 dateti @批准人 char(10), @调动后部门 char(10), @调动后职务 char(10) use 人事管理系统go create proc upd_diaodong1 @员工号 char(10), @调动前部门 char(10), @调动前职务 char(10), @调动原因 ntext(16), @调动时间 datetime(8), @批准人 char(10), @调动后部门 char(10), @调动后职务 char(10) as update 调动记录 set 调动前部门= @调动前部门, 调动前职务=@调动前职务, 调动原因=@调动原因, 调动时间=@调动时间, 批准人= @批准人, 调动后部门=@调动后部门, 调动后职务=@调动后职务 where 员工号 = @员工号 go ----------------------------- exec upd_diaodong1 '2','','','','','','','' ------------------------------------------------------------ use 人事管理系统 /* 如果存在同名的触发器,则删除*/ if exists( select name from sysobjects where type='tr'and name='tri_jibe3') drop trigger tri_jiben3 go ----插入时触发器 create trigger tri_jiben3 on 基本信息副表 for insert as declare @员工号 char(10) select @员工号=员工号 from inserted if exists (select * from 基本信息副表 where 员工号=@员工号 ) begin print '该员工记录已经存在,您不能再插入~~!' rollback end else print '你已经成功插入了 '+cast(@@rowcount as varchar)+'条记录!'--------------------- exec ins_fubiao '22','aaa','男','23','','' ----------------------------------