ssm051网上医院预约挂号系统+jsp

网上医院预约挂号系统设计与实现

摘 要

如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院预约挂号系统的开发运用就显得很有必要。并且通过开发网上医院预约挂号系统,不仅可以让所学的SSM框架得到实际运用,也可以掌握MySQL的使用方法,对自身编程能力也有一个检验和提升的过程。尤其是通过实践,可以对系统的开发流程加深印象,无论是前期的分析与设计,还是后期的编码测试等环节,都可以有一个深刻的了解。
网上医院预约挂号系统根据调研,确定管理员除了管理医生,科室和用户外,也能管理用户预约挂号信息,下载用户病例,发布健康资讯,管理客服聊天信息。医生管理本人的坐诊信息,审核预约挂号,管理用户就诊病例。用户在前台查看医生坐诊,对医生预约挂号,评价并收藏医生,查看健康资讯,联系客服,用户在后台支付挂号价格,下载病例。
借助于网上医院预约挂号系统这样的工具,让信息系统化,流程化,规范化是最终的发展结果,让其遵循实际操作流程的情况下,对医院预约挂号信息实施规范化处理,让医院预约挂号信息通过电子的方式进行保存,无论是管理人员检索医院预约挂号信息,维护医院预约挂号信息都可以便利化操作,真正缩短信息处理时间,节省人力和信息管理的成本。

第一章 绪论

1.1 选题背景

如今的信息时代,对信息的共享性,信息的流通性有着较高要求,尽管身边每时每刻都在产生大量信息,这些信息也都会在短时间内得到处理,并迅速传播。因为很多时候,管理层决策需要大量信息作为参考依据,也有些时候,各大企业或学校也需要使用工具宣传自身的文化理念等等,所以信息能够得到迅速传播并带给人们一定的参考价值,充分发挥信息本身的作用是很有必要的,而这些恰恰是传统模式所不能相比的。因此,借助工具让信息系统化,流程化,规范化是最终的发展结果,而这个工具则是计算机软件。本次设计实现的计算机软件网上医院预约挂号系统,让其遵循实际操作流程的情况下,对医院预约挂号信息实施规范化处理,让医院预约挂号信息通过电子的方式进行保存,无论是管理人员检索医院预约挂号信息,维护医院预约挂号信息都可以便利化操作,真正缩短信息处理时间,节省人力和信息管理的成本。

1.2 选题意义

为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院预约挂号系统的开发运用就显得很有必要,因为它不仅可以让医院预约挂号信息的管理人员统一完成信息管理,而且还会在保证医院预约挂号信息处于安全状态的情况下,让医院预约挂号信息的处理流程缩短,让信息的管理工作量减少,让医院预约挂号信息的录入和后期维护缩短时间,以及节省管理医院预约挂号信息需要投入的精力与资金。由于网上医院预约挂号系统运用的技术比较成熟,所以它本身就具备了稳定的性能,连续24小时运行都毫无压力。而且还可以保证数据处理的质量。另外,网上医院预约挂号系统为了满足易用性的用户需求,特意在页面的设计上合理布局各元素,让重要内容和导航功能在关键区域展示,让操作系统的用户可以毫不费力的完成系统的操作。总的说来,网上医院预约挂号系统实现了信息资源的共享,让信息可以以更好的方式进行传播,让管理员的管理水平得到提升的同时,也让医院预约挂号信息计算机化。

1.3 研究内容

根据网上医院预约挂号系统设计与实现的流程来对整个系统进行说明。本文将从下述6个部分介绍系统。
第一部分:介绍选题的动因,包括介绍课题背景和意义等。
第二部分:介绍本系统选用的开发手段,包括编程语言,后台支持的数据库,开发类技术等。
第三部分:介绍系统的分析内容,包括投资决策必须的可行性研究,用户对功能的要求,系统运行的性能要求等知识。
第四部分:介绍系统的设计。包括对系统功能结构的设计,数据表结构设计等。
第五部分:介绍系统的实现。包括各模块实现的具体运行效果。
第六部分:介绍系统测试。包括检查系统功能,测试知识点的介绍等。

第二章 开发环境

对网上医院预约挂号系统进行开发,需要了解开发技术的理论与实际运用,对开发工具,尤其是数据库的使用方法需要进行掌握。

2.1 SSM框架

