摘要

随着互联网技术和国内医疗行业持续高速地发展,管理员为了能够更加方便地管理用户预约挂号和医生诊疗,慢性病专家系统被开发出来的目的是为了能够更加方便管理用户预约挂号和医生诊疗,一个良好的慢性病专家系统成为很多医院的目标。

本系统利用开源框架SpringBoot和Vue开发实现了慢性病专家系统,这会具有良好的扩展性。该慢性病专家系统使用了编程语言Java开发实现系统和数据库MySQL存储系统中产生的数据,最终实现了较为完整的系统。用户通过浏览器就可以访问慢性病专家系统,管理员在后台管理界面上能够对系统的数据进行管理,因此用户和管理员能够较为方便操作系统。论文全面介绍了系统的功能设计、业务流程设计和需求分析。

关键词:SpringBoot;Vue;MySQL

Expert System of Chronic Diseases Based on Nginx Load Balancing

ABSTRACT

With the continuous and rapid development of Internet technology and domestic medical industry, in order to more conveniently manage user appointment registration and doctor diagnosis and treatment, the purpose of chronic disease expert system is to more conveniently manage user appointment registration and doctor diagnosis and treatment. A good chronic disease expert system has become the goal of many hospitals.

The system uses the open source framework springboot and Vue to develop and implement the chronic disease expert system, which will have good scalability. The chronic disease expert system uses the programming language java to develop and realize the data generated in the system and the database mysql storage system, and finally realizes a relatively complete system. Users can access the chronic disease expert system through the browser. The administrator can manage the data of the system on the background management interface. Therefore, users and administrators can operate the system more conveniently. This paper comprehensively introduces the function design, business process design and demand analysis of the system.

Keywords:Java;MySQL;MVC

目录

摘要................................................................................................................................ I

ABSTRACT................................................................................................................ II

1 绪论........................................................................................................................... 1

1.1 研究背景................................................................................................................. 1

1.2 选题意义................................................................................................................. 1

1.3 研究内容................................................................................................................. 1

2相关技术简介........................................................................................................... 2

2.1 idea........................................................................................................................... 2

2.2 Tomcat...................................................................................................................... 2

2.3 MySQL数据库....................................................................................................... 2

2.4 MVC框架............................................................................................................... 2

2.5 Vue框架.................................................................................................................. 3

2.6 SpringBoot框架...................................................................................................... 3

3 需求分析................................................................................................................... 4

3.1 可行性法分析......................................................................................................... 4

3.2 网站功能要求......................................................................................................... 4

3.3 性能需求................................................................................................................. 7

4 系统功能设计.......................................................................................................... 8

4.1 功能模块设计......................................................................................................... 8

4.1.1 设计结构.............................................................................................................. 8

4.1.2 业务流程.............................................................................................................. 8

4.1.3 层次模块............................................................................................................ 12

4.2 数据库设计........................................................................................................... 12

5 系统实现................................................................................................................. 17

5.1 登录....................................................................................................................... 17

5.2 患者管理............................................................................................................... 17

5.3 患者档案管理....................................................................................................... 17

5.4 预约挂号管理....................................................................................................... 18

5.5 随访患者管理....................................................................................................... 19

5.6 健康知识展示....................................................................................................... 19

5.7 健康知识详细信息............................................................................................... 20

5.8 科室展示............................................................................................................... 21

5.9 预约挂号............................................................................................................... 21

6 系统测试................................................................................................................. 23

6.1 测试概念............................................................................................................... 23

6.2 测试方法............................................................................................................... 23

6.3 测试过程............................................................................................................... 23

结论............................................................................................................................. 26

参考文献..................................................................................................................... 27

致谢............................................................................................................................. 28

1 绪论

1.1 研究背景

快速发展的互联网普遍涉及到了我们生活的很多方面上,用户随时随地都可以享受互联网所带来的好处,具有想象力的程序开发者已经利用互联网开发出了很多高科技的工具。随着信息技术地不断发展,互联网会带给人们越来越多的好处,同时互联网带来新的理念会改变人们原有的工作模式。

随着信息化的社会快速发展,管理员使用手工的方式管理用户预约挂号和医生诊疗越来越费力,如果管理员还是依赖于手工的方式管理用户预约挂号和医生诊疗,那么这会导致管理员工作的效率不高。因此,一个慢性病专家系统能够用来提高管理员的效率,一个良好的慢性病专家系统会给用户和管理员带来较多好处,提高管理员效率的同时还能创造出不少的价值[1]。

1.2 选题意义

