基于php医院预约挂号系统

摘 要

随着信息时代的来临,过去的管理方式缺点逐渐暴露,对过去的医院预约挂号管理方式的缺点进行分析,采取计算机方式构建医院预约挂号系统。本文通过阅读相关文献,研究国内外相关技术,开发并设计一款医院预约挂号系统的构建方案。
本文通过采用B/S架构, MySQL数据库以及php技术,结合国内管理现状,开发了一个医院预约挂号系统。系统主要有个人中心、用户管理、医生管理、医院概况管理、科室信息管理、就诊信息管理、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理、系统管理等功能模块。通过系统测试,本系统实现了系统设计目标,相对于人工管理方式,本系统有效的减少了医院预约挂号管理的经济投入,并且大幅度提升了医院预约挂号管理的效率。

关键词:医院预约挂号;php技术;MySQL数据库

Abstract

With the coming of the information age, the shortcomings of the past management mode are gradually exposed. The shortcomings of the past management mode of hospital appointment registration are analyzed, and the hospital appointment registration system is constructed by computer. In this paper, by reading relevant literature, research domestic and foreign related technology, develop and design a hospital appointment registration system construction scheme.
In this paper, a hospital appointment registration system is developed by using B/S architecture, MySQL database and php technology, combined with the current situation of domestic management. The system mainly consists of individual center, user management, doctor management, hospital overview management, department information management, medical information management, registration information management, diagnosis information management, cancellation registration management, health records management, system management and other functional modules. Through the system test, the system has achieved the system design objectives, compared with manual management, the system effectively reduces the economic input of hospital appointment registration management, and greatly improves the efficiency of hospital appointment registration management.

Key words: hospital appointment registration; php technology; MySQL database

目 录

1 绪 论 1
1.1课题背景 1
1.2课题目的及意义 1
1.3课题研究现状 1
1.4论文主要工作内容 2
2 系统关键技术 3
2.1 php技术 3
2.2 MySQL数据库 3
2.3 B/S结构 4
3 系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2操作可行性 5
3.1.3经济可行性 5
3.1.4法律可行性 5
3.2系统性能分析 6
3.2.1系统安全性 6
3.2.2数据完整性 6
3.3系统功能分析 6
3.4系统流程分析 8
3.4.1数据开发流程 8
3.4.2用户登录流程 8
3.4.3系统操作流程 9
3.4.4添加信息流程 10
3.4.5修改信息流程 11
3.4.6删除信息流程 11
4 系统设计 12
4.1系统概要 12
4.2系统结构设计 12
4.3数据库设计 13
4.3.1数据库设计原则 13
4.3.2数据库实体 14
4.3.3数据库表设计 16
4.4系统时序图 25
4.4.1注册时序图 25
4.4.2登录时序图 26
5 系统的实现 27
5.1基本任务 27
5.2系统功能实现 27
5.3后台模块实现 30
5.3.1管理员功能模块 30
5.3.2医生模块实现 35
5.3.3用户模块实现 36
6 系统测试 38
6.1测试环境 38
6.2测试目的 38
6.3测试概述 38
6.4单元测试 39
6.4.1注册测试 39
6.4.2登录测试 40
6.5集成测试 41
结 论 42
参考文献 43
致 谢 44

1 绪 论

1.1课题背景
医院预约挂号系统主要通过计算机网络,对医院预约挂号所有的信息进行统一管理,方便用户随时随地进行增添、修改、查询、删除各类信息。本系统极大的促进了系统与数据库管理系统软件之间的配合,满足了绝大部分用户的需求,给用户带来了很大的便利。以现在计算机的技术的应用,使计算机成为人们使用现代发达技术的桥梁。计算机可以有效的解决信息,十分方便的获取信息,从而提高工作的效率。
1.2课题目的及意义
随着信息化管理技术不断发展,传统的管理方式已经无法适应,效率与预期相差甚远,因此需要开发一套操作方便,效率较高的医院预约挂号系统。当前,21新世纪,人们已经进入了信息时代,人们获取信息的方式大大增加,摆脱了传统的报纸、电视、广播等媒体,而是从各种网络、自媒体平台上获取信息,这就导致日常生活中产生的数据信息十分巨大,尤其是对于医院预约挂号管理,更需要大量的信息。本系统能够快速有效的帮助用户获得需要的信息,并且可以让管理员能够轻松效率地浏览所有的信息。系统开发的意义主要在于两个方面,一方面,系统上线后,能够为医院预约挂号管理带来很大便利,医院预约挂号管理涉及的数据量较大,要求精度高,采用计算机系统能够很好满足此需求,并且随着目前电脑、手机的普及,方便用户的使用。另一方面,通过自己动手操作设计系统,不仅可以提升自己的学习兴趣,也是在进入社会之前的一次很好的锻炼机会。
1.3课题研究现状
其实,相关的研究在国外已经开展了很多年了,将医院预约挂号管理与信息技术相融合的理念在欧美等发达国家的建设中很受欢迎,对美国开放的Ravel平台,能够在手机上实现远程信息管理等功能,并且可以实现可视化的详细过程展示等,极大的丰富了线上医院预约挂号管理模式。2015年2月,国王学园正式提出了在线信息管理的制度设想[5],希望通过互联网技术保障实现信息管理。但现如今,也有许多国外学者提出,信息化时代带来的乱象越来越多,日益增长的在线管理平台让人应接不暇,需一场数字化的现代化的转型,建立可靠的医院预约挂号系统,实现数字化管理。
随着医院预约挂号系统的不断出现,用户需求不断增多,医院预约挂号系统也不断的得到壮大。该系统主要是满足多方面需求的实际需要,方便用户利用互联网实现对医院预约挂号信息的查询、对比,同时让管理者可以通过这个系统对用户实际需求以及医院预约挂号信息的所有了解进行操作,也可以通过该系统进行更加方便的管理操作[4]。
1.4论文主要工作内容
本文设计并实现了一个医院预约挂号系统,主要包括以下具体工作内容:
(1)参考国内外相关系统开展了系统的需求分析,明确了个人中心、用户管理、医生管理、医院概况管理、科室信息管理、就诊信息管理、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理、系统管理等主要功能需求;
(2)设计系统技术方案,采用PHP语言,选用MySQL数据库、B/S结构来设计并实现本系统。
(3)具体介绍了各个功能模块的设计与实现。
(4)对系统的主要功能进行了全面的测试。

