摘要
1 绪论
1.1 选题背景
1.2 研究目的和意义
1.3国内外研究现状
2系统分析
2.1.1 技术可行性分析
2.1.2 经济可行性分析
2.1.3 操作可行性分析
2.2 系统流程分析
2.2.1 数据流程
2.2.2 业务流程
2.3 系统功能分析
2.3.1 功能性分析
2.3.2 非功能性分析
2.4 系统用例分析
2.5本章小结
3 系统总体设计
3.1 系统架构设计
3.2 系统功能模块设计
3.2.1整体功能模块设计
3.2.2用户模块设计
3.2.3 评论管理模块设计
3.2.4就业信息模块设计
3.3 数据库设计
3.3.1 数据库概念结构设计
3.3.2 数据库逻辑结构设计
3.4本章小结
4系统关键模块设计与实现
4.1前台用户功能模块
4.1.1 首页界面
4.1.2 注册界面
4.1.3用户登录界面
4.1.4公告信息界面
4.1.5新闻资讯界面
4.1.6 就业信息界面
4.1.7 个人中心管理
4.2管理员功能模块
4.2.1公共管理界面
4.2.2 用户管理界面
4.2.3资讯管理界面
4.2.4 咨询信息界面
5系统测试
5.1系统测试的目的
5.2 系统测试用例
5.3 系统测试结果
结论
参考文献
致 谢
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,大学生就业咨询管理系统当然也不能排除在外。本文旨在设计和实现一种功能完善、易用且可扩展的大学生就业咨询管理系统,该系统将利用SSM框架构建后端服务,结合传统的Web开发技术,如Servlet、JSP等,并使用MySQL数据库来存储和管理数据。
本系统旨在提供一种用户友好、高效便捷的方式,让用户能够轻松地查找就业信息,进行咨询,并享受个性化的服务。通过引入SSM框架,我们能够快速搭建起一个稳定、高效的后端服务,借助Spring框架的众多组件和功能,我们可以轻松实现用户认证、权限管理、数据持久化等核心功能。在设计过程中,充分考虑了用户需求和市场趋势。致力于打造一个功能齐全、界面简洁、操作流畅的大学生就业咨询管理系统。
本大学生就业咨询管理系统的设计与实现将为学生提供了一个良好的就业咨询与管理平台。本研究还通过实际案例分析和用户反馈,验证了系统的可行性和效果。最终,该系统为大学生提供了更便捷、高效的就业咨询服务,为高校就业管理工作提供了有力支持。
关键词:大学生就业咨询管理系统;SSM框架;Java Web;MySQL数据库
Abstract
This system aims to provide a user-friendly, efficient and convenient way for users to easily search for employment information, consult, and enjoy personalized services. By introducing the SSM framework, we can quickly build a stable and efficient backend service. With the many components and functions of the Spring framework, we can easily achieve core functions such as user authentication, permission management, and data persistence. During the design process, full consideration was given to user needs and market trends. Dedicated to creating a fully functional, user-friendly, and smooth to operate college student employment consultation management system.
The design and implementation of this college student employment consultation management system will provide students with a good employment consultation and management platform. This study also verified the feasibility and effectiveness of the system through actual case analysis and user feedback. Ultimately, the system provides more convenient and efficient employment consulting services for college students, providing strong support for employment management in universities.
Keywords: College Student Employment Consultation Management System; SSM framework; Java Web; MySQL database
1 绪论
随着互联网技术的迅速发展和普及,大学生就业咨询已经成为高校就业工作中的重要组成部分。传统的就业指导方式已经无法满足日益增长的大学生就业需求,因此,建立一套高效、便捷的大学生就业咨询管理系统势在必行。
随着中国高等教育规模的不断扩大,大学生就业形势也日益严峻。根据教育部发布的数据,每年高校毕业生人数呈逐年增长趋势,就业压力逐渐加大。因此,如何更好地帮助大学生提升就业竞争力,实现个人就业规划,成为了当前高校就业工作的紧迫需求。
传统的大学生就业咨询服务通常依赖于人工方式,存在着信息传递不及时、服务效率低下等问题。而基于互联网技术的大学生就业咨询管理系统能够有效解决这些问题,为学生提供更加便捷、高效的就业咨询服务。Java Web作为一种成熟的互联网开发技术,具有跨平台、高效稳定等优势,在构建大学生就业咨询管理系统方面具有广泛的应用前景。
本研究旨在设计和实现一套基于Java Web的大学生就业咨询管理系统,以解决传统大学生就业咨询服务存在的问题,提升大学生就业指导工作的质量和效率。具体来说,研究的意义主要体现在以下几个方面:
(1)提升大学生就业服务质量:通过建立大学生就业咨询管理系统,可以实现就业信息的及时更新和准确传递,提升大学生就业服务的质量和水平。
(2)优化就业指导流程:基于系统化的管理平台,可以优化就业指导流程,提高就业指导工作的效率和精准度,更好地帮助学生制定个人就业规划。
(3)促进校企合作:大学生就业咨询管理系统可以为高校和企业之间的信息交流和合作提供便利,促进校企合作,为学生提供更多的就业机会和实习机会。
(4)推动就业服务智能化发展:通过引入人工智能等先进技术,可以实现大学生就业需求的智能识别和个性化推荐,推动就业服务的智能化发展。
综上所述,研究基于Java Web的大学生就业咨询管理系统具有重要的理论和实践意义,有助于进一步提升高校就业服务水平,促进大学生就业工作的顺利开展。
随着社会经济的不断发展和教育水平的提高,大学生就业问题越来越受到关注。大学生作为社会的中坚力量,其就业情况不仅关乎个体的发展,也关乎国家的经济发展和社会稳定。在这种背景下,大学生就业咨询管理系统应运而生,为大学生提供更加个性化、专业化的求职指导和就业服务,促进他们顺利实现就业目标。
国内高校和就业服务机构建立了较为完善的就业咨询服务体系,包括就业指导中心、就业信息发布平台等,为大学生提供求职辅导、职业规划等服务。针对大学生就业市场不断变化的特点,部分高校和企业合作推出了专业化的就业技能培训项目,帮助学生提升就业竞争力。一些高校和研究机构也开始利用大数据技术分析就业市场的趋势和需求,为大学生提供更加精准的就业信息和建议。
国外发达国家更注重就业与教育的衔接,一些发达国家的大学就业咨询管理系统更加注重教育与就业的衔接,强调职业规划与培训的结合,帮助大学生更好地适应职场需求。国外机构利用人工智能技术开发了智能化的就业咨询系统,能够为大学生提供24小时在线的个性化就业建议和服务。国外一些研究机构和大学倡导跨学科综合能力的培养,通过多元化课程设置和实践项目,促进学生的就业竞争力。
总体来说,国内外对大学生就业咨询管理系统的研究都在不断深化和完善,致力于为大学生提供更加全面、精准的就业服务,帮助他们顺利实现就业目标。
1.4论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景和意义,系统开发的国内外研究现状和本文的研究内容与主要工作,以及相关开发技术与工具介绍。
第二章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试
2系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。接下来会进行详细的介绍。
在经济可行性方面,大学生就业咨询管理系统所需的开发软件和工具,如IDEA、Tomcat和MySQL等,都是免费且开源的,无需额外费用。此外,这些工具易于获取和操作,降低了开发成本。而且,随着大学生就业咨询管理系统的运营和发展,可以通过广告推广、会员服务等方式实现收益,增加项目的经济可行性。
在操作可行性方面,我们参考了其他成功案例,并对用户界面和功能进行了系统分析。通过以人为本的设计原则,简化了操作流程,使得具备基本计算机知识的用户能够轻松上手。同时,我们也提供了清晰的用户指南和帮助文档,以支持用户的操作和使用。
开发大学生就业咨询管理系统最主要的一个目的就是实现用户对就业信息的咨询,图2-1就是系统的数据流图。
图2-1就业信息咨询操作展开图
分析完大学生就业咨询管理系统的数据流,那么接下来我们来看系统的业务流程,图2-2就是业务流程图:
按照大学生就业咨询管理系统的角色,系统划分为了会员用户模块和管理员模块这两大部分。
(1)注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是会员用户想要实现咨询信息等操作,就必须有这个系统的账号,如果没有账号的话,可以注册用户进行相关的操作,同时用户还可以通过“用户”按钮对个人信息以及操作的信息进行管控。
(2)公告信息:当用户点击“公告信息”这一菜单按钮,会显示管理员在后台发布的所有的公告,可以查看详情。
(3)新闻资讯:当用户点击“新闻资讯”这一菜单按钮,会显示管理员在后台发布的所有的资讯信息,可以查看详情。
(4)就业信息:当用户点击“就业信息”这一菜单按钮,会显示管理员发布的所有的就业信息,可以查看详情,进行咨询、点赞、收藏、评论等。
(5)我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改信息进行管控。
(6)个人中心:会员用户在前台点击“个人中心”可以对个人首页、咨询信息和自己收藏的信息进行管理。
管理员模块:
(1)公共管理:管理员点击“公共管理”菜单可以对首页展示的轮播图和公告信息进行管理,对已经存在的轮播图和公告信息,管理员可以修改,也可以添加新的轮播图和公告信息或者删除。
(2)用户管理:管理员可以对系统中所有的用户角色进行管控,包含了管理员、会员用户、企业用户角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。
(3)资讯管理:管理员可以对大学生就业咨询管理系统前台展示的新闻资讯以及新闻资讯所属的分类进行管控。
(4)就业信息:管理具体就业的详细信息,包括企业名称、企业类型、招聘岗位、工资待遇、工作时间、工作地点、招聘要求等信息,确保准确的就业信息管理。
(5)企业分类:管理企业的类型信息,包括添加、编辑和删除企业分类等,方便管理员对企业分类进行管理。
(6)咨询信息:管理用户的咨询信息和对咨询信息的回复。
非功能性分析旨在评估大学生就业咨询管理系统的非功能需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保系统能够满足用户和系统运行的要求。具体如下2-1表格:
表2-1大学生就业咨询管理系统非功能需求表
非功能性要求 | 说明 |
性能 | 评估响应时间、并发用户数、吞吐量等指标,以确保系统稳定高效地运行。 |
可靠性 | 评估系统的稳定性、容错能力和数据完整性,保障系统在故障情况下正常运行。 |
安全性 | 评估用户身份认证、数据加密和访问控制等,保护用户信息和交易的安全。 |
可用性 | 评估系统的稳定性、故障处理能力和用户界面友好性,提供良好的用户体验。 |
扩展性 | 评估系统的可扩展性和灵活性,以便根据需求进行功能扩展和升级。 |
大学生就业咨询管理系统的UML用例图如下图2-3和2-4所示。
图2-3就是会员用户角色用例图。
图2-3 会员用户角色用例图
图2-4就是管理员角色用例图。
本章主要通过对大学生就业咨询管理系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个系统要实现的功能。同时也为系统的代码实现和测试提供了标准。
本章主要讨论的内容包括系统的架构设计、功能模块设计、数据库系统设计。
从技术角度来看,基于JavaWeb的大学生就业咨询管理系统的架构设计至关重要。我们将采用MVC架构,包括表现层、业务逻辑层和数据访问层。表现层负责用户界面展示,业务逻辑层处理核心功能逻辑,数据访问层负责数据库交互。通过三层架构模式,确保系统的可靠性和可扩展性。
系统架构图如图3-1所示。
图3-1系统架构设计图
通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。其总体设计模块图如图3-2所示。
图3-2系统功能模块图
用户模块是系统中一个重要的功能模块,它涉及用户的注册、登录、个人信息管理等操作。在用户模块设计中,我们将定义用户数据的结构和属性,包括用户名、密码、邮箱等。同时,还需要实现用户注册、登录、修改密码等功能,并对用户输入进行验证和处理。用户模块的结构图如下图所示:
图3-3用户模块结构图
评论管理模块用于管理用户对资讯或其他内容的评论。在评论管理模块设计中,我们将定义评论数据的结构和属性,包括评论内容、评分、时间等。该模块应支持用户发表评论、查看评论、回复评论等功能,并提供相应的管理接口用于审核和删除不合规的评论。其结构图如下所示:
图3-4评论管理模块结构图
就业信息模块是系统中核心的功能模块,涉及就业信息的发布、展示和收藏管理等操作。在就业信息模块设计中,我们将定义就业信息数据的结构和属性,包括企业名称、企业类型、招聘岗位、工资待遇、工作时间、工作地点、招聘要求等。该模块应支持就业信息的分类、搜索、浏览和咨询等功能,并提供咨询管理接口用于处理用户的咨询信息的更新。具体的结构图如下所示。
图3-5就业信息模块结构图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称。下面是整个大学生就业咨询管理系统中主要的数据库表总E-R实体关系图。
图3-6 系统总E-R关系图
通过上一小节中大学生就业咨询管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表consultation_information (咨询信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | consultation_information_id | int | 10 | 0 | N | Y | 咨询信息ID | |
2 | enterprise_name | varchar | 64 | 0 | Y | N | 企业名称 | |
3 | enterprise_type | varchar | 64 | 0 | Y | N | 企业类型 | |
4 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘岗位 | |
5 | salary_and_benefits | varchar | 64 | 0 | Y | N | 工资待遇 | |
6 | member_users | int | 10 | 0 | Y | N | 0 | 会员用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | consultation_content | text | 65535 | 0 | Y | N | 咨询内容 | |
9 | reply_content | text | 65535 | 0 | Y | N | 回复内容 | |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表employment_information (就业信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | employment_information_id | int | 10 | 0 | N | Y | 就业信息ID | |
2 | enterprise_name | varchar | 64 | 0 | Y | N | 企业名称 | |
3 | enterprise_type | varchar | 64 | 0 | Y | N | 企业类型 | |
4 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
5 | recruitment_positions | varchar | 64 | 0 | Y | N | 招聘岗位 | |
6 | salary_and_benefits | varchar | 64 | 0 | Y | N | 工资待遇 | |
7 | working_hours | varchar | 64 | 0 | Y | N | 工作时间 | |
8 | work_location | varchar | 64 | 0 | Y | N | 工作地点 | |
9 | recruitment_requirements | text | 65535 | 0 | Y | N | 招聘要求 | |
10 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
11 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
12 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表enterprise_classification (企业分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | enterprise_classification_id | int | 10 | 0 | N | Y | 企业分类ID | |
2 | enterprise_type | varchar | 64 | 0 | Y | N | 企业类型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | member_users_id | int | 10 | 0 | N | Y | 会员用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
4 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
整个大学生就业咨询管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4系统关键模块设计与实现
大学生就业咨询管理系统的详细设计与实现主要是根据前面的需求分析和总体设计来设计页面并实现业务逻辑。主要从界面实现、业务逻辑实现这两部分进行介绍。
当进入大学生就业咨询管理系统的时候,首先映入眼帘的是系统的导航栏,其主界面展示如下图4-1所示。
图4-1 首页界面图
注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录,其注册主界面展示如下图4-2所示。
图4-2 用户注册界面图
@PostMapping("register")
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put("username",String.valueOf(map.get("username")));
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
大学生就业咨询管理系统中的注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到大学生就业咨询管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3用户登录界面图
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
用户点击“公告信息”菜单显示管理员在后台发布的所有的公告信息信息,可以查看公告信息详情。公告信息界面如下图4-4所示。
图4-4公告信息界面图
当访客点击大学生就业咨询管理系统中导航栏上的“新闻资讯”后将会进入到该“新闻资讯”列表的界面,然后选择想要看的新闻资讯,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作。新闻资讯界面如下图4-5所示。
图4-5新闻资讯界面图
当用户点击“就业信息”后,会进入就业信息列表,点击任意就业信息,可以查看就业信息详情,浏览就业信息、查看评论,会员用户可进行咨询、点赞、收藏、评论等操作。就业信息详情界面如下图4-6所示。
图4-6就业信息界面图
查询就业信息关键代码如下:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
咨询信息提交界面如下图4-7所示。
图4-7咨询信息提交界面图
咨询信息提交关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
会员用户在“我的”下拉“个人中心”菜单栏中可以查看自己的个人信息、咨询信息、收藏等内容。会员用户个人中心界面如下图4-8所示。
图4-8 会员用户个人中心界面图
管理员点击“公共管理”这一菜单可以对前台展示的轮播图和公告信息进行设置,轮播图管理界面如下图4-9所示。
图4-9轮播图管理界面图
轮播图上传关键代码如下:
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = request.getSession().getServletContext().getRealPath("\\") +"upload\\";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
String fileName = file.getOriginalFilename();
int lastIndexOf = fileName.lastIndexOf(".");
String suffix = fileName.substring(lastIndexOf);
fileName = IdWorker.getId()+suffix;
File dest = new File(filePath + fileName);
log.info("文件路径:{}", dest.getPath());
log.info("文件名:{}", dest.getName());
file.transferTo(dest);
JSONObject jsonObject = new JSONObject();
jsonObject.put("url", "/api/upload/" + fileName);
return success(jsonObject);
} catch (IOException e) {
log.info("上传失败:{}", e.getMessage());
}
return error(30000, "上传失败");
}
公告信息管理界面如下图4-10所示。
图4-10公告信息管理界面图
大学生就业咨询管理系统中的管理人员是可以对注册的会员用户进行管理的,也可以对管理员进行管控。界面如下图4-11所示。
图4-11用户管理界面图
用户列表管理关键代码如下:
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
管理员点击“资讯管理”这一菜单,可以对前台展示的新闻资讯以及资讯分类进行增删改查的操作,界面如下图4-12所示。
图4-12资讯管理界面图
管理员点击“咨询信息”显示所有用户提交的咨询信息,管理员可以对用户的咨询信息进行回复。咨询信息回复界面如下图4-13所示。
图4-13咨询信息回复界面图
5系统测试
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
系统测试包括:用户登录功能测试、就业信息查看功能测试、就业信息添加、新闻资讯搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
就业信息查看功能测试:
表5-2就业信息查看功能测试表
用例名称 | 就业信息查看 |
目的 | 测试就业信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击就业信息列表 |
预期结果 | 可以查看到所有就业信息 |
实际结果 | 实际结果与预期结果一致 |
企业用户添加就业信息界面测试:
表5-3 企业用户添加就业信息界面测试表
用例名称 | 就业信息添加测试用例 |
目的 | 测试就业信息添加功能 |
前提 | 企业用户正常登录情况下 |
测试流程 | 1)企业用户点击就业信息,点击添加后并填写信息。 2)点击进行提交。 |
预期结果 | 提交以后,页面首页会显示新的就业信息 |
实际结果 | 实际结果与预期结果一致 |
新闻资讯搜索功能测试:
表5-4新闻资讯搜索功能测试表
用例名称 | 新闻资讯搜索测试 |
目的 | 测试新闻资讯搜索功能 |
前提 | 无 |
测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 | 页面显示包含有搜索关键字的新闻资讯 |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
通过编写大学生就业咨询管理系统的测试用例,已经检测完毕用户登录功能测试、就业信息查看功能测试、就业信息添加、新闻资讯搜索、密码修改功能测试,通过这5大模块为大学生就业咨询管理系统的后期推广运营提供了强力的技术支撑。
结论
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所实际到的技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。系统的开发环境和配置都是可以自行安装的,系统使用Java Web开发技术和比较成熟的MySQL数据库进行对系统前台及后台的数据交互,基于SSM框架,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
在以后的学习及工作中,我将继续努力学习计算机方面的技术,以期在平台开发中可以更好更快的实现需求功能。
[1]宋蕙帆.基于SSM的精准就业服务平台设计与实现[J].科技创新与应用,2024,14(08):102-105.DOI:10.19981/j.CN23-1581/G3.2024.08.023.
[2]王鹃,龚家新,蔺子卿等.多维深度导向的Java Web模糊测试方法[J].信息网络安全,2024,24(02):282-292.
[3]Blasini R ,Strantz C ,Gulden C , et al.Evaluation of Eligibility Criteria Relevance for the Purpose of IT-Supported Trial Recruitment: Descriptive Quantitative Analysis.[J].JMIR formative research,2024,8e49347-e49347.
[4]林泽,刘聪.智能化现场招聘会管理系统的设计开发[J].电脑知识与技术,2024,20(03):50-52.DOI:10.14004/j.cnki.ckt.2024.0026.
[5]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.
[6]李增,黄婕,袁伟.行动导向教学法在Java web程序设计课程教学改革中的应用探析[J].电脑知识与技术,2023,19(32):59-61.DOI:10.14004/j.cnki.ckt.2023.1716.
[7]庄郦庆.Z公司招聘管理的优化研究[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.004737.
[8]Huang T .Analysis of Employee Recruitment System for Company C Based on the Competency Model from a Deep Perspective[J].Accounting and Corporate Management,2023,5(11):
[9]Agency Information Collection Activities; Submission for OMB Review; Comment Request; Agricultural Recruitment System Forms Affecting Migratory Farm Workers[J].The Federal Register / FIND,2023,88(175):
[10]张雅茹,孙鑫,张翼鹤等.广电数字化招聘系统的设计与实现[J].中国有线电视,2023,(09):5-10.
[11]余晓波.面向Java Web应用服务器的后门注入攻击的研究[D].桂林电子科技大学,2023.DOI:10.27049/d.cnki.ggldc.2023.001505.
[12]黄成伟,张科军,王学理.医院人事招聘登记系统的设计与实现[J].现代医院管理,2023,21(02):66-69.
[13]闾枫.基于Java Web的办公自动化系统设计[J].电子技术,2023,52(02):319-321.
[14]He R ,Han Y .Design and Implementation of Personnel Recruitment System in Higher Vocational School[J].Advances in Vocational and Technical Education,2023,5(1):
[15]郝思飞,人才招聘系统V1.0.山西省,太原智林信息技术股份有限公司,2022-09-08.
[16]胡文尔,贾静.“互联网+”招聘:高效对接,直接链接[J].人力资源,2022,(17):78-79.
[17]黄锦帆,梁少华,张佳.招聘数据可视化分析系统的设计与实现[J].电脑知识与技术,2022,18(18):39-41.DOI:10.14004/j.cnki.ckt.2022.1189.
[18]殷凤梅,刘冠中.基于SSM框架的网上招聘系统设计与实现[J].长春大学学报,2022,32(04):1-5+62.
[19]唐韵清,王一诺,马瑞等.基于Web的网上求职招聘系统[J].网络安全技术与应用,2021,(06):29-31.
[20]孟祥雪.基于SSM的外聘人员人事管理系统设计与实现[D].电子科技大学,2020.DOI:10.27005/d.cnki.gdzku.2020.004229.
转眼间,大会员用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~