第4章 系统设计
4.1 系统体系结构
医院预约挂号系统的结构图4-1所示:
图4-1 系统结构
登录系统结构图,如图4-2所示:
图4-2 登录结构图
医院预约挂号系统结构图,如图4-3所示。
图4-3 医院预约挂号系统结构图
4.2开发流程设计
系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
医院预约挂号系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。
图4-4开发系统流程图
4.3 数据库设计原则
学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还为系统提供了添加、删除、修改和检查等操作模块,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。
通过医院预约挂号系统 的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:
医生管理属性图如图4-5所示。
图4-5 医生管理实体属性图
用户管理属性图如图4-6所示
图4-6用户管理属性图
科室信息管理属性图如图4-7所示。
图4-7科室信息管理实体属性图
出诊信息管理实体属性图如图4-8所示。
图4-8出诊信息管理实体属性图
4.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表名:chuzhenxinxi
功能:出诊信息表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yishenggonghao |
varchar |
200 |
医生工号 |
||
yishengxingming |
varchar |
200 |
医生姓名 |
||
zhicheng |
varchar |
200 |
职称 |
||
zhaopian |
varchar |
200 |
照片 |
||
keshi |
varchar |
200 |
科室 |
||
shanzhang |
datetime |
擅长 |
|||
chuzhenshijian |
longtext |
4294967295 |
出诊时间 |
||
keyuerenshu |
int |
科室人数 |
|||
guahaofei |
int |
挂号费 |
表名:guahaoyuyue
功能:挂号预约表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yishenggonghao |
varchar |
200 |
医生工号 |
||
yishengxingming |
varchar |
200 |
医生姓名 |
||
zhaopian |
varchar |
200 |
照片 |
||
zhicheng |
varchar |
200 |
职称 |
||
keshi |
int |
科室 |
|||
guahaofei |
varchar |
200 |
挂号费 |
||
chuzhenshijian |
datetime |
出诊时间 |
|||
shijianduan |
longtext |
4294967295 |
时间段 |
||
jiuzhenmiaoshu |
longtext |
4294967295 |
就诊描述 |
||
tiwen |
int |
体温 |
|||
jiankangma |
longtext |
4294967295 |
健康码 |
||
yonghuming |
longtext |
4294967295 |
用户名 |
||
xingming |
longtext |
4294967295 |
姓名 |
||
shenfenzheng |
longtext |
4294967295 |
身份证 |
||
sfsh |
longtext |
4294967295 |
是否审核 |
||
shhf |
longtext |
4294967295 |
是否回复 |
表名:keshixinxi
功能:科室信息表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
keshi |
varchar |
200 |
科室 |
||
tupian |
varchar |
200 |
图片 |
||
keshijieshao |
varchar |
200 |
科室介绍 |
||
keshiweizhi |
varchar |
200 |
科室位置 |
表名:wentifankui
功能:问题反馈表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yishenggonghao |
varchar |
200 |
医生工号 |
||
yishengxingming |
varchar |
200 |
医生姓名 |
||
zhicheng |
varchar |
200 |
职称 |
||
keshi |
varchar |
200 |
科室 |
||
chuzhenshijian |
varchar |
200 |
出诊时间 |
||
shijianduan |
varchar |
200 |
时间段 |
||
wentifankui |
datetime |
问题反馈 |
|||
fankuishijian |
varchar |
200 |
反馈时间 |
||
yonghuming |
varchar |
200 |
用户名 |
||
xingming |
datetime |
姓名 |
|||
sfsh |
varchar |
200 |
是否审核 |
||
shhf |
varchar |
200 |
是否回复 |
表名:wentijieda
功能:问题解答表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yishenggonghao |
varchar |
200 |
医生工号 |
||
yishengxingming |
varchar |
200 |
医生姓名 |
||
zhicheng |
varchar |
200 |
职称 |
||
keshi |
varchar |
200 |
科室 |
||
wentijieda |
varchar |
200 |
问题解答 |
||
jiedashijian |
int |
解答时间 |
|||
yonghuming |
varchar |
200 |
用户名 |
||
xingming |
varchar |
200 |
姓名 |
表名:yisheng
功能:医生表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yishenggonghao |
varchar |
200 |
医生工号 |
||
mima |
varchar |
200 |
密码 |
||
yishengxingming |
varchar |
200 |
医生姓名 |
||
xingbie |
varchar |
200 |
性别 |
||
zhaopian |
int |
照片 |
|||
zhicheng |
varchar |
200 |
职称 |
||
keshi |
varchar |
200 |
科室 |
||
shanzhang |
varchar |
200 |
擅长 |
||
shouji |
int |
手机 |
表名:yonghu
功能:用户表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
yonghuming |
varchar |
200 |
用户名 |
||
mima |
varchar |
200 |
密码 |
||
xingming |
varchar |
200 |
姓名 |
||
xingbie |
date |
性别 |
|||
touxiang |
longtext |
4294967295 |
头像 |
||
lianxidianhua |
longtext |
4294967295 |
联系电话 |
||
shenfenzheng |
int |
身份证 |
0 |
第5章 系统详细设计
5.1前台首页功能模块
医院预约挂号系统,在前台首页功能可以查看首页、科室信息、出诊信息、公告信息、我的、跳转到后台等内容,如图5-1所示。
图5-1前台首页界面图
用户注册、用户登录,通过注册填写用户名、密码、姓名、联系电话、身份证等信息进行注册、登录操作,如图5-2所示
图5-2用户注册、用户登录界面图
个人中心,在个人中心页面可以查看用户名、密码、姓名、性别、头像、联系电话、身份证等信息进行上传图片、更新信息、退出登录等操作,如图5-3所示。
图5-3个人中心界面图
出诊信息,在出诊信息页面可以查看医生工号、医生姓名、职称、照片、科室、擅长、出诊时间、可约人数、挂号费等信息进行预约、点我收藏等操作,如图5-4所示。
图5-4出诊信息界面图
5.2管理员功能模块
管理员登录,通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入医院预约挂号系统,如图5-5所示。
图5-5管理员登录界面图
管理员登录进入医院预约挂号系统可以查看个人中心、用户管理、科室信息管理、医生管理、出诊信息管理、预约时间段管理、挂号预约管理、问题反馈管理、问题解答管理、系统管理等信息。如图5-6所示。
图5-6管理员功能界面图
用户管理,在用户管理页面可以查看用户名、姓名、性别、头像、联系电话、身份证等信息进行修改、删除、查看等操作,如图5-7所示。
图5-7用户管理界面图
科室信息管理,在科室信息管理页面可以查看科室、图片、科室介绍、科室位置等信息进行修改、删除、查看等操作,如图5-8所示。
图5-8科室信息管理界面图
医生管理,在医生管理页面可以查看医生工号、医生姓名、性别、照片、职称、科室、擅长、手机等信息进行查看、修改、删除等操作,如图5-9所示。
图5-9医生管理界面图
5.3医生功能模块
出诊信息管理,在出诊信息管理页面通过填写医生工号、医生姓名、职称、照片、科室、擅长、出诊时间、可约人数、挂号费等信息进行查看、修改、删除等操作,如图5-10所示。
图5-10出诊信息管理界面图
挂号预约管理,在挂号预约管理页面可以查看医生工号、医生姓名、照片、职称、科室、挂号费、出诊时间、时间段、就诊描述、体温、健康码、用户名、姓名、身份证、是否审核、审核回复、是否支付等信息进行审核、查看等操作,如图5-11所示。
图5-11挂号预约管理界面图
问题反馈管理,在问题反馈管理页面可以查看医生工号、医生姓名、职称、科室、出诊时间、时间段、问题反馈、反馈时间、用户名、姓名、是否审核、审核回复等信息进行审核、解答、查看等操作,如图5-12所示。
图5-12问题反馈管理界面图
5.4用户功能模块
个人中心,在个人中心页面通过填写用户名、密码、姓名、性别、头像、联系电话、身份证等信息进行选择文件或提交操作,如图5-13所示。
图5-13个人中心界面图
挂号预约管理,在挂号预约管理页面可以查看医生工号、医生姓名、照片、职称、科室、挂号费、出诊时间、时间段、就诊描述、体温、健康码、用户名、姓名、身份证、是否审核、审核回复、是否支付等信息进行提问、查看、修改、删除等操作,如图5-14所示。
图5-14挂号预约管理界面图
问题反馈管理,在问题反馈管理页面可以查看医生工号、医生姓名、职称、科室、出诊时间、时间段、问题反馈、反馈时间、用户名、姓名、是否审核、审核回复等信息进行查看、修改、删除等操作,如图5-15所示。
图5-15问题反馈管理界面图
问题解答管理,在问题解答管理页面可以查看医生工号、医生姓名、职称、科室、问题解答、解答时间、用户名、姓名等信息进行查看等操作,如图5-16所示。
图5-16问题解答管理界面图
我的收藏管理,在我的收藏管理页面可以查看用户名id、收藏id、表名、收藏名称、收藏图片等信息进行查看、删除等操作,如图5-17所示。
图5-17我的收藏管理界面图
第6章 系统测试
6.1系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
医院预约挂号系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在医院预约挂号系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.2系统测试方法
在对医院预约挂号系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让医院预约挂号系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个医院预约挂号系统开发所牵扯的该问题都必须一一解决,提高医院预约挂号系统平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3功能测试
用户登录测试:
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
登录模块 |
用户名:001 密码:123 |
弹出错误提示,提示密码错误 |
弹出错误提示,提示密码错误 |
通过 |
登录模块 |
用户名:123 密码:002 |
弹出错误提示,提示用户名错误 |
弹出错误提示,提示用户名错误 |
通过 |
登录模块 |
用户名:001 密码:001 |
管理员登录成功 |
管理员登录成功 |
通过 |
删除分类测试:
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
删除分类模块 |
分类名:最新通知 |
删除成功、页面自动跳转 |
删除成功、页面自动跳转 |
通过 |
修改密码测试:
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
修改密码模块 |
原密码:666 新密码:123 确认密码:123 |
弹出错误提示,提示原密码错误 |
弹出错误提示,提示原密码错误 |
通过 |
修改密码模块 |
原密码:001 新密码:123 确认密码:333 |
弹出错误提示,提示确认密码不一致 |
弹出错误提示,提示确认密码不一致 |
通过 |
修改密码模块 |
原密码:001 新密码:123 确认密码:123 |
密码修改成功 |
密码修改成功 |
通过 |
通过对功能的测试,医院预约挂号系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
结 论
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所实际到的技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。系统的开发环境和配置都是可以自行安装的,系统使用JSP开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
回顾毕业设计的整个过程,既付出汗水也收获了很多。虽然经历了各种各样的困难,自己的不断研究探索,系统的实现仍有不足之处。
在以后的学习及工作中,我仍然继续学习计算机方面的技术,让我在后期的
平台开发中可以更好更快的实现需求功能。
致 谢
医院预约挂号系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。
首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。
感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。
感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!