springboot173疫苗发布和接种预约系统

简介

【毕设源码推荐 javaweb 项目】基于springboot+vue 的
适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。

看运行截图看 第五章 第四章

获取资料方式

**项目编号:springboot **
**源码合集(千套源码任你挑):www.yuque.com/mick-hanyi/javaweb **
**源码下载:私小编 **

项目包含

image.png

开发环境

  • jdk: JDK 1.8
  • 部署工具:IntelliJ IDEA 2023.xx/Eclipse.xxx
  • 数据库:Mysql 5.7.20
  • Tomcat: Tomcat 8.0.xx/9.0.xx

项目内容

疫苗发布和接种预约系统

摘 要

如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法,必须采用计算机来处理这些信息,因为传统方法对应计算机处理的信息效率上真的相差甚远。

本次使用Java技术开发的疫苗发布和接种预约系统,就是运用计算机来管理疫苗接种预约信息,该系统是可以实现论坛管理,公告信息管理,疫苗信息管理,医生管理,医院信息管理,用户管理,预约接种管理等功能。

疫苗发布和接种预约系统使用计算机处理相关信息,主要是在数据的传输上能达到即可传递,数据不管是想要获取或者输入,都可以及时反馈,极大的提高了效率,使用的MySQL数据库也能让数据更能安全的存储。

关键词:疫苗发布和接种预约系统;疫苗信息;预约接种

Abstract

Today’s era is the best era in history. With the development of computers and the development of mobile terminals, China’s current information technology has been far ahead in the world, making people feel that they are in a society with an explosion of information. Information processing in the information age must not use the previous solution of manual processing. Computers must be used to process these information, because the information efficiency of traditional methods corresponding to computer processing is really far away.

The vaccine release and vaccination reservation system developed using Java technology this time uses computers to manage vaccination reservation information. This system can realize forum management, announcement information management, vaccine information management, doctor management, hospital information management, and user management. Appointment vaccination management and other functions.

The vaccine release and vaccination reservation system uses computers to process relevant information, mainly in the transmission of data that can be delivered. Whether the data is to be obtained or input, it can be fed back in time, which greatly improves the efficiency. The MySQL database used It also allows data to be stored more securely.

**Key Words:**Vaccine release and vaccination appointment system; vaccine information; appointment vaccination

目 录

摘 要 I

Abstract II

第一章 绪论 1

1.1 研究背景 1

1.2 研究意义 1

1.3 研究内容 2

第二章 开发环境与技术 3

2.1 Java语言 3

2.2 JDK简介 3

2.3 Eclipse开发工具 4

第三章 系统分析 5

3.1可行性分析 5

3.1.1运行可行性分析 5

3.1.2技术可行性分析 5

3.1.3经济可行性分析 5

3.2系统流程分析 6

3.3 系统性能分析 8

3.3.1系统的安全性 8

3.3.2系统易维护性 8

3.3.3系统可扩展性 8

3.4系统功能分析 9

第四章 系统设计 13

4.1界面设计原则 13

4.2功能模块设计 13

4.3数据库设计 16

4.3.1数据库E-R图 16

4.3.2 数据库表结构 19

第五章 系统实现 23

5.1 管理员功能实现 23

5.1.1 疫苗信息管理 23

5.1.2 医院信息管理 23

5.1.3 医生管理 24

5.2 医生功能实现 24

5.2.1 预约接种管理 24

5.2.2 疫苗信息查看 25

5.2.3 医院信息查看 25

5.3 用户功能实现 26

5.3.1 在线论坛 26

5.3.2 疫苗信息 27

5.3.3 医院信息 27

第六章 系统测试 28

6.1 测试方案 28

6.2 系统测试用例 30

6.2.1 登录功能测试 30

6.2.2 注册功能测试 30

6.3 测试的结果 31

结 论 32

参考文献 33

致 谢 34

第一章 绪论

1.1 研究背景

在现在社会,对于信息处理方面,是有很高的要求的,因为信息的产生是无时无刻的,并且信息产生的数量是呈几何形式的增加,而增加的信息如何存储以及短时间分析检索,也是有时效性的,所以,不管是任何的企业和个人,只要需要处理信息,必然是要寻找到一个适合自己的解决方案,而软件开发商和数据库提供商就是为了解决这些问题。相比之前人工信息处理的水平,现代的信息处理方法是完胜以前的信息处理方法。开发一个符合自己需求的信息管理系统,可以把整个信息处理的过程变得很有规范,并且很有水准,让整个信息处理变成一个自动化的过程,并且在数据处理结果之中直接设定好检索标准,或者是多条件检索标准,通过数据分析获得自己需要的内容,这都是信息化的好处。当一切信息数据存在小小的存储介质之中,那么数据迁移备份的重要性也变得更加简洁,可以设置自动化远程备份,自动化远程处理,不管是使用过程还是维护过程,都会变得更加的高效和整洁,最重要的成本上面的控制,可以极限减少,开源节流,不外如是,减少社会资源的浪费,也是计算机技术的存在的一个优势。所以,对于疫苗接种预约信息的管理,一方面为了提高疫苗接种预约信息的管理水平,另一方面为了提高疫苗接种预约信息的维护水平,疫苗发布和接种预约系统的开发就显得十分有必要了。

1.2 研究意义