伴随着我国推动信息化的社会快速发展,国内不少行业工作的方式改为计算机协助管理,医院平时日常运行的时候会产生着大量的数据,管理员为了能够及时地了解数据的变化,因此需要对这些数据进行科学地管理,这样能够提高管理员的工作效率。

在以前管理用户预约挂号和医生诊疗的时候存在着不少的缺点,并且大多数情况是管理员对其进行管理,这样存在着管理员工作效率不高和容易出错的特点。由了慢性病专家系统,管理员不仅能够节约时间而且还能够高效率地工作,有了更多的时间对系统进行改进[2],除了提供高效的管理效率之外还能够提供更好的服务,使得用户能够更好地体验。

1.3 研究内容

传统的慢性病专家系统在管理上不仅存在着大量的缺陷,而且采用的是人工的方式进行管理,出错率极高,因此良好的慢性病专家系统可以给用户带来良好的便捷性。将工作人员从繁杂的工作中解脱出来。综上,本次分析并实现了慢性病专家系统。

总体来说,慢性病专家系统融合了先进的互联网技术,本次设计并实现的慢性病专家系统汲取了计算机高速处理的能力,并把业务逻辑由计算机进行处理,以此降低了系统开发的成本。基于研究内容安排论文的结构为如下:

研究慢性病专家系统的背景和选题意义,研究开源框架的原理和交互方式,按照软件工程的规范对慢性病专家系统进行设计,包括系统数据库和功能模块的设计。然后对慢性病专家系统的核心功能进行说明[3]。

2相关技术简介

2.1 idea

本慢性病专家系统使用的开发工具为idea,idea是Eclipes开发平台的扩展,我们使用idea可以极大地提高数据库和JavaEE结合一起开发使用。idea能够为JavaEE系统提供丰富的继承环境,它包括了测试功能、代码编写功能和打包发布功能。

idea被很多程序开发者认为是一款非常优秀的插件集合能够用于开发JavaEE软件,idea能够支持很多的开源产品。目前idea能够支持JavaEE框架和数据库连接工具等多项功能,idea差不多囊括了Eclipse的所有功能。

2.2 Tomcat

Tomcat属于Web服务器,能够运用由B/S模式编写的Web应用,在本次开发的慢性病专家系统中使用的Web服务器为Tomcat。Tomcat底层由Servlet实现,可以说是一个Servlet容器。

我们基本可以这样认为,假如我们在一台服务器上配置Apache服务器,那么在服务器上就可以利用Apache服务器相应Html页面的请求。Tomcat部分是Apache的扩展,但是Tomcat是完全独立于Apache的。当我们运行Apache的时候,实际Tomcat运行的线程与Apache是不同的,Tomcat独立于Apache运行JSP和Servlet,Apache服务于HTML页面。

2.3 MySQL数据库

MySQL数据库能够存储大量的数据,在操作上不仅方便快捷,如果想加快查询的速度,可以在数据库表上加上索引,MySQL通过SQL语句可以管理系统的信息。如果系统需要添加数据的时候,可以调用insert语句更新数据库记录,通过少量的SQL语句可以管理系统的信息。MySQL是开源免费使用的数据库,通过标准的SQL语句可以操作系统的信息,安装和部署MySQL数据库也较为方便,通过数据库管理工具Navicat for MySQL可以以可视化的方式管理数据库的信息。

本次开发的慢性病专家系统存储数据采用的是数据库MySQL,可以使用开源框架对数据库MySQL进行操作。开源框架可以对JDBC进行封装,提供了许多中对数据库进行操作的方法,从而实现对数据进行增删改查,从而提高了开发慢性病专家系统的效率。开源框架封装的数据库操作语言能够根据开源框架的配置文件转化为数据库的SQL语言。MySQL数据库配合开源框架能够方便对数据库记录进行修改。

2.4 MVC框架

MVC框架能够处理慢性病专家系统的超链接,用户填写表单所发送的请求,不能够直接发送到前端页面中的请求中进行处理,而是需要先发送到后端控制器中进行处理在返回到前端页面当中,由后端框架处理前端页面传递过来的请求。通过后端框架可以避免用户直接访问前端页面,能够较大提高系统的安全性。

2.5 Vue框架

Vue框架属于渐进式框架中的一种,能够用于构建用户界面,不用编写后端逻辑业务的代码,只需要关注前端界面代码的编写,通过和第三方View库进行整合,通过脚手架进行开发出对应的前端界面,这有助于提供强大的伸缩能力,通过采用向上增量的开发设计能够有助于减少系统代码的冗余度。Vue属于动态页面的一种技术,与静态页面具有不少的差别。程序开发者使用Vue和后端框架进行结合的话能够实现数据在前后端进行交互,这样可以使得数据交互的时候相对简单。前端开发者需要负责编写前端页面,而不用编写逻辑业务处理代码,这部分需要由后端开发者进行完成。Vue框架不仅能够编写动态页面还能够与前端页面进行结合,这样有助于后续对程序的扩展。Vue框架能够将视图层与业务层的代码分离,如果使用了Vue框架,前端开发者可以减少编写过多的重复html代码。