SSM框架是三个框架的合称,分别是Spring框架和SpringMVC框架以及MyBatis框架。三个框架随着时间的发展,越来越变成了当今Java语言的开发主流,帮助程序开发人员专注于业务逻辑以及配置相关操作,能自动生成的都支持自动生成,避免了很多耦合性出错,通过控制反转和依赖注入,让程序开发变成配置文件开发,简单明了,让创建的Java对象都能通过自身来进行创建。面向切面的操作让程序开发也变成了部门协同,公共事务都交给了SpringAOP来操作,让程序开发变得更加专注。MyBatis越来越智能,可以用配置文件和SQL语句混合开发,可以像操作Java语言一样操作数据库。

2.2 JSP技术

JSP开发技术,是Java开发网站必须要学习的一门技术。JSP不能单单说是一种语言,是Java语言诞生的公司为动态网页技术制定的一个网页技术标准。学习JSP技术之前肯定是要学习Java语言和一些HTML语言,并且要对Servlet容器进行学习,这些都属于架构上面的学习,在学校学习了基础的语言之后,再去理解架构也不过是用熟悉的Java语言重新造句而已,让学习更加容易,学习的难度也就大幅度的降低了。JSP编程过程中,可以在HTML代码中插入Java的相关代码,只需要用标签标记即可。JSP主要是用于实现用户界面方面的部分,前端开发人员只需要结合HTML的代码对页面进行布局之后,嵌入JSP操作,JSP可以获取数据库相关数据,通过Java的列表遍历方法就可以使JSP编译之后,浏览器显示的数据界面是动态化的,每次操作都可以让页面布局不乱而数据进行合理的更改显示。选择JSP技术进行网页应用程序的开发会达到很高的效率。

2.3 MYSQL数据库

MYSQL数据库起源于瑞典,但是经营不善被数据库行业老大甲骨文公司给收购了,收购了之后本以为只是为了发展Oracle数据库,然后MySQL数据库就会被雪藏,但是没想到甲骨文公司收购后对MySQL数据库进行了支持,并且让之前Oracle占据不了的中小型市场让MySQL占用,完全实现了甲骨文公司的利润增长,不管是从大型数据库还是中小型数据库,都有了自己的产品,并且可以对两种数据库的优势尽量的发挥,取长补短,MySQL数据库反而发展的越来越好。
最新版本的MYSQL数据库配备上了管理工具,因为甲骨文公司属于老牌的数据库厂商,对数据库的客户端工具自然有其他下线厂商进行研发配套,这些旁枝末节的事情并没有投入很大的精力,造成的结果就是程序开发人员还是习惯使用传统的Navicat for MySQL或者SQLyog这些MySQL数据库管理工具,大部分数据库开发调试人员还是习惯于视窗情况下看到相关数据。不管是越来越强的MySQL数据库还是市面上广泛流传的各种MySQL数据库客户端,MySQL数据库能实现本课题的开发,那么选择MySQL作为数据库是没有问题的。

第三章 系统分析

提前通过各种渠道,比如图书馆,电脑上的网站等渠道获取跟本系统有关联的资料,同时设计调查问卷,让系统的使用者参与调查,了解其对系统的需求,然后进行系统的分析,确定本系统的开发可行性,确定本系统的功能等内容。

3.1可行性分析

这部分内容主要从开发的角度和运行使用的角度等层面研究系统,确定是否投资系统,为进一步开展工作提供理论依据。

3.1.1技术可行性

本系统采用的技术和开发类语言都具备丰厚的理论基础,同时这些开发技术和开发语言在市面上都得到了广泛运用,很多功能实现的源码都以模块化的方式通过网络进行了公开,所以本系统可以参考这些代码实现功能。因此,系统开发技术可行。

3.1.2操作可行性

网上医院预约挂号系统根据用户阅读习惯对系统内容进行排版布局,把系统页面中的关键位置用来设置导航条,可以方便用户第一时间找到需要的内容,同时,页面中也会设置一些提示,用于帮助用户操作系统,因此,系统操作可行。

3.1.3经济可行性

本系统需要在硬件设备上配置开发环境,就可以开展系统的开发工作。由于本系统并不是商业化程序,所以本人学习用的笔记本,或机房电脑都符合要求。对于开发环境的配置问题,可以通过网络直接下载安装,期间并不收取费用。因此,系统经济可行。
以上就是从技术,操作,经济的层面研究系统,最终确定系统可以开展。

3.2系统流程分析

要访问网上医院预约挂号系统,需要符合要求的身份,证明访问者身份的信息就是在登录界面需要填写的信息,其中有用户名,有密码。在登录界面,系统后台也有专门编写的安全验证机制,只有信息匹配的访问者才有资格进入系统。具体流程见下图。如果访问者提供的信息在数据库中没有记录,就表明该访问者没有权限,也就无法享受系统提供的服务。