2 系统关键技术

2.1 php技术
PHP是全球最普及、最受欢迎的编程语言之一,它具有简单易学、源码开放、低成本、可操纵多种数据库的特点,它支持面向对象编程,支持多种开源框架和支持跨平台操作并且完全免费。PHP是一种HTML嵌入式脚本语言,它有很多用途,特别是在系统开发方面实用性强、开放、成本低、安全性强,这使得PHP能够更好地开发任何系统。PHP能够让Web开发人员快速编写动态生成的网页,它不仅能够操纵页面,还可以设置Cookie、管理数字签名和重定向用户,它提供了DBCS与其他数据库可以更好的连接,并集成了各种不同的外部数据库来执行任何操作,以解析包含PDF文档的XML。PHP无需特殊的开发环境和IDE,它的编程语言类似与C和Perl,所以对于初学者来说,这种脚本语言是比较容易学的。
目前,也有小型的脚本语言在Web的服务器端是可以使用的,但人们更常用的是PHP编程语言,只相对于其他脚本语言ASP和Perl,PHP是比较轻量型的,不需要安装太多运行环境。PHP有自己的优势:
(1)开拓成本较低,周期短。
(2)即写即用,开发敏捷。
(3)支持各种数据库。
(4)开发环境轻量化,一般采用Apache+MySQL+PHP这个组合模式就能开发一个系统。
(5)PHP采用进程式处理问题,占用内存少。
(6)PHP的语法是比较简单、有效、没有太多约束的,PHP的灵活性是强大到足以帮助任何类型的系统。
(7)PHP的功能比较完善,它支持对图形的处理、对编码与解码、压缩文件的处理和对XML解析等。
2.2 MySQL数据库
数据库系统是一个进行数据存储的系统,数据库就是这个系统的库,用来存放通过系统的数据,数据库在开发人员的日常生活中,占据了很大的地位。因为使用数据可以使自己系统存储数据更加方便、快捷。
MySQL之所以受到广大开发人员的欢迎,主要原因使因为数据库的使用是免费的。最开始的数据库研发出后,是需要收费的,但是随着MySQL的出现和不断更新,越来越多的用户去使用这款软件。首先它是开源且免费的,这样大大减少了开发的成本;第二MySQL可以在多个平台上使用,在MAC、Windows和Linux上都可以使用。其次它的性能也是十分强大的,性价比极高。最后,MySQL相比其他数据库语言来说,更加简单易于上手;可以与很多平台搭建联系,比如本文使用的Php。
2.3 B/S结构
B/S架构,也就是浏览器/Server (Browser/Server),是在因特网技术发展过程中, C/S架构的一种改变和完善。采用该架构,可以充分利用 WWW的浏览器来完成用户接口,而在前端完成交易的部分业务,而服务端则完成了交易的基本功能。这就构成了3- tier的构造。B/S体系架构,采用了日益完善的 WWW技术,将各种 Script、 VBScript、 PhpScript、 ActiveX等技术相融合,通过一款普通的网络浏览器,既可以完成一些复杂的特定程序,又可以节省大量的资源,又可以节省大量的资源。由于视窗98/2000把浏览器技术移植到了操作系统中,所以这个架构现在已经是目前最受欢迎的应用程序架构了。
B/S架构,也就是浏览/伺服器(Browser/Server)架构,是指仅有一个伺服器(Server)被安装,而客户机则使用浏览(Browse)来执行该软件。这是因特网技术出现后, C/S架构的一种改变与完善。它充分运用日益完善的 WWW技术,并将各种 Script、 PhpScript、 ActiveX等 Script技术相融合,形成了一个崭新的体系结构技术。

3 系统分析

