东莞网络推广服务_网站建设与策划_电商网站开发平台_苏州网站维护
第4章 系统设计 4.1系统结构设计
系统设计主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,系统用户管理、新闻数据管理、系统简介设置、用户注册管理、留言管理、友情链接管理、变幻图管理、科室信息管理、医生信息管理、预约挂号管理、就诊处方管理、科室预约统计管理、系统管理等操作管理。
系统的功能结构图如下图所示。
图4-1系统功能结构图
4.2功能模块设计
系统登录:系统登录是管理员访问系统的路口,设计了系统登录界面,包括管理员名、密码和验证码,然后对登录进来的管理员判断身份信息,判断是管理员管理员还是普通用户。
管理员管理:管理员可以管理系统的其他普通用户的账号,包括录入新管理员,删除现有的普通用户,修改现有的普通用户的信息,并可以通过管理员名和姓名等关键字搜索普通用户,打印管理员列表页面,导出管理员列表至excel中。
修改密码:系统所有管理员(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。
个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,管理员的管理员名是无法修改的。
登录情况管理:系统每个管理员应该都能查看个人的历史登录情况,如登录IP、登录时间、登录地址等,防止管理员账号被盗,加强管理员账号安全。
4.3数据库设计
系统里尤为关键的部分是在数据库方面,需要十分清晰的思路,所以从开始的设计时需要做到确立模块之间的联系,从而可以很明确的建立表间的联系和表中所需的内容。设计数据库还有一点是减少表的繁杂的创建,所以联系很关键,可以大大的减少,数据表中重复的事项。由此可以保证数据的完整和统一,不会造成数据的错误和重复,并且可以使数据得到数据库安全的保护,会使用户更加的放心。
4.3.1 E-R图设计
概念设计是整个数据库设计的关键,在概念设计阶段,由需求分析得到了E-R模型。E-R图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的E-R图表示方法,从而避免过繁过细的E-R图表示影响规划的直观和可用性。是对现实世界的抽象和概括,是数据库设计人员进行数据可设计的有力工具,能够方便直接地表达应用中的各种语义知识,令一方面它简单、清晰、易于用户理解。
管理员实体包括管理员名称、密码和权限三个属性。
就诊预约信息ER图如下图所示。
图4-4就诊预约信息ER图
用户信息ER图如下图所示。
图4-6 用户信息ER图
取消预约信息ER图如下图所示。
图4-7取消预约信息ER图
4.3.2表设计
数据库表是数据库重要的组成部分,其实数据库只是一个框架,数据库表才是数据库的本质,本系统数据库表如下:
| | | | |
cancel_reservation | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
cancel_reservation_id | int | 11 | 否 | 主键 | 取消预约ID |
cancel_reservation | int | 11 | 是 | | 医生工号 |
name_of_doctor | varchar | 64 | 是 | | 医生姓名 |
department | varchar | 64 | 是 | | 科室 |
user_name | int | 11 | 是 | | 用户名 |
name_of_patient | varchar | 64 | 是 | | 就诊人姓名 |
visit_time | datetime | 0 | 是 | | 就诊时间 |
cancellation_reason | text | 0 | 是 | | 取消原因 |
examine_state | varchar | 16 | 否 | | 审核状态 |
examine_reply | varchar | 16 | 是 | | 审核回复 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
department_management | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
department_management_id | int | 11 | 否 | 主键 | 科室管理ID |
department | varchar | 64 | 是 | | 科室 |
person_in_charge | varchar | 64 | 是 | | 负责人 |
contact_number | varchar | 64 | 是 | | 联系电话 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
doctor | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
doctor_id | int | 11 | 否 | 主键 | 医生ID |
doctor_job_number | varchar | 64 | 否 | | 医生工号 |
name_of_doctor | varchar | 64 | 是 | | 医生姓名 |
department | varchar | 64 | 是 | | 科室 |
gender | varchar | 64 | 是 | | 性别 |
examine_state | varchar | 16 | 否 | | 审核状态 |
recommend | int | 11 | 否 | | 智能推荐 |
user_id | int | 11 | 否 | | 用户ID |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
doctor_introduction | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
doctor_introduction_id | int | 11 | 否 | 主键 | 医生介绍ID |
doctor_job_number | int | 11 | 是 | | 医生工号 |
name_of_doctor | varchar | 64 | 是 | | 医生姓名 |
department | varchar | 64 | 是 | | 科室 |
gender | varchar | 64 | 是 | | 性别 |
photo | varchar | 255 | 是 | | 照片 |
registration_fee | int | 11 | 是 | | 挂号费 |
career_portfolio_ | text | 0 | 是 | | 职业履历 |
scheduling_time | text | 0 | 是 | | 排班时间 |
details | longtext | 0 | 是 | | 详情 |
hits | int | 11 | 否 | | 点击数 |
praise_len | int | 11 | 否 | | 点赞数 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
drug_information | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
drug_information_id | int | 11 | 否 | 主键 | 药品信息ID |
drug_number | varchar | 64 | 是 | | 药品编号 |
drug_name | varchar | 64 | 是 | | 药品名称 |
photo | varchar | 255 | 是 | | 照片 |
manufactor | varchar | 64 | 是 | | 厂家 |
price | int | 11 | 是 | | 价格 |
main_symptoms | text | 0 | 是 | | 主治症状 |
contraindications_and_adverse_reactions | text | 0 | 是 | | 禁忌与不良反应 |
drug_introduction | longtext | 0 | 是 | | 药品介绍 |
hits | int | 11 | 否 | | 点击数 |
praise_len | int | 11 | 否 | | 点赞数 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
follow_up_arrangement | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
follow_up_arrangement_id | int | 11 | 否 | 主键 | 复诊安排ID |
doctor_job_number | int | 11 | 是 | | 医生工号 |
name_of_doctor | varchar | 64 | 是 | | 医生姓名 |
department | varchar | 64 | 是 | | 科室 |
user_name | int | 11 | 是 | | 用户名 |
name_of_patient | varchar | 64 | 是 | | 就诊人姓名 |
follow_up_time | datetime | 0 | 是 | | 复诊时间 |
content_of_follow_up_visit | text | 0 | 是 | | 复诊内容 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
medical_records | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
medical_records_id | int | 11 | 否 | 主键 | 就诊病历ID |
doctor_job_number | int | 11 | 是 | | 医生工号 |
name_of_doctor | varchar | 64 | 是 | | 医生姓名 |
department | varchar | 64 | 是 | | 科室 |
user_name | int | 11 | 是 | | 用户名 |
name_of_patient | varchar | 64 | 是 | | 就诊人姓名 |
picture_1 | varchar | 255 | 是 | | 图片1 |
picture_2 | varchar | 255 | 是 | | 图片2 |
picture_3 | varchar | 255 | 是 | | 图片3 |
relevant_attachments | varchar | 255 | 是 | | 相关附件 |
condition_description | text | 0 | 是 | | 病情描述 |
prescription_information | text | 0 | 是 | | 处方信息 |
treatment_information | text | 0 | 是 | | 治疗信息 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
registered_user | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
registered_user_id | int | 11 | 否 | 主键 | 注册用户ID |
user_name | varchar | 64 | 否 | | 用户名 |
examine_state | varchar | 16 | 否 | | 审核状态 |
recommend | int | 11 | 否 | | 智能推荐 |
user_id | int | 11 | 否 | | 用户ID |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
| | | | |
visit_appointment | | | | |
字段名称 | 类型 | 长度 | 不是null | 主键 | 字段说明 |
visit_appointment_id | int | 11 | 否 | 主键 | 就诊预约ID |
doctor_job_number | int | 11 | 是 | | 医生工号 |
name_of_doctor | varchar | 64 | 是 | | 医生姓名 |
department | varchar | 64 | 是 | | 科室 |
registration_fee | varchar | 64 | 是 | | 挂号费 |
user_name | int | 11 | 是 | | 用户名 |
name_of_patient | varchar | 64 | 是 | | 就诊人姓名 |
age | varchar | 64 | 是 | | 年龄 |
contact_number | varchar | 64 | 是 | | 联系电话 |
visit_time | datetime | 0 | 是 | | 就诊时间 |
examine_state | varchar | 16 | 否 | | 审核状态 |
examine_reply | varchar | 16 | 是 | | 审核回复 |
pay_state | varchar | 16 | 否 | | 支付状态 |
pay_type | varchar | 16 | 是 | | 支付类型: 微信、支付宝、网银 |
recommend | int | 11 | 否 | | 智能推荐 |
create_time | datetime | 0 | 否 | | 创建时间 |
update_time | timestamp | 0 | 否 | | 更新时间 |
5.1 系统功能模块
在系统首页可查看首页功能分为网站首页、留言交流、公告消息、爱牙资讯、医生介绍、药品信息、后台管理等功能 如图5-1
图5-1系统首页界面图
在用户注册页面填写注册内容用户名、密码、姓名、性别、出生年月、QQ、邮箱、手机、身份证、头像、地址、备注等信息完成注册,如下图5-2所示。
图5-2 用户注册界面图
在登录页面输入用户名、密码、权限以及验证码等信息登录系统,如图5-3所示。
图5-3系统首页界面图
在医生信息页面可以对首页、内容管理(留言交流)更多管理(医生介绍、就诊预约、取消预约、就诊病历、复诊安排、药品信息)等操作,如图5-4所示。
图5-4 医生信息界面图
在就诊预约页面中可以填写挂号医生工号、医生姓名、科室、挂号费、用户名、姓名、性别、电话、年龄、联系电话等信息进行就诊预约并提交,如图5-5所示。
图5-5 就诊预约界面图
评论页面可以填写评论信息及评论回复等信息进行提交,如图5-6所示。
图5-6评论页面界面图
在后台管理页面查看用户后台功能个人资料管理、密码修改、收藏管理等功能,如图5-7所示。
图5-7 后台管理界面图
5.3 医生功能模块
在医生后台管理可查看医生功能为首页、内容管理(留言交流)更多管理(医生介绍、就诊预约、取消预约、就诊病历、复诊安排、药品信息),如图5-8所示。
图5-8 医生后台功能面图
管理员登录进入牙科诊所预约网站之后,就可以对所有的信息进行查看,可以查看到首页、站点管理(轮播图、公告栏)用户管理(管理员、注册用户、医生)内容管理(留言交流、交流分类、爱牙资讯、资讯分类)更多管理(医生介绍、就诊预约、取消预约、就诊病历、复诊安排、科室管理、药品信息)等,并且还可以对其进行相应的操作管理,如图5-9所示。
图5-9管理员功能界面图
在医生介绍页面中可以添加医生工号、医生姓名、标签、性别、照片、挂号费、职业履历、排班时间等信息,还可以根据需要在网站公告查询页面进行修改或删除等操作,如图5-10所示。
图5-10 医生介绍界面图
在用户注册管理页面中可以对账号、密码、昵称、性别、邮箱、电话、身份证、头像、地址、备注等信息进行审核、修改或删除等操作,如图5-11所示。
图5-11 用户注册管理界面图
在复诊安排页面中可以医生工号、医生姓名、科室、用户名、就诊人姓名、复诊时间、复诊内容等信息进行删除或回复等操作,如下图5-12所示。
图5-12复诊安排界面图
第6章 系统测试
6.1 程序测试基本概念
程序测试是很重要的一个环节,当自身的程序已经完成时,仍需要测试来保证程序的正确性和可靠性,因为往往此时出现的错误就是用户可能会出现的错误,所以调试变得至关重要。唯有经过多次的调试才能够使系统达到完美的状态,使得用户可以安全,放心的使用程序,保障用户信息的安全是每个系统最基本的需求,因而调试也就是系统的最基本的要求。但是为了保证说最大程度减少开发者的工作量,应当分三个阶段来测试,初期,中期和最终期。前期:主要调试模块间的关系部分,看看是否是正确的,合理的,否则到后面会造成难以修改和总是出错的现象。中期:插入部分数据,看看是否数据库方面连接和设计得当,有些时候理念存在的是不能够在现实中完美实现的,并且调试界面找到最优的布局。最终期:插入全部数据,看是否正确,修改页面看是否能达到最初预期效果,检查功能是否完全实现。
6.2 程序测试具体内容
6.2.1 测试的重要性及目的
1.测试的重要性
只有经过反复的测试,才能够使系统得到最稳定的状态,才能把最好的一面展现给使用的用户,是极为关键的一个步骤。但是往往也是大家极容易忽视的一个部分,因为绝大部分的人认为这个部分是不重要的,但事实并非如此,任何系统不管怎样做都不可能完全去除错误,所以需要测试来最大程度的降低和减少错误。要在多环境下进行测试,以保证用户能够在不同环境配置下都能够正常使用。大多数,用户的需求是不断更新的,所以测试具有十分重要的意义,能够及时的把握到用户的最新动态,做出对系统的修改。
测试的目的
测试是为了让用户能够使用到系统的最好一面,能够充分利用到系统内的跟自己相关的部分。另一方面,从系统开发者的角度来说,这个举措有助于开发者在开发系统的同时能够与用户保持有好的关系,能够使开发的系统减少最多的错误和误差,并且有助于开发,边测试边开发,能够及时解决用户的需求,而开发者也能够减少返工的工作量,保证开发是朝着正确的道路前进的,并且对于用户来说能够定期看到一定的工作成果,也是更有助于提出更好的意见,而不是到末期突然提出大量的工作需求。这样可以使得用户和开发者之间的关系得到一定程度的改善,而开发者也从中得到更多改善系统的方向。
6.2.2登录测试
登录及管理员添加模块是对各个系统中不可缺少的功能之一,为了对在运行过程能正常的操作本项目就要对此进行测试。
1. 使用不同浏览器访问服务器的IP地址。
2. 输入特殊的信息登录系统,例如边界值等。
3. 查看登录及管理员添加之后登录系统所返回的结果。
无论系统管理员还是用户登录时都需要用户名和密码进行登录,当输入正确的用户名和密码观察是否正常登录。登录测试表如下表6-1所示:
表6-1登录测试表
名称 | 功能名称 | 操作阐述 | 期盼结果 | 测试结果 |
登录信息管理 | 登录 | 系统管理员登录时输入 账号:admin密码:admin | 进入后台主页面 | 成功 |
添加用户登录时输入 账号:zhangchao密码:000000 | 进入系统首页 | 成功 |
管理员可以管理添加用户的信息。添加测试表如下表6-2所示:
表6-2添加测试表
名称 | 功能名称 | 操作阐述 | 期盼结果 | 测试结果 |
添加信息管理 | 添加 | 管理员进入添加用户管理页面 | 成功显示所有添加用户列表 | 成功 |
管理员进入添加用户管理页面,点击删除按钮 | 删除成功,出现删除成功的提示 | 成功 |
用户进入添加页面,按提示输入添加用户信息 | 添加成功,出现添加成功的提示 | 成功 |
6.2.3用户管理模块测试
用户管理信息模块对本界面中的数据和信息进行相对应得基本操作,主要有查看用户,删除用户等。
管理员在可以查看并删除用户。用户管理如表6-3所示:
表6-3用户管理测试表
模块名称 | 功能名称 | 操作描述 | 预期结果 | 测试结果 |
用户信息管理 | 查看 | 管理员进入用户管理页面,查看用户 | 所有用户均显示 | 成功 |
删除 | 管理员进入用户管理页面,点击删除按钮 | 弹窗提示,删除成功 | 成功 |
6.3 系统的优点
本系统的优点在于界面简单,对于有计算机基本操作的人群均可以高效的使用,查询功能可以使使用者在大量的数据搜索时能够快速的找到所需要的内容,开发的结构简单所以便于日后进行维护和更新功能。信息的添加和查询,使得资源得到了充分的利用。功能并不复杂所以执行速度也较快,所以用户可以得到比较良好的体验,系统内部的增删改查也比较人性化,所以比较快捷和精准。用户为管理员用户,而身份而判别使得系统比较明了,更具有安全性,系统内的数据是得到了一定的保护的。而页面上添加用户,新增添了的一个优势在于,添加后的用户,需得到管理员的审核才能够使用,避免了恶意添加或是恶意进入用户内部的举动。并且管理员据有最高权限,保证数据的安全。
">