2.6 SpringBoot框架

经过多年的完善,SpringBoot框架已经发展得很成熟,相比于Spring框架少了很多配置,SpringBoot框架内嵌了Tomcat,不用额外配置Tomcat服务器运行系统,在编写代码操作上也可以利用R对象完成,SpringBoot编写而成的程序能够和前端页面方便交互,对异常也能够很好地处理,能够捕抓到很多异常,SpringBoot框架是利用接口进行实现交互的,因此在后期修改的时候,能够快速方便修改。

3 需求分析

在软件开发的时候需求分析是非常关键的一个步骤,在涉及实现软件之前需要先进行需求分析,根据实际需求深入的了解和分析从软件使用者的角度进行分析。在需求分析中能够了解到用户的真实需求,目的是设计出用户满意的慢性病专家系统,如果用户不满意,那么会重新耗费大量的时间和精力,因此需求分析是核心。

3.1 可行性法分析

3.1.1 技术可行性

该系统使用了Java语言进行开发,Java语言在使用上较为简单,可以使用开源框架进行开发,跨平台性较强,可以在不同操作系统上运行。Java语言相比于其它编程语言要相对更轻量和执行的效率相对更高。网上有比较多的关于Java语言相关的开源框架,用户比较容易上手,且框架非常轻量[5]。

慢性病专家系统的前端框架使用的是Vue.js,后端框架使用的是开源框架SpringBoot。前端框架Vue.js和后端框架进行结合的话可以传递数据。开源框架中的视图层能够通过视图解析器对前端页面进行操作,并且能够把用户浏览的数据存储到数据库当中,这能够加强慢性病专家系统的安全性。

3.1.2 经济可行性

慢性病专家系统需求分析到最后设计实现的时候花费的时间不多,经济花费相对不是很多,慢性病专家系统需要运行的时候只需要一台普通的电脑即可,只要安装有必要的软件环境即可以运行系统。管理员在操作慢性病专家系统的时候相对简单,因此有更多的时间可以花费在修改系统的功能上。

3.1.3 社会可行性

本次开发的慢性病专家系统不违反法律和道德层次,操作界面相对简单,用户能够较方便地使用慢性病专家系统。随着计算机的快速发展,计算机技术已经在医疗行业有不少的应用,因此更能为这次设计的慢性病专家系统奠定了基础[6]。

3.2 网站功能要求

从软件开发角度来说,软件开发最重要的步骤包括需求分析和产品设计。如果需求分析和产品设计做得好的话,那么会节省很多开发时间,可以更快地把软件研究出来。对慢性病专家系统的业务需求有了一定的了解之后,需要对慢性病专家系统每个角色的功能进行分析。对慢性病专家系统进行建模,可以清晰地知道慢性病专家系统用例者之间不同的关系和每个角色的功能。用例建模的时候包括用例描述和用例图,用例图可以通过图形化的方式描述不同角色的功能。用例描述能够将交互流程以文字的形式表现出来,用例描述是用例图的补充说明。

图3-1 管理员用例图

图3-2 医生用例图

图3-3 患者用例图

3.3 性能需求

在软件开发的过程中,虽然需要注意业务功能需求,但是性能需求也一样重要。如果系统性能不好的话,那么很有可能会导致用户的体验变差和管理员管理效率的减少。如果需要增强系统的性能,那么需要注意数据安全性、查询效率和系统响应速度。

(1)数据的安全性

慢性病专家系统每天的运行会产生很多数据,数据已经涉及到系统运行的每个部分中,因此数据的安全性变得非常地重要。系统需要对用户的密码作加密处理,用户的密码存在数据库记录的时候需要使用加密字符串进行处理,从而保证系统数据的安全性,用户在前台输入密码的时候需要采用特殊字符代替。

(2)系统的查询效率和响应速度

慢性病专家系统中很多模块都有查询的功能,有些查询功能还涉及到多表的查询。慢性病专家系统在运行了一段时间之后,业务量变得越来越多,因此,需要优化后端编写的数据库SQL语句,通过减少查询字段和增加限制条件能够使得查询的速度变快。为了能够提升慢性病专家系统的效率,需要优化系统代码和减少系统的时间复杂度。在前端页面中引入CSS文件可以在页面头部中进行引入,页面的尾部中引入js文件,这能够增加页面的响应速度[7]。