3.1可行性分析
系统主要目标是实现网上的相关信息管理服务。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。
3.1.1技术可行性
技术上的可操作性是项目建设顺利进行的一个关键因素,技术措施必须达到要求,方能使项目顺利进行。该方案使用了开放源码的代码,并使用 Php等技术,对软件的设计具有适度的困难和对电脑的硬件需求。所有的语言都很容易使用。该项目具有技术上的可行性。
3.1.2操作可行性
当今社会,电脑已经是耳熟能详的存在了,绝大部分用户都可以通过电脑轻松操作本系统。由此可知,我们的管理系统对于绝大部分用户来说,操作是完全可行的,并不存在操作上的盲区。
3.1.3经济可行性
本系统所需要用到的所以的工具都是开源,不收费的,并且本系统因为不具有太过于复杂的结构,用户维护系统的费用也不高。所以,本系统的经济可行性是可行的。
3.1.4法律可行性
此系统是自己设计的管理系统,具有很大的实际意义。因为无论是软件还是数据库,采用的都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。
综上所述,医院预约挂号系统在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的。
3.2系统性能分析
3.2.1系统安全性
医院预约挂号系统必须由领导机构严格执行。具体要求如下:
(1)如果要使用医院预约挂号系统,必须先注册才能进行登录。未获许可的使用者,不可以任意的方法操作系统,因而本系统将会得到保护。
(2)在不同司法管辖区的具体实施。使用其他权限登录时,无法跳过此操作。
(3)如果专门应用,该系统将包含许多必须保密的数据和信息。如果存在系统漏洞,发布信息将给客户造成重大损失。因此,我们充分保证了该规则和系统的发展趋势。
3.2.2数据完整性
(1)必须对所有的数据进行详尽的记载,而该信息的内容不得为空白。
(2)各种资料的关联一定要恰当。
(3)在不同的档案中,同一资料资讯应该互相相符。
3.3系统功能分析
医院预约挂号系统主要有管理员、用户和医生三个功能模块。以下将对这三个功能的作用进行详细的剖析。
管理员模块:管理员是系统中的核心用户,管理员登录后,可以对后台系统进行管理。主要功能有个人中心、用户管理、医生管理、医院概况管理、科室信息管理、就诊信息管理、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理、系统管理等功能。管理员用例如图3-1所示:
在这里插入图片描述

图3-1 管理员用例图

用户模块:用户登录进入系统可以实现对首页、医院概况、就诊信息、公告信息、后台管理、个人中心等进行操作。用户用例如图3-2所示:
在这里插入图片描述

图3-2 用户用例图

医生模块:医生登录进入系统可以实现对个人中心、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理等进行操作。医生用例如图3-3所示:
在这里插入图片描述

图3-3 医生用例图
3.4系统流程分析
3.4.1数据开发流程
系统开发时,首先对此系统进行需求分析,进而对系统进行模块、编码等详细设计总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-4所示:
在这里插入图片描述

图3-4系统开发流程图
3.4.2用户登录流程
要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。如图3-5所示。
在这里插入图片描述

图3-5用户登录流程图
3.4.3系统操作流程
系统操作流程如图3-6所示:
在这里插入图片描述

图3-6系统操作流程图
3.4.4添加信息流程
管理员可以添加信息,用户添加可以自己权限内的信息。添加信息流程如图3-7所示:
在这里插入图片描述

图3-7添加信息流程图
3.4.5修改信息流程
管理员可以修改信息,用户可以修改自己权限内的信息,首先进入修改信息界面,输入需要修改信息,在系统进行判定为正确和合规后修改成功,并将数据更新至数据库。信息不合法则修改失败,重新输入。修改信息流程图如图3-8所示:
在这里插入图片描述

图3-8修改信息流程图
3.4.6删除信息流程
管理员可以删除信息,点击删除按钮,系统会提示是否删除信息,点击确定,则信息被删除,数据库中的信息随之删除,删除信息流程图如图3-9所示:
在这里插入图片描述

图3-9删除信息流程图

4 系统设计

4.1系统概要
在对该方法进行了系统的解析之后,进行了一个包括了整体和细节的记性系统的设计。整体的设计仅仅是一个整体的方案,通过整体的方案,我们可以将整个体系中的某些部分分割开来,比如文件,文档,数据等等。经过整体的规划,我们可以将这些软件的各个部分,都分成了不同的部分。不过这仅仅是一种初步的分类,并未实际实施。
总体来说,这是一个初步的方案,也是一个工程。我们可以进行多种方案的综合,在比较中,从性能、成本、效益三方面进行比较,最后得出最佳的产品,选用好的总体设计能够减少成本,提高企业效益,从这一点来讲,整体设计非常重要的。
系统工作原理图如图4-1所示:
在这里插入图片描述

图4-1 系统工作原理图
4.2系统结构设计
构图是系统的体系结构,体系结构是体系结构体系的重要组成部分。系统的总体结构设计如图4-2所示:
在这里插入图片描述

图4-2 系统总体架构图
4.3数据库设计
在医院预约挂号系统中,以资料库为基础。当前计算机体系中最重要的是数据库。数据库的发展好坏,直接关系到整个系统的性能与运行效率。
4.3.1数据库设计原则
利用 ER模式进行数据库的概念结构设计。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是一个关于工作环境中的事件的信息,而一个属性是关于物理特征的说明。在系统的设计过程中,资料库发挥了关键作用。下面设计出这几个关键实体的实体—关系图。
4.3.2数据库实体
在一个资料模式中,一个被称作“实例”的实体,与真实的“事件”或者“物体”相匹配,可以与其它物体区分开来。例如,公司中的每个员工,家里中的每个家具。
本系统的实体属性图如下图所示:
1、用户实体图如图4-3所示:
在这里插入图片描述

图4-3用户实体图

2、医院概况实体图如图4-4所示:
在这里插入图片描述

图4-4医院概况实体图

3、诊断信息实体图如图4-5所示:
在这里插入图片描述

图4-5诊断信息实体图

4、健康档案实体图如图4-6所示:
在这里插入图片描述

图4-6健康档案实体图

5、就诊信息实体图如图4-7所示:
在这里插入图片描述