图3-1 操作流程图
在网上医院预约挂号系统里面,任何填充的数据都要经过合法性验证,具体流程见下图。只有符合条件的数据才可以保存。

图3-2 添加信息流程图
经过时间的改变,系统里面的很多数据也需要更新,更新时,同样需要检查更新的数据是否合法,具体流程见下图。只有判断符合要求的数据最终才可以保存。

图3-3 修改信息流程图
为了避免操作者大意误删数据,任何需要删除的数据,都需要反复确认,具体流程见下图。删除的数据将不会在页面中显示。

图3-4 删除信息流程图

3.3系统性能分析

用户使用系统,一是为了阅读需要的信息;二是为了享受系统提供的服务。因此一个质量较好的系统就更容易让用户频繁使用。而能够反馈系统的质量的信息就是系统的性能。常见的能够表示系统性能的指标有安全性,系统可扩展性,数据完整性等。接下来就对这些指标进行介绍。

3.3.1数据完整性

只要是系统中的数据,其长期保存在数据库里面,就要求其具备可靠性。这样才能发挥出数据具备的参考价值。一般来说,为了保证数据信息是准确的,并且可靠的,在数据处理上,包括录入数据,编辑数据等,都要求数据信息是完整登记的。同时,系统中的数据其自身需要具备完整性外,也要求数据之间产生的关系也要具备完整性。另外,在数据库中填充信息时,同样的信息应该以同样的方式出现在不同的表中。对于数据进行完整性定义,也是方便后期对数据的使用和查看。

3.3.2系统可扩展性

站在当前用户需求的角度考虑问题具有一定的局限性,由此设计的系统也一样。为了保护开发系统的财产,同时也为了让系统长远立足市场,系统开发人员就需要充分预留系统的空间,让系统在未来的日子里可以扩充功能,并进行更新和升级。这就是系统具备可扩展性的表现。

3.3.3系统安全性

系统在投入使用中,用户与系统的交互会产生数据,比如插入数据,编辑数据等操作都会产生数据。而作为系统的后台支持的数据库,主要任务就是保存这些数据。为了不让数据信息被窃取或者泄露,也是为了对系统的安全性进行保证,所以市面上也出现了很多的加密技术,其中MD5单向加密技术在系统中运用得最多。其原因有三点:
第一点,面对任意两段明文,在经过MD5加密处理后,它们的密文不一样;
第二点,面对任意一段明文,进行MD5加密处理后,其密文不变;
第三点,破解MD5加密的数据非常困难;
目前,关于MD5加密技术的代码已经可以从网站上下载,可以直接将模块化的代码在系统中直接引用。一般来说,用户注册的数据还有管理员登录系统使用的数据都是很重要的资源,所以这部分数据常常会经过加密处理,这样也就消除了系统安全上的隐患。

3.4系统功能分析

这部分内容在系统分析环节比较重要,它直接关系本系统开发的进展。无论是设计,还是实现,都是在本系统调研的功能的基础上进行。
为了直观显示系统的功能,运用用例图这样的工具显示分析的结果。分析的管理员功能如下。管理员除了管理医生,科室和用户外,也能管理用户预约挂号信息,下载用户病例,发布健康资讯,管理客服聊天信息。
图3-5 管理员用例图
为了直观显示系统的功能,运用用例图这样的工具显示分析的结果。分析的医生功能如下。医生管理本人的坐诊信息,审核预约挂号,管理用户就诊病例。
图3-6 医生用例图
为了直观显示系统的功能,运用用例图这样的工具显示分析的结果。分析的用户功能如下。用户在前台查看医生坐诊,对医生预约挂号,评价并收藏医生,查看健康资讯,联系客服,用户在后台支付挂号价格,下载病例。
图3-7 用户用例图

第四章 系统设计

设计一个系统不单单是设计系统的页面,可以说系统设计其本质是一个结合了众多设计过程的比较复杂的系统工程。一般来说,在完成系统设计时,需要了解和掌握很多设计的知识,有界面布局技术的知识,页面采用的字体和颜色的运用,还有页面空白的规范使用等,如何将这些元素进行组合,让页面可以直观表达信息内容的同时,也能维持页面整体的美观。

4.1 系统设计思想

