3系统分析
3.1可行性分析
在开发系统之前要进行系统可行性分析,目的是在用最简单的方法去解决最大的问题,程序一旦开发出来满足了员工的需要,所带来的利益也很多。下面我们将从技术、操作、经济等方面来选择这个系统最终是否开发。
3.1.1技术可行性
本系统开发选择java技术,java技术是一个完全面向对象的语言,为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为java技术开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用MySQL数据库主要用来的建立和维护信息。对于系统开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。 依据上述目标来分析本系统的硬件如下: 奔腾3的处理器; 内存是 2G; 硬盘是50G; 操作系统是Window 10; 在软件方面的话,安装了Visul Studio和MySQL数据库开发工具。根据以上的软件与硬件要求,得到这个系统的技术是可行的。
3.1.2经济可行性
基于springboot的人事管理系统,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的人事管理,同时还能实现对人力资源和管理资源的有效节约,该人事管理系统在经济上完全可行。
3.1.3操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成员工不同的需求,这不仅提高了工作效率还能完成一些特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,员工只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3.2系统性能需求分析
对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析; 系统反应度:同时上万人在线时反应时间应该在两三秒以内。 界面简洁清晰:系统界面要求简单明了,操作简单,员工操作容易上手。 储存性能高:人事管理系统中需要存储的信息有很多,所以对系统的存储量要求很高,因此数据库就应该很强大,才能保证信息能安全稳定的进行存储; 易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。 稳定性:要求人事管理系统运行要稳定,界面清楚、字体清晰等。
3.3系统功能分析
考虑到实际生活中在人事管理方面的需要以及对该系统认真的分析,将系统权限按管理员和员工这两类涉及用户划分。
-
管理员;管理员使用本系统涉到的功能主要有:首页,个人中心,员工管理,部门管理,员工考勤管理,请假申请管理,加班申请管理,员工工资管理,招聘计划管理,员工培训管理,部门培训管理,员工详细管理等功能。管理员用例图如图3-1所示。
图3-1管理员用例图
-
员工;员工使用本系统涉到的功能主要有:首页,个人中心,员工考勤管理,请假申请管理,加班申请管理,员工工资管理,招聘计划管理,员工培训管理,部门培训管理,员工详细管理等功能。员工用例图如图3-2所示。
图3-2员工用例图
3.4系统流程的分析
由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户功能权限下的系统业务流程来分析,如下图所展示:
3.4.1 用户管理的流程
图3-3 用户管理流程
3.4.2个人中心管理流程
图3-4 个人中心管理流程
3.4.3登录流程
图3-5登录流程
4系统设计
4.1 系统功能模块设计
系统整体功能如下图所示:
图 4-1系统总体功能模块图
4.2数据库设计
4.2.1概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
员工管理实体图如图4-2所示:
图4-2员工管理实体图
部门管理实体图如图4-3所示:
图4-3部门管理实体图
员工考勤实体图如图4-4所示:
图4-4员工考勤实体图
4.2.2物理模型设计
根据上诉的逻辑模型设计,下面给出物理模型的设计,如下表:
表4-1:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-2:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-3:招聘计划
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
zhiwei | varchar | 200 | 职位 | ||
bumen | varchar | 200 | 部门 | ||
zhaopingangwei | varchar | 200 | 招聘岗位 | ||
zhaopinyaoqiu | varchar | 200 | 招聘要求 | ||
zhaopinrenshu | varchar | 200 | 招聘人数 | ||
zhaopinliucheng | longtext | 4294967295 | 招聘流程 | ||
shenqingshijian | datetime | 申请时间 | |||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-4:员工详细
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
bumen | varchar | 200 | 部门 | ||
zhiwei | varchar | 200 | 职位 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
yuangongshouji | varchar | 200 | 员工手机 | ||
zhaopian | varchar | 200 | 照片 | ||
yuangongdizhi | varchar | 200 | 员工地址 | ||
minzu | varchar | 200 | 民族 | ||
xueli | varchar | 200 | 学历 | ||
hunfou | varchar | 200 | 婚否 | ||
zhengzhimianmao | varchar | 200 | 政治面貌 | ||
biyeyuanxiao | varchar | 200 | 毕业院校 | ||
zhuanye | varchar | 200 | 专业 | ||
shenfenzhenghao | varchar | 200 | 身份证号 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id |
表4-5:员工培训
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
zhiwei | varchar | 200 | 职位 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
bumen | varchar | 200 | 部门 | ||
peixunshijian | datetime | 培训时间 | |||
peixunneirong | longtext | 4294967295 | 培训内容 | ||
peixundidian | varchar | 200 | 培训地点 | ||
jieshushijian | datetime | 结束时间 | |||
beizhu | varchar | 200 | 备注 |
表4-6:员工考勤
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
zhiwei | varchar | 200 | 职位 | ||
bumen | varchar | 200 | 部门 | ||
dakaleixing | varchar | 200 | 打卡类型 | ||
dakashijian | datetime | 打卡时间 | |||
beizhu | varchar | 200 | 备注 |
表4-7:员工工资
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
fafangshijian | date | 发放时间 | |||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
zhiwei | varchar | 200 | 职位 | ||
bumen | varchar | 200 | 部门 | ||
jibengongzi | float | 基本工资 | |||
jixiao | float | 绩效 | |||
chebu | float | 车补 | |||
canbu | float | 餐补 | |||
fangbu | float | 房补 | |||
quanqinjiang | float | 全勤奖 | |||
jiabanfei | float | 加班费 | |||
wuxianyijin | float | 五险一金 | |||
koujixiao | float | 扣绩效 | |||
kuanggongfei | float | 旷工费 | |||
qitakoukuan | float | 其它扣款 | |||
shifagongzi | float | 实发工资 | |||
gongzibeizhu | longtext | 4294967295 | 工资备注 |
表4-8:员工
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
mima | varchar | 200 | 密码 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
bumen | varchar | 200 | 部门 | ||
zhiwei | varchar | 200 | 职位 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | varchar | 200 | 年龄 | ||
yuangongshouji | varchar | 200 | 员工手机 | ||
zhaopian | varchar | 200 | 照片 | ||
jibengongzi | float | 基本工资 |
表4-9:请假申请
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
bumen | varchar | 200 | 部门 | ||
zhiwei | varchar | 200 | 职位 | ||
qingjialeixing | varchar | 200 | 请假类型 | ||
qingjiashijian | date | 请假时间 | |||
qingjiatianshu | int | 请假天数 | |||
qingjialiyou | longtext | 4294967295 | 请假理由 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-10:加班申请
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
bumen | varchar | 200 | 部门 | ||
zhiwei | varchar | 200 | 职位 | ||
jiabanshijian | date | 加班时间 | |||
jiabanshizhang | varchar | 200 | 加班时长 | ||
jiabanshiyou | longtext | 4294967295 | 加班事由 | ||
sfsh | varchar | 200 | 是否审核 | 否 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-11:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-12:部门培训
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
bumen | varchar | 200 | 部门 | ||
peixunshijian | datetime | 培训时间 | |||
peixunneirong | longtext | 4294967295 | 培训内容 | ||
peixundidian | varchar | 200 | 培训地点 | ||
jieshushijian | datetime | 结束时间 | |||
beizhu | varchar | 200 | 备注 |
表4-13:部门
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
bumen | varchar | 200 | 部门 | ||
zhiwei | varchar | 200 | 职位 |
5系统详细设计
5.1 管理员功能模块
管理员进行登录,进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-1所示。
图5-1管理员登录界面图
管理员登录系统后,可以对首页,个人中心,员工管理,部门管理,员工考勤管理,请假申请管理,加班申请管理,员工工资管理,招聘计划管理,员工培训管理,部门培训管理,员工详细管理等进行相应的操作管理,如图5-2所示。
图5-2管理员功能界面图
学生管理,在学生管理页面可以对索引,员工工号,员工姓名,部门,职位,性别,年龄,员工手机,照片,基本工资等内容进行详情,员工培训,发放工资,详细信息,修改和删除等操作,如图5-3所示。
图5-3学生管理界面图
部门管理,在部门管理页面可以对索引,部门,职位等内容进行详情,修改和删除等操作,如图5-4所示。
图5-4部门管理界面图
员工考勤管理,在员工考勤管理页面可以对索引,员工工号,员工姓名,职位,部门,打卡类型,打卡时间,备注等内容进行详情,修改和删除等操作,如图5-5所示。
图5-5员工考勤管理界面图
请假申请管理,在请假申请管理页面可以对索引,员工工号,员工姓名,部门,职位,请假类型,请假时间,请假天数,审核回复,审核状态,审核等内容进行详情,修改和删除等操作,如图5-6所示。
图5-6请假申请管理界面图
员工工资管理,在员工工资管理页面可以对索引,发放时间,员工工号,员工姓名,职位,部门,基本工资,绩效,车补,餐补,房补,全勤奖,加班费,五险一金,扣绩效,旷工费,其它扣款,实发工资等内容进行详情,修改和删除等操作,如图5-7所示。
图5-7员工工资管理界面图
招聘计划管理,在招聘计划管理页面可以对索引,员工工号,员工姓名,职位,部门,招聘岗位,招聘要求,招聘人数,申请时间,审核回复,审核状态,审核等内容进行详情,修改和删除等操作,如图5-8所示。
图5-8招聘计划管理界面图
部门培训管理,在部门培训管理页面可以对索引,部门,培训时间,培训地点,结束时间,备注等内容进行详情,修改和删除等操作,如图5-9所示。
图5-9部门培训管理界面图
员工详细管理,在员工详细管理页面可以对索引,员工工号,员工姓名,部门,职位,性别,年龄,员工手机,照片,员工地址,名族,学历,婚否,政治面貌,毕业院校,专业,身份证号等内容进行详情,修改和删除等操作,如图5-10所示。
图5-10员工详细管理界面图
5.2 员工功能模块
员工登录进入人事管理系统可以对首页,个人中心,员工考勤管理,请假申请管理,加班申请管理,员工工资管理,招聘计划管理,员工培训管理,部门培训管理,员工详细管理等进行相应操作,如图5-11所示。
图5-11员工功能界面图
个人中心,在个人信息页面通过填写员工工号,员工姓名,部门,职位,性别,年龄,员工手机,照片,基本工资等内容对个人信息进行修改操作,如图5-12所示。
图5-12个人中心界面图
请假申请管理,在请假申请管理页面可以对索引,员工工号,员工姓名,部门,职位,请假类型,请假时间,请假天数,审核回复,审核状态等内容进行详情和删除等操作,如图5-13所示。
图5-13请假申请管理界面图
加班申请管理,在加班申请管理页面可以对索引,员工工号,员工姓名,部门,职位,加班时间,加班时长,审核回复,审核状态等内容进行详情和删除等操作,如图5-14所示。
图5-14加班申请管理界面图
员工培训管理,在员工培训管理页面可以对索引,员工工号,员工姓名,职位,性别,年龄,部门,培训时间,培训地点,结束时间,备注等内容进行详情等操作,如图5-15所示。
图5-15员工培训管理界面图
6系统测试
系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为员工提供一个良好的体验和安全服务。而通过发现错误或潜在的问题,将有助于提升竞争力,这也是软件测试的其中的重要目的之一。
软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:
测试用例1及测试过程:
登录:录入登录信息,账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入员工具有权限的功能界面和提示登录失败。
测试用例2及测试过程:
管理员登录:录入登录信息,管理员账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。