图4-7就诊信息实体图
4.3.3数据库表设计
系统有一个内部数据库。对于数据库系统设计一般基于对我国现有企业数据库系统进行优化管理的操作系统。通常广泛采用的企业数据库资源管理软件系统主要类型包括mysqlserver、mysql、oracle等。该医院预约挂号系统主要采用了mysql大型数据库资源管理软件。
下表将详细列出系统的数据库中所有列表。每一份量表的设计成果列出数据库的表信息属于设计的一部分,下面介绍数据库中的各个表的详细信息。
表4-1:就诊信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
touxiang longtext 4294967295 头像
zhicheng varchar 200 职称
guahaofei int 挂号费
keshimingcheng varchar 200 科室名称
jiuzhenshijian varchar 200 就诊时间
shanzhanglingyu varchar 200 擅长领域
yishengjianjie longtext 4294967295 医生简介

表4-2:健康档案
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
danganbianhao varchar 200 档案编号
zhanghao varchar 200 账号
xingming varchar 200 姓名
nianling int 年龄
xuetang varchar 200 血糖
maibo varchar 200 脉搏
manxingjibing varchar 200 慢性急病
jiazubingshi varchar 200 家族病史
yaowuguomin varchar 200 药物过敏
jiwangbingshi varchar 200 既往病史
jiankangzhuangkuang varchar 200 健康状况
xiangxishuoming longtext 4294967295 详细说明
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
jiandangriqi date 建档日期

表4-3:挂号信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuyuebianhao varchar 200 预约编号
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
zhicheng varchar 200 职称
guahaofei int 挂号费
keshimingcheng varchar 200 科室名称
jiuzhenshijian varchar 200 就诊时间
yuyueshijian datetime 预约时间
beizhu varchar 200 备注
zhanghao varchar 200 账号
xingming varchar 200 姓名
shoujihaoma varchar 200 手机号码
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复
ispay varchar 200 是否支付 未支付

表4-4:诊断信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
zhicheng varchar 200 职称
keshimingcheng varchar 200 科室名称
jiuzhenshijian varchar 200 就诊时间
zhenduanshijian datetime 诊断时间
bingqingdengji longtext 4294967295 病情登记
zhenduanjieguo varchar 200 诊断结果
zhanghao varchar 200 账号
xingming varchar 200 姓名
shoujihaoma varchar 200 手机号码

表4-5:医院概况评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容

表4-6:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-7:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-8:关于我们
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
subtitle varchar 200 副标题
content longtext 4294967295 内容
picture1 longtext 4294967295 图片1
picture2 longtext 4294967295 图片2
picture3 longtext 4294967295 图片3

表4-9:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture longtext 4294967295 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注

表4-10:取消挂号
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yuyuebianhao varchar 200 预约编号
gonghao varchar 200 工号
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
zhicheng varchar 200 职称
guahaofei int 挂号费
keshimingcheng varchar 200 科室名称
jiuzhenshijian varchar 200 就诊时间
yuyueshijian varchar 200 预约时间
beizhu varchar 200 备注
zhanghao varchar 200 账号
xingming varchar 200 姓名
shoujihaoma varchar 200 手机号码
quxiaoshijian datetime 取消时间
quxiaoyuanyin longtext 4294967295 取消原因
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-11:公告信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容

表4-12:科室信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
keshimingcheng varchar 200 科室名称
keshidizhi varchar 200 科室地址
keshixiangqing longtext 4294967295 科室详情

表4-13:医院概况
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yiyuanmingcheng varchar 200 医院名称
leixing varchar 200 类型
tupian longtext 4294967295 图片
zixundianhua varchar 200 咨询电话
xiangxidizhi varchar 200 详细地址
yuanzhang varchar 200 院长
yiyuanjianjie longtext 4294967295 医院简介
chengliriqi date 成立日期
yiyuanxiangqing longtext 4294967295 医院详情

表4-14:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
youxiang varchar 200 邮箱
shoujihaoma varchar 200 手机号码
touxiang longtext 4294967295 头像

表4-15:医生
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
gonghao varchar 200 工号
mima varchar 200 密码
yishengxingming varchar 200 医生姓名
xingbie varchar 200 性别
youxiang varchar 200 邮箱
lianxishouji varchar 200 联系手机
touxiang longtext 4294967295 头像

4.4系统时序图
系统设计的详细描述主要以时序图的形式进行,时序图描述了对象之间传输消息的时序,用于表示用例中的行为序列。它是一个强调消息时间顺序的交互图。序列图描述什么:序列图描述系统中类和类之间的交互,将这些交互建模为消息交换。序列图描述了类和类之间交换的消息,以完成所需的行为。序列图中的每个消息表示类的一个操作或导致状态机中发生更改的触发事件。
4.4.1注册时序图
注册时序图,如图4-8所示。
在这里插入图片描述

图4-8注册时序图
4.4.2登录时序图
登录时序图如图4-9所示。
图4-9 登录时序图
在这里插入图片描述

5 系统的实现