4 系统功能设计

通过对系统可行性分析和需求分析之后,最后确定使用MVC模式对系统进行了设计。系统功能设计的主要职责为把软件需求转化为软件的体系结构,把系统分为多个功能模块,并确定各模块之间不同的调用关系。最后对系统各个模块进行详细的设计。

4.1 功能模块设计

本慢性病专家系统划分为三个模块,分别是客户端、服务端和数据库服务器,客户端在设计的时候使用到了开源框架能够方便用户使用系统功能。服务端使用到的是HTTP协议,使用了统一的协议能够减少人员差异带来的问题,更加规范了开发的流程和减少开发难度,这能提高服务端模块的复用性。

4.1.1 设计结构

本系统设计模式采用的是MVC模式,用户的请求会通过http传递给控制层中进行处理,用户的请求会被传递到控制层中进行处理,数据模型会把获得的数据结合视图将结果进行显示,并且管理数据的持久化以此来操作数据。交互的界面也算视图层,能够将结果显示给用户。

4.1.2 业务流程

(1)登录

管理员登录系统后可以查看并管理系统各项信息。

结束

登录成功

数据是否正确

查询数据库

接受登陆信息

登录失败

开始

图4-1 登录流程图

(2)注册

用户登录系统之前需要注册,如果输入的信息跟数据库记录相冲突则不能够成功注册。

结束

注册成功

用户是否存在

查询数据库

数据是否为空

开始

接受注册信息

注册失败

图4-2 注册流程图

(3)用户管理

管理员登录完了系统之后可以对系统的信息进行管理。

开始

删除用户

删除

输入修改的信息

是否选择用户

修改

结束

选择用户

进入用户管理界面

选择要进行的操作

增加

输入要添加的用户信息

图4-3 用户管理流程图

4.1.3 层次模块

基于nginx负载均衡的慢性病专家系统

患者档案管理

医生

管理员

患者

在线问诊管理

预约挂号管理

医生诊疗管理

系统管理

健康知识管理

医生会诊管理

随访患者管理

预约挂号管理

在线问诊管理

患者档案管理

个人中心

图4-4 功能模块图

4.2 数据库设计

数据库是一个通过存储组织数据的文件仓库,它可以使用相关的api接口对数据进行管理。在很早之前的时候可以把数据存储到文件当中,但是通过这种做法存储和读取数据速度不快,所以系统在实现的时候需要利用MySQL存储和读取数据。MySQL是一款免费开源的关系型数据库,关系型数据库得建立在关系模型之上,通过基础代数等概念处理数据库中的数据[7]。

4.2.1 概念模型设计

本慢性病专家系统的功能设计目标是根据用户的需求设置的,系统概念模型的搭建实际是在搭建目标结构,设置数据库需要包含这一步骤。本慢性病专家系统有着不少的数据,数据模型可以表示慢性病专家系统中的实体,还可以使用E-R图进行表示。

(1)在处理数据的时候能够满足用户的需求,能够更加有效地呈现和反馈现实世界。

(2)用户在操作的时候要容易上手,数据库要设计得较为复杂但易懂。

(3)后续数据需求发生改变的时候,数据库和模型结构能够便捷地修改[8]。

患者

患者档案

医生

医生会诊

N

1

1

N

N

N

N

N

N

N

包含

包含

医生诊疗

在线问诊

预约挂号

1

N

图4-5 数据库E-R图

4.2.2 逻辑结构设计

利用MySQL数据库创建系统设计的表,数据库表能够用来保存系统需要的数据。

(1)患者信息表

表4-1 患者信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

zhanghao

varchar

200

mima

varchar

200

xingming

varchar

200

nianling

int

11

xingbie

varchar

200

shouji

varchar

200

shenfenzheng

varchar

200

zhaopian

varchar

200

(2)患者档案信息表

表4-2 患者档案信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

zhanghao

varchar

200

xingming

varchar

200

nianling

varchar

200

xingbie

varchar

200

shenfenzheng

varchar

200

shengao

varchar

200

tizhong

varchar

200

xueya

varchar

200

xuetang

varchar

200

xinlv

varchar

200

danganwenjian

varchar

200

yaowuguomin

varchar

200

zhongdabingshi

varchar

200

zhuyuanjilu

longtext

0

dengjiriqi

date

0

yishengzhanghao

varchar

200

yishengxingming

varchar

200

(3)医生会诊信息表

表4-3 医生会诊信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

biaoti

varchar

200

jianjie

longtext

0

shipin

varchar

200

neirong

longtext

0

dengjiriqi

date

0

thumbsupnum

int

11

crazilynum

