Java web实习报告

写在前面:HRMS人力资源管理系统源代码需要的可点击直接下载
目录
一、系统设计概述 1
1.1目的 1
1.2任务 1
1.3开发环境 2
1.4参考资料 2
二、系统需求分析 2
2.1管理员登录注册 2
2.2部门管理 2
2.3员工管理 2
2.4培训管理 3
2.5招聘管理 3
2.6奖惩管理 3
2.7薪资管理 3
2.8系统管理 3
三、系统设计的基本原理和采用的主要方法与技术 3
3.1总概 3
3.2系统的主要架构及开发模式 4
3.2.1基于B/S的体系结构 4
3.2.2基于MVC的应用开发模型 4
四、本人在此次实习负责的系统模块设计与实现 5
4.1系统建模 6
4.1.1面向对象建模 6
4.1.2数据概念模型 7
4.2系统模块的设计 7
4.2.1部门管理 7
4.2.2员工管理 7
4.2.3培训管理 8
4.2.4招聘管理 8
4.2.5奖惩管理 8
4.2.6薪资管理 8
4.2.7系统管理 8
4.3系统模块的实现 9
4.3.1部门管理 9
4.3.2员工管理 11
4.3.3培训管理 12
4.3.4招聘管理 14
4.3.5奖惩管理 14
4.3.6薪资管理 15
4.3.7系统管理 16
4.4数据库设计与实现 16
五、个人遇到的困难与获得的主要成果 22
5.1遇到的困难 22
5.2获得的成果 25
六、测试与运行记录 26
七、系统设计完成结果分析与个人小结 29
7.1结果分析 29
7.2个人小结 30
八、附录(软件配置、个人完成的程序模块和文档清单) 30
8.1软件配置 30
8.2个人完成的程序模块和文档清单 31

一、系统设计概述
1.1目的
人力资源管理在管理学中是一个非常重要的的领域,通过人力资源管理能够对企业员工进行有效的管理。它的作用已经大大超过了人事管理,正因为如此,这种新兴的管理模式越来越被人们所重视。有效的人力资源管理是社会各组织、各企业都需要的。将一个Web程序的人力资源管理系统,通过该系统对企业人力资源进行管理,使企业人力资源管理使用时代的发展要求,从而大大的提高企业的核心竞争力。
人力管理系统从科学的管理角度出发,实现以下系统目标:
(1)从企业的人力资源规划开始,记录包括员工的基本信息、教育培训经历、工作经历、薪资情况、部门管理、系统管理等功能。
(2)数据资源高度共享,人才信息全局掌握,人力资源管理统一调配,从而充分发挥企业整体的优势,以供决策。
(3)提供灵活的报表生成功能和分析功能,使得人力资源管理人员可以从繁琐的日常工作中解脱出来,将精力放到更富有挑战性和创造性的人力资源分析、规划、员工激励和战略等工作中去。
(4)准确及时的搜集各种人力资源信息和各种综合性的报表供企业决策人员参考,如年龄结构分析、年资分析、员工整体学历素质分析等,可以帮助企业对员工做出有针对性的管理。
1.2任务
在前期完成需求分析、数据建模、数据库设计等基础下,进行下一步的编码工作,使用Java web语言开发一个简单操作的人力资源管理系统,实现用户操作界面简洁美观,使用一定的开发框架,符合一定的开发流程,开发出来的web程序能够独立部署在浏览器上运行,并能够对数据库进行访问,实现增、删、改、查等操作。小组分为两人,一人负责前端的编码,一人负责后端的编码。
通过此次实习,能够培养我们综合运用已学知识,培养我们动手能力,培养良好的编程规范、编程方法,以便能较全面地理解、掌握和综合运行所学知识、提升自身编程能力,增强团队协作意识、了解软件开发的思考角度和主要流程。
分工安排 第一周 第二周 第三周 完成情况
罗猛 数据库的设计和页面响应的后端,以及一个简易的用户接口 撰写《概念数据模型》
《人力资源管理系统需求分析》
《物理数据模型(PDM)》
数据库设计及后端编码 测试数据库及用户数据 完成
丘佩茵 界面设计、前端用户界面设计,美工 《概要设计》、《详细设计》、《面向对象模型(类图)及其模型报告》、《数据库设计文档》
页面设计及美工 用户数据测试及页面调整 完成
小组分工、进度安排及完成情况
1.3开发环境
开发环境:Windows+Java(14.0.1)
开发工具:Eclipse(4.17.0)
开发服务器:Tomcat9.0
客户程序硬件要求:
具有Pentium III处理器且满足以下要求的计算机:
最低64MB内存、最小2.1GB硬盘、鼠标、键盘
1.4参考资料
人力资源管理系统需求分析;
人力资源管理系统概要设计;
人力资源管理系统详细设计;
人力资源管理系统数据库设计文档;
《Java web从入门到实战》
《软件工程》
二、系统需求分析
2.1管理员登录注册
登录:要求任何使用系统的管理员都应经过用户名、密码进行身份验证后,方可进入系统。如果管理员未通过验证则停留在登录界面,并给出相关提示。然后重新输入用户名和密码。

