瑞凯科技检测人员管理系统
V1.0
设计说明书
吉林省瑞凯科技股份有限公司
目录
TOC \o "1-3" \h \z \u 第1章 引言. PAGEREF _Toc470519186 \h 3
1.1 系统设计思想. PAGEREF _Toc470519187 \h 3
1.2 系统开发环境. PAGEREF _Toc470519188 \h 4
1.2.1 B/S结构的数据库访问模式. PAGEREF _Toc470519189 \h 4
1.2.2 Eclipse简介. PAGEREF _Toc470519190 \h 4
1.4.3 MySQL数据库简介. PAGEREF _Toc470519191 \h 5
第2章 可行性分析. PAGEREF _Toc470519192 \h 7
2.1 经济可行性. PAGEREF _Toc470519193 \h 7
2.2 技术可行性. PAGEREF _Toc470519194 \h 7
2.3 操作可行性. PAGEREF _Toc470519195 \h 7
2.4 业务流程图. PAGEREF _Toc470519196 \h 7
第3章 需求分析. PAGEREF _Toc470519197 \h 9
3.1 企业检测人员管理系统的规划. PAGEREF _Toc470519198 \h 9
3.2 企业检测人员管理系统的需求分析. PAGEREF _Toc470519199 \h 9
3.2.1 数据流图. PAGEREF _Toc470519200 \h 9
3.2.2 数据字典. PAGEREF _Toc470519201 \h 10
第4章 总体设计. PAGEREF _Toc470519202 \h 18
4.1 系统模块总体设计. PAGEREF _Toc470519203 \h 18
4.2 数据库设计. PAGEREF _Toc470519204 \h 20
4.2.1 数据库设计概述. PAGEREF _Toc470519205 \h 20
4.2.2 数据分析. PAGEREF _Toc470519206 \h 21
4.3 数据库的详细设计. PAGEREF _Toc470519207 \h 21
4.3.1 数据库的E-R图设计. PAGEREF _Toc470519208 \h 21
4.3.2 数据表的设计. PAGEREF _Toc470519209 \h 22
第5章 详细设计. PAGEREF _Toc470519210 \h 26
5.1 系统运行平台设置. PAGEREF _Toc470519211 \h 26
5.2 系统主界面设计. PAGEREF _Toc470519212 \h 26
5.3 管理员管理模块设计与实现. PAGEREF _Toc470519213 \h 27
5.4 员工管理模块的设计与实现. PAGEREF _Toc470519214 \h 29
5.5 招聘管理模块的设计与实现. PAGEREF _Toc470519215 \h 32
第6章 软件测试. PAGEREF _Toc470519216 \h 36
6.1 测试的基本概念. PAGEREF _Toc470519217 \h 36
6.2 测试的任务和目的. PAGEREF _Toc470519218 \h 36
6.2.1 测试的任务. PAGEREF _Toc470519219 \h 36
6.2.2 测试的目的. PAGEREF _Toc470519220 \h 36
6.3 系统整体测试步骤. PAGEREF _Toc470519221 \h 37
6.4 本系统测试. PAGEREF _Toc470519222 \h 37
6.4.1 管理员登录模块测试. PAGEREF _Toc470519223 \h 38
6.4.2 员工管理/考勤模块测试. PAGEREF _Toc470519224 \h 38
6.4.3 薪资管理模块测试. PAGEREF _Toc470519225 \h 40
面向市政管理部门管理桥梁检测人员的实际需求,结合检测人员的实际考核指标,特研发此系统。旨在为市政管理部门提供一个便捷、准备、高效的检测人员管理系统。本系统功能模块主要包括招聘/应聘管理模块、员工管理/考勤模块和薪资发放模块。
一个管理系统的设计思想是对一个系统的基础的认识,一个合理的人员管理系统应该具备操作简单、可视化界面、功能全面、运行速度快等优点。通过人员管理系统可使管理者快速、高效地完成企业日常事务中的人事工作,降低人力资源管理的成本,使管理者能集中精力实现企业战略目标。检测人员管理系统主要具备以下特性:
(1) 高技术性:本系统设计主要采用Eclipse开发工具和MySQL数据库结合起来设计与实现的。Eclipse开发工具功能非常强大,同时MySQL数据库可以大容量地存储数据,Java为主要开发语言,并且采用先进的SSH框架进行设计,充分运用高技术手段来设计。
(2) 实用性:系统从用户需求的角度为出发点,一切以用户的方便为准则。切实了解用户的实际需求,尽量满足用户的各项要求,以达到让用户满意的程度。
(3) 灵活性:通过对SSH框架的设计,可以减少许多代码与页面之间的重复性和冗余,从而大大的提高了软件的灵活性,用户可以根据不同的需要,选择对应的软件部分,非常方便灵活。
(4) 可维护性:本系统的设计非常便于维护,因为使用了SSH框架以及稳定性较高的软件和硬件环境,所以可以随时为系统的软件、硬件进行维护。
(5) 复用性:本系统采用模块化的方法进行设计,对各个模块尽可能的达到高内聚,低耦合的程序,来提高系统的复用性。
B/S(Browser/Server)结构,即浏览器/服务器模式,当前在web数据库开发中应用较广泛的一种模式,它是随着Internet技术的兴起,从传统的二层C/S(客户机/服务器)模式发展起来的新的网络结构模式,其本质是三层结构C/S模式。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现。但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本,如图1-1所示。
图1-1 三级结构组成
本次系统开发所使用的前台开发技术为Java,所使用的软件为Eclipse。Java是一种软件技术,是一种由美国SUN计算机公司所研究而成的语言,是一种较为高级的编程语言。利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,能够支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。同时,Eclipse为用户提供了高效、便捷的操作环境和友好的可视化操作界面。
以下将介绍开发时所用的相关技术
JSP技术
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段和JSP标记,从而形成JSP网页。所有程序操作都在服务器端运行,网络上传送给客户端的仅是得到的结果,与客户端的浏览器无关,因此,JSP称这Server-side Language。所以被许多人认为是未来最有发展前途的动态网站技术之一。
Struts技术
Struts是一个基于Sun J2EE平台的MVC框架。主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求。简单易用,敏捷迅速,在过去的一年中最受关注。Struts把Servlet 、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
Spring技术
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构。分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Hibernate技术
Hibernate是一个JDO工具。它的工作原理是通过文件把值对象和数据库表之间建立一个映射关系,这样,我们只需要通过操作这些值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List)。而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。Hibernate提供的HQL是一种类的SQL语言。它和EJBQL一样都是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL。
MySQL使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
人力资源管理是企业管理中的一个重要组成部分,涉及到企业管理的各个方面。人力资源管理水平的提高,能够带动企业各方面水平的提升。利用计算机对企业的人力资源进行管理,使人事管理人员从日常琐碎的管理工作中解脱出来,更好地协调企业人才,大大的提高了人才的利用率,使企业人才的能力得以充分地发挥。
在技术软件方面本系统选择了当今流行的Eclipse开发环境来设计,使用MySQL数据库存储数据。同时采用先进的SSH框架来进行设计,这些软件都很安全,可靠,所以在软件方面是可行的。
在硬件方面,选择了2G的内存,硬盘为320G的来存储数据,可以满足系统的设计开发。从而运行速度也会更快。这方面没有异议。硬件方面也是可行的。
本系统具有良好的操作界面。系统功能、显示内容简单明了。操作者不必具有较高的计算机专业知识,也不必进行专门培训,只要经过短时间的操作就可以很快掌握并熟练使用,加快公司的内部管理,提高工作效率。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。
业务流程图是一种用尽可能少、尽可能简单的方法来描述业务处理过程的方法。通过业务流程图可以很清楚直观的了解系统的主要业务功能。本系统的业务流程图如图2-1所示。
图2-1 企业检测人员管理系统业务流程图
随着技术的不断发展,逐渐产生基于Internet的MIS系统,基于Internet上的MIS系统是对传统MIS系统概念上的扩展,它不仅可以用于高层决策,而且可以用于进行普通的商务管理。基于Internet上的MIS系统,弥补了传统MIS系统的不足,充分体现了现代网络时代的特点。随着Internet技术的高速发展,因特网必将成为人类新社会的技术基石。基于Internet的MIS系统必将成为网络时代的新一代管理信息系统,前景极为乐观。MIS中,处理的对象是抽象成数据的信息,因此,MIS有着自己的巨大优势。
因为本系统为企业人事管理系统,也属于一种先进的管理信息系统,所以在本系统中也充分利用了MIS的理论概念。可以更好的为企业制定企业规划,并带来更高的效益。
数据流图(Data Flow Diagram):简称DFD,是新系统逻辑模型的主要组成部分,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。其中数据处理指对数据的逻辑处理功能,也就是对数据的变换功能。数据流是指处理功能的输入或输出,用一个水平箭头或垂直箭头表示。数据存储是数据保存的地方。数据源去向表示数据的来源或数据的流向。人力资源管理数据流图如图3-1所示。
图3-1 人力资源管理数据流图
数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。
数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。数据流图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
1. 数据项定义
表3-1 系统数据项定义
编号 |
名称 |
别名 |
类型 |
长度 |
I01-01 |
em_serialNumber |
员工编号 |
varchar |
30 |
I01-02 |
em_name |
姓名 |
char |
10 |
I01-03 |
em_sex |
性别 |
char |
2 |
I01-04 |
em_age |
年龄 |
int |
_ |
I01-05 |
em_IDCard |
身份证号 |
varchar |
30 |
I01-06 |
em_born |
出生日期 |
varchar |
50 |
I01-07 |
em_nation |
民族 |
char |
10 |
I01-08 |
em_marriage |
婚姻状况 |
char |
10 |
I01-09 |
em_visage |
政治面貌 |
char |
10 |
I01-10 |
em_ancestralHome |
籍贯 |
char |
30 |
I01-11 |
em_tel |
联系电话 |
varchar |
50 |
I01-12 |
em_address |
家庭住址 |
varchar |
50 |
I01-13 |
em_afterSchool |
毕业学校 |
varchar |
50 |
I01-14 |
em_speciality |
专业 |
varchar |
50 |
I01-15 |
em_culture |
文化程度 |
char |
10 |
I01-16 |
em_startime |
上岗时间 |
char |
30 |
I01-17 |
em_departmentId |
部门名称 |
int |
_ |
I01-18 |
em_typeWork |
部门工种 |
char |
10 |
I01-19 |
em_creatime |
登记时间 |
varchar |
50 |
I01-20 |
em_createName |
登记人名 |
char |
30 |
续表3-1
I01-21 |
em_bz |
备注信息 |
varchar |
50 |
[01-22 |
pay_month |
发放时间 |
varchar |
50 |
[01-23 |
pay_baseMoney |
基本工资 |
int |
_ |
[01-24 |
pay_overtime |
加班费 |
int |
_ |
I01-25 |
pay_age |
工龄费 |
int |
_ |
I01-26 |
pay_check |
考勤费 |
money |
_ |
I01-27 |
pay_absent |
旷工费 |
money |
_ |
I01-28 |
pay_safety |
保险费 |
money |
_ |
I01-29 |
cj_title |
奖惩主题 |
int |
_ |
I01-30 |
cj_type |
奖惩类型 |
char |
1 |
I01-31 |
cj_money |
奖惩金额 |
varchar |
50 |
I01-32 |
cj_time |
奖惩时间 |
varchar |
50 |
cj_content |
奖惩原因 |
text |
_ |
|
name |
应聘人员姓名 |
char |
10 |
|
sex |
应聘人员性别 |
char |
10 |
|
age |
应聘人员年龄 |
int |
_ |
|
born |
应聘人员出生年月 |
varchar |
50 |
|
job |
应聘职务 |
varchar |
50 |
|
specialty |
应聘人员所学专业 |
varchar |
50 |
|
experience |
应聘人员工作经验 |
char |
10 |
|
teachSchool |
应聘人员文化程度 |
varchar |
30 |
|
afterSchool |
应聘人员毕业院校 |
varchar |
50 |
|
tel |
应聘人员联系电话 |
varchar |
50 |
|
address |
应聘人员家庭住址 |
varchar |
50 |
续表3-1
createtime |
应聘人员登记时间 |
varchar |
50 |
|
content |
应聘人员个人简介 |
ntext |
_ |
|
isstock |
应聘人员是否录用 |
bit |
_ |
|
I01-48 |
tn_man |
培训人 |
char |
10 |
I01-49 |
tn_title |
培训主题 |
varchar |
50 |
I01-50 |
tn_time |
培训时间 |
char |
30 |
I01-51 |
tn_address |
培训地址 |
char |
30 |
I01-52 |
tn_join |
参加人员 |
varchar |
50 |
I01-53 |
tn_bz |
备注信息 |
text |
_ |
数据流编号:D1-01
数据流名称:员工基本信息
数据流来源:管理员
数据流去向:P1-01
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06
+I01-07+I01-08+I01-09+I01-10+I01-11+I01-12
+I01-13+I01-14+I01-15+I01-16+I01-17+I01-18
+I01-19+I01-20+I01-21
数据流编号:D1-02
数据流名称:员工查询结果集
数据流来源:P1-02
数据流去向:P1-01
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06
+I01-07+I01-08+I01-09+I01-10+I01-11+I01-12
+I01-13+I01-14+I01-15+I01-16+I01-17+I01-18
+I01-19+I01-20+I01-21
数据流编号:D1-03
数据流名称:员工信息
数据流来源:F1-01
数据流去向:P1-02
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06
+I01-07+I01-08+I01-09+I01-10+I01-11+I01-12
+I01-13+I01-14+I01-15+I01-16+I01-17+I01-18
+I01-19+I01-20+I01-21
数据流编号:D1-04
数据流名称:员工信息
数据流来源:P1-01
数据流去向:P1-04
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06
+I01-07+I01-08+I01-09+I01-10+I01-11+I01-12
+I01-13+I01-14+I01-15+I01-16+I01-17+I01-18
+I01-19+I01-20+I01-21
数据流编号:D1-05
数据流名称:薪资信息
数据流来源:管理员
数据流去向:P1-03
数据流组成:I01-01+I01-02+I01-22+I01-23+I01-24+I01-25
+I01-26+I01-27+I01-28
数据流编号:D1-06
数据流名称:薪资查询结果集
数据流来源:P1-03
数据流去向:P1-05
数据流组成:I01-01+I01-02+I01-22+I01-23+I01-24+I01-25
+I01-26+I01-27+I01-28
数据流编号:D1-07
数据流名称:结算信息
数据流来源:P1-03
数据流去向:P1-04
数据流组成:I01-01+I01-02+I01-22+I01-23+I01-24+I01-25
+I01-26+I01-27+I01-28
数据流编号:D1-08
数据流名称:发放工资
数据流来源:P1-04
数据流去向:管理员
数据流组成:I01-01+I01-02+I01-22+I01-23+I01-24+I01-25
+I01-26+I01-27+I01-28
数据流编号:D1-09
数据流名称:薪资信息
数据流来源:F1-02
数据流去向:P1-05
数据流组成:I01-01+I01-02+I01-22+I01-23+I01-24+I01-25
+I01-26+I01-27+I01-28
数据流编号:D1-10
数据流名称:招聘信息
数据流来源:管理员
数据流去向:P1-06
数据流组成:I01-33+I01-34+I01-35+I01-36+I01-37+I01-38
+I01-39+I01-40+I01-41+I01-42+I01-43+I01-44
+I01-45+I01-46+I01-47
数据流编号:D1-11
数据流名称:招聘查询结果集
数据流来源:P1-06
数据流去向:P1-07
数据流组成:I01-33+I01-34+I01-35+I01-36+I01-37+I01-38
+I01-39+I01-40+I01-41+I01-42+I01-43+I01-44
+I01-45+I01-46+I01-47
数据流编号:D1-12
数据流名称:招聘录用
数据流来源:P1-06
数据流去向:P1-01
数据流组成:I01-33+I01-34+I01-35+I01-36+I01-37+I01-38
+I01-39+I01-40+I01-41+I01-42+I01-43+I01-44
+I01-45+I01-46+I01-47
数据流编号:D1-13
数据流名称:招聘信息
数据流来源:F1-03
数据流去向:P1-07
数据流组成:I01-33+I01-34+I01-35+I01-36+I01-37+I01-38
+I01-39+I01-40+I01-41+I01-42+I01-43+I01-44
+I01-45+I01-46+I01-47
数据流编号:D1-14
数据流名称:奖惩信息
数据流来源:管理员
数据流去向:P1-08
数据流组成:I01-29+I01-30+I01-31+I01-32+I01-33
数据流编号:D1-15
数据流名称:奖惩查询结果集
数据流来源:P1-08
数据流去向:P1-09
数据流组成:I01-29+I01-30+I01-31+I01-32+I01-33
数据流编号:D1-16
数据流名称:奖惩信息
数据流来源:F1-04
数据流去向:P1-09
数据流组成:I01-29+I01-30+I01-31+I01-32+I01-33
数据流编号:D1-17
数据流名称:培训信息
数据流来源:管理员
数据流去向:P1-10
数据流组成:I01-29+I01-30+I01-31+I01-32+I01-33
数据流编号:D1-18
数据流名称:培训信息查询
数据流来源:P1-10
数据流去向:P1-11
数据流组成:I01-29+I01-30+I01-31+I01-32+I01-33
数据流编号:D1-19
数据流名称:培训信息
数据流来源:F1-05
数据流去向:P1-11
数据流组成:I01-29+I01-30+I01-31+I01-32+I01-33
通过之前对系统中软件的经济、技术和运行可行性的分析,以及需求分析阶段对系统功能和性能方面的分析,可以总结本系统的下一个总体设计模块及相关的设计方法和技术,为下一步的代码实现提供了指导。
本系统利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。从对顶层信息的分类开始,沿着图中每条路径反复细化,直到确定了数据结构的全部细节为止。系统功能模块图如图4-1所示。
图4-1 系统功能结构图
本系统一共分为七大模块,每个模块对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的数据表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能的分析,系统在七大块的基础上每一大模块又分为几个模块:
(1) 部门管理包括三个操作:对本企业的部门进行添加、查看和删除部门操作。
(2) 员工管理包括五大操作:主要实现录入员工基本信息、删除员工的信息、查看员工基本信息,通过所在部门查询员工的信息以及对员工的信息进行详细的查看。
(3) 招聘管理包括六大操作:招聘管理主要涉及到的角色是应聘人员,首先对应聘人员进行录入、删除、发布,详细查看招聘人员的信息,以及对录入企业和非录入企业的人员进行查询。
(4) 培训管理操作主要是对企业部门中的刚录入的员工和正式员工进行培训管理,可以实现对培训的记录、删除、查看和详细的培训计划进行查询。
(5)奖惩管理主要实现对企业员工的行为,表现给出一些奖励或惩罚,进行对员工的奖惩管理的添加、移除和查看以及详尽的查询。
(6)薪资管理也是对企业中的正式员工的薪资进行管理,不仅是记录、删除、查看,还有可以通过编号来查询员工的薪资,通过工作的时间来查询员工的薪资。
(7) 系统管理主要是对管理员进行管理,管理员主要是分为两种,一种是系统管理员,另一种是普通管理员,系统管理员可以实现对普通管理员的添加,删除和修改自己的密码,而普通管理员只能实现修改自己密码的管理,其他的操作不可以。
数据库是MIS的重要组成部分。在数据库管理系统中,应用程序不能直接从存储介质获得所需的数据,它必须先将请求提交给DBMS,由DBMS负责从存储介质检索数据并提供给应用程序使用。因此一个数据库管理系统就是应用程序与数据之间的接口。概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。在概念结构设计的基础上,将实体转化为以下的关系表:部门表、员工基本信息表、聘表、薪资表、培训表、管理员表、奖惩表。他们分别记录了系统不同的信息,支持系统的运行。
通过网络化来管理,能够增强了员工之间的沟通。能够好地协调了员工这间的协作关系;对员工基础信息管理和薪资管理更加科学;能够全程跟踪员工的培训;通过信息的记录,更好地做出员工培训的方案,在设计人力资源管理信息系统时,主要从模块组成、数据连接、功能实现、应用意义等方面着手,模块组成主要包括人力资源管理信息系统的主要组成模块所要达到的功能。每个模块基本上脱离不了数据,所以在数据库设计时,要充分考虑数据的高效性,减少数据冗余,保证系统的运行速度。本系统的数据库采用MySQL数据库。
数据分析是数据库设计的首先步骤,数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。
我们使用一种信息建模技术,这种技术是通过实体、关系、属性三种基本对象来定义信息。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系,关系为实体记录(实例)之间的联系和交互作用方式建立了模型。
要确定实体和关系的性质,用户必须确定单个实体和他们相关的属性。为每个对象定义一个完整的与商业相关的描述以及他单独使用的要求,这也包括确定此实体是否使用应用程序的永久需求,每种关系的基本定义使用了商业定义和与关系相连接的需求。
在本系统中,主要的实体就是管理员和员工,其通过对员工的相关档案,培训,考勤及奖惩管理等进行处理,来实现对员工各项管理的总体化。他们之间是管理与被管理的关系,实体通过与其他实体间的关系,来改变相应属性。
对于基于结构化的数据库系统开发方法而言,数据库系统在完成需求分析、概要设计阶段后,需进行数据库系统的详细设计工作,此阶段不仅需要完成对数据库系统的处理过程的详细算法描述和输入输出格式设计,而且还需要进行数据库逻辑结构设计和数据库物理结构设计。
通过之前对系统整体的需求分析和总体模块的设计,以及本系统的数据库的详细设计,根据各实体之间的相互联系和各数据表之间的相互管理,得出了本系统的数据库的E-R图设计。本系统的数据库的E-R如图4-2所示。
图4-2数据库E-R图
本系统的数据库命名为:DB_personManager,用来存储该系统中用到的所有数据。PeopleManager数据库中共分7张表,信息表如表4-1至4-7所示。
(1)管理员信息表:主要是用来保存管理员信息,如表4-1所示。
表4-1 tb_manager(管理员信息表)
字段名 |
数据类型 |
是否为空 |
是否主键 |
默认值 |
描述 |
id |
int(4) |
No |
Yes |
|
ID(自动编号) |
account |
varchar(20) |
No |
|
|
管理员账号 |
password |
varchar(20) |
No |
|
|
管理员密码 |
managerLever |
char(10) |
No |
|
|
管理员级别 |
(2) 招聘信息表:主要是用来保存招聘信息,对应聘人员进行筛选,录用等操作,如表4-2所示。
表4-2tb_inviteJob(招聘信息表)
字段名 |
数据类型 |
是否为空 |
是否主键 |
默认值 |
描述 |
id |
int(4) |
No |
Yes |
|
ID(自动编号) |
name |
char(10) |
Yes |
|
NULL |
应聘人员姓名 |
sex |
char(10) |
Yes |
|
NULL |
应聘人员性别 |
age |
int(4) |
Yes |
|
NULL |
应聘人员年龄 |
born |
varchar(50) |
Yes |
|
NULL |
应聘人员出生日期 |
job |
varchar(50) |
Yes |
|
NULL |
应聘职务 |
specialty |
varchar(50) |
Yes |
|
NULL |
应聘人员所学专业 |
experience |
char(10) |
Yes |
|
NULL |
应聘人员工作经验 |
teachSchool |
varchar(30) |
Yes |
|
NULL |
应聘人员文化程度 |
afterSchool |
varchar(50) |
Yes |
|
NULL |
应聘人员毕业院校 |
tel |
varchar(50) |
Yes |
|
NULL |
应聘人员联系电话 |
address |
varchar(50) |
Yes |
|
NULL |
应聘人员家庭住址 |
createtime |
varchar(50) |
Yes |
|
NULL |
登记时间 |
content |
next(16) |
Yes |
|
NULL |
备注信息 |
isstock |
bit(1) |
Yes |
|
NULL |
是否被录用标识 |
(3) 员工信息表:主要是用来保存员工详细信息,对员工的基本信息进行操作,如表4-3所示。
表4-3tb_employee(员工信息表)
字段名 |
数据类型 |
是否为空 |
是否主键 |
默认值 |
描述 |
id |
int(4) |
No |
|
|
ID(自动编号) |
em_serialNumber |
varchar(30) |
No |
Yes |
|
员工账号 |
em_name |
char(2) |
No |
|
|
员工姓名 |
em_sex |
char(2) |
No |
|
|
员工性别 |
em_age |
int(4) |
No |
|
|
员工年龄 |
em_IDCard |
varchar(30) |
No |
|
|
员工身份证号 |
em_born |
varchar(50) |
No |
|
|
出生日期 |
em_nation |
char(10) |
No |
|
|
民族信息 |
em_marriage |
char(10) |
No |
|
NULL |
是否结婚 |
em_visage |
char(10) |
No |
|
NULL |
政治面貌 |
em_ancestralHome |
char(30) |
Yes |
|
NULL |
籍贯 |
em_tel |
varchar(50) |
Yes |
|
NULL |
联系电话 |
em_address |
varchar(50) |
Yes |
|
NULL |
联系地址 |
em_afterSchool |
varchar(50) |
Yes |
|
NULL |
毕业学校 |
em_speciality |
varchar(50) |
Yes |
|
NULL |
所学专业 |
em_culture |
char(10) |
Yes |
|
NULL |
文化程度 |
em_startime |
char(30) |
Yes |
|
NULL |
开始工作时间 |
em_departmentId |
int(4) |
No |
|
|
部门信息表外键信息 |
em_typeWork |
char(10) |
Yes |
|
NULL |
工种 |
em_creatime |
varchar(50) |
Yes |
|
NULL |
登记时间 |
em_bz |
varchar(50) |
Yes |
|
NULL |
备注信息 |
(4) 薪资信息表:主要是用来存储员工薪资信息,如表4-4所示。
表4-4tb_pay(薪资信息表)
字段名 |
数据类型 |
是否为空 |
是否主键 |
默认值 |
描述 |
id |
int(4) |
No |
|
|
ID(自动编号) |
pay_emNumber |
varchar(30) |
No |
|
|
员工编号 |
pay_emName |
char(10) |
No |
|
|
员工姓名 |
续表4-4
pay_month |
varchar(50) |
No |
|
|
发放工资时间 |
pay_baseMoney |
int(4) |
No |
|
|
基本工资 |
pay_overtime |
int(4) |
No |
|
|
加班费 |
pay_age |
int(4) |
No |
|
|
工龄 |
pay_check |
money(8) |
No |
|
|
考勤费 |
pay_absent |
money(8) |
No |
|
|
旷工费 |
pay_safety |
money(8) |
No |
|
|
保险费 |
在软件总体设计之后,将进行软件的详细设计,详细设计是软件设计的重要阶段,详细设计目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,各个模块的功能,为进行后面的实现和测试做准备。
本系统运行于当今主流PC平台,支持各种操作系统,由比较强的平台适应性,可以满足大多数用户要求。
(1) 硬件环境:台式计算机(PC)一台,如表5-1所示。
表5-1 运行环境硬件配置
硬件 |
配置 |
处理器 |
英特尔酷睿i3 |
内存 |
2GB |
硬盘空间 |
320GB |
(2)软件环境:Windows Server2003和Windows XP操作系统。
本系统管理员正确登录后,便进入系统首页,系统首页主要由3大部分组成,一部分是模块功能导航;主要功能是链接各个管理模块,对系统的七大模块进行综合的管理操作;一部分是常用功能,主要包括返回首页、修改密码及退出系统功能,是系统的快捷方式操作;一部分是功能展示,主要功能是显示所链接模块的内容,主要是对企业的各个管理模块中的操作进行具体的操作,在系统首页中,展示区中主要包括各个模块中的添加功能。系统主界面如图5-1和5-2所示。
图5- SEQ 图5- \* ARABIC1系统登陆界面
图5- SEQ 图5- \* ARABIC2系统主界面
管理员管理模块主要包括管理员登录、添加管理员、查询管理员、删除管理员及修改管理员密码几部分。管理员管理流程图如图5-2所示。
图5-2 管理员管理的流程图
(1) 实现目标
管理员只有正确登录后才能对系统管理。管理员登录主要用于验证用户是否是合法用户。当已经登录的管理员为系统管理员时,可以单击功能导航区中“系统管理”超链接,浏览该系统中所有可以登录的管理员,并且具有添加或删除管理员的权限(系统管理员不能删除自己本身)。浏览管理员页面的运行结果如图5-3所示。
图5-3 浏览管理员页面
(2) 实现过程
页面名称:manager_insert.jsp
表5-1 管理员基本信息设置主要控件信息列表
名称 |
主要属性设置 |
作用 |
id |
/ |
显示/输入序号 |
account |
/ |
显示/输入用户账号 |
password |
/ |
显示/输入用户密码 |
managerLevel |
/ |
显示/输入用户级别 |
员工管理是人力资源管理中最核心的模块之一。人力资源管理部门的管理人员可以通过该模块增加、删除、修改人事信息;除此之外,企业决策者也可以查询、筛选自己的关心的信息,并能通过统计对企业当前的人力资源状况进行宏观的了解。员工管理模块主要包括员工信息查询、添加员工信息、修改员工信息、删除员工信息、按部门查询员工信息及详细查询员工信息几部分。以下是员工管理的流程图如图5-4所示。
图5-4 员工管理的流程图
(1) 实现目标
当点击主界面的功能模块导航中的员工管理链接时,在功能模块展示中将显示相应员工基本信息的操作界面。当点击“添加”时,弹出员工信息添加页面,用户通过文本框输入预添加的员工基本信息,如果所填入的信息格式错误或不能为空的文本框输入为空时,提交时将弹出相应的错误提示信息。当处理查询操作的时候,可通过员工所在部门进行查询,也可对员工的信息进行更详细的查询。用户可以通过查询所要修改的员工记录,然后点击“修改”,弹出修改对话框,对所查询出的员工信息进行修改,然后提交保存,当预修改的信息出现格式等错误时,将会弹出相应的提示信息。当用户要进行删除员工信息时,用户可以先进行员工信息查询,根据查询到的员工信息点击删除执行删除,同样,当查询的信息不存在时将给与用户相应的提示信息。员工基本信息设置如图5-5所示。
图5-5 员工基本信息设置
(2) 实现过程
页面名称:employ_insert.jsp
表5-2员工基本信息设置主要控件信息列表
名称 |
主要属性设置 |
作用 |
id |
/ |
显示/输入员工编号 |
em_serialNumber |
/ |
显示/输入员工账号 |
em_name |
/ |
显示/输入员工姓名 |
续表5-2
em_sex |
Value=“男” |
显示/输入性别 |
em_age |
/ |
显示/输入年龄 |
em_IDCard |
/ |
显示/输入身份证号 |
em_born |
/ |
显示/输入出生日期 |
em_nation |
Value=“汉” |
显示/输入民族 |
em_marriage |
Value=“未婚” |
显示/输入是否结婚 |
em_visage |
Value=“无” |
显示/输入政治面貌 |
em_ancestralHome |
/ |
显示/输入籍贯 |
em_tel |
/ |
显示/输入联系方式 |
em_address |
/ |
显示/输入家庭地址 |
em_afterSchool |
/ |
显示/输入毕业院校 |
em_speciality |
/ |
显示/输入专业 |
em_culture |
Value=“本科生” |
显示/输入文化程度 |
em_startime |
/ |
显示/输入开始时间 |
em_departmentId |
/ |
显示/输入部门编号 |
em_typeWork |
Value=“程序员” |
显示/输入工种 |
em_creatime |
/ |
显示/输入登记时间 |
em_createName |
/ |
显示/输入登记人 |
em_bz |
/ |
显示/输入备注信息 |
招聘管理模块主要用于对招聘和应聘的人员信息进行添加和管理,大大的方便了企业管理者对后备人才的管理,能够有效地为企业筛选优秀人才。招聘管理的流程图如图5-6所示
图5-6 招聘管理流程图
(1) 实现目标
在网站的首页面中,可以单击功能导航区中的“招聘管理”超链接,进入招聘人员查询页面,在该页面中只显示招聘人员的部分信息,如果想查询某一个人员的详细信息,则单击该人员对应的“详细查询”超链接即可查看该人员的详细信息。除了详细信息查询外,还有删除人员信息、添加人员信息及录用与非录用查询功能。当点击“添加应聘人信息”时,弹出应聘人信息添加页面,用户通过文本框输入预添加的应聘人员基本信息,如果所填入的信息格式错误或不能为空的文本框输入为空时,提交时将弹出相应的错误提示信息。当处理查询操作的时候,可对应聘人员的信息进行更详细的查询。同时还可以对应聘人员进行筛选操作,如果认为优秀的人才可进行录用,这样就分成了录用人员查询和非录用人员查询两种查询操作。同样,管理员也可对应聘人员中不合格的人员进行删除操作,浏览应聘信息如图5-7所示。
图5-7 浏览应聘信息
(2) 实现过程
页面名称:invite_query.jsp
在设计浏览应聘人员信息页面时,将分页显示应聘人员信息。在该页面中,首先通过request对象中的getAttribute()方法获取所有的管理员结果集的List对象;然后通过各种计算将各组管理员信息集合进行定位;最后通过Struts框架中的<logic:iterate>循环标签显示应聘人员信息,具体控件设置如表5-3所示:
表5-3招聘基本信息设置主要控件信息列表
名称 |
主要属性设置 |
作用 |
id |
/ |
显示/输入序号 |
name |
/ |
显示/输入姓名 |
sex |
Value=“男” |
显示/输入性别 |
age |
/ |
显示/输入年龄 |
born |
/ |
显示/输入出生日期 |
续表5-3
job |
/ |
显示/输入应聘职务 |
specialty |
/ |
显示/输入专业 |
experience |
Value=“无” |
显示/输入工作经验 |
teachSchool |
/ |
显示/输入文化程度 |
afterSchool |
/ |
显示/输入毕业院校 |
tel |
/ |
显示/输入联系电话 |
address |
/ |
显示/输入家庭住址 |
createtime |
/ |
显示/输入登记时间 |
content |
Value=“应届毕业生,无工作经验” |
显示/输入工作简历 |
isstock |
/ |
显示/输入是否被录用 |
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
经过前面对软件的一系列开发过程包括需求分析、设计和编码等阶段的实现后,得到了源程序,那么就要开始进入到软件测试阶段了。因为,在测试之前的各阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用,及时能够运行也会存在较高的风险,对企业的利益来讲是十分不利的,甚至会导致巨大的损失。目前,程序的正确性证明尚未得到根本的解决,因此软件测试仍是发现软件中错误和缺陷的主要手段。
测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例(一组输入数据和与之对应的预期的输出结果,在设计测试用例时,应包括合理的输入数据和不合理的输入数据),利用这些用例执行程序,找出软件潜在的缺陷一个好的测试用例很可能找到至今为止尚未发现的缺陷的用例;一个成功的测试则是指揭示了至今为止尚未发现的缺陷的测试。
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。
软件测试的主要步骤有单元测试、集成测试和确认测试。
(1)单元测试(Unit Testing)
单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。
(2)集成测试(Integration Testing)
集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。
(3) 确认测试(Validation Testing)
确认测试的任务是检查软件的功能、性能及其它特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。
本系统在测试过程中用到了黑盒测试法。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
在管理员登录模块中,主要用于验证用户是否是合法用户。在管理员登录页面中,只有当输入正确的账号和密码后,单击“登录”按钮,才可进入主界面。否则登录时出现“您输入的账号不存在”或“密码不正确”错误提示。如图6-1所示。
图6-1 登录错误提示
在员工管理模块中,主要对企业员工信息的添加、修改、删除、按部门查询员工以及详细查看员工信息等操作。其中在员工添加中要符合要求进行添加,否则将出现错误提示。如图6-2所示;
图6-2添加员工信息时错误提示
在对员工信息添加时,有些信息是无需更改的,例如:登记人名和登记时间,这两项是只读的,因为登记人名是你所登录主界面时所用的账号,登记时间是你当前的日期,在对员工添加时,不无更改。如想进行更改,将出现以下如图6-3的错误提示。
图6-3添加员工时文本框为只读的错误提示
在薪资管理模块中,主要是对企业员工的薪资进行管理,包括当月员工的薪资的发放、薪资的查询以及对离职员工薪资的删除等操作。在员工薪资查询中主要分为按年月时间方式来查询员工薪资、按员工编号和姓名方式来查询员工薪资,以及每个月份的整体查询三种。如果想通过年月时间方式来查询员工薪资,则一定要输入年月,并且要输入正确格式的年月,否则出错。如图6-4所示;如果当月的员工的薪资已经发放完成了,再进行发放将会提示错误信息。如图6-5所示。
图6-4按年月查询员工资源错误提示
图6-5员工工资再次发放错误提示