int

11

(4)医生诊疗信息表

表4-4 医生诊疗信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

zhenliaobianhao

varchar

200

yishengzhanghao

varchar

200

yishengxingming

varchar

200

zhanghao

varchar

200

xingming

varchar

200

zhenduanshijian

datetime

0

zhenduanjieguo

longtext

0

yizhu

longtext

0

yaofang

longtext

0

yaofangshuoming

longtext

0

(5)预约挂号信息表

表4-5 预约挂号信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

yuyuebianhao

varchar

200

keshihao

varchar

200

keshimingcheng

varchar

200

piaoe

varchar

200

guahaofei

int

11

jiuzhenshijian

datetime

0

danganwenjian

varchar

200

guahaobeizhu

longtext

0

yishengzhanghao

varchar

200

yishengxingming

varchar

200

zhanghao

varchar

200

xingming

varchar

200

shouji

varchar

200

shenfenzheng

varchar

200

ispay

varchar

200

(6)在线问诊信息表

表4-6 在线问诊信息表

列名

数据类型

长度

主外键

id

bigint

20

addtime

timestamp

0

biaoti

varchar

200

neirongmiaoshu

longtext

0

wenzhenshijian

datetime

0

yishengzhanghao

varchar

200

yishengxingming

varchar

200

zhanghao

varchar

200

xingming

varchar

200

sfsh

varchar

200

shhf

longtext

0

5 系统实现

5.1 登录

在登录界面中需要使用el-input标签实现输入框供用户输入用户名和密码,需要使用name标签表示不同的信息。在登录界面中还需要包括角色的按钮,使用el-radio表示按钮,用户可以点击按钮从而选择不同的角色。

5-1 登录界面

5.2 患者管理

在患者管理界面中管理员可以管理患者的信息,点击修改按钮可以跳转到修改患者的界面中,修改的时候输入的信息需要在输入框中输入,如果在输入信息的时候不合法,则不能够成功地修改患者信息并且更新到数据库记录中。在搜索输入框中输入患者名称可以搜索患者信息,如果输入的患者名称含有非法字符则不能够成功搜索出相关的患者信息。

5-2 患者管理界面

5.3 患者档案管理

如果管理员想要管理患者档案的信息,需要进入到患者档案管理界面中,点击不同的按钮可以实现不同的功能,如果想要多种不同的患者档案信息,可以点击添加按钮添加患者档案的信息,添加的时候需要注意在输入框中输入合法的信息且输入的用户记录跟数据库原有的记录不能够相冲突。如果想要把患者档案信息从数据库记录中删除则需要点击删除按钮进行删除,删除的时候需要检查删除的记录是否有数据库约束,如果有则不能够直接删除。

5-3 患者档案管理界面

5.4 预约挂号管理

在预约挂号管理界面中管理员可以管理预约挂号的信息,点击修改按钮可以跳转到修改预约挂号的界面中,修改的时候输入的信息需要在输入框中输入,如果在输入信息的时候不合法,则不能够成功地修改预约挂号信息并且更新到数据库记录中。在搜索输入框中输入预约挂号名称可以搜索预约挂号信息,如果输入的预约挂号名称含有非法字符则不能够成功搜索出相关的预约挂号信息。

5-4 预约挂号管理界面

5.5 随访患者管理

如果管理员想要管理随访患者的信息,需要进入到随访患者管理界面中,点击不同的按钮可以实现不同的功能,如果想要多种不同的随访患者信息,可以点击添加按钮添加随访患者的信息,添加的时候需要注意在输入框中输入合法的信息且输入的用户记录跟数据库原有的记录不能够相冲突。如果想要把随访患者信息从数据库记录中删除则需要点击删除按钮进行删除,删除的时候需要检查删除的记录是否有数据库约束,如果有则不能够直接删除。

5-5 随访患者管理界面

5.6 健康知识展示

健康知识展示界面可以以列表的形式展示出健康知识的信息,用户可以在健康知识展示界面中查看健康知识的信息,如果想要查看健康知识的详细信息则需要点击健康知识图片跳转到健康知识详细界面中,在健康知识图片中定义href标签实现业务逻辑的处理。健康知识信息的展示依赖于后端业务逻辑代码需要开源框架利用数据库SQL语句查询数据库记录。

5-6 健康知识展示界面

5.7 健康知识详细信息

在健康知识详细信息界面中可以展示健康知识的详细信息,用户如果想要查看健康知识的详细信息需要从健康知识展示界面中进入,后端逻辑业务代码利用服务类操作数据库获得健康知识的详细信息,获得的信息通过return语句返回给前端界面中,前端开源框架利用正则表达式对信息进行解析。