修改密码:任何用户都可以,并且仅能修改自己的密码。修改密码时,必须要求用户输入原密码、新密码和确认新密码进行验证,验证通过后方能修改密码。

注册:管理员新注册账号时,在注册界面输入个人信息,系统以及输入两次密码,提交注册请求后,系统检验后台数据库是否存在该用户,检验没有相同用户后方可注册成功,即刻返回登录界面。
2.2部门管理
对各部门的基本信息进行管理,让管理者对各部门情况一目了然。且可以查询各部门所有员工,主要信息包括:部门编号、部门名称、部门负责人、总人数。
可进行的操作:对部门信息查询后,可以进行修改,可添加删除部门。
2.3员工管理
对各部门员工的基本信息进行管理记录,让管理者对各部门员工情况一目了然。且可以查询各部门所有员工,主要信息包括:员工编号、员工姓名、员工性别、员工年龄、所属部门、所任职位、薪酬情况。
可进行的操作:对员工信息查询后,可以进行修改,可添加删除员工信息。
2.4培训管理
对各公司培训计划的基本信息进行管理记录。且可以查询所有培训计划,培训主要信息包括:培训信息编号 培训时间 培训地点 培训内容 参与人数
可进行的操作:对培训计划信息查询后,可以进行修改,可添加删除培训信息。
2.5招聘管理
对应聘者的情况进行管理,记录主要包括:应聘信息编号 应聘人姓名 应聘人性别 应聘人年龄 应聘岗位 期望薪酬。
可进行的操作:对应聘者信息查询后,可以进行删除信息。
下载功能:管理员可以查看下载所有应聘者上传到系统的简历。
2.6奖惩管理
根据员工日常情况记录的奖惩情况,主要记录奖惩信息编号 奖惩对象姓名 奖惩性质 奖惩内容等内容。
可进行的操作:对应聘者信息查询后,可以进行添加删除信息。
2.7薪资管理
对员工薪酬的情况进行管理记录,主要包括:薪酬信息编号 员工姓名 员工薪酬。
可进行的操作:对薪酬信息查询后,可以进行添加删除信息。
2.8系统管理
管理记录管理员登录界面的信息,以及每次各个管理员的登录情况。包括管理员编号 管理员昵称 账号 密码 管理员邮箱 管理员真实姓名 管理员身份证号 上次登录时间。
管理员可以查看登录情况信息以及删除记录。
三、系统设计的基本原理和采用的主要方法与技术
3.1总概
系统设计是指对需设计的系统进行调查分析、筹划研究、评价实施、运行改善等,直到完成一个能协调工作的实际系统的过程。
系统设计采用总分结构,将系统分解为若干个小系统,并确定各个子系统的目标、功能及相互关系,对子系统进行技术设计和评价,最后对系统进行总体技术设计和评价。后端采用spring MVC模式,前端采用bootstrap、react框架技术。
3.2系统的主要架构及开发模式
系统的建设关键在于其所使用的结构,而人力资源管理系统这种基于web的系统,传统的C/S架构已经不能满足大量用户的访问和操作,B/S基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理同坐交给服务器端来处理,客户端只用通过普通的IE浏览器即可访问系统,方便快捷而且利于系统的更新和维护,Java语言在该方面更是得天独厚,j2ee规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做得很好。基于MVC的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。
3.2.1基于B/S的体系结构
在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等做工全部用web server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由web服务器单独组成一层来担负其任务,这样客户机的压力减轻了,把负荷分配给了web服务器。这种三层体系结构如图所示。
在这里插入图片描述
B/S三层结构示意图
这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上的程序更新工作。这种三层结构在层与层之间相互独立,任何一层的改变都不会影响其它层的功能。
3.2.2基于MVC的应用开发模型
在传统的基于web的应用系统中,例如ASP,CGI等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面里面既进行后台数据库的访问和操作,同时还包括业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互面的设计。同时系统也不具备可拓展性,当我们要在现有业务上进行扩展时,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长 了系统上线的时间,失去了竞争市场的优势。
在本人力资源管理系统中,将采用通行MVC模式来构建应用这种结构解决了前面所诉的所有问题,在我们的应用集成网络中,通过企业级高端J2EE应用服务器实现MVC开发模型。MVC的逻辑图如下:
在这里插入图片描述
应用服务器之上采用MVC开发的逻辑示意图
在这里插入图片描述
MVC业务流程示意图
通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下:
Model(模型)层:由EJB组件来实现,EJB将具体的业务封装在组件内部,具备安全、高性能、可重用等优秀的特征。
View(视图)层:由JSP、HTML组成。这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格的界面。
Controller(控制器)层:是非常重要的一层,这一层是连接View和Model的纽带,同时也是将这两层进行最大限度分离的工具。通常由Servlet来实现,Servlet和JSP虽然同样属于页面展示工具,但分属两层。主要在于JSP以脚本语言的形式存在,它的主要优势是进行动态数据的web展示,而Servlet是一个完整的Java程序,进行业务的调用和流程的处理是它的长处。
通过这种模型的建立,我们的应用系统具备了非常好的性能和可拓展性。将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。
四、本人在此次实习负责的系统模块设计与实现
在本次的Java web实习开发过程中,我负责的是数据库的设计和负责页面请求和响应的后端,以及一个简易的用户接口。
4.1系统建模
4.1.1面向对象建模
首先确定参与者,参与者是系统以外的一个实体(可以是任何的事物或者人),它以某种方式参与了用例的执行过程。参与者通过向系统或请求系统输入某些事件来触发系统的执行。我们看到人力资源管理系统的参与者是管理员,一般用在分析用例,从需求捕获看用例有以下这些:部门管理、员工管理、招聘管理、培训管理、奖惩管理、薪资管理、系统管理、登录注册等。
画出下图的“人力资源管理系统”的用例图。
用例与用例的关系是包含,扩展,泛化三种。
在这里插入图片描述

