基于javaweb的人才管理系统的设计与实现大学论文.docx
《基于javaweb的人才管理系统的设计与实现大学论文.docx》由会员分享,可在线阅读,更多相关《基于javaweb的人才管理系统的设计与实现大学论文.docx(15页珍藏版)》请在冰豆网上搜索。
基于javaweb的人才管理系统的设计与实现大学论文
职业技术学院
毕业设计说明书
题目:
基于JavaWeb的人才管理系统的设计与实现
产品设计
工艺设计
方案设计
√
类型:
摘要
本系统主要适用于中小型灯具商进行灯具进销存管理,使用MyEclipse开发并在SQLServer数据库和JSP技术的人才管理系统的设计与实现。
该产品应做到界面清晰明了、人机交互简单方便,便于对不同类型(货品、员工)进行插入、查询、修改、删除,对人才信息进行管理,便于管理层对人才以及对部门调度进行记录。
关键词:
Myeclipse;SQLServer;JSP;人才的管理系统;
目录
1.绪论4
1.1选题的背景和意义4
1.2主要的技术路线4
2.需求分析4
2.1软件的需求规定4
2.1.1登录模块5
2.1.2人才管理5
2.1..3部门管理5
2.1.4调度管理5
2.2软件的需求建模6
2.2.1.用例模型6
2.3软件的运行环境7
2.3.1服务器运行环境7
2.3.2客户端运行环境7
3.总体设计8
4.编程实现11
5.结论15
参考文献16
致谢17
1.绪论
1.1选题的背景和意义
为了满足企业现代化管理日益增加的需求,我们通过计算机网络进行更加全面的管理。
经济性:
系统化的管理使企业在运营过程中拥有更权威可信的数据统计,通过大量权威科学依据,是员工的工作简单而富有效率,大大降低了数据错误率,明显的提高了企业的经济小一。
技术性:
在现代飞速发张的互联网时代,人员可以通过互联网随时随地的查看系统内容信息,管理层可以对系统内容进行修改和操作,是管理更加系统简单,极大地提高了管理能力和实用性。
1.2主要的技术路线
JDBC:
JDBC(JavaDataBaseConnectivity)是一个基于标准SQL的数据库访问接口,主要用来连接数据库和直接调用SQL命令执行各种SQL语句和存储过程。
HTML:
超文本语言是标准通用标记语言下的一个应用,是规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。
Servlet:
Servlet是Java平台上的CGI技术。
通过在服务端运行,生成动态Web页面。
与传统的CGI和许多其他类似CGI的技术相比,JavaServlet是依靠线程的方式进行支持和访问,所以它具有更高的效率。
JSP(EL/JSTL):
JSP(JavaServerPage)是一种实现普通静态HTML和动态页面输出混合编码的技术。
在运行时态,JSP将会被首先转换成Servlet,它的效率和功能与Servlet相比没有差别。
2.需求分析
2.1软件的需求规定
该系统针对于本公司的人才管理。
功能结构如图2.1所示。
图2.1功能模块图
2.1.1登录模块
(1)管理员登录:
需要管理员登录才能进行后续操作。
2.1.2人才管理
(1)添加人才:
添加信息
(2)人才信息修改:
对人才进行修改,不能修改人才编号
(3)人才信息查询:
可以查看人才信息
(4)人才信息删除;删除人才信息
2.1..3部门管理
(1)部门信息增加:
增加部门信息,部门编号不能相同
(2)部门信息修改:
对部门信息进行修改,不能修改部门编号
(3)部门信息查询:
查询部门信息
(4)部门信息删除:
删除部门信息
2.1.4调度管理
(1)出差调度,出差地址更改。
(2)部门调度,部门调换。
2.2软件的需求建模
2.2.1.用例模型
人才管理用例模型如图2.2所示
管理员
图2.2人才管理用例图
1人才管理用例列表
表2.1人才管理系统用例描述
序号
用例编号
用例名称
1
P01
人才管理
2
P02
部门管理
3
P03
调度管理
2人才管理用例描述
表2.2:
管理员登录
描述
管理员登录
条件
管理员登录成功
结果
登录成功或失败
基本流程
输入管理员ID和密码,正确则进入管理系统
表2.3:
管理员操作
描述
对人才信息进行管理
参与者
管理员、服务器端、数据库系统
条件
管理员登录成功
结果
人才信息的增删改查
基本流程
通过上方的下拉菜单选项选择你需要的操作
表2.4:
部门管理
描述
对部门信息进行管理
参与者
管理员、服务器端、数据库系统
条件
管理员登录成功
结果
管理部门信息的增删改查
基本流程
通过上方的下拉菜单选项选择你需要的操作
表2.5:
调度管理
描述
对调度信息进行管理
参与者
管理员、服务器端、数据库系统
条件
管理员登录成功
结果
管理调度信息的增删改查
基本流程
通过上方的下拉菜单选项选择你需要的操作
2.3软件的运行环境
2.3.1服务器运行环境
数据库:
SQLServer2008以上版本
Web服务器软件:
Tomcat7.0+JDK6.0以上
2.3.2客户端运行环境
浏览器:
IE、360、FireFox等
3.总体设计
该系统采用流行的B/S结构模式,系统的分析设计采用面向对象的技术,应用Visio等工具进行辅助设计。
3.1软件的框架设计
系统软件采用分层架构,它包括数据访问,业务逻辑,界面表现三层:
1、数据访问层:
它的主要功能就是对原始数据进行增加、删除、修改、查询等操作,具体就是为数据访问,业务逻辑或表示层提供数据的访问。
2、业务逻辑层:
它的主要功能是应对具体问题提供具体操作,也就是对数据层进行操作对业务逻辑进行处理,如果说数据层是砖块,那么逻辑层就是对这些砖块进行搭建。
3、界面表示层:
可以理解为UI(用户界面),就是用户在使用系统时的页面所见所得,一个强大的逻辑层能够在表现层如何定义和修改后,逻辑层都能完善的提供优质的服务。
3.2软件的数据库设计
人才管理系统E-R模型图如图3.2所示。
图3.2人才管理系统E-R模型图
人才实体E-R模型图表
人才实体类拥有人才ID、姓名、年龄、性别、生日、地址、部门,职位,电话,身份证。
人才管理系统实体图如图3.3所示。
图3.3人才E-R模型图
部门实体E-R模型
部门实体类包括部门编号、部门名称、部门负责人、部门员工。
部门实体E-R模型图如图3.4所示。
图3.4部门实体E-R模型图
调度实体E-R模型图
调度实体类包括、请假调度编号、调度姓名、调度地址、调度人员。
调度实体类如图3.5所示。
图3.5调度实体E-R模型图
3.3数据库物理模型设计
根据E-R图可以对数据库进行设计,以下列出主要的数据库。
人才表用来保存人才的基本信息,如表3.1所示。
表3.1人才表
属性名称
含义
数据类型
主要属性
说明
id
调度编号
varchar(20)
主键
存储人才ID
name
调度姓名
varchar(20)
Notnull
存储人才姓名
age
年龄
varchar(20)
Notnull
存储人才年龄
sex
性别
varchar(20)
Notnull
存储人才性别
birth
生日
varchar(20)
Notnull
存储人才生日
place
地址
varchar(20)
Notnull
储存人才地址
tel
电话
varchar(20)
Notnull
储存人才电话
major
职位
varchar(20)
Notnull
储存人才职位
id_card
身份证
varchar(20)
Notnull
储存人才身份证
major
部门
varchar(20)
Notnull
储存人才部门
1.部门表用来保存部门的基本信息,如表3.2所示。
表3.2部门表
属性名称
含义
数据类型
主要属性
说明
department_id
部门编号
varchar(20)
主键
存储部门ID
department_name
部门名字
varchar(20)
Notnull
存储部门名称
department_empolyee
部门人数
varchar
(2)
Notnull
存储部门人数
head
负责人
varchar(20)
Notnull
存储负责人
head_phone
负责人电话
varchar(20)
Notnull
存储负责人电话
2.调度表用来保存调度的基本信息,如表3.3所示。
表3.3调度表
属性名称
含义
数据类型
主要属性
说明
dispatcher_id
调度编号
varchar(20)
主键
存储编号
Dispatcher_name
调度事由
varchar(20)
Notnull
存储事由
dispatcher_address
调度地址
varchar(20)
Notnull
存储地址
dispatcher_employee
调度人员
varchar(20)
Notnull
储存员工
4.编程实现
人才管理系统的UI界面采用JSP和Html编写,后台功能使用Java语言实现增、删、改查等功能,数据库存储信息使用SQLServer2012数据库。
4.1登录界面实现
人才管理系统的登录界面如图4.1所示,输入管理员ID:
admin和密码admin后点击登录,若输入错误可以点击重置按钮重新输入,如果ID和密码匹配成功则登录成功。
图4.1管理系统登录界面
4.2管理界面
管理界面分为人才管理模块(图4.2.1)、部门管理模块(图4.2.2)、调度管理模块(图4.2.3)、共三大模块。
人才管理模块主要包括增、删、改、查人才信息等功能,其中部门管理模块主要包括增、删。
改,查员工信息等功能,调度管理模块主要包括添加、查询信息等功能。
图4.2.1人才信息管理模块
关键代码如下:
publicListfind1()throwsSQLException{
Listlist=newArrayList();
Stringsql="select*fromhuman";
conn=DBConn.getConnection();
state=conn.createStatement();
rs=state.executeQuery(sql);
LogisticsBeanp=null;
while(rs.next()){
p=newLogisticsBean();
p.setid(rs.getString("id"));
p.setname(rs.getString("name"));
p.setsex(rs.getString("sex"));
p.setage(rs.getString("age"));
p.setbirth(rs.getString("birth"));
p.setplace(rs.getString("place"));
p.settel(rs.getString("tel"));
p.setmajor(rs.getString("major"));
p.setid_card(rs.getString("id_card"));
p.setdepartment(rs.getString("department"));
list.add(p);
}
rs.close();
state.close();
conn.close();
returnlist;
}
图4.2.2部门信息管理模块
重要代码如下:
publicListfind2()throwsSQLException{
Listlist=newArrayList();
Stringsql="select*fromDepartment";
conn=DBConn.getConnection();
state=conn.createStatement();
rs=state.executeQuery(sql);
Departmentde=null;
while(rs.next()){
de=newDepartment();
de.setDepartment_id(rs.getString("department_id"));
de.setDepartment_name(rs.getString("department_name"));
de.setDepartment_employee(rs.getString("department_employee"));
de.setHead(rs.getString("head"));
de.setHead_phone(rs.getString("head_phone"));
list.add(de);
}
rs.close();
state.close();
conn.close();
returnlist;
}
图4.2.3调度信息管理模块
重要代码如下:
publicListfind3()throwsSQLException{
Listlist=newArrayList();
Stringsql="select*fromDispatcher";
conn=DBConn.getConnection();
state=conn.createStatement();
rs=state.executeQuery(sql);
Dispatcherdi=null;
while(rs.next()){
di=newDispatcher();
di.setDispatcher_id(rs.getString("dispatcher_id"));
di.setDispatcher_name(rs.getString("dispatcher_name"));
di.setDispatcher_address(rs.getString("dispatcher_address"));
di.setDispatcher_employee(rs.getString("dispatcher_employee"));
list.add(di);
}
rs.close();
state.close();
conn.close();
eturnlist;
5.结论
通过这次毕业设计,深刻体会到其中的艰辛与不易,每一次成功的后面都有非常大的付出。
这次项目的设计对我而言有着深刻以及深远的意义,不仅仅是体会到其中的艰辛还有成功会的雀跃,道路是曲折的未来是光明的,通过请教和查找资料终于将自己的所想变为了现实这不是量的积累而是质的飞跃。
这次的项目设计锻炼了我们的动手能力,增强了我们的理论知识,使知识更加稳固,遇到具体问题具体解决,真正做到了学以致用的学习方法,在此期间,我遇到了各种各样的问题,比如知识盲点,软件BUG通过同学的帮助和老师解决了一个个问了,最终这个项目得以展现在我们面前,我也深刻了解到了自己的不足,学习的道路还很长,要不断丰富自己的学习知识,增强自己的动手能力,是自己的综合素质提高,努力努力再努力,加油加油再加油。
参考文献
[1]王海涛,-贾宗璞.基于Struts和Hibernate的Web应用开发[J].计算机工程,2011
[2]刘京华.JavaWeb整合开发王者归来[M].北京:
清华大学出版社,2010
[3]赵文靖.Java程序设计基础与上机指导[M].北京:
清华大学,2010.
[4]彭晓青.MVC模式的应用架构系统的研究与实现[J].电子工业出版社,2013.
[5]库俊国.基于J2EE技术的Web应用体系研究及实践[M].北京:
人民邮电出版社,2014.
致谢
此文是在陈翠娥老师精心指导和大力支持下和帮助下完成的。
陈老师严谨求实的治学态度、高度的兢兢业业,敬业精神、孜孜以求的工作作风和大胆创新的进取精神对我们产生非常重要影响。
她非常渊博的知识、开阔的视野和以及敏锐的思维都给了我非常深的影响。
与此同时,我在这次毕业设计的过程中我同时也学到了更多框架方面的知识,动手技能以及思维方式也有了很大的提高。
再次我也要感谢本说明书所引用的那些学者的专著,如果没有这些学者的研究成果的帮助,我无法这么顺利的完成本篇说明书的最终写作。
在此,我也要感谢我的朋友和同学,他们都在我写说明书的过程中给予我了很多有用的材料,也在说明书的排版和撰写过程中提供很大的帮助!
最后,非常感谢老师同学们以及给予我帮助的人,谢谢你们!
。