系统开发必然需要统一设计思想。根据这个设计思想指导系统的开发,可以加快系统开发进程。根据目前用户对网上医院预约挂号系统的需求,确定下述原则即为本系统的设计思想。
(1)实用性:本系统依照用户需求设计功能,遵循用户使用方便的原则,把用户在实际工作中的各个操作细节也充分考虑进来,让使用者在没有系统操作说明书的情况下,也能很容易的完成系统的操作。
(2)先进性:为了让本系统具备高性能,设计时,需要把目前的各种成熟技术加以考虑,比如软件开发技术也要考虑进去,比如计算机技术也需要进行考虑。对于系统结构的选择,本系统将毫不犹豫的选择成熟先进的B/S结构,方便开发的同时,对于后期的维护也提供了便利。
(3)高安全性:设计本系统时,对于一些系统的关键数据要严加看管,比如管理员本人的账号和密码,一定要加密保存在数据库里面。除此以外,也需要充分使用安全措施对用户的共享资源进行保护。
(4)可维护性:设计时,要提前考虑本系统的可维护性,因为一个便于维护的系统在后期产生的维护成本将会大大降低。维护一般包括软硬件的维护还有对于网络的维护等。
(5)可扩展性:重新开发一个新系统相比在原有系统上升级,会花费大量的资金和精力,由此,一个好的系统必定具备良好的可扩展性。在用户需求变动的情况下,可以通过系统的更新和升级来持续满足用户需求,这样的系统就具备了可扩展性。

4.2功能结构设计

这部分内容使用结构图这样的工具,显示设计结果,设计的管理员功能见下图。管理员除了管理医生,科室和用户外,也能管理用户预约挂号信息,下载用户病例,发布健康资讯,管理客服聊天信息。
图4-1 管理员功能结构图
设计的医生功能见下图。医生管理本人的坐诊信息,审核预约挂号,管理用户就诊病例。
图4-2 医生功能结构图
设计的用户功能见下图。用户在前台查看医生坐诊,对医生预约挂号,评价并收藏医生,查看健康资讯,联系客服,用户在后台支付挂号价格,下载病例。
图4-3 用户功能结构图

4.3数据库设计

现如今,关系数据库已经广泛占据了市场。其具有坚实的理论基础,并且它可以很好的支持SQL这样的查询语言。所以,大部分程序的后台数据库几乎都是关系数据库。它们被用于长期对程序数据进行保存,采用的方式就是正确使用SQL语句在数据库中完成数据的插入,修改,删除等操作。

4.3.1 数据库E-R图

系统设计的内容不仅仅是对功能进行模块设计,它也包括了对数据库进行设计。功能设计这部分内容已经完成了,接下来进行的数据库设计也要根据规定的流程进行。
数据库设计这部分内容也需要参照用户的需求来完成。同时为了方便展示数据库中存在的各种关系,需要使用到E-R图,并运用E-R图中常见的符号来表示用户需求中的数据内容。所以,在建立E-R模型前,需要把用户需求的数据信息进行拆分并分析,并确定实体,实体特征,还有它们之间的关联,然后选择某个绘制E-R模型的工具比如Visio,亿图,Navicat等,用规定的符号去表示这些数据。这些常用的符号分别是矩形,菱形,椭圆,它们表示的内容分别是实体,关系,属性。
(1)设计的医生实体,还有其属性见下图。
图4-3 医生实体属性图
(2)设计的医生坐诊实体,还有其属性见下图。
图4-4 医生坐诊实体属性图
(3)设计的用户实体,还有其属性见下图。
图4-5 用户实体属性图

  1. 设计的用户病例实体,还有其属性见下图。

图4-6 用户病例实体属性图

  1. 设计的预约挂号实体,还有其属性见下图。

图4-7 预约挂号实体属性图
(6)设计上述实体间关系见下图。
图4-8 实体间关系E-R图

4.3.2 数据库表结构

很多时候,在进行数据表的存储结构的设计时,都会遇到一些困扰,比如每张数据表如何命名,如何设计每张数据表里面的字段,如何为各个字段进行命名,以及如何设置字段的取值范围等信息。很多初学者,在进行表结构设计时,无论是对表进行命名,还是对字段进行命名,都是采用中文的方式,导致在编码阶段,在对数据进行操作时,总是报错,影响编码人员的开发速度,而且一旦数据表结构建立之后,后期进行修改也比较麻烦。因为设计数据表的结构,就意味着程序中需要长期保存的数据都是根据这样的结构进行保存的,在后面的使用中,无论是程序数据往数据表中写入,还是需要编辑或删除数据,都是按照这个规则进行。如此说来,设计数据库也是非常重要的任务,它关系到后面程序的开发,也关系到程序的运行使用。
通常在设计数据表结构时,会把前面设计的E-R图进行表结构的转化。把实体用来代表数据表,把其属性,也就是椭圆形代表的内容用来表示数据表中的字段,然后根据程序对于数据的存储要求,设计字段的类型和长度。比如用户的年龄可以用int(整数型),设置其长度为4或者6等。总之,数据表结构一旦建立,就可以往里面填充数据了。
表4-1 客服聊天信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
useridbigint(20)用户id
adminidbigint(20)NULL管理员id
asklongtextNULL提问
replylongtextNULL回复
isreplyint(11)NULL是否回复