分析用例,从用例中寻找对象和类。例如,通过分析人力资源管理子系统,可以发现已下实体类:管理员、部门信息、员工信息、培训信息、奖惩信息等等。类是对象的抽象的描述,它包括属性的描述和行为的描述两个方面。类中的关系是关联,泛化实现,依赖四种关系。其中类与类主要的关系是关联,泛化。
然后画下如下类图:
在这里插入图片描述

4.1.2数据概念模型
在这里插入图片描述
4.2系统模块的设计
4.2.1部门管理
Department_insert_control.java,此程序负责处理department_insert.jsp页面添加的请求,获取表单内的数据后,如果符合要求,则调用BusinessBean中的department_insert()函数,将表单中的数据插入到数据库中。
Department_delete.java,此程序负责处理department_delete.jsp页面删除的请求,获取页面中要删除的信息后,调用BusinessBean中的department_delete()函数,与数据库中的主键对比,若有一致的,则从数据库中删除该项的数据。
Department_update_control.java,此程序负责处理department_update.jsp页面修改的请求,获取该页面中关键信息以及要修改的信息后,调用BusinessBean中的department_update()函数,匹配数据库后,将要更改的内容更新。
4.2.2员工管理
Staff_insert_control.java,此程序负责处理staff_insert.jsp页面添加的请求,获取该页面表单中的内容后,符合要求后调用BusinessBean中的staff_insert()函数,将数据插入到数据库中。
Staff_delete_control.java,此程序负责处理staff_delete.jsp页面删除信息的请求,获取到该页面的关键信息后,若不为空,则调用BusinessBean中staff_delete()函数,与数据库中的主键对比,若有一致的,则从数据库中删除该项的数据。
Staff_update_control.java,此程序负责处理staff_update.jsp页面修改的请求,获取该页面中关键信息以及要修改的信息后,调用BusinessBean中的staff_update()函数,匹配数据库后,将要更改的内容更新。
4.2.3培训管理
Training_insert_control.java,此程序负责处理training_insert.jsp页面添加的请求,获取该页面表单中的内容后,符合要求后调用BusinessBean中的training_insert()函数,将数据插入到数据库中。
Training_delete_control.java,此程序负责处理training_delete.jsp页面删除信息的请求,获取到该页面的关键信息后,若不为空,则调用BusinessBean中training_delete()函数,与数据库中的主键对比,若有一致的,则从数据库中删除该项的数据。
Training_update_control.java,此程序负责处理training_update.jsp页面修改的请求,获取该页面中关键信息以及要修改的信息后,调用BusinessBean中的training_update()函数,匹配数据库后,将要更改的内容更新。
4.2.4招聘管理
DownloadServlet.java,此程序负责获得下载的文件名以及目录的绝对路径,并把文件数据处理后传给ListFileServlet.java,此程序获得所有文件名后,将结果输出到listFile.jsp,实现文件的下载功能。
Employment_delete_control.java,此程序负责处理employment_delete.jsp页面删除信息的请求,获取到该页面的关键信息后,若不为空,则调用BusinessBean中employment_delete()函数,与数据库中的主键对比,若有一致的,则从数据库中删除该项的数据。
4.2.5奖惩管理
Reward&punishment_insert_control.java,负责处理reward&punishment_insert.jsp页面添加的请求,获取该页面表单中的内容后,符合要求后调用BusinessBean中的reward&punishment_insert()函数,将数据插入到数据库中。
Reward&punishment_update_control.java,负责处理reward&punishment_update.jsp页面修改的请求,获取该页面中关键信息以及要修改的信息后,调用BusinessBean中的reward&punishment_update()函数,匹配数据库后,将要更改的内容更新。
4.2.6薪资管理
Salary_insert_control.java,此程序负责处理salary_insert.jsp页面添加的请求,获取该页面表单中的内容后,符合要求后调用BusinessBean中的salary_insert()函数,将数据插入到数据库中。
Salary_update_control.java,此程序负责处理salary_update.jsp页面修改的请求,获取该页面中关键信息以及要修改的信息后,调用BusinessBean中的salary_update()函数,匹配数据库后,将要更改的内容更新。
4.2.7系统管理
System_delete_control.java,此程序负责处理system_delete.jsp页面删除信息的请求,获取到该页面的关键信息后,若不为空,则调用BusinessBean中system_delete()函数,与数据库中的主键对比,若有一致的,则从数据库中删除该项的数据。
4.3系统模块的实现
在这里插入图片描述
对前端jsp页面的响应控制类
4.3.1部门管理
在这里插入图片描述
Department_delete_control.java
在这里插入图片描述
department_delete()函数
在这里插入图片描述
Department_insert_control.java
在这里插入图片描述
department_insert()函数
在这里插入图片描述
Department_update_control.java
在这里插入图片描述
department_update()函数
4.3.2员工管理
在这里插入图片描述
Staff_delete_control.java
在这里插入图片描述
staff_delete()函数
在这里插入图片描述
Staff_insert_control.java
在这里插入图片描述
staff_insert()函数
在这里插入图片描述
Staff_update_control.java
在这里插入图片描述
staff_update()函数
4.3.3培训管理
在这里插入图片描述
Training_delete_control.java
在这里插入图片描述
training_delete()函数
在这里插入图片描述
Training_insert_control.java
在这里插入图片描述
training_insert()函数
在这里插入图片描述
Training_update_control.java
在这里插入图片描述
training_update()函数
4.3.4招聘管理
在这里插入图片描述
实现文件上传与下载