疫苗发布和接种预约系统不仅可以保证信息安全的前提下提高信息处理水平,更重要的是提高了信息使用者以及所有者的管理水平。信息的出现,必须经过人为的处理,人们才能接受和使用,所以提高了信息处理水准就显得极为重要。采用计算机技术,会发现在数据传递方面,有着急速的传递,不管是距离多远,都可以实时抵达,不管数据量多大,都能在短时间进行处理完毕,让人为的可出错性变低,工作量变少。疫苗发布和接种预约系统的出现,让疫苗接种预约信息的管理跟上了信息时代的步伐,不仅可以在全时间段提供着稳定的处理速度以及处理水准,更能完美的保证了数据的可靠性。不仅如此,疫苗发布和接种预约系统在使用上面也是得心应手,操作起来极其的简单,只要认识字就行,页面设计相当不错,不用过多的考虑或者寻找,就能使用。总而言之,疫苗发布和接种预约系统在信息资源的处理方面,表现是极其的出色,不仅提高了管理水准,也让数据的迁移变得更加方便。

1.3 研究内容

本文总共分六章来对疫苗发布和接种预约系统进行介绍,研究内容具体安排如下:

第一章:通过资料查询,和对调研资料的总结,对疫苗发布和接种预约系统的背景和疫苗发布和接种预约系统的意义进行说明;

第二章:选择适合本系统的技术和工具并对其进行说明;

第三章:分析疫苗发布和接种预约系统开发可行性问题,研究本系统的性能,对本系统使用者的功能进行分析。

第四章:细分功能,利用功能结构图来展示系统的详细功能,同时设计数据库,包括E-R图和数据表的设计;

第五章:展示疫苗发布和接种预约系统的实现界面和实现的功能;

第六章:测试疫苗发布和接种预约系统,检测系统的功能能否可用,以及发现并解决系统功能运行的问题。

第二章 开发环境与技术

疫苗发布和接种预约系统的开发需要的软件环境和技术下面将介绍一下。

2.1 Java语言

Java语言流行至今,依然是后台程序开发人员从业者需要学习的技能之一,并且可以不断的进行深造,可以用Java解决各种各样的问题。Java是一种面向对象的语言,这一点对Java语言的发展功不可没。万物皆对象,很生动的对自然存在的各种环境,各种问题提供了一个解决思路,人类对世界的认知就是从一个一个事物慢慢领悟的,对行为的认知就是事物之间的联系进行认知的,对各种事物之间的联系组成了人类对世界的认知。而Java语言关于编程描述的方法,符合人类对自然界的认知方法。一切自然界的信息如果要进行存储处理,如果只是信息存储的话,也需要对其定义,信息即数据,进而推导,符合数据要求格式的类型,就是符合人类认知事物的类型。Java语言面向对象就是这样理解的,符合人类正常思维。Java不仅仅是运行不挑环境,开发符合人类正常认知,并且还衍生出其他的好的特性,比如安全系数比较高,因为不牵扯到硬件指针,不存在直接访问内存,这样应对计算机病毒的入侵有着很好的防范。Java是一种很好的开发语言。

2.2 JDK简介

JDK这个是Java开发所必须的东西。Java开发必须用JDK,运行必须用JRE,而JDK往往携带了JRE环境,也就是说只要安装了JDK就不需要再去重复性的安装JRE,所以JDK这款开发Java的必备品也就很受欢迎。一台电脑上可以安装多个版本的JDK,并且可以对不同的项目指定不同的JDK,这一点做的相当的友好。如果一台电脑默认没有安装过JDK是不需要配置环境变量,就可以直接访问JDK的,这一点对于初学者来讲,起码配置环境变量方面就方便了很多。JDK目前最新版本是JDK17,版本已经很高了,但是不管是学习还是使用,一般都喜欢用比较稳定的版本,比如JDK1.7或者JDK1.8版本。

2.3 Eclipse开发工具

对于用于开发Java语言的工具来讲,从一开始就是MyEclipse,因为是开源免费的,许多教学机构或者是学校,如果大批量用收费的开发工具来进行讲课,是一种资金的浪费,所以选择MyEclipse作为开发工具,是许多Java学习人员的入门必备。但是随着Java语言功能越来越多,MyEclipse虽然是免费的,但是如果项目需要某些插件的话,需要手动去对应插件的官网进行下载,有时候插件还会被屏蔽,不仅仅在配置开发环境方面造成一定的困难,还会让开发的雄心变弱。Eclipse就在这样的情况下诞生了,秉承于MyEclipse的操作习惯,把一些常用的插件给集成到一个软件里,比如常用的JDK,Tomcat等插件,直接安装Eclipse就可以使用,不需要另外的安装其他的插件,会让使用过MyEclipse的人员用起来很顺手,操作也比较简单。在公司里进行开发也有很多程序员用的都是Eclipse作为开发工具,有效的提升开发效率。可以同时开发许多项目,不同的项目可以选择不同的工作空间,每个独立的工作空间都可以进行单独的配置,可以对Tomcat端口进行修改,也可以在同一个Tomcat里面启动很多个网站项目,在操作方面更加便捷。

第三章 系统分析

一般来说,开发系统不是一拍脑袋就解决的事情,需要有个严谨的分析,并且逐条实现的过程,而系统分析只是系统开发的前奏而已,后续还会有相关的系统实现,系统设计等。

3.1可行性分析

系统是否可以正常实现操作流程,实现操作目的,符合操作流程,这些都可以提前进行分析论证。提前进行分析在开发之前是很重要的,并且进行书面记载,有助于开发流程的缜密性。

3.1.1运行可行性分析

