摘 要
在网络飞速发展的信息时代,各个行业都离不开信息的处理,在这种时代背景下,社会以人们健康为导向,以疫苗接种信息的持续创新,根据这两点,为当前形势最重要的疫苗接种信息设计一个系统就很有必要。
系统采用了B/S结构,在此基础上,对各业务模块进行了界面交互,以MySQL为数据库,并选用IDEA进行系统设计。在实现功能的同时,为实现系统的升级和扩展,采用了springboot框架,用户通过PC机访问Web版本,实现对系统功能的访问和交互。系统管理模块主要负责对已有数据库进行维护、管理、添加、维护、删除、修改等。管理员负责维护系统的各项功能、数据的备份、恢复,保证数据的完整性和一致性;负责用户的管理与配置。最后对系统进行测试后,改善了程序逻辑和代码。同时确保该系统有很好的操作体验,实现了对于防疫站、社会、人民的共同双赢。
关键词:疫苗接种;IDEA开发工具;Java编程语言;MySQL数据库
Design and Implementation of a Spring Boot Vaccine Vaccination Information Management System
Abstract
In the rapidly developing information age of the internet, various industries cannot do without information processing. In this era, society is guided by people's health and continuously innovates vaccine administration information. Based on these two points, it is necessary to design a system for the most important vaccine administration information in the current situation.
The system adopts a B/S structure, and on this basis, interface interaction is carried out for each business module, using MySQL as the database and using IDEA for system design. At the same time as implementing the functions, the springboot framework was 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 that the system has a good operating experience, achieving a win-win situation for epidemic prevention stations, society, and the people.
Keywords: Vaccination; IDEA development tool; Java programming language; MySQL database
目 录
第1章 绪论
1.1研究背景与意义
随着疫苗接种工作的重要性日益凸显,建立一套高效、可靠的疫苗接种信息管理系统对于提高疫苗接种工作的质量和效率具有重要意义。传统的疫苗接种信息管理方式存在许多问题,如信息不准确、数据难以追溯和传递效率低等。因此,利用现代技术构建基于Spring Boot的疫苗接种信息管理系统,可以极大地改善疫苗接种信息管理的效果。
基于Spring Boot的疫苗接种信息管理系统主要面向管理员和普通用户,涵盖了疫苗信息管理、预约接种、疫苗批次、接种反馈与回复、疫苗求援、系统管理(轮播图)、留言管理(留言区)、通知公告以及资源管理(疫苗资讯、资讯分类)和交流管理(交流论坛、论坛分类)等功能。通过该系统的建立,可以提高疫苗接种工作的效率和准确性,加强用户与管理者之间的沟通和互动,促进疫苗接种工作的规范化和智能化发展,同时也为用户提供了获取疫苗信息、交流经验的平台,增强了公众对疫苗接种的参与度和信任度,有助于推动社会公共卫生事业的发展。
1.2开发现状
目前,针对疫苗接种的网站已经取得了显著的开发进展。各国疾病控制中心或卫生部门建立了官方网站,提供权威可靠的疫苗接种信息,包括接种指南、时间表和地点等。此外,一些国家或地区还建立了在线预约平台,如VaccineFinder和Covid-19 Vaccination Service,使公众能够便捷地预约接种。
为了方便公众查询疫苗相关信息,一些网站提供了疫苗查询服务,用户可以输入疫苗名称或批号查询相关信息。同时,疫苗接种数据统计网站也应运而生,如COVID-19疫苗接种数据统计平台和CDC COVID Data Tracker,展示实时数据和统计信息,帮助公众了解疫苗接种进展。
这些已经开发好的疫苗接种网站为公众提供了方便、准确和及时的疫苗接种信息和服务。它们的存在促进了疫苗接种工作的规范化和智能化发展,为公众健康提供了有力的支持。
然而,仍然需要关注网站的数据安全性、性能稳定性和用户体验等方面的改进。随着技术不断发展,未来还将出现更多创新的疫苗接种网站,为人们提供更便捷、高效的疫苗接种信息和服务,推动疫苗接种工作的进一步发展。
1.3本文结构
(1)绪论
从开发系统的背景、意义、以及系统的发展状况,详细描述了系统的在哪些方面能得到应用、然后对本文分结构。
(2)系统开发环境介绍
使用技术简介、数据库概念和特点、编码工具、建模工具等。
(3)系统分析
可行性分析概述、用户需求调研、系统业务流程分析、系统数据组成。
(4)系统设计
系统网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。
(5)系统的实现
疫苗接种模块的实现、预约模块设计、接种反馈模块的实现。
(6)系统测试
系统编码实现后,需要进行测试,测试包括黑盒测试和白盒测试,本系统采用黑盒测试,通过输入不同组的测试数据进行测试的功能模块测试。
第2章 系统分析
2.1 B/S结构
B/S结构,即Browser/Server结构,是一种常见的软件架构模式。在B/S结构中,浏览器(Browser)作为客户端,通过HTTP协议向服务器(Server)发送请求,服务器处理请求并返回相应的结果给浏览器进行展示。
B/S结构相对于传统的C/S结构(Client/Server结构),具有许多优势。首先,B/S结构不需要安装额外的客户端软件,只需一个浏览器即可访问和使用系统,方便快捷。其次,服务器端负责数据存储和业务逻辑处理,可以集中管理和维护,减轻了客户端的负担。此外,B/S结构还具备跨平台和跨设备的特点,用户可以通过不同的设备和操作系统访问同一个系统。
在B/S结构中,浏览器负责呈现用户界面,采用HTML、CSS和JavaScript等前端技术进行开发。服务器端负责接收和处理浏览器发送的请求,并生成响应结果,通常采用后端开发语言如Java、Python、PHP等,以及数据库进行数据存储和处理。
B/S结构适用于许多Web应用程序,例如电子商务网站、社交媒体平台、在线银行系统等。它提供了一种灵活、可扩展和易于维护的架构模式,使得开发和使用Web应用程序变得更加便捷和高效。
2.2 MySQL数据库
MySQL是一种开源的关系型数据库管理系统(RDBMS),被广泛应用于各类应用程序和网站的数据存储和管理中。作为关系型数据库,MySQL采用表格形式组织和存储数据,并支持SQL作为查询和操作数据库的标准语言。它具备良好的可扩展性,能处理大量数据和高并发访问请求,并支持多用户并发访问。MySQL提供多层级的安全措施,保护数据的安全性和隐私,并在多种操作系统上运行。它支持不同的存储引擎,可以根据需求选择合适的引擎。此外,MySQL还提供数据备份和恢复机制,确保数据的可靠性和完整性。总而言之,MySQL是一款功能强大、稳定可靠的数据库管理系统,满足现代应用对数据处理和存储的需求。
2.3 Maven项目管理工具
Maven是一种流行的项目管理工具,用于构建、依赖管理和项目协作。它通过约定的项目结构管理项目,并提供了依赖管理、构建工具、生命周期和插件等功能。开发者可以使用Maven来简化项目依赖管理的过程,自动执行各种构建任务,并生成各种项目文档和报告。此外,Maven还支持多模块项目管理,使项目组织更加规范和易于维护。总而言之,Maven是一个强大且灵活的项目管理工具,为项目开发和协作提供了标准化和自动化的环境,提高了开发效率和代码质量。
2.4 Java语言
Java是一种广泛应用于软件开发的高级编程语言,具有跨平台性、面向对象、简单易学、强大的生态系统和自动内存管理等特点。通过Java虚拟机(JVM),它能够在不同操作系统上运行,实现了代码的可移植性。作为面向对象的语言,Java支持封装、继承和多态等特性,提高了代码的重用性和可维护性。Java拥有庞大的开发社区和丰富的第三方库和框架,为开发者提供了各种工具和功能。同时,Java还通过自动垃圾回收机制管理内存,减轻了开发者的负担,并提高了程序的稳定性。由于其广泛的应用领域和优势,Java已成为许多开发者首选的编程语言。
第3章 系统分析
3.1可行性分析
技术上使用springboot+Java+MySQL+Apache的架构实现,从技术本身的角度上讲已经相当成熟,不需要考虑其本身的问题,从服务器流量以及并发的角度上讲,由于系统面向的群体为社会居民,用户群体适中,根据服务器和计算能力的发展现状来看不会成为系统不利因素。再者就是开发人员本身的水平问题,笔者在实习期间已经经历过3~5个项目,也独立完成过项目,因此在技术上还是比较有信心,加上有指导老师的协助指导,相信技术上不存在问题。
本系统功能模块相对来说不是很复杂,整个设计和开发过程投入成本较低,在实际使用中,只需要一台能上网的计算机登录浏览器即可访问,后期可能开发出手机APP端的客户端或者微信小程序。操作简单,业务流程很清晰,且运维也比较轻松,面对这么大的一个市场,如果投入使用能得到大面积覆盖的话,不仅是用户的使用能给系统端带来收益,使用者想要入驻当然也是需要缴纳一定的费用的。总的来说,与前期少量的开销相比,最终产出的收益是相当可观的,也就是说该系统在经济上是完全可行的。
系统开发采用的B/S架构是最常见的Web项目架构,常用于简单Web系统项目的开发。基于B/S架构实现的系统,免去了客户端频繁更新换代的成本和麻烦,只需要一台能上网的计算机登录浏览器即可享受足不出户的快捷。系统操作便捷,可兼容到不同操作系统和不同浏览器,只需要简单熟悉系统的核心业务逻辑和步骤,任何人都能快速上手。前台与后台的分离使得业务逻辑十分清晰,超强的界面友善性同样给用户体验加分。所以,该系统具备超强的功能逻辑和快速上手的优势,我们可以说该系统在操作上是可行的。
3.2需求分析
3.2.1用户端功能分析
(1)用户注册:用户在想利用该系统预约的情况下,在非登录的状态是无法得以实现的,而一个用户能够登录的前提是首先要有该疫苗接种信息管理系统的权限,也就是需要用户通过注册来完成。在注册的时候,会对用户登录名是否重复存在来进行检测,在数据库中已存在的情况下,无法完成注册;还有对密码进行约定限制,只能是为数字、字母或这两种方式的组合,否则无法被承认完成注册。
(2)用户登录:用户注册时所生成的信息是提供给用户来用以完成登录的必备信息,可通过录入到所需的登录信息并与登录类型相匹配的情况下,可登录成功。
(3)交流论坛:用户点击“交流论坛”菜单显示所有的交流论坛信息,可以按照分类查看帖子信息,或者输入关键词进行局部搜索,点击可以进入帖子的详细展示界面,在此界面用户可以点赞、收藏、评论,也可以点击“发布内容”输入帖子信息进行发帖。
(4)通知公告:用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看通知公告详情。
(5)疫苗资讯:用户点击“疫苗资讯”菜单显示所有的疫苗资讯信息,可以按照条件进行疫苗资讯的筛选或者输入关键词进行局部搜索,点击可以进入疫苗资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
(6)留言区:用户点击“留言区”输入内容进行提交,点击可以进入留言区回复界面,在此界面用户查看回复内容。
(7)疫苗信息:用户点击“疫苗信息”菜单显示所有的疫苗信息,可以按照条件进行疫苗信息的筛选或者输入关键词进行局部搜索,点击可以进入疫苗信息详细展示界面,在此界面用户可以预约、收藏、点赞和评论。
(8)个人中心:为用户提供个人信息管理和功能操作的中心。其中包括以下几个子功能:
预约接种:用户可以在个人中心进行疫苗接种的预约操作,选择合适的时间和地点进行接种。
接种反馈:用户可以在个人中心提交接种后的反馈信息,包括接种感受、副作用等。
反馈回复:管理员可以对用户的接种反馈进行回复和解答,提供必要的支持和指导。
交流论坛:用户可以在个人中心参与交流论坛的讨论和交流。
留言区:用户可以在个人中心查看自己的留言和留言回复。
收藏:用户可以将感兴趣的帖子或资讯收藏起来,方便以后查看。
用户用例图如下所示。
图3-1 用户用例图
(1)系统用户管理:管理员负责管理系统用户,包括管理员和普通用户的注册、登录和权限控制。可以添加、编辑、删除用户,并设置用户角色和权限级别。
(2)疫苗信息管理:管理员可以管理疫苗信息,包括疫苗名称、生产厂商、适用对象、接种剂次等。可以添加、编辑、删除疫苗信息,并确保信息的准确性和完整性。
(3)预约接种管理:管理员负责管理疫苗接种预约信息,包括用户的预约时间、地点和疫苗类型。可以查看、审核、取消预约,并及时更新预约状态。
(4)疫苗批次管理:管理员可以管理疫苗的批次信息,包括批号、生产日期、有效期等。可以添加、编辑、删除疫苗批次,并跟踪疫苗的供应情况。
(5)接种反馈管理:管理员负责管理用户的接种反馈,包括接种时间、接种部位、副作用等。可以查看、审核、记录接种反馈,并提供必要的支持和回复。
(6)反馈回复管理:管理员负责回复用户的反馈信息,解答他们的问题和提供帮助。可以查看、回复、追踪反馈信息,并保持良好的沟通和互动。
(7)疫苗求援管理:管理员可以管理用户的疫苗求援信息,包括用户的求援原因、地点和联系方式。可以查看、响应、协助用户解决问题,并提供必要的帮助和指导。
(8)系统管理:管理员负责管理系统的一些基本设置和功能,例如轮播图内容的管理和更新。可以添加、编辑、删除轮播图,并确保主页信息的准确性和时效性。
(9)留言管理:管理员负责管理用户在留言区发布的留言信息,包括查看、回复、删除留言。确保留言区的秩序和良好的交流氛围。
(10)通知公告管理:管理员可以发布通知公告,包括重要事件、活动安排、政策通知等。可以添加、编辑、删除通知公告,并及时更新用户的相关信息。
(11)资源管理:管理员负责管理疫苗资讯和资讯分类,为用户提供有关疫苗的相关信息和知识。可以添加、编辑、删除资讯内容,并确保信息的准确性和时效性。
(12)交流管理:管理员负责管理交流论坛和论坛分类,为用户提供一个交流和分享的平台。可以添加、编辑、删除论坛分类和帖子,并确保论坛的秩序和良好的交流环境。
管理员用例图如下所示。
图3-2 管理员用例图
3.2.3防疫站端功能分析
(1)首页:在首页上展示系统的概览信息,包括最新的通知公告、疫苗资讯等内容。提供快速导航和访问其他功能的链接。
(2)交流论坛:为用户提供一个交流和分享的平台,可以发表帖子、回复评论,与其他用户讨论相关话题。
(3)通知公告:管理员发布重要的事件、活动安排、政策通知等信息,用户可以查看最新的通知公告并及时了解相关情况。
(4)疫苗资讯:提供有关疫苗的相关信息和知识,包括疫苗种类、接种建议、副作用等内容。用户可以浏览和学习疫苗相关的知识。
(5)留言区:用户可以在留言区发布留言、提问或反馈意见,与其他用户和管理员进行沟通和互动。
(6)疫苗信息:提供详细的疫苗信息,包括疫苗名称、生产厂商、适用对象、接种剂次等。用户可以查找和了解特定疫苗的相关信息。
(7)个人中心:用户可以进入个人中心管理个人信息和设置,包括修改密码、查看收藏的内容等。该功能还提供了疫苗求援、交流论坛、留言区和收藏的管理选项。
(8)疫苗求援:用户可以在个人中心发布疫苗求援信息,包括求援原因、地点和联系方式。其他用户或管理员可以响应求援并提供帮助。
(9)收藏:用户可以收藏感兴趣的疫苗资讯、帖子等内容,方便随时查看和参考。
3.3性能需求分析
基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。
表3-1 系统非功能需求表
安全性 | 只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。 |
可靠性 | 系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。 |
性能 | 响应时间尽量控制在1s之内 |
可扩展性 | 后台采用自顶向下的开发,利于开发与维护。 |
易用性 | 在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。 |
可维护性 | 前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。 |
3.4系统业务流程分析
管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。
用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。
疫苗接种信息管理系统的业务流程如下图所示。
图3-3 系统业务流程图
第4章 系统设计
4.1系统功能结构
疫苗接种信息管理系统主要是为用户所服务的,该系统是因他们而存在,要为他们服务,因此,在系统设计时要将他们的需求放在第一位,并且要充分考虑他们的意见。
疫苗接种信息管理系统的用户角色有而种,包括管理员,用户。管理员在本系统疫苗接种信息管理系统中管理疫苗信息,预约信息信息,疫苗接种预约信息,用户信息。用户所能实现的功能有:修改自己的密码等个人信息,疫苗接种预约,查看自己的预约结果。
系统功能结构图如下所示。
图4-1 系统功能结构图
4.2数据库设计
借助目前的UML建模软件,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据疫苗接种的系统分析结果,整个疫苗接种信息管理系统包括以下各个单元:管理员,用户,疫苗信息,疫苗预约,疫苗资讯等。
系统的主要实体间关系E-R图如下图所示:
图4-2 系统E-R图
数据库是疫苗接种信息管理系统的数据处理的基础,也是为界面数据的展示与存储的关键。疫苗接种信息管理系统的数据库表如下。
表appointment_for_vaccination (预约接种)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | appointment_for_vaccination_id | int | 10 | 0 | N | Y | 预约接种ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
5 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
6 | appointment_time | datetime | 19 | 0 | Y | N | 预约时间 | |
7 | vaccine_name | varchar | 64 | 0 | Y | N | 疫苗名称 | |
8 | vaccine_type | varchar | 64 | 0 | Y | N | 疫苗类型 | |
9 | vaccine_batch | varchar | 64 | 0 | Y | N | 疫苗批次 | |
10 | vaccine_number | varchar | 64 | 0 | Y | N | 疫苗编号 | |
11 | manufacturer | varchar | 64 | 0 | Y | N | 生产厂家 | |
12 | production_date | date | 10 | 0 | Y | N | 生产日期 | |
13 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
14 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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 | feedback_reply_id | int | 10 | 0 | N | Y | 反馈回复ID | |
2 | vaccine_name | varchar | 64 | 0 | Y | N | 疫苗名称 | |
3 | vaccine_type | varchar | 64 | 0 | Y | N | 疫苗类型 | |
4 | vaccine_batch | varchar | 64 | 0 | Y | N | 疫苗批次 | |
5 | vaccination_time | datetime | 19 | 0 | Y | N | 接种时间 | |
6 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
7 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
8 | feedback_reply | text | 65535 | 0 | Y | N | 反馈回复 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 论坛id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用户ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 点赞数 |
6 | hits | int | 10 | 0 | N | N | 0 | 访问数 |
7 | title | varchar | 125 | 0 | N | N | 标题 | |
8 | keywords | varchar | 125 | 0 | Y | N | 关键词 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 来源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 标签 | |
12 | img | text | 65535 | 0 | Y | N | 封面图 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
16 | avatar | varchar | 255 | 0 | Y | N | 发帖人头像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
3 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
4 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
5 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
6 | icon | varchar | 255 | 0 | Y | N | 分类图标: | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | institutional_users_id | int | 10 | 0 | N | Y | 机构用户ID | |
2 | institution_name | varchar | 64 | 0 | Y | N | 机构名称 | |
3 | institution_address | varchar | 64 | 0 | Y | N | 机构地址 | |
4 | institutional_phone_number | varchar | 64 | 0 | Y | N | 机构电话 | |
5 | name_of_person_in_charge | varchar | 64 | 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 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
5 | contact_address | varchar | 64 | 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 | 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 | vaccination_feedback_id | int | 10 | 0 | N | Y | 接种反馈ID | |
2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
4 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
5 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
6 | vaccination_time | datetime | 19 | 0 | Y | N | 接种时间 | |
7 | vaccine_name | varchar | 64 | 0 | Y | N | 疫苗名称 | |
8 | vaccine_type | varchar | 64 | 0 | Y | N | 疫苗类型 | |
9 | vaccine_batch | varchar | 64 | 0 | Y | N | 疫苗批次 | |
10 | reflection_feedback | text | 65535 | 0 | Y | N | 反映回馈 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | vaccine_batch_id | int | 10 | 0 | N | Y | 疫苗批次ID | |
2 | vaccine_batch | 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 | vaccine_information_id | int | 10 | 0 | N | Y | 疫苗信息ID | |
2 | vaccine_name | varchar | 64 | 0 | Y | N | 疫苗名称 | |
3 | vaccine_type | varchar | 64 | 0 | Y | N | 疫苗类型 | |
4 | image_display | varchar | 255 | 0 | Y | N | 图片展示 | |
5 | manufacturer | varchar | 64 | 0 | Y | N | 生产厂家 | |
6 | production_date | date | 10 | 0 | Y | N | 生产日期 | |
7 | vaccine_batch | varchar | 64 | 0 | Y | N | 疫苗批次 | |
8 | target_audience | varchar | 64 | 0 | Y | N | 目标人群 | |
9 | current_quantity | int | 10 | 0 | Y | N | 0 | 现有数量 |
10 | introduction_to_vaccines | 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 | 更新时间 |
表vaccine_request_for_assistance (疫苗求援)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | vaccine_request_for_assistance_id | int | 10 | 0 | N | Y | 疫苗求援ID | |
2 | institutional_users | int | 10 | 0 | Y | N | 0 | 机构用户 |
3 | institution_name | varchar | 64 | 0 | Y | N | 机构名称 | |
4 | institution_address | varchar | 64 | 0 | Y | N | 机构地址 | |
5 | institutional_phone_number | varchar | 64 | 0 | Y | N | 机构电话 | |
6 | name_of_person_in_charge | varchar | 64 | 0 | Y | N | 负责人名 | |
7 | vaccine_name | varchar | 64 | 0 | Y | N | 疫苗名称 | |
8 | vaccine_type | varchar | 64 | 0 | Y | N | 疫苗类型 | |
9 | request_for_assistance_date | date | 10 | 0 | Y | N | 求援日期 | |
10 | number_of_requests_for_assistance | int | 10 | 0 | Y | N | 0 | 求援数量 |
11 | standoff_distance | int | 10 | 0 | Y | N | 0 | 相隔距离 |
12 | request_for_assistance_note | text | 65535 | 0 | Y | N | 求援备注 | |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章 系统实现
5.1登录模块的实现
将首页的左边的功能设计为用户登录的位置,所以在进行登录的地方就会显示首页。在登录后就是大众较为熟悉的位置,也就是让用户进行账号以及密码输入的样式。
当用户输入完信息并点击登录按钮时,Struts就会将用户输入的信息传递进表单并装入相应的对象之中,然后再转到相应位置进行校验。若用户名和密码框都是空的,那么系统就会不可将账号密码均设置为空值。
系统的底层设置要求账号密码不可以都是空值,将这些信息传递给相关的类中的对象方法并调用相关的信息,对于用户输入的数据进行检验。若检验结果正确会自动转到系统首页欢迎页面,如果不正确系统就会返回用户登录界面。
用户登录流程图如下所示。
图5-1 用户登录流程
系统登录界面如下图所示。
图5-2 系统登录界面
5.2用户子系统模块的实现
5.2.1用户首页模块
首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。
首页载入流程图如下所示。
图5-3 首页载入流程
首页如下图所示。
图5-4 首页界面
5.2.2用户注册模块
用户在想利用该系统预约的情况下,在非登录的状态是无法得以实现的,而一个用户能够登录的前提是首先要有该疫苗接种信息管理系统的权限,也就是需要用户通过注册来完成。在注册的时候,会对用户登录名是否重复存在来进行检测,在数据库中已存在的情况下,无法完成注册;还有对密码进行约定限制,只能是为数字、字母或这两种方式的组合,否则无法被承认完成注册。
用户注册流程图如下所示。
图5-5 用户注册流程
用户注册界面如下图所示。
图5-6 用户注册界面
5.2.3疫苗信息模块
用户点击“疫苗预约”菜单显示所有的疫苗信息,可以按照条件进行疫苗信息的筛选或者输入关键词进行局部搜索,点击可以进入疫苗信息详细展示界面,在此界面用户可以预约、收藏、点赞和评论。
疫苗接种预约流程如下图所示。
图5-7疫苗接种预约流程
疫苗接种预约界面如下图所示。
图5-8疫苗接种预约界面
5.2.4接种反馈查询模块
用户可以在个人中心提交接种后的反馈信息,包括接种感受、副作用等。接种反馈提交流程如下图所示。
图5-9接种反馈流程
接种反馈界面如下图所示。
图5-10 接种反馈界面
5.3管理员子系统模块的实现
5.3.1用户管理模块
管理员负责管理系统用户,包括管理员和普通用户的注册、登录和权限控制。可以添加、编辑、删除用户,并设置用户角色和权限级别。用户管理界面如下图所示。
图5-11 用户管理界面
5.3.2预约接种管理模块
管理员负责管理疫苗接种预约信息,包括用户的预约时间、地点和疫苗类型。可以查看、审核、取消预约,并及时更新预约状态。预约接种管理流程如下图所示。
图5-12 疫苗接种管理流程
疫苗信息添加界面如下图所示。
图5-13 疫苗信息添加界面
预约接种管理界面如下图所示。
图5-14 预约接种管理界面
5.3.3疫苗求援管理模块
管理员可以管理用户的疫苗求援信息,包括用户的求援原因、地点和联系方式。可以查看、响应、协助用户解决问题,并提供必要的帮助和指导。
疫苗求援管理流程如下图所示。
图5-15 疫苗求援管理流程
疫苗求援添加界面如下图所示。
图5-16 疫苗求援添加界面
疫苗求援管理界面如下图所示。
图5-17 疫苗求援管理界面
第6章 系统测试
6.1测试过程
单元测试是对每个模块或单元进行测试,以验证其是否能正常执行预先设定的函数。在编写单元代码时,可以使用详细的编程指导和关键数据界面和路径的检测,以检测模块中的缺陷。通过使用源码完成的程序,并按照程序的内部构造进行测试,可以验证各个程序的功能。
集成测试是对单元测试的延伸,将组装好的测试组件进行测试,并对相关的设计进行软件体系结构的检测。具体实施方法包括将两个以上的单元模块合并为一个部件进行测试,并进行界面的调试。根据具体的测试需求,可以采用不同的模块整合方法,如一次整合和逐步增加模块的方式。
6.2测试用例
登录测试用例如下表所示。
表6-1 登录测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
选择管理员登录,输入用户姓名,按“登陆”按钮。 | 用户姓名:admin, 密码为空 | 显示警告信息“请填写密码!” | 显示警告信息“请填写密码!” | 与期望结果相同 |
选择管理员登录,输入密码,按“登陆”按钮。 | 用户姓名为空,密码:123456 | 显示警告信息“请填写用户名” | 显示警告信息“请填写用户名” | 与期望结果相同 |
选择管理员登录,输入用户姓名和密码,按“登陆”按钮。 | 用户姓名:1234, 密 码:1234 | 显示警告信息“该用户名不存在!” | 显示警告信息“该用户名不存在” | 与期望结果相同 |
选择管理员登录,输入用户姓名和密码,按“登陆”按钮。 | 用户名:admin,密 码:admin | 正确登入到后台页面 | 正确登入到后台页面 | 与期望结果相同 |
个人信息管理测试用例如下表所示。
表6-1 个人信息管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
选择个人信息,清空用户名,按“保存”按钮。 | 用户姓名为空 | 显示警告信息“用户名不能为空!” | 显示警告信息“用户名不能为空! | 与期望结果相同 |
选择个人信息,清空邮箱,按“保存”按钮。 | 用户邮箱为空 | 显示警告信息“邮箱不能为空!” | 显示警告信息“邮箱不能为空!” | 与期望结果相同 |
选择个人信息,清空联系方式,按“保存”按钮。 | 用户联系方式为空 | 显示警告信息“联系方式不能为空!” | 显示警告信息“联系方式是不能为空!” | 与期望结果相同 |
选择个人信息,按“上传头像”按钮,上传头像文件大小超过1Mb。 | 头像文件大小超过1Mb | 显示警告信息“图片大小不能超过1Mb!” | 显示警告信息“图片大小不能超过1Mb!” | 与期望结果相同 |
公告管理测试用例如下表所示。
表6-1 公告管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“公告发布”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“发布成功” | 提示“发布成功” | 与期望结果相同 |
用户选择公告点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
预约接种管理测试用例如下表所示。
表6-1 预约接种管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
用户点击“预约接种”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“预约成功” | 提示“预约成功” | 与期望结果相同 |
用户选择预约接种点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
疫苗信息管理测试用例如下表所示。
表6-1 疫苗信息管理测试用例
操作描述 | 数据 | 期望结果 | 实际结果 | 测试状态 |
管理员点击“疫苗信息”,填写相关数据后点击“确定”。 | 在必填项输入测试数据 | 提示“添加成功” | 提示“添加成功” | 与期望结果相同 |
管理员选择疫苗信息点击“修改”后点击“确定”。 | 在必填项修改测试数据 | 提示“修改成功” | 提示“修改成功” | 与期望结果相同 |
6.3测试结果
基于Java的疫苗接种信息管理系统的测试已经完成,没有出现错误,能够成功运行。因为系统比较简单,一些功能还急需完善,但已经能够满足用户和管理者的需求,给予用户足够的帮助。
经过测试,得到测试结果如下表所示。
表5-1 测试结果
测试项目 | 测试结果 |
登录 | 成功 |
注册 | 成功 |
用户管理 | 成功 |
公告管理 | 成功 |
预约接种管理 | 成功 |
疫苗信息管理 | 成功 |
结论
在系统开发过程中,使用HTML文件展示前端数据的方式逐渐消失,企业应用中越来越少见。然而,在训练和熟悉阶段仍然具有一定的用处。一旦熟悉后,可以将项目转换为Vue前端项目,实现完全的前后端分离。Vue框架目前非常流行,更便于前端系统的维护和扩展。
在后台技术方面,为了快速搭建系统后台,采用了Spring Boot框架。在系统开发过程中,发现对数据结构和算法的学习非常重要。例如,树型结构数据、递归方法的使用以及Map容器等都是常用的工具。尽管现在有许多第三方插件和方法总结了许多有用的功能,但我们仍需要了解这些方法的具体实现。在使用第三方插件时,虽然可以节约开发时间,但也存在一定的风险,如版本更新或废弃。因此,在项目中尽量进行方法的封装,以便未来更好地进行维护。
总的来说,通过这个小项目,我们能够从整体上了解一个项目的开发流程,为以后的工作提供有力支持。
参考文献
[1]Prabawani B ,Hadi P S ,Fisher R M , et al.Socioeconomic perspective of agroforestry development in Central Java[J].Environmental and Sustainability Indicators,2024,22100354-.
[2]Hudalah D ,Octifanny Y ,Talitha T , et al.From Metropolitanization to Megaregionalization: Intentionality in the Urban Restructuring of Java’s North Coast, Indonesia[J].Journal of Planning Education and Research,2024,44(1):292-306.
[3]粟梁.基于Java的汽车租赁管理系统[J].电脑编程技巧与维护,2024,(01):43-45+52.DOI:10.16184/j.cnki.comprg.2024.01.035.
[4]韩小龙,司珍,吕晓峰等.基于面向对象编程的Java语言程序设计方法分析[J].集成电路应用,2024,41(01):228-229.DOI:10.19339/j.issn.1674-2583.2024.01.103.
[5]袁琳琳.计算机软件Java编程特点及技术分析[J].数字通信世界,2023,(12):87-89.
[6]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.
[7]崔臣,宋甲旭.基于SpringBoot的校园二手交易系统研究[J].无线互联科技,2023,20(18):31-34.
[8]陈蓓蕾,洪年松.基于SpringBoot的数据库接口设计[J].信息与电脑(理论版),2023,35(16):181-183.
[9]孟思明.基于SpringBoot框架选购系统的设计与实现[J].中国设备工程,2023,(11):94-95.
[10]陈欣,阮锦新,邬依林等.基于SpringBoot的物联网智能家居方案设计[J].现代计算机,2023,29(11):76-83.
[11]许长沙,曹雷,胡冉等.疫苗接种预约管理现况和实施建议[J].中国疫苗和免疫,2023,29(01):86-89.DOI:10.19914/j.CJVI.2023016.
[12]马金凤,林坤,李佳琦等.社区医院疫苗接种管理系统设计[J].福建电脑,2022,38(07):59-65.DOI:10.16707/j.cnki.fjpc.2022.07.016.
[13]陈煜,李园园,张欣羽.新冠疫苗预约接种系统的设计与实现[J].无线互联科技,2022,19(13):86-88.
[14]杨天帅,疫苗接种智能管理系统.河南省,河南宏力医院有限公司,2021-04-01.
[15]宁波开通国内首个成人疫苗预约接种平台[J].宁波通讯,2019,(02):29.[1]龚晓丽,田倍齐,高媛,何云,李宜珈.基于微信公众平台的固原气象微网站的设计与实现[J].农业与技术,2020,40(08):106-107.
致谢
这篇文章的完成离不开我多个日日夜夜的努力。在创作过程中遇到了许多困难,但幸运的是,在老师和同学的辛勤帮助下成功克服了。我要特别感谢我的导师,他耐心地解答我的问题,并给予了我许多宝贵的指导意见。同时,也要感谢所有为我传授知识的老师们!
此外,本文的完成还借鉴了许多国内外关于Java技术的著作。如果没有这些学者们辛勤付出和科研成果,我也很难完成这篇论文。感谢所有相关学者们的工作!另外,感谢Google等公司提供强大的搜索引擎,使我能够方便快捷地查阅资料。
在表达感激之余,我也要诚恳地说几句话。尽管我在大学学习了四年,但由于自身知识有限,这篇论文可能存在一些不当和错误之处。我真诚地希望各位老师能够批评指正,帮助我改进。非常感谢那些在百忙之中抽出时间审阅我的论文的老师们。