5-7 健康知识详细信息界面

5.8 科室展示

科室展示界面可以以列表的形式展示出科室的信息,用户可以在科室展示界面中查看科室的信息,如果想要查看科室的详细信息则需要点击科室图片跳转到科室详细界面中,在科室图片中定义href标签实现业务逻辑的处理。科室信息的展示依赖于后端业务逻辑代码需要开源框架利用数据库SQL语句查询数据库记录。

5-8 科室展示界面

5.9 预约挂号

在预约挂号信息界面中用户可以预约挂号,用户如果想要查看预约挂号的详细信息需要从科室展示界面中进入,后端逻辑业务代码利用服务类操作数据库获得科室的详细信息,获得的信息通过return语句返回给前端界面中,前端开源框架利用正则表达式对信息进行解析。

5-9 预约挂号信息界面

6 系统测试

6.1 测试概念

系统测试的最终目的为对尽可能找出系统中的缺陷并对其进行修复,使得系统的状态变得更为安全可靠。软件测试通常使用测试用例对系统进行测试,需要运行程序从而完成运行测试,如果运行结果和预期结果不一样的话,则代表该功能测试不通过需要修改到通过。对于一个功能想要完全测试的话需要设置多个功能用例,在设计测试用例的时候需要注意是否合理,否则的话将会影响到软件的质量。如果在某个功能模块中发现到了错误,那么需要尽快解决错误,否则到了后面所需要付出的成本也会越高。

在进行软件测试之前需要确定测试目标,后续的测试工作都需要围绕着测试目标展开。测试用例需要尽可能地围绕着使用者的角度进行设计,从而设计出不同的测试用例。对于系统安全需求角度出发,需要假设突发情况从而去设计测试用例[9]。

6.2 测试方法

程序开发人员常用的测试方法包括黑盒测试和白盒测试。黑盒测试需要把系统看成为一个盒子,不需要了解慢性病专家系统里面实现的代码细节。程序编程人员需要根据测试目标从而设计出测试用例。而白盒测试需要对慢性病专家系统的代码设计和逻辑设计要有一定的了解,设计对象相对于白盒测试来说是透明的。

程序测试方法也被称为黑盒测试,一般是通过功能和需求驱动测试的。在本慢性病专家系统的功能中登录功能是否能正常使用和管理人员能否正常管理系统的信息都属于黑盒测试。

结构性测试又被称为白盒测试,能够验证程序是否正确。在白盒测试中,程序编写人员可以根据设计的流程对软件进行测试[10]。

6.3 测试过程

本慢性病专家系统使用到了单元测试,在代码处设置断点实现调试功能,确保功能代码的正确性;在单元测试的基础上还可以对慢性病专家系统集成测试,目的是用于验证系统功能的正确性。最后对系统使用集成测试,系统测试种类包括权限测试和备份测试。

6.3.1 登录用例

表6-1 登录用例表

序号

测试场景

输入

输出

期望输出

1

在登录页面中输入错误的用户名和密码

123,123

登录失败

登录失败

2

在登录页面中输入数据库记录中含有用户名和错误的密码

Abo,123

密码错误

密码错误

3

在登录页面中输入数据库记录中含有用户名和密码

Abo,abo

登录成功

登录成功

4

在登录页面中不输入用户名和密码

登录失败

登录失败

6.3.2 用户管理用例

表6-2 用户管理用例表

序号

测试场景

输入

输出

期望输出

1

在用户管理界面中的输入框输入数据库记录含有的用户名

yong

展示搜索出来的用户信息

展示搜索出来的用户信息

2

在用户管理界面中点击添加按钮实现添加用户信息

用户的基本信息

如果输入的用户信息与数据库记录相冲突,那么添加失败

如果输入的用户信息与数据库记录相冲突,那么添加失败

3

在用户管理界面中点击删除按钮实现删除用户信息

如果删除的用户记录没有和其它表的记录有外键的关系,则能删除成功

如果删除的用户记录没有和其它表的记录有外键的关系,则能删除成功

4

在用户管理界面中点击修改按钮实现修改用户信息

修改用户的基本信息

如果输入修改的用户信息和数据库用户表记录相冲突,那么则不能够成功修改

如果输入修改的用户信息和数据库用户表记录相冲突,那么则不能够成功修改

6.3.3 预约挂号管理用例

表6-3 预约挂号管理用例表

序号

测试场景

输入

输出

期望输出

1

在预约挂号管理界面中的输入框输入数据库记录含有的预约挂号名

预约挂号信息

展示搜索出来的预约挂号信息

展示搜索出来的预约挂号信息

2

