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 否 是
6 系统测试
6.1 测试定义
系统测试主要是判断系统是否可以正常运行,功能模块是否可以实现操作。程序代码中是否有错误出现。测试程序是开发过程中的一个主要问题。就算系统完成的再好,再进行程序测试时也会也会发现一个重来没有被发现的错误信息。
测试不仅是系统开发的开始,而且应该贯穿整个系统的整个生命周期。评估系统质量的方法不局限于系统编码和过程,应该与软件设计工作和历史需求分析密切相关。系统错误,不一定是代码错误,可能是阶段的设计摘要和设计细节存在问题,问题也可能出现在需求分析阶段。从实际情况来看,最初的问题很可能是一个小错误,根据按钮的原理,按钮后的按钮位错将是所有位错。该系统的原因也同样适用,随着后续的开发工作,误差将越来越严重。所以越早发现问题,更好的将是解决问题的早期阶段,为了避免问题在后续编码,测试和设计,避免扩大国家的问题。在测试系统中,开发人员应该站在客户的角度来处理测试工作,而现在主要的测试方法是黑盒测试。测试的目的可以概括为以下几点:首先,用户界面和客户需求是一致的,设置界面和设计风格统一;第二,创新设计接口规范设计标准,具有独特的审美特征;最后,人类传统的接口以满足审美需求,不能盲目地追求一种独特的,合理的规划布局,符合审美标准。
6.2 测试方式
总体程序测试的话,通常有两种测试方式,白盒的测试和黑盒的测试。
白盒的测试方式:总的来说就是以程序内部逻辑结构为依据而用来进行设计测试用例的方式
黑盒的测试方式:总的说来黑盒的测试会有这么几个方法方式:同等价值的一个分类方式、对于系统的一个边界数值的一个分析方式、对与错的一个猜想方式、还有最后一种就是图什么样的图,称之为因果图的方式。
整个的系统测试包括了最为重点的两种方式,从而"保障了系统测试的用例完全性和效果性"的一个原则。进行测试总体而言就是要检查功能齐全、是否能够接收信息或输送信息、数据的结构、性能需求是否到位、是否能够正确的初始化和终止。
6.3 测试方案
对测试计划的把握是测试方案的重中之重。所有的技术难点应该都被包含在这个测试计划之中。而且我们要保证能与目标形成一致性,以至于能够测试出一些主要存在的错误和一些错误的漏洞。可以完美解决这些问题就只有白盒测试或者黑盒测试。
构造测试是白盒测试的另一个名字,了解与分析程序的结构以及性能功用的,从而我们可以得到最终想要的结果并且观察出是不是每一条程序都能得到。
性能测试是黑盒测试别称,程序本身的运作通过程序的进程来观察,主要是看一下程序是不是能够像我们预期的目标那样发展,看一看我们的程序最终能不能完整的得到我们最后想要的功能和储存想得到的数据,到最后看一下我们的这个程序完整性能不能达到要求。
(1)模块测试
单元测试就是模块测试,顾名思义就是测试每个模块所承担的功能是否能够实现,这个测试就是为了找出代码在实际的设计运转中某一些小的程序所出现的偏差,很好地改正这些错误,就说明我们模块测试进行很成功过。
(2)集成测试:
集成测试就是对系统的测试以及对他子系统的一些性能测试,他检查的事系统的包装程序信息。找出其中的问题。他的优势主要有以下这几点:
软件耗费较少。
可以提前发现端口的错误。
更好的地位系统中错误的位置。
从底部往上面进行的方案针对于偏下层的结构,而中间的结构就采用折中的方法。
(3)验收测试:
终于到了结尾性的工作了。就是为了给用户看一下我们的系统功能是否达到了预期的效果。我采用了性能测试也就是黑盒测试对系统进行测试。
其结果是分别是:
有一定的差异在用户的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与用户的需求存在一定的关联。
6.4 测试分析
经过对总体测试分析,本基于Spring Boot的中小型医院网站运行时均能执行其相应功能,均能实现查看、添加、删除、编辑等功能,且运行显示正常,后台数据库也运行良好,数据保证了一致性和稳定性,各个功能模块运行正常达到了预期的开发目标。
总体说来,软件通过测试。