开发疫苗发布和接种预约系统必然是有运行条件的,开发条件和运行条件都可以进行分析。首先从运行角度上讲,只是作为一个疫苗发布和接种预约系统的运行环境,不是超大型商业项目,只是运行一个毕业设计,数据量有限,并发条件有限,所以用常规的内存大于4G,CPU双核以上,基本上就能满足运行的硬件需要,硬盘的话常规的大于60G的即可。

3.1.2技术可行性分析

一切可以实现B/S模式的技术很多,而正好在学校就学习了相关的开发技术,采用已经有基础的学习来进行扩展更丰富的功能,从技术上面是不需要太多的重复性投入,可以更快的进行开发,技术可行。

3.1.3经济可行性分析

经济主要考虑投入与获利之间的比例问题,疫苗发布和接种预约系统开发投入只需要现有的,不必要另外购买的电脑就可以进行使用,一切开放性所用到的工具和资料都可以在图书馆以及互联网上面得到相应的免费资讯,这些都决定了经济上面的投入是不需要太多的。项目功能属于常规功能,没有多并发超用户同时访问的需求,所以也不需要考虑太多的资金投入,所以经济可行。

通过各个方面的研究分析,确定了开发之前这些可行性分析是很有必要的,增加了开发的信心,提高了开发效率,让开发的流程更加的具体化。

3.2系统流程分析

本项目在处理数据方面,必须规定其流程,要让每个步骤都要符合设定预期。注册的结果可以说只有两种结果,一个是成功,一个是失败,成功就会把注册时候输入的数据写入到数据库表里存储,如果失败则提示提示失败,并且不写入数据库。因为两种结果,所以要对数据的合法性进行判断,而数据的合法性需要对每条信息进行判断,主要对哪条信息判断,这些都要有流程。

图3.1用户注册流程图

登录是所有系统必不可少的功能之一。虽然不起眼,但是却是一件不可缺少的事情,登录的作用主要代表着当前操作用户是某人,当然,登录的时候是需要输入账号和密码的,都正确才可以登录,登录的时候会对输入的信息进行判断的。

图3.2 用户登录流程图

数据的添加是一件比较严肃的事情,必须判断正确与否,不然随意的添加可能会导致数据库设定与实际数据输入要求不一致,导致数据丢失的问题,所以必须根据数据设定要求,在输入数据的时候就进行判断输入信息是否合法。

图3.3 信息添加流程图

3.3 系统性能分析

在软件开发的环节,有一个很重要的步骤,那就是关于性能需求分析的环节。如果不对软件的性能需求进行分析和预估,那么后果是很严重的。比如国内的12306,如果只是一个用户登录注册,查票购票退票,那么很容易开发出来,但是同时几百万人次的不同操作,如果没有对这个需求的提前分析预估,还是按照十个八个的并发操作进行软件开发,那肯定是上线就崩溃直接就下线的结果。所以说性能需求是很重要的一个环节。一般系统需求从下面几个角度同时考虑。

3.3.1系统的安全性

一个系统是否安全,不仅仅只是考虑用户的密码是否经过了加密,也更需要考虑数据存储的安全性,比如可以把数据库专门放到一个局域网里的服务器,让主服务器代码远程连接数据库,因为代码服务器与数据服务器的物理分离,如果代码服务器被破解,起码用户数据还有机会保存。

3.3.2系统易维护性

系统长时间运营,肯定需要进行维护。那么维护所需要带来的是性能的提升还是并发数量的提升,这些都是需要考虑的,系统不仅仅要容易维护,数据容易迁移备份,还要符合其他特性。

3.3.3系统可扩展性

系统的功能不可能一成不变的,随时可能会加一些其他的模块,比如有些商场用户积分的问题,这些开始都没有这项设定,后续想加的功能,那么就需要在不改变其原来的功能的前提下,对积分相关模块进行升级,这些就是系统设计之初需要考虑的问题,尽量开发模块化。

综上所述,性能需求必须在符合业务逻辑之外,考虑是否会出现其他的各种情况的一种分析,还必须能解决可能会出现的问题的一种需求分析。所以说,系统的性能需求分析是必不可少的一个环节。

3.4系统功能分析

系统功能主要针对主要模块功能进行分析,暂时不考虑非典型性的问题,只要能满足正确操作流程即可。

疫苗发布和接种预约系统设置的角色有管理员,医生,用户等。

(1)管理员

管理员对公告信息,医院信息,疫苗信息,医生信息,用户信息,论坛帖子信息以及预约接种信息等信息进行管理。对管理员的功能进行分析之后,将使用图3.4的管理员用例图来描述管理员的功能。

图3.4 管理员用例图

(2)医生

医生需要审核用户提交的预约接种信息,查看医院信息,公告信息以及疫苗信息。对医生的功能进行分析之后,将使用图3.5的医生用例图来描述医生的功能。

图3.5 医生用例图

(3)用户

用户查看疫苗信息,查看医院信息,提交预约接种信息,查看公告等。对用户的功能进行分析之后,将使用图3.6的用户用例图来描述用户的功能。

图3.6 用户用例图

第四章 系统设计

不管是好用还是不好用的系统,在如今的互联网时代都会被广而告之,但是能留存下来的,必然是好用的,并且好看的系统,不好用并且不好看的系统用户会逐渐抛弃的。所以,开发的系统必须是有主题的,要打开系统就明白这个系统主要的作用和功能,所以设计这方面需要下苦功夫的。

4.1界面设计原则

一般都是图片,文字以及各种输入框和按钮等组成的界面,每个界面的内容都大不相同,如何设计成页面的统一,操作的统一,这是下面需要讨论的问题。

