【计算机毕业设计】067中小型医院网站

🙊作者简介:多年一线开发工作经验,分享技术代码帮助学生学习,独立完成自己的网站项目。

  1. 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
  2. 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
  3. 赠送开题报告模板,帮助书写开题报告。

作者完整代码目录供你选择:

  1. 《Springboot网站项目》400套
  2. 《ssm网站项目》800套
  3. 《小程序项目》300套
  4. 《App项目》500套
  5. 《Python网站项目》600套

⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

项目展示

  要

本基于Spring Boot的中小型医院网站设计目标是实现用户网络预约挂号的功能同时提高医院管理效率,更好的为广大用户服务

本文重点阐述了中小型医院网站的开发过程,以实际运用为开发背景,基于Spring Boot框架,运用了Java技术和MYSQL数据库进行开发设计,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了预约挂号管理、医师开药管理、药库信息管理、用户取药管理以及缴费清单管理等重要功能。

本基于Spring Boot的中小型医院网站运行效果稳定,操作方便、快捷,界面友好,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的医院网站

关键字:医院网站;Java技术;MYSQL 数据库;Spring Boot框架

1 绪论

1.1研究背景

随着计算机技术的成熟、普及,现代信息技术革命的迅猛发展,正冲击并进而改变着经济和社会结构。信息化的程度已经成为一个国家,一个企业,一个组织仍至一个人发展的基础和竞争成败的关键。

在实际的生活中,用户都是去医院进行就诊预约挂号,费事费力,效率低下,因此,针对用户对网上预约挂号的高需求,特开发了本基于Spring Boot的中小型医院网站。在互联网的迅速发展下,局域网的普及,为建立中小型医院网站的设计与实现提供了基础条件。中小型医院网站有着无法比拟的优点,网络共享、传播速度快的特点,用户可以随时随地进行预约挂号,取药等,同时医师可及时查看用户挂号预约信息,并可进行开药等,管理员通过计算机后台可对系统相关信息进行管理,大大提高管理的效率,更好的为广大用户服务。

1.2设计原则

在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:

(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。

(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。

(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。

(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。

(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。

1.3研究内容

根据基于Spring Boot的中小型医院网站编写的论文主要阐述了基于Spring Boot的中小型医院网站的开发过程中使用的技术,系统开发前进行的需求分析,根据需求文档进行系统设计,最后才是系统功能实现以及测试几个部分,在开始编写论文之前亲自到图书馆借阅Java书籍,MYSQL数据库书籍等编程书籍,然后针对开发的基于Spring Boot的中小型医院网站,去网上查找了很多别人做好的系统,根据他们的功能设计进行自己的系统的系统功能结构设计,出具需求报告,根据形成的需求报告完成系统各个功能模块设计,最后才是进行程序编码,系统完成后才能进行测试和最后的验收工作,程序开发流程大致如此。

这次编写的论文包含了6个部分的内容,具体内容如下:

第一部分绪论:文章主要从课题背景以及设计原则综合阐述了开发此系统的必要性。

第二部分相关技术:系统开发用到的各种技术都大致做出了简介

第三部分系统分析:从可行性分析和功能需求分析等角度综合研究了此次开发的系统

第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示

第五部分系统实现:进行系统主要功能模块的界面展示

第六部分系统测试:检验程序是否达到预期目标

2 相关技术简介

2.1 Java技术

Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

2.2 B/S结构

此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。

相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。

图2-1  B/S模式三层结构图

2.3 MYSQL数据库

所谓数据库,实际上就是一个容器,按照数据结构来组织、存储和管理。数据库的作用就是为大量的信息进行管理并提供高效的解决方案。

MySQL是典型的关系数据库系统,拥有开源免费、稳定、高效等特点,一直是中小型web项目的最佳数据库选择。MySQL作为当今IT领域使用人数最多的开源关系型数据库软件之一,在2018年的数据库使用率排名中位居第二,仅次于目前为止最成功的商业版数据库Orcle。MySQL最大的优势之一就是无偿使用,这也是它成功的关键。

MySQL支持标准化数据库查询语言SQL。MySQL是一款非常适合个人开发者或小型组织开发团体的数据库管理系统,因为它是开源并且免费的,体积小、速度快、成本低以及其最重要的一点开放源码,深受程序设计人员的喜爱,这也让它成为了许许多多中小型开发网站数据库的首选,同时提供了多种开发的连接API。MySQL将数据的存放按照记录之间的关系存放到了不同的表中,减少了数据的冗余并且提高了开发的工作效率。MySQL支持开发中需要用的大型数据库,并能处理数以万计的记录。因为MySQL是开源的软件,所以在项目的预算中的时候不用花费额外的资金,大大降低了开发的总体成本,这也是MySQL数据库在中小型企业和独立的开发者中广泛流行的原因。

2.4 Spring Boot框架

Spring Boot是一个简化程序设置的拥有开箱即用的框架,它主要的优点是根据程序员不同的设置而生成不同的代码配置文件,这样开发人员就不用每个项目都配置相同的文件,从而减低了开发人员对于传统配置文件的时间,提高了开发效率。它内嵌Tomcat服务器,简化了Maven的配置,自动配置Spring,通过这样的框架,开发人员就不用头疼各种配置文件,可以减少时间,同时提高了代码的整体性,使开发人员工作效率大大提高。

3 系统分析

3.1 可行性分析

通过对本基于Spring Boot的中小型医院网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、操作可行性、经济可行性和时间可行性四方面进行分析。

3.1.1 技术可行性

本基于Spring Boot的中小型医院网站采用Java和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。

3.1.2 操作可行性

本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。

3.1.3 经济可行性

由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。

3.1.4 法律可行性

开发的基于Spring Boot的中小型医院网站使用的软件和用到的资料来源都是图书馆、百度文库、百度网页等渠道,并不涉及违法。在个人毕业设计上面,无论源代码还是论文编写内容不存在抄袭行为。

综上所述,基于Spring Boot的中小型医院网站在技术、经济、操作和法律上都具有很高的可行性,开发此程序是很必要的。

3.2 系统性能分析

(1)系统的存储性:因为是中小型医院网站,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。

(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。

(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。

(4)系统稳定性:开发的基于Spring Boot的中小型医院网站要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

3.3 角色功能分析

本基于Spring Boot的中小型医院网站主要满足了三类角色用户的功能需求,包括管理员、医师和用户,下面将对这三类角色用户分别的实现的功能进行阐述。

(1)角色:医师

医师注册登录后主要功能模块包括个人中心、预约挂号管理、体检报告管理、医师开药管理以及用户取药管理。医师用例图如图3-1所示。

图3-1 医师用例图

(2)角色:管理员

管理员可登录系统后台对系统进行全面管理操作,管理员主要实现等功能模块包括个人中心、用户管理、医师管理、关于我们管理、科室类型管理、门诊信息管理、药库信息管理、缴费清单管理、药品类型管理以及系统管理。管理员实现了对系统信息的添加、修改和删除的功能。管理员用例图如图3-2所示。

图3-2 管理员用例图

(3)角色:用户

用户在系统前台可查看系统信息,包括首页、门诊信息、药库信息、系统公告等,用户要想实现选择门诊预约挂号功能,就必须登录系统,没有账号的用户可首先进行注册操作,注册登录后主要功能模块包括个人中心、预约挂号管理、体检报告管理、医师开药管理、用户取药管理、缴费清单管理。用户用例图如图3-3所示。

图3-3 用户用例图

3.4 系统结构分析

3.4.1逻辑结构

基于Spring Boot的中小型医院网站的特点就是利用Browser/Server(B/S)结构,为用户提供了一个网络预约挂号的平台,可提高预约挂号效率。

本系统的网络应用原理示意图如图3-4所示:

图3-4系统的网络应用原理示意图

3.4.2物理结构

系统实现的物理结构如图3-5所示:

图3-5 系统实现的物理结构图

3.5 系统流程分析

3.5.1注册流程

未有账号的用户可进行注册操作,用户注册流程图如图3-6所示。

图3-6 注册流程图

3.5.2登录流程

登录模块主要满足了管理员、医师和用户的权限登录,用户登录流程图如图3-7所示。

图3-7 登录流程图

4 系统设计

4.1 系统概要设计

本中小型医院网站采用B/S结构(Browser/Server,浏览器/服务器结构)和JAVA技术,MYSQL数据库存储数据,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1 系统工作原理图

4.2 系统结构设计

在结构设计过程中,首先对系统进行需求分析,然后进行系统初步设计,将系统功能模块细化,具体分析每一个功能模块具体应该首先哪些功能,最后将各个模块进行整合,实现系统结构的最终设计。本基于Spring Boot的中小型医院网站主要实现了用户功能模块、医师功能模块和管理员功能模块三大部分,系统的功能结构设计如图4-2所示。

图4-2系统结构图

4.3 数据库设计

4.3.1数据库实体(E-R图)

E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可以完整地映射出现实模型的关系。E-R图中的三个最为重要的元素就是实体、属性、关系。E-R图即由这三点组成。

实体:E-R图中数据的实体,用矩形表示上面为实体名,下面为实体属性,实体包含主外键等关系。

属性:E-R图中的属性,是指实体的属性,实体由多条属性所构成,属性拥有自己的数据类型,数据大小。属性的优劣决定了E-R图中实体的健全性、完整性。

关系:E-R图中的关系是指实体之间的关系,用菱形来表示实体间的关系,这些菱形关系的联系上有着一对多或多对多的数据联系,这些构成了E-R图的关系,E-R图的关系紧密连接了实体,使实体间的关联性更加的显著、易懂。本基于Spring Boot的中小型医院网站的E-R图如下所示:

1、缴费清单信息实体E-R图如图4-3所示

图4-3 缴费清单实体E-R图

2、预约挂号信息实体E-R图如图4-4所示

图4-4  预约挂号信息实体E-R图

3、医师信息实体E-R图如图4-5所示

图4-5 医师信息实体E-R图

4、管理员信息实体E-R图如图4-6所示

图4-6 管理员信息实体E-R图

5、用户信息实体E-R图如图4-7所示

图4-7 用户信息实体E-R图

5、门诊信息实体E-R图如图4-8所示

图4-8 门诊信息实体E-R图

4.3.2数据库表设计

本基于Spring Boot的中小型医院网站需要后台数据库,本系统采用MYSQL数据库作为数据存储,下面介绍数据库中的各个表的详细信息。

表4-1  jiaofeiqingdan缴费清单信息表

字段名称

字段意义

字段类型

字段长度

是否主键

能否为空

id

编号

bigint

20

addtime

创建时间

timestamp

feiyongbianhao

费用编号

varchar

200

feiyongxiangmu

费用项目

longtext

feiyongjiage

费用价格

int

11

feiyongxiangqing

费用详情

longtext

jianmianjine

减免金额

int

11

jianmianyuanyin

减免原因

longtext

`shifujine

实付金额

varchar

200

zhanghao

账号

varchar

200

xingming

姓名

varchar

200

sfsh

是否审核

varchar

200

`shhf`

审核回复

longtext

`ispay

是否支付

varchar

200

表4-2  yuyueguahao预约挂号信息表

字段名称

字段意义

字段类型

字段长度

是否主键

能否为空

id

编号

bigint

20

addtime

创建时间

timestamp

keshibianhao

科室编号

varchar

200

keshileixing

科室类型

varchar

200

yishixingming

医师姓名

varchar

200

`guahaofei

挂号费

varchar

200

guahaoshijian

挂号时间

datetime

beizhu`

备注

longtext

shouji

手机

varchar

200

zhanghao

账号

varchar

200

sfsh

是否审核

varchar

200

`shhf`

审核回复

longtext

`ispay

是否支付

varchar

200

表4-3  yishi医师信息表

字段名称

字段意义

字段类型

字段长度

是否主键

能否为空

id

编号

bigint

20

addtime

创建时间

timestamp

yishigonghao

医师工号

varchar

200

mima

密码

varchar

200

`yishixingming`

医师姓名

varchar

200

`xingbie

性别

varchar

200

zhicheng`

职称

varchar

200

shouji

手机

varchar

200

`youxiang

邮箱

varchar

200

shenfenzheng

身份证

varchar

200

tupian

图片

varchar

200

表4-4  users`管理员信息表

字段名称

字段意义

字段类型

字段长度

是否主键

能否为空

id

编号

bigint

20

username`

用户名

varchar

100

password

密码

varchar

100

role`

角色

varchar

100

addtime

新增时间

timestamp

表4-5  yonghu用户信息表

字段名称

字段意义

字段类型

字段长度

是否主键

能否为空

id

编号

bigint

20

addtime

创建时间

timestamp

zhanghao

账号

varchar

200

mima

密码

varchar

200

xingming

姓名

varchar

200

xingbie

性别

varchar

200

shouji`

手机

varchar

200

youxiang

邮箱

varchar

200

shenfenzheng

身份证

varchar

200

表4-6  menzhenxinxi门诊信息表

字段名称

字段意义

字段类型

字段长度

是否主键

能否为空

id

编号

bigint

20

addtime

创建时间

timestamp

keshibianhao

科室编号

varchar

200

keshileixing

科室类型

varchar

200

yishixingming

医师姓名

longtext

zhicheng

职称

varchar

200

zhuanyetezhang

专业特长

longtext

guahaofei

挂号费

int

11

xiangqing

详情

longtext

zhibanbiao

值班表

longtext

tupian

图片

varchar

200

5 系统实现

5.1 用户功能模块的实现

用户进入本系统可查看系统信息,包括首页、门诊信息、药库信息以及系统公告信息等,系统前台主界面展示如图5-1所示。

图5-1系统前台主界面图

5.1.1用户登录界面

用户要想实现预约挂号功能,必须登录系统,在登录界面输入正确的登录账号和密码点击登录按钮进行登录,系统会对用户输入的登录信息进行验证,信息正确则登录成功,反之登录失败,用户登录界面展示如图5-2所示。

图5-2 用户登录界面图

5.1.2用户注册界面

没有账号的用户可进行注册操作,用户注册界面展示如图5-3所示。

图5-3 用户注册界面图

5.1.3门诊信息详情界面

用户可选择门诊查看详情信息,登录后可进行预约挂号操作,门诊信息详情界面展示如图5-4所示。

图5-4 门诊信息详情界面图

5.1.4预约挂号界面

用户在预约挂号时需要填写相关数据,预约挂号界面展示如图5-5所示。

图5-5  预约挂号界面图

5.1.5药品详情界面

用户可选择药品查看详情信息,登录后可进行取药操作,药品详情展示如图5-6所示。

图5-6  药品详情界面图

5.1.6体检报告界面

用户可查看个人体检报告信息,体检报告界面展示如图5-7所示。

图5-7 体检报告界面图

5.2 管理员功能模块的实现

5.2.1管理员登录界面

管理员要想进入系统后台对系统进行管理操作,必须登录系统后台,管理员登录界面展示如图5-8所示。

图5-8 管理员登录界面图

5.2.2用户管理界面

管理员可增删改查用户信息,用户管理界面展示如图5-9所示。

图5-9 用户管理界面图

5.2.3医师管理界面

管理员可查看医师信息,并可对其进行修改和删除操作,同时也可添加医师信息,医师管理界面展示如图5-10所示。

图5-10 医师管理界面图

5.2.4科室类型管理界面

管理员可增删改查科室类型信息,科室类型管理界面展示如图5-11所示。

图5-11 科室类型管理界面图

5.2.5门诊信息管理界面

管理员可查看所有门诊信息,并可对其进行修改和删除操作,也可添加门诊信息,门诊信息管理界面展示如图5-12所示。

图5-12 门诊信息管理界面图

5.2.6药库信息管理界面

管理员能够增删改查药库信息,药库信息管理界面展示如图5-13所示。

图5-13  药库信息管理界面图

5.3 医师功能模块的实现

5.3.1预约挂号管理界面

医师登录后可查看用户预约挂号信息,并可对其进审核和查看结果操作,预约挂号管理界面展示如图5-14所示。

图5-14 预约挂号管理界面图

5.3.2体检报告管理界

医师可增删改查体检报告信息,并可进行添加药方信息,体检报告管理界面展示如图5-15所示。

图5-15 体检报告管理界面图

6 系统测试

6.1 测试定义

系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。

测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。所以越早发现问题,更好的将是解决问题的早期阶段,为了避免问题在后续编码,测试和设计,避免扩大国家的问题。在测试系统中,开发人员应该站在客户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和客户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。

6.2 测试方式

总体程序测试的话,通常有两种测试方式,白盒的测试和黑盒的测试。

白盒的测试方式:总的来说就是以程序内部逻辑结构为依据而用来进行设计测试用例的方式

黑盒的测试方式:总的说来黑盒的测试会有这么几个方法方式:同等价值的一个分类方式、对于系统的一个边界数值的一个分析方式、对与错的一个猜想方式、还有最后一种就是图什么样的图,称之为因果图的方式。

整个的系统测试包括了最为重点的两种方式,从而“保障了系统测试的用例完全性和效果性”的一个原则。进行测试总体而言就是要检查功能齐全、是否能够接收信息或输送信息、数据的结构、性能需求是否到位、是否能够正确的初始化和终止。

6.3 测试方案

对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。

构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。

性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。

(1)模块测试

单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。

(2)集成测试:

集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:

软件耗费较少。

可以提前发现端口的错误。

更好的地位系统中错误的位置。

从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。

(3)验收测试:

终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。

其结果是分别是:

有一定的差异在用户的需求。

再者就是结果与之差不了多少。

到了最后了,我们发现的问题都是与用户的需求存在一定的关联。

6.4 测试分析

经过对总体测试分析,本基于Spring Boot的中小型医院网站运行时均能执行其相应功能,均能实现查看、添加、删除、编辑等功能,且运行显示正常,后台数据库也运行良好,数据保证了一致性和稳定性,各个功能模块运行正常达到了预期的开发目标。

总体说来,软件通过测试。

 总结

本次开发的基于Spring Boot的中小型医院网站已经接近尾声阶段了,在这次独立完成毕业设计的期间,我自己体会到了很多的东西,另外我很想说的就是独立开发软件真的很能让人在开发期间得到锻炼,不管是需求分析,还是系统的设计以及系统功能详细实现还有最后的测试工作,每一步都要小心翼翼的完成,一步一步来,不然任何环节出现了差错,返工起来也很麻烦,开发系统过程中,遇到了很多的难题,比如基于Spring Boot的中小型医院网站需要具有什么样的功能,这个我还是思考了很久,后来同学给我提示了一下,参考别人做好的系统,看看人家设计了什么功能,自己就多多参考下,后来这个问题就很好解决了,最难的就是系统编码了,我这个人本来就比较粗心,编码出现很多不该出现的错误,不该打空格也不小心键盘空格键多敲了两下,整得自己老是程序运行出错,找了好久都没有解决,后来无奈找到室友帮忙看看,慢慢检查终于找到问题了,编码过程真的很心塞。还好东拼西凑总算完成了功能要求了。系统整体界面虽然不是很好看,但起码不花哨,用户使用起来整体感觉就是简洁,功能体验虽然有点啰嗦,但是需要的功能都已经具备了。

自己的身份目前还是学生,开发程序肯定是不会考虑周全,程序完成开发后也经过了一系列测试,整体来说还是没有发现明显的操作逻辑错误,自己在毕设制作过程中不仅知识有所增加,独立学习的能力也有所提高了,更重要的就是遇到问题向周边同学寻求帮助,这个是很有必要的。总的来说毕业设计的圆满完成,我真的觉得很自豪。

参考文献

[1] 王波编著.Java架构师指南[M].人民邮电出版社,2018:22-113.

[2] 王玉英. 基于Java的MYSQL数据库访问技术[J]. 现代计算机:专业版, 2010, 19(14):63-66

[3] 张孝祥、徐明华, JAVA基础与案例开发详解, 清华大学出版社, 2009.

[4] 康牧,JSP动态网站开发实用教程,清华大学出版社,2009.

[5] 付昕. 基于B/S模式仓库管理系统的实现[J].山东省农业管理干部学院学报, 2010, 27(4):166-168

[6] 雷文华, 薛小文. MATLAB和Servlet在网络数据处理中的应用[J]. 电子测试, 2010, (11):81-86.

[7] 黄艳峰. 在Java语言中实施“案例教学”的研究与探索[J]. 电脑知识与技术, 2010, 6(5):1148-1149

[8] 马赫著. Dreamweaver MX 2004 网页设计经典108例.中国青年出版社.2005.

[9] 赵钢. JSP Servlet+EJB的Web模式应用研究[J]. 电子设计工程, 2013, 21(13):47-49

[10] 肖英. 解决JSP/Servlet开发中的中文乱码问题[J]. 科技传播, 2011, (1)11-25

[11] Hsiao I H, Sosnovsky S, Brusilovsky P. Guiding students to the right questions: adaptive navigation support in an e-learning system for Java programming[J]. Journal of Computer Assisted Learning, 2010, 26(4):270-283.

[12] 甘仞初著.信息系统开发.北京.经济科学出版社.2007.

[13] Rasoolzadegan A, Barforoush A A. Reliable yet flexible software through formal model transformation (rule definition)[J]. Knowledge & Information Systems, 2014, 40(1):79-126

[14] Würthinger T, Wimmer C, Stadler L. Dynamic code evolution for Java.[J]. Proceedings of International Conference on the Principles & Practice of Programming in Java Pppj’, 2010, 78(5):10—19

  

经过好几个月的努力,终于完成了本基于Spring Boot的中小型医院网站的开发。在这过程中我把从导师以及图书馆中学到的相关的知识运用到系统的开发过程中。这是对我所学知识的一个完整性的检验。其中发现了诸多的不足和缺点。但是我相信在经过长时间的磨练我会不断的开发出更好的信息管理系统。在这次毕业设计中是对我平常在课堂的一次考核,也是将理论应用到实践的一项考察。

在即将毕业之际,我的心情实在难以平静,从最开始的学习专业知识到刚开始参加毕业课题讨论到最后论文的顺利完成,我身边的亲朋好友给了我极其多的帮助,这些帮助大多是雪中送炭,帮助我渡过了很多难关。因此,我要想对我伸出过援助之手的可爱的朋友、老师、家人们表示衷心的感谢。

我要感谢此次指导我最亲爱的的老师,是他的及时纠正毕设中出现的问题,及时的给我建议,使得我的设计如期的完成。指导老师在我本次基于Spring Boot的中小型医院网站的开发过程中,从程序的设计、代码的完善等方面以及论文的指导提供了很多很多宝贵的意见,并且为我推荐了许多相关JSP技术相关的详细资料,他的指导和建议使我受益匪浅,通过老师的耐心辅导和指点,我的论文顺利的完成,并保证了本论文的质量,我对他的辛勤指导表示崇高的敬意。我要非常郑重的向我的导师说一声:谢谢。也希望老师多多指正论文中出现的问题,并提出宝贵建议。

核心代码展示

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

项目推荐

【计算机毕业设计】各项技术选题汇总

【计算机毕业设计】基于Springboot的网上购物商城销售系统

【计算机毕业设计】开题报告模板2

【计算机毕业设计】任务书案例2

【网站项目】基于springboot的在线考试系统

【网站项目】基于springboot的4S店车辆管理系统

【软件设计】基于python的高校资产管理系统

【网站项目】python009基于推荐算法的电影推荐系统

【网站项目】基于Springcloud的分布式架构网上商城

⬇️文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值