4.3.5奖惩管理
在这里插入图片描述
Rewarandpunishment_delete_control.java
在这里插入图片描述
rewardpunishment_delete()函数
在这里插入图片描述
Rewardandpunishment_insert_control.java
在这里插入图片描述
rewardpunishment_insert()函数
4.3.6薪资管理
在这里插入图片描述
Salary_insert_control.java
在这里插入图片描述
salary_insert()函数
在这里插入图片描述
Salary_update_control.java
在这里插入图片描述
salary_update()函数
4.3.7系统管理
在这里插入图片描述
System_delete_control.java
在这里插入图片描述
user_delete()函数
4.4数据库设计与实现

总体表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表department

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表employment

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表rewardandpunishment

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表salary

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表stafft

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表training

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
表user
五、个人遇到的困难与获得的主要成果
5.1遇到的困难

  1. 解决Dynamic Web Module 3.1 requires Java 1.7 or newer
    在进行开发时出现Dynamic Web Module 3.1 requires Java 1.7 or newer错误。这主要是因为web模块所需要的版本和当前版本不同。所以解决此问题就需要进行web项目的版本修改。
    在这里插入图片描述

2.数据库插入数据乱码问题
在网上查询了各种方法,有说是页面编码不一致,也有说是数据库默认编码方式不是utf8,在把项目的缺省值以及修改了数据库的默认值,一顿二五操作后,插入数据仍是乱码,但是直接从CMD控制台中直接insert后又可以正常显示,这时就可以排除了数据库的编码方式没有问题了,那么就只能出现在前端向后端请求并将数据插入数据库这个环节中,排查完后仍没有发现什么问题,就是网上查查正常的前后端代码之间是怎么编写的,最后发现是因为后端少了一句代码 在这里插入图片描述
就是简单的一句话,却使得数据库插入时发生乱码。这句话的含义是设置请求数据的编码方式但只针对post请求有效,因为post的数据封装为了请求体,而get方式没有请求体。
3.文件上传与下载问题
文件重名的问题:
使用uuid的方式解决重名问题:
String name = fileItem.getName();//获取上传文件的名称
name=UUID.randomUUID().toString();
获取时间戳-随机数的方式:
上传文件的大小、类型限制:
大小:ServletFileUpload.setSizeMax(sizeMax);//设置整个form表单提交的大小
ServletFileUpload.setFileSizeMax(1024*1024);//设置单个文件的大小
类型:String contentType = FileItem.getContentType();