第一点:界面设计必须符合人体工程学。人体工程学是一门入微级别的学问,主要考虑人类在各种工作状态下如何提高生产效率。所以说,界面设计的首要目的,就是为了提升效率。

第二点:有效导航是必须的。导航的目的,就是帮助操作人员的记忆能力,提高操作效率而生的,所以导航一定要设置的符合模块的功能,让用户一看到导航就会知道是哪个模块,需要哪些操作,这些步骤是必不可少的,如果把所有功能放到一个页面呈现平面化布局,肯定不合适,所以合适的导航能够帮助工作。

第三点:界面设计的统一性。统一性不是说背景图片是同一个图片或者背景是同一个色系,而是说让操作系统统一。比如导航就统一用树状结构,有模块有层次,理解容易。多项搜索如果一行放不下,就收起,可以选择多项也可以模糊查询,这些都要符合人类正常认知才可以。

所以说,系统设计的核心就是界面设计,主要的业务处理逻辑只要能处理,需要下大力气的还是页面设计。

4.2功能模块设计

本小节运用功能结构图来描述管理员具备的详细的功能,对管理员的功能结构图绘制结果如图4.1所示。管理员对公告信息,医院信息,疫苗信息,医生信息,用户信息,论坛帖子信息以及预约接种信息等信息进行管理。

图4.1 管理员功能结构图

本小节运用功能结构图来描述医生具备的详细的功能,对医生的功能结构图绘制结果如图4.2所示。医生需要审核用户提交的预约接种信息,查看医院信息,公告信息以及疫苗信息。

图4.2 医生功能结构图

本小节运用功能结构图来描述用户具备的详细的功能,对用户的功能结构图绘制结果如图4.3所示。用户查看疫苗信息,查看医院信息,提交预约接种信息,查看公告等。

图4.3 用户功能结构图

4.3数据库设计

在系统后台选择数据库的时候,首先第一条就是要满足使用需要,只要满足使用需要,再对数据库的使用友好度和性能上进行分析。选择当前分布最广发的关系型数据库是完全能满足需要的,并且在数据的设计上也有完美的设计顺序,最重要的是符合人们的直观要求。

4.3.1数据库E-R图

下面主要是描述E-R图模型的。对于用户的需求,要具体化,比如有个角色需要有登录,那么最基本的设定必须有账号和密码,那么像姓名,性别其他的对象关系,其实是有从属关系的,通过这样具体化分析,可以得到数据的格式要求,并且能得到数据之间的直接关系。然后可以通过专业的Visio工具来进行E-R图的创建,遵守约定的E-R图表达方式,就可以对数据进行图标形式的描述,并且之间的关系更容易理解。

(1)图4.4即为疫苗这个实体所拥有的属性值。

图4.4 疫苗实体属性图

(2)图4.5即为预约接种这个实体所拥有的属性值。

图4.5 预约接种实体属性图

(3)图4.6即为用户这个实体所拥有的属性值。

图4.6 用户实体属性图

  1. 图4.7即为医生这个实体所拥有的属性值。

图4.7 医生实体属性图

(5)图4.8即为上面介绍的实体中存在的联系。

图4.8 实体间关系E-R图

4.3.2 数据库表结构

在程序开发的过程中,系统设计里面包含有数据库的设计,一般都在功能设计的后面进行数据设计,为什么有这样的顺序呢?那是有原因的。数据库设计不能凭空想象,必须符合数据的定义,而数据只是在使用过程之中产生,其实并没有具体化的表现,所以要把数据进行结构的整理,字段的规划。比如用户账号可能是中文或者英文,以及数字形式存在,更或者可能包含一些符号,那么账号字段的设计就只能是文本形式存在,不能是数据形式或者是时间形式存在,以此类推,数据表结构的设计就是在对系统的具体实现数据进行描述规划的一种行为。所以在这个环节尤其要注意,否则可能使用过程中会发现很多不可预料的问题。

对本系统的数据库的要求就是,要严格遵循数据实现原则,符合数据定义范式。对每个表都要进行具体分析,并且表之间的关系更应该有逻辑性,如果违反前面的要求,那么数据很有可能出现问题,所以要把数据之间的关系用E-R图形式画出来,这样理解起来更直观,更不容易出错,效率也更高。

表4.1 论坛表

字段注释类型
id (主键)主键int(11)
forum_name帖子标题varchar(200)
yonghu_id用户int(11)
yisheng_id医生int(11)
users_id管理员int(11)
forum_content发布内容text
super_ids父idint(11)
forum_state_types帖子状态int(11)
insert_time发帖时间timestamp
update_time修改时间timestamp
create_time创建时间timestamp

表4.2 公告信息表

字段注释类型
id (主键)主键int(11)
news_name公告标题varchar(200)
news_types公告类型int(11)
news_photo公告图片varchar(200)
insert_time公告时间timestamp
news_content公告详情text
create_time创建时间timestamp

表4.3 管理员表

字段注释类型
id (主键)主键bigint(20)
username用户名varchar(100)
password密码varchar(100)
role角色varchar(100)
addtime新增时间timestamp

表4.4 疫苗信息表

字段注释类型
id (主键)主键int(11)
yimiao_name疫苗标题varchar(200)
yimiao_types疫苗类型int(11)
yimiao_photo疫苗图片varchar(200)
yiyuan_id医院信息int(11)
yimiao_clicknum点击次数int(11)
insert_time发布日期date
yimiao_content疫苗详情text
create_time创建时间timestamp

