SSM大学生兼职系统
目录
在网络飞速发展的信息时代,各个行业都离不开信息的处理,在这种时代背景下,兼职管理信息为导向,以求职用户的实习的持续创新,根据这两点,为当前形势最重要的兼职管理系统设计一个系统就很有必要。
系统采用了B/S结构,在此基础上,对各业务模块进行了界面交互,以MySQL为数据库,并选用IDEA进行系统设计。在实现功能的同时,为实现系统的升级和扩展,采用了ssm框架,用户通过PC机访问Web版本,实现对系统功能的访问和交互。系统管理模块主要负责对已有数据库进行维护、管理、添加、维护、删除、修改等。管理员负责维护系统的各项功能、数据的备份、恢复,保证数据的完整性和一致性;负责用户的管理与配置。最后对系统进行测试后,改善了程序逻辑和代码。同时确保该系统有很好的操作体验,实现了对于管理员、企业、用户的共同双赢。
关键词:大学兼职系统,SSM框架;MySQL数据库;
Abstract
In the rapidly developing information age of the internet, various industries cannot do without information processing. In this era, part-time management information is oriented, and continuous innovation in internships for job seekers is necessary. Based on these two points, it is necessary to design a system for the most important part-time management system in the current situation.
The system adopts a B/S structure, and on this basis, interface interaction is carried out for each business module. MySQL is used as the database, and IDEA is selected for system design. While implementing the functions, the SSM framework is adopted to upgrade and expand the system. Users can access the web version through a PC to access and interact with the system functions. The system management module is mainly responsible for maintaining, managing, adding, maintaining, deleting, and modifying existing databases. Administrators are responsible for maintaining various functions of the system, backing up and restoring data, and ensuring the integrity and consistency of data; Responsible for user management and configuration. After testing the system, the program logic and code were improved. At the same time, it ensures a good operating experience for the system, achieving a win-win situation for administrators, enterprises, and users.
Keywords:University part-time job system, SSM framework; MySQL database;
1 绪论
1.1 选题背景
随着高等教育的普及和大学生就业竞争的日益激烈,大学生对于兼职工作的需求与日俱增。然而,传统的兼职招聘方式存在信息不对称、效率低下的问题,无法满足大学生个性化和灵活性的就业需求。因此,设计和实现一个高效、便捷的大学生兼职系统具有重要的背景。该系统旨在提供一个集兼职信息发布、匹配和管理于一体的平台,为大学生提供更多就业机会和实践经验,促进他们的个人发展和就业竞争力的提升。同时,通过在线发布和匹配的方式,该系统打破了传统兼职招聘的地域限制,扩大了大学生获取兼职信息的渠道和范围。总之,大学生兼职系统的选题背景与当下大学生就业需求的变化和发展密切相关,并具有解决传统招聘方式问题的迫切需求。
大学生兼职系统的研究在国内外都受到了广泛关注和研究。国内的研究者主要关注于大学生兼职市场的需求和就业问题,通过问卷调查、访谈等方式收集数据,分析大学生的兼职需求和选择情况,为兼职系统的设计提供了理论基础。此外,他们也关注到了现有兼职平台存在的问题,并提出改进方案以提高兼职系统的效率和服务质量。
在国外,研究者着重于基于互联网和移动技术的大学生兼职系统的开发和应用。他们利用Web和移动应用技术设计了兼职平台和应用程序,为大学生提供方便的兼职信息发布和匹配功能。同时,他们还尝试使用数据挖掘和机器学习技术来优化兼职系统的推荐算法和用户体验,以提高匹配准确性和用户满意度。
此外,国际间的合作研究也得到了一定程度的展开。研究者们通过跨国调研和案例研究,比较不同国家和地区的大学生兼职市场特点和制度环境,为兼职系统的设计和运营提供了参考和借鉴。
综上所述,国内外对于大学生兼职系统的研究都取得了一定的成果。国内研究主要关注兼职市场的需求和优化问题,而国外研究则更加注重技术应用和用户体验。通过这些研究,为大学生兼职系统的设计和实施提供了重要的理论基础和实践经验,推动了该领域的发展和创新。
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景和意义,系统开发的国内外研究现状和本文的研究内容与主要工作。
第二章:系统需求分析。主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试
2系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。接下来会进行详细的介绍。
2.1 可行性分析
在技术方面,选择的是在学校学习过的JAVA,在开发后台框架上采用的是SSM,在数据的存储方面,使用MYSQL,使用IDEA进行开发,在校期间在老师的指导下,已经使用这些技术完成了几个小型的管理系统,因此在开发技术上,是可以完成的。
2.1.2经济可行性分析
在开发大学生兼职系统中涉及到的开发工具(IDEA、MYSQL、SMM、Tomcat等)都是免费的,下载安装到自己的电脑上就能够使用,而且在大学四年的学习当中,我都能够熟练掌握这些技术,自己可以开发完成这样一个系统,不需要额外花费,而且系统的开发工具从网上都可以直接下载,因此在经济方面是可行的。
2.1.3操作可行性分析
我们在日常生活中都一直处在网络的世界中,大到老人小到孩子都喜欢玩和使用电脑,大学生兼职系统在操作上和其他日常办公使用的系统是相当类似得,只要他们会一点点电脑基础操作的,就可以快速上手使用大学生兼职系统,所以在操作上没任何问题。
2.2.1 添加信息流程
管理员可以对系统公告等进行信息的添加,用户可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如图2-1所示。
图2-1 添加信息流程图
2.2.2 修改信息流程
管理员可以对系统公告等进行的修改,用户可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如图2-2所示。
图2-2修改信息流程图
2.2.3 删除信息流程
管理员可以对系统公告等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如图2-3所示。
图2-3 删除信息流程图
2.3 系统功能分析
按照基于SSM大学生兼职系统的角色,我划分为了学生用户模块、商家用户模块和管理员模块这三大部分。
1.商家用户功能需求:
登录注册:商家用户需要进行账户登录和注册,以便管理自己的兼职信息和申请。
首页:展示商家用户相关的系统公告、兼职信息推荐和系统公告信息等。
系统公告:商家用户可以查看系统发布的公告信息,如重要通知和政策变动等。
兼职信息:商家用户可以查看兼职信息,包括兼职职位、薪酬待遇、工作时间和工作地点等。
我的账户:商家用户可以查看和管理个人账户信息,包括修改密码、头像、昵称等。
个人中心:商家用户可以查看个人首页,兼职信息、兼职申请、确认录用、兼职评价、收藏等。
2.学生用户功能需求:
登录注册:学生用户需要进行账户登录和注册,以便浏览和申请兼职信息。
首页:展示学生用户相关的系统公告、兼职信息推荐等。
系统公告:学生用户可以查看系统发布的公告信息,如重要通知和政策变动等。
文章资讯:学生用户可以查看系统发布的文章信息,如重要通知和政策变动等。
兼职信息:学生用户可以浏览系统发布的兼职信息,包括兼职职位、薪酬待遇、工作时间和工作地点等。
我的账户:学生用户可以查看和管理个人账户信息,包括修改密码、头像、昵称等。
个人中心:学生用户可以查看个人首页,兼职申请、确认录用、兼职评价、收藏等。
3.管理员功能需求:
后台首页:管理员登录后可以查看系统的后台首页,显示系统概况、重要统计数据和最新消息等。
系统用户:管理员可以管理系统的用户账户,包括用户信息的查看、添加、编辑和删除等操作。
兼职信息管理:管理员可以管理商家用户发布的兼职信息,包括审核、删除等。
兼职申请管理:管理员可以查看学生的兼职申请,审核通过或拒绝申请。
确认录用管理:管理员可以确认学生的录用情况,更新兼职状态。
兼职评价管理:管理员可以查看学生对企业的评价,监督评价的真实性和合理性。
资讯管理:管理员可以发布、编辑和删除系统资讯,及时向用户传达重要信息。
系统公告管理:管理员可以发布、编辑和删除系统公告,及时向用户传达重要信息。
基于SSM大学生兼职系统的非功能性需求比如平台的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:
表2-1基于SSM大学生兼职系统非功能需求表
安全性 | 主要指基于SSM大学生兼职系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指基于SSM大学生兼职系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响基于SSM大学生兼职系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着基于SSM大学生兼职系统的页面展示内容进行操作,就可以了。 |
可维护性 | 基于SSM大学生兼职系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.4 系统用例分析
学生用户角色用例如图2-2所示。
图2-2学生用户角色用例图
商家用户角色用例如图2-3所示。
图2-3商家用户角色用例图
管理员是维护整个基于SSM大学生兼职系统中所有数据信息的。管理员角色用例如图2-4所示。
本章主要通过对基于SSM大学生兼职系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个系统要实现的功能。同时也为系统的代码实现和测试提供了标准。
3 系统总体设计
3.1 系统架构设计
本系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1系统架构设计图
表现层(UI):又称UI层,主要完成本系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本系统时的舒适度。UI的界面设计也要适应不同版本的校园兼职管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本系统的数据存储和管理功能。
3.2 系统功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本系统中的用例。那么接下来就要开始对本系统的架构、主要功能和数据库开始进行设计。基于SSM大学生兼职系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。
图3-2系统功能模块图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
下面是整个基于SSM大学生兼职系统中主要的数据库表总E-R实体关系图。
图3-3 基于SSM大学生兼职系统总E-R关系图
通过上一小节中基于SSM大学生兼职系统中总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: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | confirm_employment_id | int | 10 | 0 | N | Y | 确认录用ID | |
2 | application_number | varchar | 64 | 0 | N | N | 应聘号 | |
3 | part_time_name | varchar | 64 | 0 | Y | N | 兼职名称 | |
4 | part_time_requirements | varchar | 64 | 0 | Y | N | 兼职要求 | |
5 | task_rewards | int | 10 | 0 | Y | N | 0 | 任务奖励 |
6 | task_description | text | 65535 | 0 | Y | N | 任务说明 | |
7 | merchant_users | int | 10 | 0 | Y | N | 0 | 商家用户 |
8 | merchant_name | varchar | 64 | 0 | Y | N | 商家名称 | |
9 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
10 | merchant_address | varchar | 64 | 0 | Y | N | 商家地址 | |
11 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
12 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
13 | student_mobile_phones | varchar | 64 | 0 | Y | N | 学生手机 | |
14 | student_resume | varchar | 255 | 0 | Y | N | 学生简历 | |
15 | confirmation_date | date | 10 | 0 | Y | N | 确认日期 | |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | 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 | merchant_users_id | int | 10 | 0 | N | Y | 商家用户ID | |
2 | merchant_name | varchar | 64 | 0 | Y | N | 商家名称 | |
3 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
4 | merchant_address | varchar | 64 | 0 | Y | N | 商家地址 | |
5 | business_license | varchar | 255 | 0 | Y | N | 营业执照 | |
6 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | 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 | part_time_application_id | int | 10 | 0 | N | Y | 兼职申请ID | |
2 | application_number | varchar | 64 | 0 | Y | N | 应聘号 | |
3 | part_time_name | varchar | 64 | 0 | Y | N | 兼职名称 | |
4 | part_time_requirements | varchar | 64 | 0 | Y | N | 兼职要求 | |
5 | task_rewards | int | 10 | 0 | Y | N | 0 | 任务奖励 |
6 | task_description | text | 65535 | 0 | Y | N | 任务说明 | |
7 | merchant_users | int | 10 | 0 | Y | N | 0 | 商家用户 |
8 | merchant_name | varchar | 64 | 0 | Y | N | 商家名称 | |
9 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
10 | merchant_address | varchar | 64 | 0 | Y | N | 商家地址 | |
11 | application_date | date | 10 | 0 | Y | N | 申请日期 | |
12 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
13 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
14 | student_mobile_phones | varchar | 64 | 0 | Y | N | 学生手机 | |
15 | personal_introduction | text | 65535 | 0 | Y | N | 个人介绍 | |
16 | student_resume | varchar | 255 | 0 | Y | N | 学生简历 | |
17 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
18 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | part_time_evaluation_id | int | 10 | 0 | N | Y | 兼职评价ID | |
2 | application_number | varchar | 64 | 0 | N | N | 应聘号 | |
3 | part_time_name | varchar | 64 | 0 | Y | N | 兼职名称 | |
4 | part_time_requirements | varchar | 64 | 0 | Y | N | 兼职要求 | |
5 | task_rewards | int | 10 | 0 | Y | N | 0 | 任务奖励 |
6 | task_description | text | 65535 | 0 | Y | N | 任务说明 | |
7 | merchant_users | int | 10 | 0 | Y | N | 0 | 商家用户 |
8 | merchant_name | varchar | 64 | 0 | Y | N | 商家名称 | |
9 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
10 | merchant_address | varchar | 64 | 0 | Y | N | 商家地址 | |
11 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
12 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
13 | student_mobile_phones | varchar | 64 | 0 | Y | N | 学生手机 | |
14 | evaluation_date | date | 10 | 0 | Y | N | 评价日期 | |
15 | evaluation_content | text | 65535 | 0 | Y | N | 评价内容 | |
16 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
17 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
18 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
19 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | part_time_information_id | int | 10 | 0 | N | Y | 兼职信息ID | |
2 | part_time_id | varchar | 64 | 0 | Y | N | 兼职编号 | |
3 | part_time_name | varchar | 64 | 0 | Y | N | 兼职名称 | |
4 | cover | varchar | 255 | 0 | Y | N | 封面 | |
5 | part_time_requirements | varchar | 64 | 0 | Y | N | 兼职要求 | |
6 | task_rewards | int | 10 | 0 | Y | N | 0 | 任务奖励 |
7 | task_description | text | 65535 | 0 | Y | N | 任务说明 | |
8 | merchant_users | int | 10 | 0 | Y | N | 0 | 商家用户 |
9 | merchant_name | varchar | 64 | 0 | Y | N | 商家名称 | |
10 | merchant_phone_number | varchar | 64 | 0 | Y | N | 商家电话 | |
11 | merchant_address | varchar | 64 | 0 | Y | N | 商家地址 | |
12 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
13 | timer_title | varchar | 64 | 0 | Y | N | 计时器标题 | |
14 | timing_start_time | datetime | 19 | 0 | Y | N | 计时开始时间 | |
15 | timing_end_time | datetime | 19 | 0 | Y | N | 计时结束时间 | |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | 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 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
2 | sensitive_vocabulary | 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 | 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 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
3 | gender | varchar | 64 | 0 | Y | N | 性别 | |
4 | student_mobile_phones | 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 | 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 | 更新时间: |
整个基于SSM大学生兼职系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4系统关键模块设计与实现
基于SSM大学生兼职系统的详细设计与实现主要是根据前面的需求分析和总体设计来设计页面并实现业务逻辑。主要从界面实现、业务逻辑实现这两部分进行介绍。
4.1学生用户功能模块
4.1.1 首页界面
当进入基于SSM大学生兼职系统的时候,首先映入眼帘的是系统的导航栏,其主界面展示如下图4-1所示。
图4-1 首页界面图
4.1.2 用户登录界面
基于SSM大学生兼职系统中的注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到基于SSM大学生兼职系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-2所示。
图4-2用户登录界面图
登录代码如下:
@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.1.3 兼职信息界面
当学生用户点击“兼职信息”后,可以浏览系统发布的所有兼职信息,在详情页面可以进行查阅,用户可以进行提交申请等操作,界面如下图4-3所示。
图4-3兼职信息详情界面图
4.1.4 提交申请界面
当学生用户在兼职信息详情页面点击“提交申请”按钮后会进入申请页面,输入相关信息后点击提交即可,页面如图4-4所示。
图4-4 提交申请界面图
4.1.5 修改密码界面
当学生用户员工点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,则修改成功,否则给出错误提示信息,界面如下图所示。
图4-5修改密码界面图
修改密码代码如下
public String encryption(String plainText) {
String re_md5 = new String();
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
re_md5 = buf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return re_md5;
}
当商家用户点击“个人中心”后,点击“兼职信息”按钮,企业可以管理和发布公司的兼职信息,页面如图所示。
图4-6 兼职信息界面图
当商家用户点击“个人中心”后,点击“兼职评价”按钮,企业可以查看和审核学生用户提交的兼职评价,界面如图所示。
图4-7兼职评价界面图
当商家用户点击“个人中心”后,点击“确认录用”按钮,企业可以提交确认录用学生的信息,界面如图所示。
图4-8 确认录用界面图
4.3管理员功能模块
4.3.1 系统用户管理界面
基于SSM大学生兼职系统中的管理人员是可以对注册的学生用户、商家用户进行管理的,也可以对管理员进行管控。界面如图所示。
图4-9用户管理界面图
系统用户代码如下:
package com.project.demo.constant;
public class FindConfig {
public static String PAGE = "page";
public static String SIZE = "size";
public static String LIKE = "like";
public static String ORDER_BY = "orderby";
public static String FIELD = "field";
public static String GROUP_BY = "groupby";
public static String MIN_ = "_min";
public static String MAX_ = "_max";
}
4.3.2 系统管理界面
管理员点击“系统管理”这一菜单会显示轮播图、敏感词管理这一个子菜单,管理员可以对前台展示的轮播图、敏感词进行设置,界面如图所示。
图4-10系统管理界面图
4.3.3 系统公告管理界面
管理员点击“系统公告管理”菜单,管理员可以发布、编辑和删除系统公告,及时向用户传达重要信息。界面如下图所示。
图4-11系统公告管理界面图
5系统测试
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
5.2 系统测试用例
系统测试包括:用户登录功能测试、兼职信息展示功能测试、系统公告添加、兼职信息搜索、密码修改功能测试,如表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.3 系统测试结果
通过编写基于SSM大学生兼职系统的测试用例,已经检测完毕用户登录模块、兼职信息查看模块、系统公告添加模块、兼职信息搜索模块、密码修改功能测试,通过这5大模块为基于SSM大学生兼职系统的后期推广运营提供了强力的技术支撑。
结论
至此,基于SSM大学生兼职系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、JAVA语言、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
- [1]白茹鑫. 基于SpringBoot+SSM框架的企业安全培训管理系统设计与实现 [J]. 现代信息科技, 2024, 8 (01): 44-49. DOI:10.19850/j.cnki.2096-4706.2024.01.009.
- [2]袁爱平,陈畅,孙士兵等. 基于SSM框架的高校学生信息管理系统设计与实现 [J]. 工业控制计算机, 2023, 36 (12): 127-129.
- [3]Ketki R ,Arjun K ,Nicole T F . Corrigendum to “Mental health law, policy & program in India – A fragmented narrative of change, contradictions and possibilities” [SSM - Mental Health 2 (2022) 100174] [J]. SSM - Mental Health, 2023, 4
- [4]吴昊,张丹. 基于SpringBoot框架的大学生网上兼职系统设计与实现 [J]. 电脑知识与技术, 2023, 19 (35): 68-72. DOI:10.14004/j.cnki.ckt.2023.1860.
- [5]单厚信,刘舒心,程文远等. 基于SSM架构的图书资料管理系统设计与实现 [J]. 现代信息科技, 2023, 7 (23): 46-51. DOI:10.19850/j.cnki.2096-4706.2023.23.010.
- [6]刘方磊. 基于SSM框架的旅游大数据分析系统设计与实现 [J]. 中国新技术新产品, 2023, (21): 22-25. DOI:10.13612/j.cnki.cntp.2023.21.002.
- [7]Joshua B Z . Book Reviews: Eva Solomon, CSJ, ssm, Come Dance with Me: A Medicine Wheel Practice of Anishinaabe Catholic Interculturation of Faith [J]. Anglican Theological Review, 2023, 105 (4): 550-551.
- [8]施峰,张瑾. 基于SSM的编译原理精品课程网站设计与实现 [J]. 中国新通信, 2023, 25 (20): 44-46+49.
- [9]张凌飞. 高职院校外聘兼职教师的规范化管理 [J]. 经济师, 2023, (10): 223-225.
- [10]Francisco C A ,P. B M ,C. J S . Transnational Banking Supervision, Distance-to-Distress and Credit Risk: the SSM Case [J]. Applied Economics Letters, 2023, 30 (15): 2079-2085.
- [11]Yangyang C ,Zhaohua L ,Lei Z , et al. Multi-type dynamic load identification algorithm in continuous system: A numerical and experimental study based on SSM-Newmark-β [J]. Applied Mathematical Modelling, 2023, 123 810-834.
- [12]Paulina K ,E. D L ,Carlos M . Phenomenological implications of sterile neutrinos in the [formula omitted]SSM and dark matter [J]. Astroparticle Physics, 2023, 151
- [13]夏慈. 兼职培训师管理系统的建设与应用 [J]. 中国电力教育, 2023, (02): 28-29. DOI:10.19429/j.cnki.cn11-3776/g4.2023.02.029.
- [14]张千雅,张婧仪,鲍泽芸等. 基于区块链应用技术的大学生兼职平台构建的优化研究 [J]. 网络安全技术与应用, 2022, (04): 62-64.
- [15]原容莲,覃海宁. 乡村振兴战略下涉农高校专兼职教师分工协作进行模块化教学改革思考 [J]. 广西农学报, 2022, 37 (01): 84-88.
- [16]闫冬寒. 体育舞蹈专项大学生兼职教练员的影响因素研究[D]. 河北师范大学, 2021. DOI:10.27110/d.cnki.ghsfu.2021.000070.
转眼间,大学生用户活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
请关注点赞+私信博主,免费领取项目源码