表4-2 科室信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
keshivarchar(200)科室

表4-3 医生信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
yishenggonghaovarchar(200)医生工号
mimavarchar(200)密码
yishengxingmingvarchar(200)医生姓名
xingbievarchar(200)NULL性别
touxiangvarchar(200)NULL头像
zhichengvarchar(200)NULL职称
keshivarchar(200)NULL科室
lianxidianhuavarchar(200)NULL联系电话
youxiangvarchar(200)NULL邮箱
moneyfloat0余额

表4-4 医生坐诊信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
yishenggonghaovarchar(200)医生工号
yishengxingmingvarchar(200)医生姓名
xingbievarchar(200)NULL性别
touxiangvarchar(200)NULL头像
zhichengvarchar(200)NULL职称
keshivarchar(200)NULL科室
youxiangvarchar(200)NULL邮箱
shanzhanglingyuvarchar(200)NULL擅长领域
zuozhenshijianvarchar(200)NULL坐诊时间
guahaojiageint(11)挂号价格
gerenjieshaolongtextNULL个人介绍

表4-5 用户信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
yonghumingvarchar(200)用户名
mimavarchar(200)密码
xingmingvarchar(200)姓名
xingbievarchar(200)NULL性别
touxiangvarchar(200)NULL头像
shoujivarchar(200)NULL手机
moneyfloat0余额
blacklistint(11)0是否拉黑

表4-6 用户病例信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
binglibianhaovarchar(200)NULL病例编号
binglimingchengvarchar(200)NULL病例名称
yonghumingvarchar(200)NULL用户名
xingmingvarchar(200)NULL姓名
shoujivarchar(200)NULL手机
bingqingvarchar(200)NULL病情
jianchaxiangmuvarchar(200)NULL检查项目
jianchajieguovarchar(200)NULL检查结果
yaodanvarchar(200)NULL药单
yizhulongtextNULL医嘱
zhuyishixiangvarchar(200)NULL注意事项
binglifujianvarchar(200)NULL病例附件
riqidateNULL日期
yishenggonghaovarchar(200)NULL医生工号
zhichengvarchar(200)NULL职称

表4-7 预约挂号信息表

字段类型默认注释
idbigint(20)主键
addtimetimestampCURRENT_TIMESTAMP创建时间
yuyuebianhaovarchar(200)NULL预约编号
yuyuemingchengvarchar(200)预约名称
yishenggonghaovarchar(200)NULL医生工号
yishengxingmingvarchar(200)NULL医生姓名
touxiangvarchar(200)NULL头像
yuyueshijiandatetimeNULL预约时间
guahaojiagevarchar(200)NULL挂号价格
yuyueneironglongtextNULL预约内容
beizhuvarchar(200)NULL备注
yonghumingvarchar(200)NULL用户名
xingmingvarchar(200)NULL姓名
shoujivarchar(200)NULL手机
sfshvarchar(200)是否审核
shhflongtextNULL审核回复
ispayvarchar(200)未支付是否支付

第五章 系统实现

前面做的所有工作,都是为了给系统实现做准备。在系统实现期间,需要根据设计方案执行,通过运用编码技术实现一个可以处理事务的系统。

5.1管理员功能实现

5.1.1 客服管理

实现管理员权限的客服管理功能,其运行效果见下图。管理员管理客服聊天信息,一旦接收到用户提交的咨询信息,管理员即可回复。

图5-1 客服管理页面

5.1.2 医生管理

实现管理员权限的医生管理功能,其运行效果见下图。医生的基本资料,包括医生的联系电话,工号以及科室等可以让管理员增删改查管理。

图5-2 医生管理页面

5.1.3 用户管理

实现管理员权限的用户管理功能,其运行效果见下图。用户通过注册提交个人信息,管理员可以拉黑用户,也能对用户取消拉黑。

图5-3 用户管理页面

5.1.4 用户病例管理