表4.5 医生表

字段注释类型
id (主键)主键int(11)
username账户varchar(200)
password密码varchar(200)
yisheng_name医生姓名varchar(200)
yisheng_photo头像varchar(255)
sex_types性别int(11)
yisheng_phone联系方式varchar(200)
yisheng_email邮箱varchar(200)
yisheng_delete假删int(11)
create_time创建时间timestamp

表4.6 医院信息表

字段注释类型
id (主键)主键int(11)
yiyuan_name医院名称varchar(200)
yiyuan_types医院类型int(11)
yiyuan_photo医院图片varchar(200)
yiyuan_address医院地址varchar(200)
yiyuan_content医院详情text
create_time创建时间timestamp

表4.7 用户表

字段注释类型
id (主键)主键int(11)
username账户varchar(200)
password密码varchar(200)
yonghu_name用户姓名varchar(200)
yonghu_photo头像varchar(255)
sex_types性别int(11)
yonghu_phone联系方式varchar(200)
yonghu_id_number用户身份证号varchar(200)
yonghu_email邮箱varchar(200)
yonghu_delete假删int(11)
create_time创建时间timestamp

表4.8 预约接种表

字段注释类型
id (主键)主键int(11)
yonghu_id用户int(11)
yimiao_id疫苗int(11)
yuyuejiezong_time预约日期date
yuyuejiezong_text预约备注text
yuyuejiezong_yesno_types预约审核int(11)
yuyuejiezong_yesno_text审核原因text
create_time创建时间timestamp

第五章 系统实现

程序开发人员对功能具体实现后,都要描述自己编写的功能实现,一般都通过文字描述功能,实现用图片截图的形式出现,通过这样的设定,可以让更多得人明白系统的实现结果,达到更容易理解程序操作的目的。

5.1 管理员功能实现

5.1.1 疫苗信息管理

管理员点击导航栏的疫苗信息管理链接就进入疫苗信息管理界面。疫苗信息管理界面如图5.1所示。本功能允许管理员对疫苗信息进行修改,包括修改疫苗图片,疫苗标题等信息,删除疫苗信息等。

图5.1 疫苗信息管理界面

5.1.2 医院信息管理

管理员点击导航栏的医院信息管理链接就进入医院信息管理界面。医院信息管理界面如图5.2所示。本功能允许管理员修改医院图片,医院地址等信息,删除需要删除的医院信息等。

图5.2 医院信息管理界面

5.1.3 医生管理

管理员点击导航栏的医生管理链接就进入医生管理界面。医生管理界面如图5.3所示。本功能允许管理员修改医生头像,修改医生姓名等信息,删除需要删除的医生信息。

图5.3 医生管理界面

5.2 医生功能实现

5.2.1 预约接种管理

医生点击导航栏的预约接种管理链接就进入预约接种管理界面。预约接种管理界面如图5.4所示。医生需要对预约接种信息进行查看,然后审核预约接种信息。

图5.4 预约接种管理界面

5.2.2 疫苗信息查看

医生点击导航栏的疫苗信息查看链接就进入疫苗信息查看界面。疫苗信息查看界面如图5.5所示。本功能允许医生查询疫苗信息,查看疫苗类型,医院地址,疫苗图片等信息。

图5.5 疫苗信息查看界面

5.2.3 医院信息查看

医生点击导航栏的医院信息查看链接就进入医院信息查看界面。医院信息查看界面如图5.6所示。本功能允许医生查询医院信息,查看医院地址,医院图片等信息。

图5.6 医院信息查看界面

5.3 用户功能实现

5.3.1 在线论坛

用户点击导航栏的在线论坛链接就进入在线论坛界面。在线论坛界面如图5.7所示。本功能允许用户查看所有帖子,并可以对已查看的帖子发布评论。

图5.7 在线论坛界面

5.3.2 疫苗信息

用户点击导航栏的疫苗信息链接就进入疫苗信息界面。疫苗信息界面如图5.8所示。本功能允许用户对系统推荐的疫苗信息进行查看,以及对疫苗进行预约接种。

图5.8 疫苗信息界面

5.3.3 医院信息

用户点击导航栏的医院信息链接就进入医院信息界面。医院信息界面如图5.9所示。本功能允许用户查看系统推荐的医院信息,查看医院介绍信息,查看医院地址信息等。

图5.9 医院信息界面

第六章 系统测试

一个系统不可能只有几个页面就叫做系统,系统的意思就是有好多不同的功能模块的集合才叫做系统。系统包含很多子模块,每个模块与模块之间都有不同的联系,系统测试就是先测试每个模块的功能,符合了之后再测试模块与模块之间的功能,都测试合格还需要验收。测试流程,测试步骤,测试数据,只要是测试的过程,都要有详细的记录。有记录的测试,叫科学测试,如果胡乱测试,那么可能会漏掉一些关键性的问题所在。所以为了提高程序的质量,在测试这个环节就要下很大的心思,测试的越好,系统的修复性越好,才能让用户产生更大的满意。

6.1 测试方案

测试方案主要分两个方向,一个是黑盒测试,一个是白盒测试,这两个测试方向是目前最通用的测试方案。测试过程中,要对各个模块实现有个预期,在符合用户的要求上,要对一些字段还有逻辑进行测试,需要不断输入各种各样类型的数据来进行测试,看是否会有内存漏出,指针异常,或者是逻辑问题。