在预约挂号管理界面中点击添加按钮实现添加预约挂号信息

预约挂号的基本信息

如果输入的预约挂号信息与数据库记录相冲突,那么添加失败

如果输入的预约挂号信息与数据库记录相冲突,那么添加失败

3

在预约挂号管理界面中点击删除按钮实现删除预约挂号信息

如果删除的预约挂号记录没有和其它表的记录有外键的关系,则能删除成功

如果删除的预约挂号记录没有和其它表的记录有外键的关系,则能删除成功

4

在预约挂号管理界面中点击修改按钮实现修改预约挂号信息

修改预约挂号的基本信息

如果输入修改的预约挂号信息和数据库预约挂号表记录相冲突,那么则不能够成功修改

如果输入修改的预约挂号信息和数据库预约挂号表记录相冲突,那么则不能够成功修改

结论

随着计算机的不断发展,B/S模式开发的管理系统已经被越来越多的程序开发人员所关注,经过对慢性病专家系统开源框架的详细研究,通过查阅了大量的参考文献和资料。通过对系统需求分析和总体设计之后,实现了慢性病专家系统,本慢性病专家系统实现的操作算作较为繁杂,很多功能相互有联系,管理员在后台可以对系统信息进行管理,用户在前端界面中可以使用系统的功能。

在设计慢性病专家系统的时候,由于自己的能力和掌握的技术有限,所以慢性病专家系统的功能模块实现得相对不是很完善,最终还是依赖于导师的帮助和自己的努力下很多问题得以解决。这次毕业设计工作能够把四年所学习的知识作一个总结,学习能力和实践能力进一步地提高,在以后的学习和工作过程中会逐步改进,希望接下来的日子工作和学习会越来越好。

(1)慢性病专家系统使用的算法较少,基本上没有引用到算法,希望能够在以后的时间中引入推荐算法。

(2)本慢性病专家系统的兼容性还不够好,在火狐浏览器可以访问系统的所有功能,但在其它的浏览器当中有的功能不能够完全展示。

参考文献

  1. 齐浩政. 基于安全代理的My SQL数据库防护技术研究[D].东南大学,2020.
  2. 张猛. MySQL融合式空间数据库扩展研究与应用[D].中国地质大学(北京),2020.
  3. 汪晗. 云数据库服务系统设计与实现[D].电子科技大学,2020.
  4. 赵莹,胡畅达,王国宇.三种关系型空间数据库比较[J].科技创新与应用,2021,11(19):62-64.
  5. 赵莹,胡畅达,王国宇.三种关系型空间数据库比较[J].科技创新与应用,2021,11(19):62-64.
  6. 妥泽花.基于黑盒测试与白盒测试的比较探究[J].电子世界,2021(11):55-56.
  7. 丁凝.软件测试过程的质量控制分析[J].网络安全技术与应用,2021(05):65-66.
  8. 龙超,李子丰,王梦.软件测试公共课的实验教学研究[J].福建电脑,2020,36(12):200-202.
  9. 何琼月.谈软件工程中软件测试的重要性及方法[J].电子元器件与信息技术,2020,4(11):148-149.
  10. 田春竹,邢航.浅析白盒测试在软件测试中的应用[J].中国信息化,2019(08):48-50.

致谢

通过这次设计慢性病专家系统之后,自己对软件设计有了更深层次的理解。以前在开发系统的时候,基本一开始就开始编写代码,没有做系统的前期设计。但是通过这次设计的慢性病专家系统,我意识到在编写代码之前,系统前期设计非常重要。只有良好的需求分析,后续系统实现会变得较为容易。

在本次毕业设计所设计的慢性病专家系统过程中,指导老师给了我很多的支持,在初期搜索资料的时候,指导老师给了我很多的资源,在系统实现的时候出现了很多错误,指导老师手把手不厌其烦地帮助我改正系统错误。指导老师心态上非常乐观,除了学习深深影响我之外,生活态度也深深影响了我。

首先,我非常感谢我的指导老师,虽然指导老师平时需要忙工作,但是当我在撰写毕业论文遇到问题的时候,指导老师还是会抽出很多时间帮忙审阅我的论文,如果论文存在有不合理的地方,指导老师会针对性地给出很多意见。在指导老师耐心地指导下我能够顺利地完成了毕业论文的撰写和系统的实现。同时,指导老师为人处世的态度深深地感染了我,使得我在以后的学习生活受益很多。

其次,我还要感谢学校里的各位领导。进入到校园的时候,无论是学习还是生活上单位领导能够帮助我对问题的分析,最终解决问题。在解决这些问题的过程当中,学院领导很大程度上能够帮我去解决,我有更多的时间可以花在学习上。