实现管理员权限的用户病例管理功能,其运行效果见下图。用户病例附件可以让管理员下载查看,管理员也能查询用户的病例信息。

图5-4 用户病例管理页面

5.2医生功能实现

5.2.1 医生坐诊管理

实现医生权限的医生坐诊管理功能,其运行效果见下图。医生在个人后台增删改查本人的坐诊信息,坐诊信息描述了坐诊时间,挂号价格等。

图5-5 医生坐诊管理页面

5.2.2 预约挂号管理

实现医生权限的预约挂号管理功能,其运行效果见下图。用户对医生进行预约挂号,医生只需审核挂号,对前来就诊的用户登记病例信息。
图5-6 预约挂号管理页面

5.2.3 用户病例管理

实现医生权限的用户病例管理功能,其运行效果见下图。医生登记的用户病例资料都会显示在本页面,医生可以下载病例附件。

图5-7 用户病例管理页面

5.3用户功能实现

5.3.1 查看医生坐诊

实现用户权限的查看医生坐诊功能,其运行效果见下图。用户在本页面查看坐诊时间和挂号价格信息,点击预约挂号即可提交资料进行挂号,用户也能评价本页面显示的医生,或者点击红色五角星收藏医生。

图5-8 查看医生坐诊页面

5.3.2 联系客服

实现用户权限的联系客服功能,其运行效果见下图。用户在操作系统期间有疑问可以向客服进行咨询。

图5-9 联系客服页面

5.3.3 预约挂号

实现用户权限的预约挂号功能,其运行效果见下图。用户在前台提交了预约挂号信息之后,可以进入用户后台支付挂号的价格,查看挂号明细。

图5-10 预约挂号页面

5.3.4 用户病例

实现用户权限的用户病例功能,其运行效果见下图。用户就诊之后,医生会登记用户的病例,用户在本人的后台可以下载病例附件。

图5-11 用户病例页面

第六章 系统测试

一个完整的系统是经由各个子模块组合而成,而各个子模块也都是编制人员通过编程语言和技术实现的。所以对系统测试不仅包含对每个子模块进行测试,也包括对组合的系统整体进行测试,最后还需要目标用户的参与,测试编制的系统。测试期间发现的系统错误都需要记录,并花时间寻找解决办法去改正错误,提高系统的质量,也减少用户在实际使用系统中所产生的困扰。

6.1系统测试的特点

制作的系统在进行测试检验时,也具备一些特点。接下来就对这些特点进行描述:
第一点:比较完整的系统测试,需要经历端到端的测试。
第二点:测试系统一方面需要测试系统的架构,另外一方面也要测试系统的业务流程等;
第三点:测试目标系统需要对测试方法进行正确使用,降低目标系统的出错率。
总之,系统测试除了功能需要运行正常外,系统具备的性能也要得到体现,在面对故障时,系统才有能力去应对。

6.2 系统功能测试

本部分测试选用黑盒测试,主要是检查输入系统的数据,其运行后输出结果是否跟预期保持一致。

6.2.1 用户登录测试

这里选取管理员的登录功能进行检查,测试数据如下。通过不同数据录入,对系统的输出结果进行比对,看实现的登录功能是否符合要求。
表6-1 管理员登录测试表

测试功能操作步骤数据输入预期结果最终结果
管理员登录在登录页面,根据提示填写验证信息,最后提交验证的信息有账号,也有密码,输入的数据保证其中一个是正确的,进行测试失败失败
输入的数据都保持正确成功成功

6.2.2 医生查询功能测试

网上医院预约挂号系统存在很多数据,查询功能就可以帮助使用者快速获取信息,对该功能测试的数据见下表。只有使用者录入的关键词内容正确,才会得到匹配的结果。
表6-2医生查询功能测试表

测试功能操作步骤数据输入预期结果最终结果
医生查询功能进入查询页面,登记要查询内容的关键词并提交登记格式有误的内容,或者是保持医生姓名为空失败失败
正确录入医生姓名成功成功

6.3 系统测试结果

在对网上医院预约挂号系统进行功能和性能上的检测之后,也对系统的兼容性和易操作性进行了检测。最后得出网上医院预约挂号系统与用户需求保持高度一致,系统具有一定的安全性能,可以对用户提供的数据进行安全保存,另外系统不仅可以满足用户现有需求,其具备的扩展性也能让系统在未来进行功能扩展或升级,以满足用户的不同操作需求。

结 论