白盒测试:白盒主要是进行逻辑测试的,测试是属于透明形式的测试。白盒测试要求对各种逻辑以及各种判断,每种判断都要进行一次测试,判断实现效果。白盒测试可以说就是把代码能实现的不能实现的语句都进行判断,只要进行过白盒测试,甚至能定位到哪些判断有问题,或者说某个方法就有问题,只要白盒测试过关的,那说明代码功能基本上没有什么大的问题,符合功能开发的很不错。

黑盒测试:黑盒是不管代码是怎么编写的,只测试功能接口问题。黑盒测试一般不让用户测试的,因为主要围绕着安全性或者恢复性测试,包括负载均衡方面,这些需要大量的数据进行冲击,用户是没有这方面的技术的。所以一般需要负责专业的测试人员进行测试,专业的测试人员经过专门的测试方面培训,懂得黑盒测试的测试要领,所以先经过白盒测试功能问题,然后再经过黑盒测试进行运行问题,基本上就满足了测试任务。

本章节主要就是对系统的测试来设置对应的测试操作,从模块功能测试到最后的验收测试。

模块测试:在模块测试一般都是程序员开发过程中,有的自己写属于自己模块的测试用例,一般以达到效果为主,每个模块都是一个单元,这样来区分单元测试的过程,如果不进行单元测试会出现大问题的,会出现各个环节不知道数据的执行流程,方法跳转,以及更重要的异常抛出,这些可能都会忽略,所以要进行模块测试。

模块测试一般有几个需要注意:

第一个问题:路径问题,路径是绝对路径还是相对路径,因为程序代码很多,所以这些肯定要进行测试的,不然会出现异常。

第二个问题:接口问题。接口的命名方式,会不会与技术自带的接口混淆,会不会接口重复,这些都是需要测试的。

第三个问题:数据结构。数据库的数据结构在代码里,是否编写过程中达到了预期,有些地方该是包装类型的还是数据类型的,这些都要测试。

第四个问题:异常处理。每个环节可能会出现的问题,都要定义异常抛出,并且尽量写好异常处理原因,只要抛出指定异常信息,才会达到测试目的。

第五个问题:边界问题。边界问题一般指的的数据大小以及正负数的问题,这些该测试还要测试的,不测试不符合操作流程。

总而言之,模块测试是测试的第一个环节,是不可少的,也是出现问题最多的领域。

集成测试:模块测试完毕才可以集成测试,集成测试主要是对各个模块之间的逻辑进行测试,只要是相关联的模块,都要测试一遍,需要找到模块关联是否能达到正常开发预期。

集成测试主要采用渐增式测试,好处有以下几点:

第一点:渐进式可以更彻底的对逻辑所有功能进行测试,是很彻底的。

第二点:渐进式相当节约时间,节约时间就是节约成本。

第三点:可以更快速的定位错误位置,有助于问题反馈。

用渐进式测试软件功能,用到的混合法。混合法是有顺序的,自上而下测试和自下而上测试,对程序的上下层混合测试,就是测试里面的集成测试方法。

验收测试:验收一般是甲方派人来负责程序的验收测试,派来的人员可能计算机水平层次不齐,也更适合对程序问题提出异议,因为计算机开发的哪怕在行业内最厉害的,也不一定能满足甲方的需求,毕竟开发者认为合理的必须有局外人来进行判断,而甲方派人测试则是代表着对程序的直观认知,前面的所有测试,只是验收测试前的测试,验收测试决定着程序是最终问题。

6.2 系统测试用例

测试主要是实际操作程序功能与设计程序功能是否一致,检验编程效果的一种方法。

6.2.1 登录功能测试

作为疫苗发布和接种预约系统,登录是首要功能,后面不管是任何功能,都必须在登录成功后才可以进行操作,所以登录必须进行测试。

表6.1 登录功能测试表

测试数据实际数据预期情况最终情况
把用户表里面的任意一个账号,还有配套密码进行录入账号:abo 密码:abo成功登录成功登录
不使用用户表的账号,还有密码账号:uuu 密码:uuu提示错误的账号或密码登录失败
把用户表的任意一个账号进行输入,并随意编写一个密码,该密码不是该表账号对应的密码账号:abo 密码:uuu提示错误的账号或密码登录失败
不输入用户表的账号,而是账号随意编写,但是密码却是用户表的密码账号:uuu 密码:abo提示错误的账号或密码登录失败

6.2.2 注册功能测试

注册功能也是大部分应用程序需要做的功能,一般注册功能设定必须是账号唯一,这样能保证用户的安全,用一个与别人不一样的用户名,这样坏人不容易猜到,所以注册时候提交的用户名如果已经存在肯定是不让注册的,只有唯一的账号才可以注册,而这些都要有反馈提示。

表6.2 注册功能测试表

测试数据实际数据预期情况最终情况
把用户表的其中一个账号进行登记账号:abo账号已存在,请重新输入注册失败
登记用户表里面不存在的账号账号:yh1可以注册注册成功

6.3 测试的结果

在疫苗发布和接种预约系统的测试过程中,优化了系统的功能导航,以及操作流程,并且对运行环境测试,发现市场上主流的电脑都可以使用,并且操作简单,使用方便,功能完善。通过所有测试的结果就是本设计合格。

结 论