最后,我要感谢我的家人和同学。当我在学习的时候遇到了困难的时候同学给了我很多的帮助,系统实现的时候遇到了许多困难,他们给了我很多的建议解决系统中的问题。撰写论文的时候遇见很多不懂的问题,他们给了我很多的参考资料,帮助我一起解决所涉及到的问题,有了同学们的帮助使得我敢于接受跳战。我还要感谢我的家人,有了他们的支持,我才能花更多时间在学习和工作上。

基于nginx负载均衡的慢性病专家系统相关推荐

  1. TCP长连接在k8s中基于nginx负载均衡

    nodeport其实也是一种实现方式,但是nodeport是有一些缺陷的: 第一:占用worker主机的port,项目多,团队多,容易port冲突 第二:如果pod没有落到workerA上,但是请求是 ...

  2. 全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版

    全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版 课程作为全新的升级项目课程,基于Nginx负载均衡,Flume与Kafka,Mongodb和Redis等技术 ...

  3. Nginx负载均衡的详细配置及使用案例

    Nginx负载均衡的详细配置及使用案例详解 感谢看过这一些列博文和评论的小伙伴, 我把自己所看到的学到的拿到这里来分享是想和大家一起学习进步, 想听听园友给出的意见, 也是对自己学习过程的一个总结.  ...

  4. Nginx负载均衡集群介绍

    第1章 集群介绍 1.1 集群简介 1.1.1 什么是集群 简单说,集群就是一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行 ...

  5. Nginx负载均衡+tomcat+session共享

    为什么80%的码农都做不了架构师?>>>    本文,是笔者工作之余写的,第一是把之前打系统框架的步骤记录下来.第二是将这个过程,谈不上经验,奉献给正在撘这种框架遇到各种bug,各种 ...

  6. 前端技术分享:Nginx负载均衡视频,基础的实战应用

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.其特点是占有内存少,并发处理能力强,以高性能低资源消耗而闻名,国内 ...

  7. Flask+nginx负载均衡综合使用

    2台机子模仿负载均衡的实验. 本机IP:115.213.73.254 云主机IP:xxx.xxx.xxx.xxx(保密起见,下同) 公网IP 本机运行连接云主机: ssh ubuntu@某大佬 -p ...

  8. 物联网架构-Nginx负载均衡

    物联网架构-Nginx负载均衡 0. 前言 关于Nginx负载均衡的简单配置,我以前博客配置过基于HTTP的负载均衡.这次的负载均衡有点不一样,就是基于TCP的负载均衡.基于HTTP负载均衡是默认的N ...

  9. nginx负载均衡实验笔记

    本文是nginx负载均衡实验的一些笔记. 概述 前面已经完成了转发的程序,也尝试了一些负载均衡算法,本文对 nginx 的负载均衡做一些简单的测试,有部分实验是为了解答笔者与同事交流时产生的疑惑. 程 ...

最新文章

  1. [转载]TFS与Project、Excel同步
  2. CentOS7 部署 galera cluster mariadb 10.1
  3. 2020——网鼎杯 (青龙组)jocker
  4. Android 用MediaRecorder录制视频太短崩的问题
  5. 使用flex和bison实现的sql引擎解析
  6. java radio_java radioButton
  7. Network | DNS
  8. 前端开发学习路线图,完整学习教程+工具+框架
  9. 读软件工程前三章后感
  10. RSA2分段加密解密
  11. ubuntu安装discourse论坛----结合在apache服务上建立虚拟主机
  12. 2019.2.13 【过年停更了很久,挖个坑】
  13. 首席数据官:从哪里来?到哪里去?
  14. C# WPF时钟表盘 及设置闹钟
  15. 修改ftp更新服务器地址,修改ftp服务器地址
  16. 什么事数据对象以及属性分为什么类型?
  17. Newman运行集合排错
  18. 0成本无VPS搭建私人导航、图床、音乐服务器 | vercel freewha
  19. 一个字符串吧大写字母转换为小写字母
  20. Python读取dta数据(自己学习专用)

热门文章

  1. Docker基础搭建
  2. RC电路的充放过程C语言实现,RC串联电路的暂态过程基本原理介绍
  3. 2022北航敏捷软件工程 第一次博客作业
  4. 互联网 vs 区块链革命:巨头公司的起源
  5. 提取文件名--VBA代码分享
  6. Tekla Structures Design Suite安装步骤
  7. 将照片按顺序制作成PDF
  8. 弱电流源是怎么实现的,咱们来仿个真
  9. php中seo优化怎么做,专题页面怎么做SEO优化
  10. 读书百客:《感遇·兰叶春葳蕤》赏析