下载:
1.先读取服务器路径下的文件(也就是需要下载的文件)需要知道
–文件路径+文件名 ,采用输入流fileInputStream将文件读取到buffer中
2.创建输出流 OutputStream,将buffer的数据写到输出流
–输出流需要 --输出路径+文件名
file2 =e:/download/filetest/file7.txt
OutputStream os = new FileOutputStream(file2);
3.如果不指定具体的输出路径,直接采用response创建输出流,默认下载到浏览器对应路径下
OutputStream os = response.getOutputStream();
4.文件上传到相对路径
// 文件上传后的路径,相对路径
String filePath1 = request.getSession().getServletContext().getRealPath("");
—上传成功后文件存放的路径为–\WebContent\upload
// 绝对路径
// String filePath1=“C://Users//Andrew//Desktop//fileTest//”;
5.从相对路径下进行文件下载
String realPath = request.getServletContext().getRealPath( “”);
–可知相对路径是相对的

上传成功后进行下载操作时无法正常在页面显示出来,查看upload文件夹,发现里面已经存在上传成功后的文件,又检查了一遍路径问题,也始终没有发现有任何问题,在网上查找也没有解决的办法,最后就去请教了同学,对比了他的代码与文件夹后,发现我少了一个与UploadServlet同名的文件夹,而这个文件夹始终为空,上传与下载并没有经过这个文件夹,而加上这个文件夹居然就可以正常把上传目录里面的内容正常显示出来,这让我百思不得其解,谜一样的操作。

上传与下载时经常碰到遇到某个资源不可用的错误:
最后发现是没有配置web.xml文件,配置如下后又可以正常进行操作。

UploadServlet
upload.UploadServlet


UploadServlet
/upload


ListFileServlet
upload.ListFileServlet


ListFileServlet
/listFile


DownloadServlet
upload.DownloadServlet


DownloadServlet
/download