疫苗发布和接种预约系统的开发不是一帆风顺的,虽然严格按照一定的开发流程来进行疫苗发布和接种预约系统的开发,但是中间出现了很多突发情况。当题目选择之后,就开始查找资料,也不知道是查找方式问题还是阅历问题,感觉资料查的都是相关资料,但是当查到资料后看的一头雾水,好多都是与疫苗发布和接种预约系统开发不相关的,像浪里淘沙一样过滤了很多无用的东西才收集到一点点对自己可用的。当定下功能功能的时候,又开始对功能进行分析,反复的判断功能直接的关系,是否存在逻辑问题。数据库的设计也是一大问题,也许是开发经验不足,当数据库设计好后,编码到一半发现考虑问题不够重复,编码实现太复杂,需要在对数据库表重新设计,返工很多遍。在开发过程中,看到同伴们在努力的开发自己也埋头苦干,最终实现了疫苗发布和接种预约系统。

本次使用Java技术开发的疫苗发布和接种预约系统,就是运用计算机来管理疫苗接种预约信息,该系统是可以实现论坛管理,公告信息管理,疫苗信息管理,医生管理,医院信息管理,用户管理,预约接种管理等功能。符合设计预期。

经过整体的开发了解,发现了疫苗发布和接种预约系统的不足之处,首先第一点就是开发人少,时间短,属于练手项目,所以很多实际生活中可能遇到的问题并没有考虑到位,比如数据的冗余,大数据并发等,这些都是没有考虑的,在以后的日子里将会对技术方面精益求精,不断修复疫苗发布和接种预约系统,让疫苗发布和接种预约系统更强壮。

参考文献

[1]华伟,杨菲,韩斌.多平台疫苗查询管理和疫苗知识推广系统的开发与应用[J].电子技术与软件工程,2018,(19):73-74.

[2]许慧琳,张莉萍,余峰,王晶.上海市闵行区预防接种网上预约服务系统概述[J].中国初级卫生保健,2012,26(08):67-68.

[3]闫嵩.新时期计算机软件开发中Java语言的应用[J].计算机产品与流通,2019(11):18.

[4]张金波.Java编程中常见的异常及其解决方案[J].计算机产品与流通,2019(12):29.

[5]彭影.优化Java数据库访问效率的策略研究[J].计算机产品与流通,2020(02):21.

[6]赵昕.软件工程思想在JAVA程序设计教学中的应用[J].计算机产品与流通,2020(02):201.

[7]赵荣彪.JDK1.8新特性与编程性能[J].信息技术与信息化,2021,(05):145-146+150.

[8]陈永青.浅析JDK1.7中的Fork/Join框架[J].中国新通信,2016,18(19):94-95.

[9]唐大仕.引入JDK源码学习的Java程序设计实践教学[J].计算机教育,2015,(07):40-42.

[10]李金萍,程满玲.Eclipse的应用发展[J].电脑编程技巧与维护,2016(16):31-32+58.

[11]黄雅琼.数据库设计在网站开发中的应用[J].科技风,2018(11):44.

[12]王会芳,武变霞.Web数据库软件开发中的自主适应设计[J].电子测试,2018(17):82-83.

[13]张赟.计算机软件开发的数据库测试技术[J].电子技术与软件工程,2020(17):150-151.

[14]Xuan Yin,Wei Zheng,Ming Zhang,Jing Zhang,G.Zhuang,T.Ding.A modularized operator interface framework for Tokamak based on MVC design pattern[J].Fusion Engineering and Design,2018.

[15]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea.Efficient runtime aspect weaving for Java applications[J].Information and Software Technology,2018,100.

致 谢

疫苗发布和接种预约系统的完成,经过测试发现符合设计预期的时候,心里感觉压着的石头去掉了,身心愉悦,半年时间一晃就过去,感觉时间过得飞快。突然想到这就要毕业了,毕业设计也完成了,有点惶恐,这里有我尊敬的老师,亲爱的同学们,在学校里真的很感激有他们的陪伴,这几年的校园生活才不至于孤单。

首先感谢我的学校,让我有学习的地方,有吃饭的地方,有住宿的地方,在学校里可以静下心来专心学习。

其次感谢我的导师,导师的作用在于指导,是与我们的其他老师有区别的,其他老师都是教给我们知识,让我们在知识的海洋里遨游,而我们的导师是我在知识海洋里的灯塔,照亮我前进的道路,让我理解如何用自己学校的知识武装自己的头脑,如何把这些知识融会贯通,实现真正的有用,可以看得见摸得着的作品,没有我的导师,就没有我现在的这个作品的出现,所以相当感谢我的导师。

再次感谢我的同学们,当我学习太累的时候,看到他们依然在努力,我会把想要偷懒的心压下去,他们能,我也能,有他们在,我也去掉了很多偷懒的行为;在我开心的时候,有他们一起分享;在我为设计开发挠头的时候,发现他们也有点挠头,我的心里更加的平静,不会过于急躁,可以静心逐步开发。我相信,他们应该也是这样想我的。大家一起学习,一起努力,一起奋斗,感谢我的同学们。

最后感激我的其他专业授课老师们,虽然与他们的缘分只有课堂上,但是还是感谢有他们的付出,才有我们的收获。

最后,我感谢所有值得感谢的人们,谢谢你们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/380196.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面向对象 多态

目录 多态多态的好处实例创建一个Main 多态 在Java中,多态是面向对象编程的三大基本特性之一,另外两个是封装和继承。多态是指一个接口可以有多种实现方式,或者一个对象可以表现出多种形态。 在Java中,多态主要通过方法重载和重写…

Java面向对象 方法的重写