5.1基本任务
该系统的实施方式是指能精确地描绘要实施的对象,以便后续的代码可以按照系统的实际情况用编程的方式来写相应的软件。
系统实现的基本任务如下:
(1)模块的数据结构进行设计,在之前的需求分析、概要设计中更加明确地界定更加含糊的资料类型。
(2)更加精确地对每个模板进行了更加细致的算法设计,并对每个组件的处理过程进行了算法的说明。
(3)执行实体化的资料库。
(4)其他设计:有时候,还要考虑到系统的不同,如:输入/输出格式设计、代码设计、人机对话设计等。
(5)对系统的说明书进行编写。
(6)评审:审查程序中的规则和数据库的实体构造。
系统结构可分为具有三个不同功能的包的php源代码、系统的数据库文件、界面代码。php源代码中三个不同包分别为控制、逻辑、缩写层,分别控制也不同的程序具有不同的性质。有了他们就能对系统的数据进行增删改查,完成界面的显示和数据统计,产生随机数和属性文件的读取。定时器类、翻页工具类等,包含了日期转换、字符串处理、获取编译环境等信息。这些类极大地方便了Php编程,日常开发中,经常要用来这些类。
5.2系统功能实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到医院预约挂号系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
在这里插入图片描述

图5-1 系统首页界面

系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册界面如图5-2所示:
在这里插入图片描述

图5-2系统注册界面

医院概况:在医院概况页面的输入栏中输入医院名称、选择类型和详细地址进行查询,可以查看到医院概况详细信息,并根据需要进行收藏或评论等操作;如图5-3所示:
在这里插入图片描述

图5-3医院概况详细界面

就诊信息:在就诊信息页面的输入栏中输入医生姓名、选择职称和科室名称进行查询,可以查看到就诊详细信息,并根据需要进行收藏或挂号等操作;如图5-4所示:
在这里插入图片描述

图5-4就诊信息详细界面

个人中心:在个人中心页面通过填写个人详细信息进行更新信息操作;还可以对我的收藏等进行详细操作;如图5-5所示:
在这里插入图片描述

图5-5个人中心界面

5.3后台模块实现
后台用户登录,在登录页面选择需要登录的角色,再正确输入用户名和密码后,点击登录进入操作系统进行操作;如图5-6所示。
在这里插入图片描述

图5-6后台登录界面
5.3.1管理员功能模块
管理员进入主界面,主要功能包括对个人中心、用户管理、医生管理、医院概况管理、科室信息管理、就诊信息管理、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理、系统管理等进行操作。管理员主界面如图5-7所示:
在这里插入图片描述

图5-7管理员主界面

管理员点击用户管理。在用户页面输入账号和姓名进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-8所示:
在这里插入图片描述

图5-8用户管理界面

管理员点击医生管理。在医生页面输入工号和医生姓名进行查询、新增或删除医生列表,并根据需要对医生详情信息进行详情、排班、修改或删除操作;如图5-9所示:
在这里插入图片描述

图5-9医生管理界面

管理员点击医院概况管理。在医院概况页面输入医院名称、选择类型和详细地址进行查询、新增、删除或医院类型统计医院概况列表,并根据需要对医院概况详情信息进行详情、修改、查看评论或删除操作;如图5-10所示:
在这里插入图片描述

图5-10医院概况管理界面

管理员点击科室信息管理。在科室信息页面输入科室名称和科室地址进行查询、新增或删除科室信息列表,并根据需要对科室详情信息进行详情、修改或删除操作;如图5-11所示:
在这里插入图片描述

图5-11科室信息管理界面

管理员点击就诊信息管理。在就诊信息页面输入医生姓名、选择职称和科室名称进行查询或删除就诊信息列表,并根据需要对就诊详情信息进行详情、修改或删除操作;如图5-12所示:
在这里插入图片描述

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

管理员点击诊断信息管理。在诊断信息页面输入医生姓名、职称、科室名称和姓名进行查询、删除或诊断时间统计诊断信息列表,并根据需要对诊断详情信息进行详情或删除操作;如图5-13所示:
在这里插入图片描述

图5-13诊断信息管理界面

管理员点击健康档案管理。在健康档案页面输入档案编号、账号和姓名进行查询或删除健康档案列表,并根据需要对健康档案详情信息进行详情或删除操作;如图5-14所示:
在这里插入图片描述

图5-14健康档案管理界面

管理员点击系统管理。在公告信息页面输入标题进行查询、新增或删除公告信息列表,并根据需要对公告详情信息进行详情、修改或删除操作;还可以对关于我们、系统简介和轮播图管理进行详细操作;如图5-15所示:
在这里插入图片描述

图5-15系统管理界面
5.3.2医生模块实现
医生进入主界面,主要功能包括对个人中心、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理等功能进行操作。如图5-16所示:
在这里插入图片描述

图5-16医生主界面

医生点击挂号信息管理。在挂号信息页面输入医生姓名、职称、科室名称、姓名和选择是否通过进行查询挂号信息列表,并根据需要对挂号详情信息进行审核、详情或诊断操作;如图5-17所示:
在这里插入图片描述

图5-17挂号信息管理界面

医生点击诊断信息管理。在诊断信息页面输入医生姓名、职称、科室名称和姓名进行查询或删除诊断信息列表,并根据需要对诊断详情信息进行详情、健康档案、修改或删除操作;如图5-18所示:
在这里插入图片描述

图5-18诊断信息管理界面
5.3.3用户模块实现
用户进入系统后台,主要功能包括对个人中心、挂号信息管理、诊断信息管理、取消挂号管理、健康档案管理等功能进行操作。如图5-19所示:
在这里插入图片描述

图5-19用户主界面

6 系统测试