4.SQLException
java.sql.SQLException是处理JDBC时常见的exception对象,用来表示JDBC操作过程中发生的具体错误 。
一般的SQLException都是因为操作数据库时出错,比如Sql语句写错,或者数据库中的表或数据出错 。
5.ClassNotFoundException
可能原因:db.properties文件路径不正确;驱动类名写错;没有导入驱动jar包
6. 404错误
产生的原因:Web服务器(容器)根据请求地址找不到对应资源。
Eg:
(1)服务器没有启动成功
(2)地址错误(拼写不正确,字母大小写错误)
(3)web.xml文件中的两个< servlet-name >不一致
(4)工程没有部署成功
(5)Web应用程序部署结构没有遵守Servlet规范
(6)超链接中的href属性值有误
(7)表单中的action属性值有误
404错误的解决方法
(1)重启服务器
(2)按照http://ip:port/appName/ url-pattern规则检查请求地址,区分大小写
(3)检查 web.xml文件中的和节点中的两个是否一致
(4)只有部署以后的工程才能访问
(5)检查工程结构是否符合规范
(6)检查超链接指定资源格式
(7)检查表单中action数据提交路径
7.500错误
产生的原因:程序在运行过程出错(源代码错误)
Eg:
(1)Servlet类没有继承HttpServlet或实现Servlet接口
(2)web.xml文件中的写错
(3)service方法中的代码运行时抛出异常
500错误的解决方法
(1)检查 servlet-class 中的包名、类名是否正确
(2)检查Servlet类是否继承HttpServlet或实现Servlet
(3)检查Servlet的service方法中的代码是否运行出错
5.2获得的成果
遇到问题无疑是令人烦躁的,好不容易把代码编写出来,满怀期待的运行,结果不是出来这个错误就是那个错误,这种打击真是磨灭掉耐心的好法子,但是又没有办法,自己的锅总得自己想法子解决,只能耐着性子,一遍一遍去看代码,寻找bug,去网上搜一下有没有相似的案例错误,别人是怎么解决的,跟自己的错误有没有相似的地方,如果说编程是建立起一座大楼的过程,而解决bug则是建立层与层之间的楼梯,当把自己的错误解决后,那种愉悦感以及自我满足感总是让心情喜悦,这种自我满足感加深了自我价值的认同感,体现了自身的知识水平以及抗压能力,增强了对专业的喜爱与知识水平的完善。
在刚开始时,感觉很困难,不知道从哪里下手,但在队友的鼓励下,多实践,多摸索,不要怕错误。一点点的,慢慢走上了正轨。在上课时不仅要认真听老师讲课,最重要的还是要动手实践,老师在演示demo时,一定要自己也做一遍。有时候,看老师在演示程序时,没有遇到错误,但是自己在运行程序时就会各种各样的错误,这时候,一定要自己去独立解决,先确认自己的代码有没有出现缺少某些符号或者标点而产生错误,然后确认自己操作步骤是否和老师上课时教授的步骤一致。在确定问题并不是出在这两个方面时,我们就可以去求助网络,网络上会有很多经验贴来帮助我们去解决在操作过程中遇到的问题。在解决这些问题的过程中,我们就加深了对于这些知识点的印象,既解决了问题,又学到了知识。
六、测试与运行记录
在这里插入图片描述
管理员注册界面
在这里插入图片描述
管理员登录成功后的界面
在这里插入图片描述
部门管理添加操作
在这里插入图片描述
部门信息成功添加进数据库
在这里插入图片描述
修改部门信息成功后
在这里插入图片描述
成功删除部门相关信息后
在这里插入图片描述
员工管理添加操作
在这里插入图片描述
员工信息成功添加入数据库
在这里插入图片描述
修改员工相关信息
在这里插入图片描述
修改成功后
在这里插入图片描述
成功删除员工相关信息后
在这里插入图片描述
招聘管理下载简历的操作
在这里插入图片描述
显示可以下载窗口
在这里插入图片描述
系统管理查询操作
在这里插入图片描述
首页下拉
在这里插入图片描述
其他消息界面
测试结果显示系统可以正常运行,由于篇幅原因其他操作并没有进行截图,通过对系统的不断了解和测试,发现了系统中仍然存在的一些缺陷,并从用户的角度提出了一些功能和界面建议,由于时间不够充分,限制了本轮测试充分发挥。在三周内小组人员需要开发、制定系统,设计测试用例,执行完整的一轮测试,时间是相当紧张的。在每个阶段,我们以前阶段形成的文档和测试计划作为指导,加上适当的调配,都能够在不影响主要工作内容的前提下完成解读工作。希望在以后的实习中能够有所改善。
七、系统设计完成结果分析与个人小结
7.1结果分析
实现功能:
基本实现了一个简单的人力资源管理系统,能够对部门、员工的信息进行数据库的访问以及操作,界面上简洁美观,管理人员容易上手,功能模块完整。
不足之处:

  1. 没有进行一套比较完整规范的测试过程
  2. 数据库设计过于简单,数据容易产生冗余
  3. 管理员与管理员之间并没有相互分开,可以查看彼此的信息
  4. 用户信息没有处理就直接放进数据库内,如果是大型的项目,数据比较困难查找
  5. 网站架构没有完全按照MVC模式进行设计,后期维护会比较困难
  6. 项目经验不足,架构方面不够严谨
    7.2个人小结
    如果说平时积累的各个知识点是一粒粒宝贵的珍珠的话,那么项目经历则是将这些珍珠串联起来的一根红线。“纸上得来终觉浅,绝知此事要躬行”。软件工程是一门实践性、综合性非常强的专业,如果没有参加过完整的实际项目,就很难从根本上理解书本上所学的理论知识,就难以真正领会到软件工程的思想精髓。同时,在做项目时还有勤于思考,无论作为主持者还是作为一个普通的组员,都应该去潜心思考为什么要这样设计、这样设计的优点是什么、有哪些不足,经常做换位思考,会自觉地提高自己的系统分析和设计能力,积累丰富的项目经验。
    此次实习虽然只有三周,但在这三周里收获颇多。通过实习,不但加深了我对一些理论知识的理解,不仅使我在理论上对Java web有了全新的认识,在实践能力上也得到了提高,真正做到了学以致用,更学到了很多做人的道理,对我来说受益匪浅。
    除此之外,我知道了什么是团队,怎么和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地陈诉自己的观点,如何说服别人认同自己的观点。这也是一次理论与实际相结合的实习,这次实习对于以后学习、工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要基石;这对于我的学业,乃至我以后人生的影响无疑是及其深远的。
    通过这几周的实习与学习,也清楚了目前自己的不足,那就是缺乏相应的只是与经验,对所学的专业不能够很好地运用于实践操作。正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理解了“走出课堂,投身实践”的必要性。平时我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然,限制了我们专业知识水平的提高。
    而经过这次实习,让我明白了如果是一个完整的项目开发,必须由团队来分工合作,否则,即费力又费时还做不好这项目。因此不管在工作还是在生活中要和师长、同学保持良好的关系是很重要的。做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做人的一个最基本的问题。
    总之,这次实习为我提供了不同的学习方法和学习体会,从书本中面对现实,为我将来走上社会打下了扎实的基础。作为在校计算机专业的学生,现在我能做的就是吸取知识,提高自身的综合素质,提高自己的职业技能,自己有了能力,到时候才会是“车到山前必有路”。
    八、附录(软件配置、个人完成的程序模块和文档清单)
    8.1软件配置
    开发工具:Eclipse(4.17.0)
    开发服务器:Tomcat9.0
    开发所需要的包:

    8.2个人完成的程序模块和文档清单
    罗猛:
    8.2.1controller
    (1)Department_delete_control.java
    (2)Department_insert_control.java
    (3)Department_update_control.java
    (4)Login_control.java
    (5)Register_control.java
    (6)Rewarandpunishment_delete_control.java
    (7)Rewardandpunishment_insert_control.java
    (8)Salary_insert_control.java
    (9)Salary_update_control.java
    (10)Staff_delete_control.java
    (11)Staff_insert_control.java
    (12)Staff_update_control.java
    (13)System_delete_control.java
    (14)Training_delete_control.java
    (15)Training_insert_control.java
    (16)Training_update_control.java
    (17)user_control.java
    8.2.2hnust.cwz.javabeans
    (1)BusinessBean.java
    (2)DBAccessBean.java
    8.2.3servlet
    (1)DBUtil.java
    (2)PictureCheckCode.java
    (3)Signin_admin.java
    8.2.4upload
    (1)DownloadServlet.java
    (2)ListFileServlet.java
    (3)UploadServlet.java
    8.2.5SQL数据库
    (1)department.sql
    (2)employment.sql
    (3)rewardandpunishment.sql
    (4)salary.sql
    (5)staff.sql
    (6)training.sql
    (7)user.sql
    丘佩茵:

8.2.6文档清单
罗猛:
《程序代码和数据库》
《概念数据模型》
《人力资源管理系统需求分析》
《物理数据模型(PDM)》
丘佩茵:
《人力资源管理系统概要设计》
《人力资源管理系统面向对象建模》
《人力资源管理系统详细设计》
《数据库设计文档》

  • 19
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值