目录 重写重写的规则实例创建Person类创建Student类测试 重载和重写的区别 重写 发生在子类和父类中,当子类对父类提供的方法不满意的时候,要对父类的方法进行重写。 重写的规则 子类的方法名字和父类必须一致,参数列表(个数&…

【Linux】进程学习(一):基本认识

目录 1.基本概念2.初步理解3.描述进程-PCB3.1task_struct-PCB的一种3.2task_ struct内容分类 4.组织进程5.查看进程5.1通过ps指令查看5.2通过系统目录查看 6.通过系统调用获取进程的PID和PPID7.通过系统调用创建进程-fork初识 1.基本概念 课本概念:程序的一个执行实…

【跳槽须知】关于企业所签订的竞业协议你知道多少?

年后跳槽须知自己签订的合同中是否存在竞业协议,谨防协议造成经济损失 🐓 什么是竞业协议 竞业协议时用于保护自己的权益,在员工离职时决定是否启动的一种协议,避免一些掌握公司机密的一些重要岗位人才流入竞争对手的公司&#xf…

C++ 位图布隆过滤器哈希切割

文章目录 位图概念模拟实现海量数据面试题1 布隆过滤器模拟实现应用场景海量数据面试题2 哈希切割海量数据面试题3 位图 概念 我们用一道题引出此概念: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这…

算法---回溯(正文)

1.什么是回溯? 回溯算法的定义就是和暴力枚举一样枚举所有可能并加撤回,也能和暴力一样去掉一些重复(在之前就被筛出,但还要枚举这个,我们可以跳过这个了---------这个就是回溯剪枝)。但为什么回溯不是暴力…

多线程基础详解(看到就是赚到)

🎥 个人主页:Dikz12📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 创建线程 1.创建类继承Thread,重写run() 2.实现Runnable,重写run() 3.继承Thread,使用匿名内部类 …

版本控制工具——Git

版本控制工具——Git 前言一、版本库二、git的工作区域和文件状态三、添加和提交文件四、回退版本:git reset --模式 版本号五、查看差异:git diff六、从版本库中删除文件七、.gitignore:git中的特殊文件八、Git、GitHub跟Sourcetree的关系九…

基于 Python 的漏洞扫描系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

【Python】使用 requirements.txt 与 pytorch 相关配置

【Python】使用 requirements.txt 与 pytorch 相关配置 前言一、pip1、导出结果含有路径2、导出不带路径的 二、Conda1、导出requirements.txt2、导出yml 文件 三、第三方包:pipreqs(推荐)1、创建并激活conda环境2、安装requirements文件的pi…

金融信贷风控评分卡模型

评分卡模型概念 评分模型是根据借款人的历史数据,选取不同维度的数据类型,通过计算而得出的对借款人信用情况打分的模型。不同等级的信用分数代表了借款人信用情况的好坏,以此来分析借款人按时还款的可能性。 评分卡模型分类 A卡&#xff…

揭开Markdown的秘籍:标题|文字样式|列表

🌈个人主页:聆风吟 🔥系列专栏:Markdown指南、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️Markdown 标题二. ⛳️Markdown 文字样式2.1 🔔斜体2.2 &…

Netty连接通道中的Channel参数模型

ChannelOption(Channel中的连接参数) ChannelOption.SOBACKLOG ChannelOption.SO_BACKLOG对应的是tcp/ip协议listen函数中的backlog参数,服务端处理客户端连接请求是顺序处理的,所以同一时间只能处理一个客户端连接,多个客户端来的时候&…

代理与Reflect反射

属性描述符 Proprety Descriptor 属性描述符 用于描述一个属性的相关信息 1.Object.getOwnPropertyDescriptor(对象,属性名) 可以得到一个对象的 某个属性的属性描述符 Object.getOwnPropertyDescriptors(对象) 可以得到某个对象的所有属性描述符 如果需要为某个…

node.js基础-02

Author nodes:(题记) Hypertest Transfer protocol is very important to programming personnel。it doesnt matter if youre a front-end engineer or a back-end engineer.So,lets study it together. http协议对于编程工程师很重要&am…

基于华为云欧拉操作系统(HCE OS)单节点容器化部署(Prometheus、node-exporter、Grafana)应用性能监控平台

写在前面 博文内容为 华为云欧拉操作系统入门级开发者认证(HCCDA – Huawei Cloud EulerOS)实验笔记整理认证地址:https://edu.huaweicloud.com/certificationindex/developer/9bf91efb086a448ab4331a2f53a4d3a1内容涉及,HCE OS 容器化部署(Prometheus、…

【C++修行之道】(引用、函数提高)

目录 一、引用 1.1引用的基本使用 1.2 引用注意事项 1.3 引用做函数参数 1.4 引用做函数返回值 1.5 引用的本质 1.6 常量引用 1.7引用和指针的区别 二、函数提高 2.1 函数默认参数 2.2函数占位参数 2.3 函数重载 2.4函数重载注意事项 一、引用 1.1引用的基本使用 …

【canvas】获取鼠标点击位置坐标的颜色信息

在项目当中,要实现某业务需求例如PS魔棒功能时,则需要获取点击坐标的颜色信息。 功能不复杂,代码也很少,一看便知~~ 核心API为getImageData,传入4个参数,前2个为点击坐标xy,后2个都传1&#xf…

那些 C语言指针 你不知道的小秘密 (3)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能…

vscode连接ssh报错

关于vscode更新版本至1.86后,导致无法连接服务器问题的记录 原因:vscode1.86更新了对glibc的要求,需要最低2.28版本,导致各种旧版本的linux发行版(比如最常见的centos 7)都无法用remote-ssh来连接了&#…
最新文章