6.1测试环境
医院预约挂号系统的测试环境如表6-1所示。
表6-1 测试环境信息表
分类 名称 版本
操作系统 Windows 7
数据库 MySQL 8.0
浏览器 Chrome 87.0.4280.88
6.2测试目的
进行软件测试主要是为了验证产品或者系统是否完成了实现功能,测试能够防止系统出现错误,还能降低开发成本减少不必要的花销,其次测试的好处包括防止错误、降低开发成本和提高性能。其次,通过软件的检测可以对项目的安全性进行鉴别。向开发人员提供软件测试的反馈,并为项目的安全性评价提供必要的资料。此外,软件的检测保证在正式发布之前能够满足在线要求。在每一个开发过程中不断跟踪和对软件的测试。还有,软件测试还能保证系统到达预期的标准,从而能够尽快上线。
在本系统中,主要测试前端和后端,分别对系统的不同模块进行测试,实现过程中是否出现问题等。是否能够处理不同的数据。前端主要测试:用户界面的实现和不同界面的交互情况,后端主要测试系统经过管理后前后端链接是否顺畅,前端界面是否及时更新,更新是否有误。
6.3测试概述
1.测试的原则
(1)测试应该以顾客的需要为基础。从用户的观点来考虑,最大的问题是软件不能达到用户的预期。有时候,软件产品的测试结果非常完美,但却不是客户最终想要的产品,那么软件产品的开发就是失败的,而测试工作也是没有任何意义的。因此测试应依照客户的需求配置环境,并且按照客户的使用习惯进行测试并评价结果。
(2)尽早测试。由于软件开发过程中的各种不同的环节都会出现问题,所以要及早进行测试,将软件的检测工作渗透到整个软件的整个寿命过程,使测试者可以及早地察觉并防止这些缺陷。减少了 bug修理费用。
(3)穷尽测试是不可能的。因为受时间和财力的制约,无法实现所有不同的输入和输出的综合测试,测试者能够基于测试的风险和轻重缓急等来决定测试的重点,由此来进行测试,并在测试成本、风险和收益间找到一个平衡点。
(4)测试缺陷要符合“二八”定理。缺陷“二八”理论又名 Pareto原理、缺陷集群效应,通常80%的缺陷都会出现在20%的组件上,缺陷的分配并不均匀。所以在测试中要把握好问题的关键,当发现一些问题较多的时候,就需要花更多的时间和精力来测试它们,以增加测试的效果。
(5)避免缺陷免疫:我们都了解昆虫耐药的原则,也就是长期服用某种药品后,昆虫会对其有抵抗力。而在软件测试中,缺陷也是会产生免疫性的。重复地重复同一个测试案例,找出 bug的机会就会变得更糟;对于软件来说,越是熟练的测试员,就越是忽视那些看似很微小的问题,越是难以找到错误,而这就是所谓的“杀虫剂”效应。这是因为测试者不能按时进行测试案例的升级,也可能是因为他们太了解测试案例和目标而导致的。
2.测试的方法
测试方法主要有人工测试和机器测试两种测试方法。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法。
(2)机器测试
计算机检测有两种方式:黑盒测试和白盒测试。黑盒测试:从外观上找出它的缺点和错误。黑盒测试是在编程接口上进行的,它仅仅是为了检验样品的执行情况,而不是根据要求规范的要求进行;白盒测试:对软件的内在构造进行了剖析,即在编程接口上进行了试验,其目的仅仅在于检验样品的执行情况,而不能满足要求规范的要求,检测来寻找问题。
在最终的检测中,本研究采取了将黑盒子检测与白盒子检测相融合的方式。黑箱试验是为了对系统的输入、输出性能进行测试,以发现其性能上的误差和潜在的不足。白箱试验的目的是为了检测程序和程序的运行路线,从而找出运行中的问题。该系统有两种方式:单位试验和综合试验。
6.4单元测试
6.4.1注册测试
在对登录模块进行测试时,先键入登录名称和密码,再按下登录键测试是否能正常登录系统。如果信息填写错误,能否弹出弹框,用来提示用户何处输入错误。
注册测试用例如下表所示。
表6-2注册测试用例
测试模块 用户注册模块测试
测试目的 测试当注册信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击注册。
2输入未注册过的用户名。例如:qwer
3输入正确用户名,两次密码不一样。例如:用户名qwerty、密码 0001,确认密码1111
预期结果 1 界面不跳转,弹出对话框,提示用户输入必填项。
2界面跳转,弹出对话框,提示用户注册成功。
3界面不跳转,弹出对话框,提示两次密码不一致。
实际结果 与预期结果相同。
结论 注册模块实现成功。
6.4.2登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮,如果信息添加正确,是否正常进入系统首页。如果信息填写错误,能否弹出弹框,提示用户信息输入有误。登录测试用例如下表所示。

表6-3登录测试用例

6.5集成测试
集成测试的方案主要如下所述:
(1)在完成安装部署后,将该系统移植到其他电脑,并可以顺利地运行该系统。
(2)用户信息管理模块综合测试,新增一个新的使用者 qq,指定一个普通的 角色,查看普通角色的特权,并储存设定。作为 qq登录,以了解所具有的权利。
(3)根据系统内的具体设计和实施,采用多种角色的方式,对各个模块的性能进行检测,并检测各个模块之间的逻辑功是否正确。
通过实验证明,该开发的系统能够满足医院预约挂号管理程序和基础需求。