从设计到制作完成,本系统已经花了三四个月时间,这期间也得到了导师的帮助。不然我不可能在这么短时间完成。网上医院预约挂号系统的开发,是一个运用理论知识来指导实际工作的任务。尽管已经充分把大学期间,从书本上学习的知识运用了进来,但还是发现自身知识的匮乏。不过比较有收获的事情就是,通过本系统的开发,我对计算机软件的开发有了重新的见解,也知道它实现的具体流程,并且自己通过实际操作,不仅重新回顾和补充了以往学习的书本知识,也知道理论和实际操作之间的相互关系,并能够在一定环境下,让理论指导实践。项目能够完成,也代表着我自身开发能力的进步。
项目制作期间,我觉得最关键的环节就是系统的分析和设计,分析系统具备的功能需要多查找同类型系统的资料,并把用户需求进行参考,才可以得出本系统的需求。设计时也是在需求分析的基础上开展,也是对功能的具体细分,同时还有设计保存数据的数据库,不但要创建合适的数据表,也需要认真对表结构进行构思,尤其是表的字段设计,还有表关系的设计也是很关键的设计环节。因为后期的编码都是根据设计文档开展下去的。编码虽然对编程技术的要求较高,但是一些良好的编程习惯也不能忽视,比如注释代码,这样便于后期的程序维护。还有学会如何对变量取名,因为程序里面涉及到的变量有很多,一个方便记忆,又容易与其它变量区分的变量名称是非常有益的,可以节省编码和测试过程的时间。
网上医院预约挂号系统完全根据需求文档设计制作,可以在数据处理上发挥它的优势,而且使用者也能轻松完成对系统的操作。从界面设计的角度来看,网上医院预约挂号系统始终遵循简单大方的原则,让使用者一进入系统界面,不会产生压抑等负面情绪,而是比较愉悦的心情去操作系统。从程序编码的角度来看,本系统设计的结构比较清晰,而且编码的方式也比较规范化,在关键处也都进行了代码注释。从数据存储的角度来看,本系统选用的MySQL数据库,本身比较轻盈,但能短时间完成大量数据的处理,其提供的功能不可小觑。
作为毕设进行制作的网上医院预约挂号系统,其缺陷也是显而易见的,只能说需求文档要求的大致功能都得到实现,但是程序的有些操作逻辑还是比较复杂,并没有进行优化,在今后的时间里,将会继续学习新技术,利用重构的方式设计本系统,使之具备更强的可扩展性,让系统日趋完善。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm配置anaconda环境时找不到python.exe解决办法

在一台新电脑上配置anaconda环境时,发现pycharm在设置解释器时,在conda环境中找不到anaconda已经创建好的python解释器可执行文件python.exe,其显示如下: 上图只显示创建的虚拟环境中的那些文件夹,但是没有显示这个虚拟…

【Java】SpringBoot快速整合mongoDB

目录 1.什么是mongoDB? 2.Docker安装mongoDB 3.SpringBoot整合mongoDB步骤 4.验证 1.什么是mongoDB? MongoDB是一种非关系型数据库,被广泛用于大型数据存储和分布式系统的构建。MongoDB支持的数据模型比传统的关系型数据库更加灵活&#x…

【Node.js】Express学习笔记(黑马)

目录 初识 ExpressExpress 简介Express 的基本使用托管静态资源nodemon Express 路由路由的概念路由的使用 Express 中间件中间件的概念Express 中间件的初体验中间件的分类 初识 Express Express 简介 什么是 Express? 官方给出的概念:Express 是基于…

这个Python神器,能让你摸半天鱼!

今天给大家分享一个炒鸡炒鸡简单又好用的神器——pampy。 我敢以我的荣誉保证,用了它之后,你写代码的效率可以蹭蹭蹭地提升! Pampy 是哪路神仙 首先普及一下模式匹配。 模式匹配即给定某种模式,用这种模式去检查序列或字符串是…

前端页面显示时间与数据库时间差8小时

环境 jdk11mysql 8.0docker部署的 问题 突然发现页面上的数据比数据库的时间差了八个小时,然后我就开始排查问题。 首先看数据库的信息,发现时间都是没错的。 然后看一下ymal文件,是否是数据源链接写的有问题。 spring:datasource:url:…

NzN的数据结构--外排序

接上文,本篇向大家简单展示一下外排序的实现。先三连后看才是好习惯!!! 在我们刚接触数据结构的时间里,我们只需要对外排序简单了解一下即可,重点要掌握的还是前面我们介绍的比较排序和非比较排序里的计数排…