结 论
医院预约挂号系统是一款公平、包容、易操作的系统,基本上能满足使用者的需求,也符合本人的初始发展目的与发展方向。本文主要研究了 Php语言和 MySQL等技术时的应用,它们都具有自己的优势,使其在实际应用中可以实现功能的稳定,同时也可以实现用户的各种需要。在具体的系统要求和功能模块的具体分析之后,进行了有针对性的设计,最终经过了测试,使整个系统可以正常工作,该系统设计完成。
在开发医院预约挂号系统的过程中,我参照了许多有关的案例,互相学习,互相借鉴。目前已逐渐改进,但仍存在许多缺陷,需要今后继续研究。在设计过程中我遇到了很多困难,包括知识上和技术上,同时由于长时间没有进行独立开发工作,编码熟练度有了明显的下降,一些常用的函数和编码技巧也变得生疏,但好在我及时做出了学习,查阅各种资料,进行广泛的钻研,多做请教,依靠互联网和书籍不断吸取知识,完善自己,最终在师生的协助下,成功完成了该系统。
我认为此系统还是有很多优点的,首先系统结构清晰,易于理解。设计合理,符合用户习惯和人机交互要求,能给用户带来很好的使用体验。代码简洁,注释全面,易于后期的管理和维护,代码健壮,鲁棒性高,适合高并发和大用户量使用。但同时,也存在部分内容设计不合理,有待改进的情况,我会不断学习。

参考文献

[1]徐明华,邱加永. PHP基础与案例开发详解. 北京:清华大学出版社,2019.
[2]李振捷,陈雄. PHP系统开发典型模块与实例精讲.北京:电子工业出版社,2020.
[3]邓子云,燕锋. PHP网络编程从基础到实践(第二版).北京:电子工业出版社,2021.
[4]张银鹤,刘治国. PHP动态系统开发实践教程. 北京:清华大学出版社,2018.
[5]陶宏才.数据库原理及设计(第二版).北京:清华大学出版社,2020.
[6]柯海丰,侯宏仑. PHP+Oracle网络应用系统开发与实例.人民邮电出版社,2021.
[7]Drozdek, Adam.Data Structures and Algorithms in Java,Course Technology,2018.
[8]史济民,顾春华. 软件工程-原理方法与应用(第二版) .北京:高等教育出版社,2018.
[9]刁成嘉. 面向对象技术导论-系统分析与设计. 四川:机械工业出版社,2021.
[10]萨师煊,王珊. 数据库系统概论(第三版). 北京:高等教育出版社,2020.
[11]赛奎春,白伟明,赵玉君,李南南. PHP信息系统开发实例精选.四川:机械工业出版社,2019.
[12]周绪,管丽娜. SQL Server2000入门与提高(中文版).北京:清华大学出版社,2019.
[13]卢翰.PHP项目开发案例全程实录(第2版).北京:清华大学出版社,2021.
[14]林信良.Servlet&PHP学习笔记. 北京:清华大学出版社,2018.
[15]郭珍,王国辉. PHP程序设计教程(第2版).北京:人民邮电出版社2019.
[16]Hong Jun Cao;Pei Zhang;Zhi Qiang Zhou. Design and Implementation of Recruitment Information Retrieval System Based on Low-Carbon Online Recruitment. Advanced Materials Research.2021,Vol.403-408:1883-1887.
[17]Jeffrey M Ferranti;William Gilbert;Jonathan McCall;Howard Shang;Tanya Barros;Monica M Horvath. FOCUS on clinical research informatics: The design and implementation of an open-source, data-driven cohort recruitment system: the Duke Integrated Subject Cohort and Enrollment Research Network (DISCERN) . J Am Med Inform Assoc.2020,Vol.19 (Especial 1):e68-e75.

致 谢

时光是这个世界上最快而又最慢,最长而又最短,最平凡而又最珍贵,最容易被忽略又最令人难忘的东西,回望大学三载,可谓白驹过隙,匆匆而已。
然而,时光虽逝,宝贵的情谊却是永恒的,在这三年的光阴里,我最想感谢的就是我的家人、老师以及同窗。寸草之心,难报三春之晖,感谢我的家人,不辞辛劳,让我在求学期间,能够心无旁鹜,不为世俗所扰;天涯有尽,师恩无穷,感谢我的恩师,他温文尔雅、学识渊博让我领略到了何谓学者风范,他乐观、豁达让我体会到了广阔的胸襟与格局,尤其要感谢他在我论文撰写期间的辛勤付出,无论他工作多忙,都会给予我细致耐心地指导;山水一程,三生有幸,感谢我的兄弟姐妹们,你们的每一次鼓励与帮助都让我倍感温暖。
最后,借此机会,祝愿身边遇到的每一位:万般熙攘化清风朗月,四方梦想皆如愿以偿。

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

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

相关文章

语义分割交互式智能标注工具 | 澳鹏数据标注平台

随着人工智能应用的大规模落地,数据标注市场在高速增长的同时,也面临着标注成本的挑战。据IDC报告显示:数据标注在AI应用开发过程中所耗费的时间占到了25%,部分医学类应用一条数据的标注成本甚至高达20元。数据精度的高要求、强人…

【Flink技术原理构造及特性】

1、Flink简介 Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。 Flink最适合的应用场景是低时延的数据处理(Data Processin…

爬虫实战三、PyCharm搭建Scrapy开发调试环境

#一、环境准备 Python开发环境以及Scrapy框架安装,参考:爬虫实战一、Scrapy开发环境(Win10Anaconda)搭建 PyCharm安装和破解,参考:爬虫实战二、2019年PyCharm安装(激活到2100年) …

0基础如何进入IT行业?

0基础如何进入IT行业? 简介:对于没有任何相关背景知识的人来说,如何才能成功进入IT行业?是否有一些特定的方法或技巧可以帮助他们实现这一目标?我不知道,我的行业算不算是IT,或者最多是半个IT行…

重磅!openGauss6.0创新版本,带着新特性正式发布了!

📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACD…

从“量子”到分子:探索计算的无限可能 | 综述荐读

在2023年年末,两篇划时代的研究报告在《科学》(Science)杂志上引发了广泛关注。这两篇论文分别来自两个研究小组,它们共同揭示了单氟化钙分子间相互作用的研究成果,成功地在这些分子间创造出了分子量子比特。这一成就不…

算法练习—day1

title: 算法练习—day1 date: 2024-04-03 21:49:55 tags: 算法 categories:LeetCode typora-root-url: 算法练习—day1 网址:https://red568.github.io 704. 二分查找 题目: 题目分析: 左右指针分别为[left,right],每次都取中…

【机器学习】K-近邻算法(KNN)介绍、应用及文本分类实现

一、引言 1.1 K-近邻算法(KNN)的基本概念 K-近邻算法(K-Nearest Neighbors,简称KNN)是一种基于实例的学习算法,它利用训练数据集中与待分类样本最相似的K个样本的类别来判断待分类样本所属的类别。KNN算法…

ArcGIS Pro导出布局时去除在线地图水印

目录 一、背景 二、解决方法 一、背景 在ArcGIS Pro中经常会用到软件自带的在线地图,但是在导出布局时,图片右下方会自带地图的水印 二、解决方法 解决方法:添加动态文本--服务图层制作者名单,然后在布局中选定位置添加 在状…

dhcp中继代理

不同过路由器分配ip了,通过一台服务器来代替,路由器充当中继代理功能,如下图 服务器地址:172.10.1.1/24 配置流程: 1.使能dhcp功能 2.各个接口网关地址,配置dhcp中继功能 dhcp select relay &#xff0…

Qt | 发布程序(以 minGW 编译器为例)

1、注意:修改 pro 文件后,最好执行“构建”>“重新构建项目”,否则 pro 文件的更改将不会反应到程序上。 2、发布程序的目的:就是让编译后生成的可执行文件(如 exe 文件),能在其他计算机上运行。 一、编译后生成的各种文件简介 Qt Creator 构建项目后产生的文件及目录…

实时渲染 -- 材质(Materials)

一、自然界中的材质 首先了解下自然界中的材质 如上这幅图,不同的物体、场景、组合,会让我们看到不同的效果。 我们通常认为物体由其表面定义,表面是物体和其他物体或周围介质之间的边界面。但是物体内部的材质也会影响光照效果。我们目前只…

续二叉搜索树递归玩法

文章目录 一、插入递归二、寻找递归&#xff08;非常简单&#xff0c;走流程就行&#xff09;三、插入递归&#xff08;理解起来比较麻烦&#xff09; 先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;^ _ ^<3 ❤️ ❤️ ❤️ 码字不易&#xff0c;大家的…

ROS 2边学边练(11)-- colcon的使用

从此篇开始我们即将进入client library系列&#xff0c;主要包含包的创建、主题、服务、参数、消息等功能的自定义实现&#xff0c;开始真正进入ROS的大门咯。 前言 从ROS 1到ROS 2&#xff0c;对应的构建工具集由 catkin_make -> catkin_make_isolated ->catkin_tools …

Redis监控方案以及相关黄金指标提升稳定性和可靠性

Redis监控方案以及相关黄金指标提升稳定性和可靠性 1. 需要了解的词2. 「基准性能」相关指标2.1 Latency2.2 最大响应延迟2.3 平均响应延迟2.4 OPS(instantaneous_ops_per_sec)2.5 Hit Rate 3. 「内存」相关指标3.1 内存使用量(used_memory)3.2 内存碎片率(mem_fragmentation_r…

文件操作(详解)

该片博客有点长大家可以通过目录选择性阅读 这是个人主页 敲上瘾-CSDN博客 目录 1. 为什么使⽤⽂件&#xff1f; 2. 什么是⽂件&#xff1f; 2.1 程序⽂件 2.2 数据⽂件 2.3 ⽂件名 3. ⼆进制⽂件和⽂本⽂件&#xff1f; 4. ⽂件的打开和关闭 4.1 流和标准流 4.1.1 流…

【c/c++】深入探秘:C++内存管理的机制

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;本篇文章我们详细讲解c中的动态内存管理 目录 1.C/C内存分布2.C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free3.c内存管理方式3.1new/delete对内…

【how2j练习题】JS部分阶段练习

练习题 1 <!-- 练习&#xff1a;自定义一个函数&#xff0c;对数组进行排序&#xff0c;要求排序后没有重复数据 --> <script>function p(s){document.write(s);document.write("<br>");}function uniquel(arr){ var hash[];for(var i 0;i<arr.…

Java源值1.5已过时,将在未来所有发行版中删除

1、背景 确认java项目没问题&#xff0c;但是启动的时候&#xff0c;却报错&#xff1a;java: -source 1.5 中不支持 diamond 运算符 2、解决 2.1 2.2 2.3 2.4 2.5

拓数派向量计算引擎PieCloudVector助力东吴证券AIGC应用升级

1.项目背景 随着人工智能技术的不断创新和应用&#xff0c;我们可以看到人工智能在各个领域的应用越来越广泛。深度学习技术在图像识别、语音识别、自然语言处理等领域表现出色。机器学习算法的改进将解决更多实际问题&#xff0c;如增强学习、迁移学习和联合学习等&#xff0…