蓝色系UX/UI设计求职面试作品集模版figmasketchPPT可编辑源文件

页面数量: 20P 页面尺寸:1920*1080PX 交付格式:figma、sketch、PPT 赠送文件:24款高质量样机(PSD格式) 该作品集虽然只有20页,但可根据需求复制作品集里已有的页面作为模版来扩展您的设计项目 该作品集模版可编辑可修…

【Qt 学习笔记】QWidget的styleSheet属性 | RGB | 在线调色板

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ QWidget的styleSheet属性 文章编号:Qt 学习笔记 / 20 文章…

都2024年了,还不知道怎么学习网络安全?来看看吧,很难找全的

前言 最近收到不少关注朋友的私信和留言,大多数都是零基础小友入门网络安全,需要相关资源学习。其实看过的铁粉都知道,之前的文里是有过推荐过的。新来的小友可能不太清楚,这里就系统地叙述一遍。 01.简单了解一下网络安全 说白…

Linux中断(栈、上下部)

进程线程中断的核心:栈 进程切换时,需要将当前进程的寄存器参数保存在当前进程的栈中。要再次执行此进程时需要先从栈中恢复此进程的寄存器参数。 对于同个进程的不同线程,代码和数据是所有线程共享的,所以线程间可以通过全局变量…

企业级网络安全:入侵防御实时阻止,守护您的业务安全

随着互联网技术的快速发展,企业级网络安全问题日益凸显。在这个数字化时代,企业的业务安全不仅关系到企业的形象和声誉,还直接影响到企业的生存和发展。因此,加强企业级网络安全,预防和抵御各种网络攻击已成为企业的重…

【EM算法】算法及注解

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。 算法背景 如果概率模型的变量都是观测变…

利用计算机视觉算法提取裂纹相关特征参数信息

ABCnutter/CrackFeature: 🚀使用计算机视觉相关算法提取裂缝的骨架(矢量化)、轮廓【支持提前修复断裂裂缝】,以及几何特征参数(长度、宽度、面积和主要方向)【欢迎Star】。主要流程以及相关算法如下&#x…

zato,一个神奇的 Python 库!

大家好,今天为大家分享一个神奇的 Python 库 - zato。 Zato是一个高性能的Python企业服务总线(ESB)和应用集成框架,专为简化复杂系统间的通信和数据交换而设计。它提供了一个灵活、可扩展的平台,以支持各种集成需求,从简单的数据传…

Android Studio 之 Intent及其参数传递

一、Intent 显式Intent:通过组件名指定启动的目标组件,比如startActivity(new Intent(A.this,B.class)); 每次启动的组件只有一个~隐式Intent:不指定组件名,而指定Intent的Action,Data,或Category,当我们启动组件时, 会去匹配AndroidManifest.xml相关组件的Intent-…

代码随想录——动态规划

系列文章目录 代码随想录——回溯 代码随想录——贪心算法 代码随想录——动态规划 文章目录 系列文章目录概述简单斐波那契数***爬楼梯***使用最小花费爬楼梯不同路径不同路径 II***整数拆分***不同的二叉搜索树***普通0-1背包***分割等和子集***最后一块石头的重量 II***目标…

内网渗透-内网环境下的横向移动总结

内网环境下的横向移动总结 文章目录 内网环境下的横向移动总结前言横向移动威胁 威胁密码安全 威胁主机安全 威胁信息安全横向移动威胁的特点 利用psexec 利用psexec.exe工具msf中的psexec 利用windows服务 sc命令 1.与靶机建立ipc连接2.拷贝exe到主机系统上3.在靶机上创建一个…

ros-param添加参数控制rviz显示掉帧问题

在ros中有一套参数系统可以直接写到launch文件中,这样非常方便,不需要编译就能直接用,这对于c来说非常的有好,这里记录一下如何使用。 主要步骤如下: 首先初始化节点 使用nodehandle进行管理,然后通过param…

企业常用Linux文件命令相关知识+小案例

远程连接工具无法连接VMWARE: 如果发现连接工具有时连不上,ip存在,这时候我们查看网络编辑器,更多配置,看vnet8是不是10段,nat设置是否是正确的? 软件重启一下虚机还原一下网络编辑器 查看文件…

Windows版PHP7.4.9解压直用(免安装-绿色-项目打包直接使用)

安装版和解压版 区别 安装版: 安装方便,下一步------下一步就OK了,但重装系统更换环境又要重新来一遍,会特别麻烦解压版(推荐): 这种方式(项目打包特别方便)能更深了解mysql的配置&…