为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

医院网上预约挂号系统-毕业论文修改版

2017-09-26 50页 doc 567KB 65阅读

用户头像

is_037433

暂无简介

举报
医院网上预约挂号系统-毕业论文修改版医院网上预约挂号系统-毕业论文修改版 成都学院学士学位论文(设计 ) 医院网上预约挂号系统设计与实现 题 目 医院网上约挂号系统的设计与实现 学 院 信息科学与技术学院 专 业 软件工程 学生姓名 学 号 200910414309 年级 2009级 指导教师 职称 教授 2013年 4 月 23 日 成都学院学士学位论文(设计) 医院网上预约挂号系统的设计与实现 专 业:软件工程 学 号:200910414309 学 生: 指导教师: 摘要:随着科学技术的不断发展与进步,计算机网络的利用也逐步深入到各行各业...
医院网上预约挂号系统-毕业论文修改版
医院网上预约挂号系统-毕业论文修改版 成都学院学士学位论文(设计 ) 医院网上预约挂号系统设计与实现 题 目 医院网上约挂号系统的设计与实现 学 院 信息科学与技术学院 专 业 软件工程 学生姓名 学 号 200910414309 年级 2009级 指导教师 职称 教授 2013年 4 月 23 日 成都学院学士学位论文(设计) 医院网上预约挂号系统的设计与实现 专 业:软件工程 学 号:200910414309 学 生: 指导教师: 摘要:随着科学技术的不断发展与进步,计算机网络的利用也逐步深入到各行各业,互联网成为了人们生活中的一部分。随着城镇人口的增加,人们去医院挂号就医总是排长长的队伍,对于时间比较紧的人是一个非常头痛的问题,有的人可能就只是挂号就要用去半天时间。人们为了缓解挂号就医排长队的问题,本论文探讨利用正在不断发展和进步的网络技术,实现网上预约挂号。 本论文主要介绍了基于ASP.NET的医院网上预约挂号系统的设计与实现,主要介绍医院预约挂号系统前台应用,后台管理等。通过Internet实现网上挂号,查询预约挂号,取消预约挂号,查询医生,后台管理功能的处理等。 本论文系统开发上使用三层架构,SQL Server数据库,IIS服务,Visual Studio2010和Dreamweaver CS5开发工具。结构上使用B/S结构,B/S模式是现在比较流行的数据库应用模式,通过Internet进行通信,可以不受地域的限制。在编程思想上采用面向对象编程的特性及“封装性”的特点。本系统界面简单,容易操作,方便医院的管理与使用者的交流。 关键词:预约挂号;设计与实现;Web应用;ASP.NET;三层架构 成都学院学士学位论文(设计) The Design and Implementation of Hospital Online Registration Booking System Specialty: Software Engineering Student Number: 200910414309 Student: Xiao Yunlai Supervisor: Yi Yong Abstract: With the continuous development and progress of science and technology, the using of computer network has gone deeply into all walks of life and Internet has been a part of people’s life as well. With the increasing urban population, people always wait in a long line for hospital registration, which is a very headache problem for the people whose time is tight. People even spend half a day for hospital registration. To alleviate the problem of waiting in a long line for hospital registration, this thesis will discuss the continuous development and progress of network technology that can be utilized in implementing online appointment. This thesis mainly introduces the design and implementation of hospital online registration booking system that is based on ASP.NET and the foreground application and background management of the system and so on. People can make appointments online, search the appointment, and cancel the appointment through Internet. In addition, people can search the doctors; deal with the background management, etc. Three-tier architecture, SQL Server database and IIS service will be utilized in the development of the system. Visual Studio2010 and Dreamweaver CS5 will be used as the development tools. B/S mode will be utilized in the structure design, which is a very popular database application mode. Communicating through the Internet is no subject to regional restrictions. Object Oriented Programming thought will be utilized and the encapsulation characteristic as well. This system has the following characteristics: easy interface, easy operation and convenient management of the system and also the communication between the users. Key words: Booking registration; Design and Implementation; Web application; ASP.NET; Three-tier Architecture 成都学院学士学位论文(设计) 目 录 绪 论 .................................................................................................................................... 1 1 需求分析和可行性分析 ................................................................................................... 3 1.1 系统设计的原则 ........................................................................................................ 3 1.1.1 系统设计架构 ..................................................................................................... 3 1.1.2 模块要求 ............................................................................................................. 3 1.2 系统可行性分析 ........................................................................................................ 4 1.2.1 技术可行性 ......................................................................................................... 4 1.2.2 经济可行性 ......................................................................................................... 4 1.2.3 操作可行性 ......................................................................................................... 5 1.3 相关技术介绍 ............................................................................................................ 5 1.3.1 浏览器/服务器结构 ............................................................................................. 5 1.3.2 ASP.NET技术简介 .............................................................................................. 6 1.3.3 SQL Server数据库 ............................................................................................... 8 1.4 开发工具和开发坏境 ................................................................................................ 8 1.5 本章小结 ................................................................................................................... 8 2 数据库设计 ...................................................................................................................... 9 2.1 数据库需求分析 ........................................................................................................ 9 2.2 数据库E-R图设计 .................................................................................................. 10 2.3 数据库表设计 .......................................................................................................... 11 2.3.1 医生信息表(doctor-info) .................................................................................... 11 2.3.2 科室信息表(subject) .......................................................................................... 11 2.3.3 预约信息表(booking) ........................................................................................ 11 2.3.4 普通用户表(users) ............................................................................................. 12 2.3.5 系统用户表(sys) ................................................................................................ 13 2.4 本章小结 ................................................................................................................. 13 3 详细设计 ........................................................................................................................ 14 3.1 系统设计思想 .......................................................................................................... 14 3.2 系统功能模块设计 .................................................................................................. 14 3.3 系统结构设计 .......................................................................................................... 15 3.4 后台系统界面设计 .................................................................................................. 16 3.4.1 用户管理 ........................................................................................................... 16 I 成都学院学士学位论文(设计) 3.4.2 专家管理 ........................................................................................................... 16 3.4.3 预约管理 ........................................................................................................... 17 3.4.4 科室管理 ........................................................................................................... 17 3.4.5 系统管理员管理 ................................................................................................ 18 3.5 前台系统界面设计 .................................................................................................. 18 3.5.1 母板界面 ........................................................................................................... 18 3.5.2 用户登录 ........................................................................................................... 19 3.5.3 用户注册 ........................................................................................................... 19 3.5.4 预约查询 ........................................................................................................... 20 3.5.5 资料修改 ........................................................................................................... 20 3.5.6 密码修改 ........................................................................................................... 21 3.6 本章小结 ................................................................................................................. 21 4 重难点分析 .................................................................................................................... 23 4.1 表现层重难点 .......................................................................................................... 23 4.2 业务逻辑层重难点 .................................................................................................. 24 4.3 数据访问层重点 ...................................................................................................... 24 4.3.1 获取信息 ........................................................................................................... 24 4.3.2 添加信息 ........................................................................................................... 25 4.4 用户登录 ................................................................................................................. 26 4.4.1 验证码 ............................................................................................................... 26 4.4.2 登录 ................................................................................................................... 26 4.5 预约记录 ................................................................................................................. 27 4.6 资料修改 ................................................................................................................. 28 4.6.1 输出现有用户信息 ............................................................................................ 28 4.6.2 更新用户信息数据库 ........................................................................................ 29 4.7 密码修改 ................................................................................................................. 30 4.8 本章小结 ................................................................................................................. 30 5 系统的发布和测试 ......................................................................................................... 31 5.1 系统的测试 .............................................................................................................. 31 5.1.1 目的 ................................................................................................................... 31 5.1.2 测试用例 ........................................................................................................... 31 5.2 系统发布 ................................................................................................................. 31 5.2.1 发布网站 ........................................................................................................... 32 II 成都学院学士学位论文(设计) 5.2.2 配置IIS 6.0 ....................................................................................................... 33 5.3 本章小结 ................................................................................................................. 33 6 全文总结与未来工作 ..................................................................................................... 34 6.1 全文总结 ................................................................................................................. 34 6.2 未来工作 ................................................................................................................. 34 6.3 本章小结 ................................................................................................................. 34 结 论 .................................................................................................................................. 35 参考文献 ............................................................................................................................ 36 致 谢 .................................................................................................................................. 37 III 成都学院学士学位论文(设计) 绪 论 一、选题背景及意义 随着科学技术的不断发展与进步,计算机的应用已经进入到社会的每一个角落。互联网的应用也日益普及,人们与网络应用之间的联系也越来越多,互联网成为人们快速获取、发布和传递信息的重要渠道。它在人们生活、经济、政治等各个方面发挥着非常重要的作用。互联网上发布信息主要是通过网站来实现的,获取数据信息也是要在互联网的“海洋”中按照规定的检索方式将所需要的数据信息从网站上下载下来。目前人们正处于医疗保健意识日益重视的时代,各医院都在积极快速地完善自身的体制,机构的管理方式,以适应医疗越来越多的需求规范。因此网站建设在Internet应用上的地位也变得格外重要,医院预约挂号系统可以使得人们方便快速的挂上号,避免浪费不必要的排队时间。 二、国内外研究现状 医院网上预约挂号主要是指患者通过登陆网站实现远程挂号,不需走出家门,不需排队等候。医院网上预约挂号看病在国外已经成为最主要的就医方式。医院网上预约挂号就医在国外是一件非常普及的事情,通过预约就医,既方便了患者,也减轻了医院管理的负担,对于医院和患者都非常方便快捷,是一种比较符合大众的服务方式。 国内则处于刚刚起步的阶段,比如说天津市网上预约挂号系统就是目前国内发展之一,但是里面模块相对复杂,操作很不方便。所以大多数的患者还是最初的排队挂号,耗费了大量宝贵的精力和时间。 三、本论文的研究内容及主要解决的问题 在以上背景下,本文论述医院预约挂号系统中的预约挂号,新闻信息和后台系统管理的设计实现,其中预约挂号主要是实现类似患者在门诊的挂号功能,是医院网上预约挂号系统中的一个重要组成部分,它是患者门诊就诊的入口,为门诊管理提供基础数据。网上有医生介绍和科室信息说明,可以供患者参考并做出选择预约,减少病人到医院预约环节,减少医院的工作负担。可以通过挂号单提前查取患者信息,可以从挂号门诊部获取预约挂号收费信息。新闻动态信息是医院最近的动态信息或者健康知识说明等。这样可以提前让患者知道医院的一些动 1 成都学院学士学位论文(设计) 态变化,这样可以大大提高患者就医效率。通过以上简单模块的分析,大概说明了医院网上预约挂号系统的开发需求过程及各种技术细节。 本论文主要解决的问题是解决支持注册用户的在线查询医生资料,挂号,以及对挂号成功与否的查询和取消;医生也能通过本系统对患者资料和挂号情况进行统计和安排。它能够准确记载和查阅有关医院的大量数据,帮助医院掌握和分析管理情况,及时做出正确决策,并且有利于医院内部的财务、人员、情况等管理,因而大大提高了现代医院的管理水平,实现了患者在网上进行对科室与医生的了解、选择和挂号,降低了医生和工作人员的工作量,更提高了患者的就诊效率。 四、论文的组织结构 本文主要从以下七个方面来对本系统进行介绍和说明: 1) 绪论:在绪论中主要是对本论文的开发背景及意义;国内外研究的现状 以及本文的研究内容进行详细的说明。 2) 第一章 需求分析和可行性分析:在本章中是对系统的设计原则,系统的 可行性分析,相应技术的介绍以及开发工具和开发环境的介绍,简单的 说明了该系统是一个什么样的系统,具有哪些功能等等。 3) 第二章 数据库设计:本章主要包括数据库设计的注意事项,数据库的介 绍,数据库的原则,E-R图,数据库表设计,数据库关系图等,主要是 对本系统使用的数据,以及数据之间的关系进行说明。 4) 第三章 详细设计:本章主要包括开发平台介绍,程序开发的任务及质量 要求,主要功能模块的详细介绍等,主要是对本系统的功能进行详细的 说明。 5) 第四章 重难点分析:本章中主要是对在开发本系统中遇到的技术难点进 行一个分析和说明,目的是为了更好的进行项目的开发和后期的维护。 6) 第五章 系统的发布和测试:主要包括系统的发布和测试,说明系统的发 布平台和测试的相应结果。 7) 第六章 系统的不足与展望:本章主要是对本系统在开发的过程中有不足 的地方进行总结,以及对后期的扩展和维护进行总结,以便能更好的对 该系统进行全面的认识。 2 成都学院学士学位论文(设计) 1 需求分析和可行性分析 1.1 系统设计的原则 本系统主要是面向大众化的普通用户,所以要求系统要有很高的实用性,由于本系统会设计个人资料的敏感信息问题,可靠性和经济性也是我们考虑的重点。 1.1.1 系统设计架构 根据对项目需求的分析,总结出项目的总体架构设计如图1-1所示: 图1-1 医院网上挂号系统架构图 本系统分为前台用户操作和后台用户管理两个大功能,在前台用户操作中,用户可以注册成为本医院的会员,可以进行专家查询,预约查询与修改,个人信息修改等操作。而后台用户可以对注册的会员进行管理,对专家信息管理,对注册的用户的预约管理和对系统管理员的管理等操作。 1.1.2 模块要求 前台用户操作界面功能主要有:专家查询、预约查询、用户信息修改、密码修改等功能设置。 专家查询:通过这个功能可以浏览到每个专家的简介及所属科室,从而选择是否对该专家进行具体预约。 预约查询:此功能汇总了用户的预约信息,包括:门诊号、专家、门诊日期、 3 成都学院学士学位论文(设计) 预约日期,同时还可以对预约进行取消。 用户信息修改:可以对自己的信息进行修改,如:姓名、出生年月、性别、居住地、身份证号等信息。 安全退出:用户可以点击安全退出按钮返回到最初的登陆界面。 后台管理员可操作的有:专家管理、用户管理、预约管理、系统管理等功能设置,具体描述如下: 用户管理:显示用户的预约信息,也可以对某个特定用户进行查询。 专家管理:对专家进行添加与删除,修改专家档案。 预约管理:对预约信息进行查询管理,取消已过期的预约信息。 系统管理:对管理员进行添加与删除,修改管理员信息。 科室管理:对科室进行添加与删除,科室的信息进行修改。 1.2 系统可行性分析 主要从技术的可行性,经济的可行性以及操作的可行性3个方面对本系统进行了可行性的分析和论证。充分说明了本系统的实现是可行的。 1.2.1 技术可行性 根据查询用户提出的系统性能、功能及实现系统的各项要求,根据目前所拥有的条件,从开发技术的角度讨论考虑系统实现的可行性。本系统前台数据库采用sqlServer2005,该数据库系统拥有开发简单,易学易用,接口灵活,界面友好等特点,是一款典型的新一代数据信息管理和信息系统开发工具。具有较独特的优势-提供了更加强大的数据组织结构,安全检查,信息管理等功能。系统基于Windows平台,界面使用Dreamweaver设计动态网页。系统涉及后台管理与前台操作,前台用户可以进行个人信息修改、密码修改、专家查询、预约查询与修改等操作。后台包括专家管理、用户管理、科室管理及系统管理等功能。界面简单,使用操作方便。 1.2.2 经济可行性 从本系统开发的角度来看,系统的开发运用成本比较低,只需购买一定的参考资料以及开发系统时所需要的一些开发工具;从使用本系统所能带来的效益来看,用户通过网上预约医院的专家、专科号,不会再经受门诊挂号排长队对精神和时间的消磨。它能更好的简化就医环节,节约就医时间,改善患者就医环境, 4 成都学院学士学位论文(设计) 真正体现了以患者为中心,一切从方便患者为出发点,符合当今医院所推崇的人性化温馨服务的理念。因此,本系统的开发在经济方面是可进行的。 1.2.3 操作可行性 由于当今科技的飞跃式发展,计算机早已在生活的方方面面普及,科技便利的条件给人们创造了优越的工作环境,这使人们对工作效率及可操作性都有了更高的要求。本系统用户平台直接面向患者用户和管理员,界面明了、简单,采用可视化界面,用户只需要用鼠标和键盘就可以对系统进行预约及管理等功能。由于本系统的操作简单、易懂,在使用软件之前对企业内部相关工作人员进行简单培训即可。系统维护需要有专业知识的人员进行操作,而现在企业中都有专业的技术人员,所以这都不是什么问题。 综上所述,本系统在操作方面是可行的。 1.3 相关技术介绍 本部分主要对网上医院挂号系统的实现使用到的相关技术如:WEB浏览器/ [1]服务器结构,ASP.NET,以及SQL Server数据库进行了介绍。 1.3.1 浏览器/服务器结构 [2]WEB浏览器/服务器结构(Browser/Server,简称B/S)是基于WEB技术的新型网络结构,成功地弥补了C/S结构的很多不足。B/S结构网络中是通过WEB服务器再与数据库服务器相连,用户的请求先送到WEB服务器,再由WEB服务器负责将处理结果格式化为HTML格式,最后再反馈给用户。该结构的实质 [3]是传统的二层C/S模式的进一步发展,通常称为三层结构。 B/S结构本质上是请求驱动结构,但是它在综合多项技术的同时克服了C/S [4]结构的一些不足,采用B/S模式构造的MIS系统的优点是:客户端软件简单而统一,大大节省客户机的硬盘空间和内存;极大地减少了系统开发和维护费用;解决了客户/服务器应用中存在的客户端跨多平台的问题,界面通用统一;特别适用网上信息的发布,这是其他结构所无法实现的。 B/S结构的MIS关键要解决好WEB数据库的存取问题,传统的CGI技术存在效率低、速度慢、调试维护困难及API (Application Programming Interface,应 [4]用程序编程接口)兼容性差的缺点。ASP技术出色地解决了WEB数据库的存取问题,它可使WEB信息系统的开发变得快速、简单、高效。现在ASP技术己经 5 成都学院学士学位论文(设计) 被广泛地采用来开发WEB数据库应用,从而极大地促进了WEB信息系统的应[4]用。 B/S(Brower/Server)结构是指客户端通过浏览器访问web和与web相连的后台数据库,其结构如图1-2所示。 图1-2 B/S结构图 1.3.2 ASP.NET技术简介 随着网络时代的到来,人们对Internet信息服务的要求也不断提高,普通的静态网站已不能满足各种应用需求。因此,网站开发人员必须掌握客户/服务器技术,以便创建动态的网站内容。ASP技术就是用来开发动态网站的语言之一。 ASP是Active Server Pages的缩写,中文名称叫做“动态服务器页面”,是一种WEB服务器端的开发语言,本质上是一个服务器端的脚本编写环境,是目前开发WEB动态交互网页的主流技术,应用该技术可以轻松快捷地开发高效的、 [5]运行动态的、交互的服务器端WEB应用程序。 [6]ASP是一种类似于VB的面向对象的程序语言,微软的Active Server支持ASP技术,微软从IIS3.0开始增加了Active Server功能,Active Server是在服务器端提供对ActiveX和VBScript的支持,这样不论客户端使用哪一种浏览器,都能正常地进行浏览查询、修改、删除、录入等操作,使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的WEB页和基于WEB的功能强大的应用程序,并且使用ASP代码编写的应用程序很容易开发和修改,因此,ASP被广为运用。 当用户通过浏览器向WEB服务器请求.asp文件时,ASP脚本开始运行。然后WEB服务器就调用ASP, ASP全面读取请求的文件,所有脚本命令均被执行,最后给浏览器返回一个响应页面;ASP中的脚本在WEB服务器端运行,WEB服务器负责所有的脚本处理并生成的HTML页面传送给浏览器,而不是传统的在用户浏览器中的运行,这一措施使用户的浏览器无须担心服务器端的网页 6 成都学院学士学位论文(设计) [7]使用何种脚本,ASP都会生成一个符合HTML标准的网页送回用户端,减轻了 浏览器的负担,可大大提高交互的速度。ASP工作原理示意图如图1-3所示。 图1-3 ASP工作原理示意图 以下是ASP独具的一些特点: [8]1) 使用VBScript、JavaScript等简单易懂的脚本语言,同时结合HTML代 码,即可快速地完成网站的应用程序。 2) 使用普通文本编辑器,如Windows的记事本,即可进行编辑设计,而利用 [9]诸如Dreamweaver等所见即所得的网页编辑软件可以方便地进行编辑, 易学易用。 [10]3) 与浏览器无关(Browser Independence),用户端只要使用可执行HTML 代码的浏览器,即可浏览ASP所设计的网页内容;ASP所使用的脚本语 言(VBScript、JavaScript)均在Web服务器端执行,用户端浏览器不需要能 够执行这些脚本语言。 4) Active Server Pages的源程序,不会被传到客户端浏览器,因而可以避免 所写的源程序被他人剽窃,也提高了程序的安全性。 ASP程序语言有如下的优势: 1) ASP完全与HTML完全融合在一起,应用程序无需编译和连接,就可在 服务器端直接执行。 [11]2) 面向对象,能用任何ActiveX脚本语言来编写,由于脚本在服务器端 执行,因此它几乎可以支持任何一种浏览器。 [12]3) 用ASP开发的WEB应用程序,返回到浏览器的是纯HTML语言,不 依赖浏览器和操作系统,因此源代码不会传到浏览端,源程序不会外漏, 具有较好的保密性。用在服务器端执行的ASP程序代码生成或修改在客 户端执行的脚本。 4) 开发者可通过使用ActiveX服务器组件无限扩充应用程序功能。 7 成都学院学士学位论文(设计) 由于ASP的出现,使网页访问者和服务器进行交互更加容易;利用ASP还可以实现基于WEB的信息管理系统,简化了系统的开发与维护;利用ASP实现的信息管理系统使用户非常方便地对后端数据库记录进行增加、删除、修改、查询操作,而且利用ASP可以实现分页技术,使用户对大量记录的查询一目了然,可以轻松地查看所有记录;ASP是微软产品,它与微软的SQL Server等办公软 [13]件可以有机结合,可轻松实现对报表的打印,且美观实用。 1.3.3 SQL Server数据库 [14]SQL Server数据库是美国Microsoft公司推出的一种关系型数据库系统,SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与Windows NT的有机结合,提供了基于事务的企业级信息管理系统,其主要特点如下: 1) 高性能设计,可充分利用Windows NT的优势; 2) 系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统 管理和配置。强壮的事务处理功能,采用各种方法保证数据的完整性; 3) 支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言, SQL Server以其内置数据复制、强大的管理工具、与Internet的紧密集 成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个 出众的数据库平台。 1.4 开发工具和开发坏境 数据库:SQL Server 2005 网页界面设计:DreamwearCS5 开发坏境:Visual Studio 2010 1.5 本章小结 从上面的几点分析出了,该项目应该具有的功能以及在实现上的可行性。并简单的说明了开发工具和开发的坏境。 8 成都学院学士学位论文(设计) 2 数据库设计 当一个系统涉及数据库时,其运行效率、冗余程度、可靠性、稳定性等评价指标除了与上层代码有关外,更多的会受到底层数据库效率的影响。因此,一个好的数据库设计能够让你的系统跑的更顺畅、稳定。数据库设计的好坏对我们接下来编程起到很大的影响,一个好的数据库设计可以简化很多代码,给我们带来了很多编程上的方便,也可以节省很多时间。 2.1 数据库需求分析 预约挂号系统面向的对象有两个,即管理员和普通用户,所以数据库需求分析中就要考虑这两个方面的因素。 对于普通用户来说,他们关心的是医院预约挂号、信息检索、信息的浏览等。 医院信息包括:医生信息、科室信息等。 信息检索包括:医生信息检索等。 预约挂号包括:普通用户注册、挂号操作、取消挂号操作(主要是对已挂号进行取消操作)、挂号记录、用户信息修改等。 普通用户如果要网上预约挂号的话,如果没有注册过,可以在主页面进行注册,再登陆后选择科室进行挂号,用户可以在登录后修改自己的信息,取消预约挂号查看挂号记录等。 对于管理员来说,他们关心的是如何对后台数据进行查询、添加、修改、删除等操作。管理员禁用进行内容的添加,删除。 医生信息管理:对医生信息进行添加、删除、查询、修改。 预约设置管理:对预约设置进行添加、删除、查询、修改。 科室信息管理:对预约设置进行添加、删除、查询、修改。 预约信息管理:对预约信息进行查询、解除(操作失误等时用)。 普通用户管理:对普通用户进行查询、注销、解除。 对上述分析和需求总结,设计如下面所示的数据项和数据结构。 医生信息,数据项包括医生编号、所属科室、医生姓名、医生性别、医生照片、创建时间、职称、医生类别、从医年数、专业名称、学历、E-mail等。 普通用户(就诊人信息),数据项包括用户编号、用户名、用户密码、社保卡 9 成都学院学士学位论文(设计) 号、真实姓名、性别、联系电话、证件类型、证件号码、通信地址、邮编号码、注册时间、备注、修改时间、信誉分、用户状态等。 科室信息,数据项包括科室编号、科室名称、科室描述等。 预约信息,数据项包括预约信息编号、医生编号、用户编号、挂号时间、预约状态、出诊日期等。 系统用户,数据项包括管理员编号、登录名、密码。 2.2 数据库E-R图设计 首先确定各个实体之间相互关系,这是设计好一个数据库的基础。根据上面的设计规划出有5个实体:医生信息实体、普通用户实体、科室信息实体、预约信息实体、系统用户实体。 实体间关系如图2-1所示: subject_iduser_sexuser_nameuser_teluser_id user_statesubject_namesubject create_timesubject_describenuser_passworddoctor_idcertificate_typesubject_idusersdoctor_briefreputation_value所属1user_postcodedoctor_years doctor_xlsb_number email1user_address doctor_codeuser_remarkdoctor_infodoctor_typecertificate_number预约doctor_name doctor_picbooking_id管理doctor_postuser_iddoctor_sexbooking_timedoctor_specialtyndoctor_idsys_loginnamebooking管理sysbooknow_timesys_passwordbooking_statesys_id 图2-1 实体关系图 由上图2-1可知,本数据库共有5个角色,管理员(sys)可以对医生信息(doctor_info)进行管理,每个医生又属于一个科室,用户可以进行预约挂号。将各个角色的所有信息分别放在独立的表中,其中包括该角色的全部信息。选取一个字段作为主键。 10 成都学院学士学位论文(设计) 2.3 数据库表设计 数据库表的设计,这里有5个实体,所以要建立5张表:医生信息表、普通用户表、预约信息表、科室信息表、系统用户表。 2.3.1 医生信息表(doctor-info) 医生信息表里的属性:医生ID、科室ID、医生编号、医生姓名、医生性别、医生照片、职称、医生类别、从医年数、专业名称、学历、E-mail,简介。医生ID为主键。如表2-1所示: 表2-1 医生信息表 字段 含义 类型 长度 是否为空 备注 doctor_id 医生ID int N 主键,自增 — doctor_brief 简介 text Y — — doctor_code 医生编号 varchar 12 N — doctor_name 医生姓名 varchar 20 N — doctor_pic 医生照片 varchar 100 Y — doctor_post 职称 varchar 10 Y — doctor_sex 医生性别 char 2 N — doctor_specialty 专业名称 varchar 30 Y — doctor_type 医生类别 char 10 N — doctor_xl 学历 varchar 30 Y — doctor_years 从医年数 int 5 N — email E-mail varchar 30 N — subject_id 科室ID int N — 外键 2.3.2 科室信息表(subject) 科室信息表里的属性:科室ID,科室名称,科室描述。其中科室ID为主键。如表2-2所示 表2-2 科室信息表 字段 含义 类型 长度 是否为空 备注 subject_id 科室ID int N 主键,自增 — subject_describe 科室描述 text Y — — subject_name 科室名称 varchar 30 N — 2.3.3 预约信息表(booking) 预约信息表里的属性:预约信息ID、医生ID、用户ID、挂号时间、预约状态、出诊日期、出诊开始时段、出诊结束时段、用户预约状态。其中预约信息ID 11 成都学院学士学位论文(设计) 为主键,如表2-3所示: 表2-3 预约信息表 字段 含义 类型 长度 是否为空 备注 booking_id 预约信息ID int N 主键,自增 — booking_state 预约状态 nvarchar() N 是否过期 2 booking_time 出诊日期 datetime N — — book_now 挂号时间 datetime N — — doctor_id 医生ID int N — 外键 user_id 用户ID int N — 外键 2.3.4 普通用户表(users) 普通用户表(就诊人信息表)里的属性:用户ID、用户名、用户密码、曾用挂号、社保卡号、真实姓名、性别、联系电话、证件类型、证件号码、通信地址、邮编、备注、信誉分、用户状态。其中用户ID为主键。如表2-4所示: 表2-4 普通用户表 字段 含义 类型 长度 是否为空 备注 user_id 用户ID int N 主键,自增 — certificate_number 证件号码 varchar 30 N — certificate_type 证件类型 char 10 N — create_time 注册时间 datetime N — — user_address 通信地址 varchar 50 N — user_name 真实姓名 varchar 30 N — user_password 用户密码 varchar 12 N — user_postcode 邮编 varchar 10 Y — user_remark 备注 text Y — — user_sex 性别 char 2 N — user_state 是否预约 nvarchar() 2 N — user_tel 联系电话 varchar 20 N — reputation_value 信誉分 int 5 Y — sb_number 社保卡号 varchar 20 Y — 12 成都学院学士学位论文(设计) 2.3.5 系统用户表(sys) 系统用户表里的属性:系统管理员编号、系统管理员登录名,系统管理员密码。如表2-5所示: 表2-5系统用户表 字段 含义 类型 长度 是否为空 备注 sys_id 管理员编号 int N — 主键,自增型 sys_loginname 管理员用户名 varchar 20 N — — sys_password 管理员密码 varchar 20 N 2.4 本章小结 本章主要分析了数据库设计。数据库设计主要有需求分析,E-R图设计数据库逻辑结构设计。分析医院预约挂号系统面向的对象有两个,即普通用户和管理员,所以数据库需求分析中就要考虑这两方面的因素。E-R图设计主要是各个实体之间的联系,涉及到5个实体:医生信息实体、普通用户实体、科室信息实体、预约信息实体、系统用户实体。数据库逻辑设计主要是各个表的字段设计及说明。 13 成都学院学士学位论文(设计) 3 详细设计 系统设计可分为系统设计思想、系统功能模块划分、系统结构设计。 3.1 系统设计思想 后台管理与前台显示模块分开:把后台管理员的管理模块和前台用户浏览、挂号模块独立分开,而又统一同一个数据库,这样即方便管理员维护数据,又便于前台用户操作。 页面使用设计:把页面中的一些常用的部分集成为模块,比如把页面的头和 相同的,所以只要把首尾组装起来尾部分集成为模版,因为大部分的页面首尾是 就可以了。 3.2 系统功能模块设计 医院预约挂号系统可以划分:前台客户端界面的系统功能模块、后台管理界面的系统功能模块。前台客户端界面的系统功能模块如图3-1所示。 图3-1 前台客户端界面的系统功能模块图 如上图3-1可知,前台用户登录系统过后,主要有以下功能:专家查询,多专家信息查询和对相应科室信息查询;个人信息管理,主要对个人的资料信息进行查询修改,对账号密码进行修改;预约信息管理,主要对个人预约信息的查看和修改。 后台管理界面的系统功能模块如图3-2所示。 14 成都学院学士学位论文(设计) 管理员界面 用户管理专家管理预约管理科室管理管理员管理 管管用用专预预科科专理理户户家约约室室家员员列添列列详列添添添修表加表表情表加加加改 图3-2 后台管理界面的系统功能模块图 管理员进入后台过后可以进行以下操作,用户管理实现对用户的查询、添加以及删除功能;专家管理实现对专家的查询、添加以及删除功能;预约管理实现对预约信息的查询,删除功能;科室管理实现对科室的查询、添加以及删除功能;管理员管理实现管理员的添加、删除已经密码修改功能。 3.3 系统结构设计 根据系统功能和系统特点,可得出如图3-3所示的系统结构设计图。 主页 用户中心用户登录大讲堂普通门诊专家门诊 医医专专普管生生家家通理查信查信用员询息询息户 管科挂取挂密信用专预科理室号消号码息户家约室员选信挂记修修管管管管管择息号录改改理理理理理 图3-3 系统结构信息图 由上图3-3系统结构信息图可知,本系统普通用户登录后主要是进行预约挂号,取消挂号,以及对个人信息的修改;管理员系统的全部管理权限,包括用户信息的管理,专家信息管理,用户预约的管理、科室的管理,以及对管理员信息的管理等。用户还可以选择门诊来对相应的专家进行查询,以及通过用户中心来管理个人信息。 15 成都学院学士学位论文(设计) 3.4 后台系统界面设计 后台界面主要有6个部分,分别为后台登录,用户管理,专家管理,预约管理,科室管理,管理员管理。其中专家管理又分为专家列表和专家添加。 3.4.1 用户管理 用户管理界面主要是对用户的个人信息进行管理,如下图3-4所示: 图3-4 用户管理界面 如上图3-4所示,本界面内主要包含了用户的详细个人信息,包括用户姓名,性别,密码,证件号,证件类型以及家庭住址和联系方式等。并且可以对出编号外的所有用户信息进行修改,也可以对用户进行选择性删除。 3.4.2 专家管理 专家管理分为专家列表和专家添加两个部分,在专家列表中可以查看全部专家信息,并可以进行修改,专家添加主要是对专家进行添加。 图3-5 专家信息列表管理界面 如上图3-5所示,本界面内主要包含了专家的详细个人信息,包括用户姓名,性别,学历,职称和E-mail等。并提供了对专家信息的三种操作:编辑、查看、删除。点击编辑界面会跳转到一个新的页面,可以对专家的各项信息进行编辑和更新。 16 成都学院学士学位论文(设计) 下面介绍专家添加界面,如图3-6所示: 图3-6 专家信息添加界面 专家添加界面主要是对专家的个人信息的填写和添加,包括专家姓名、编号、性别、所属科室、职称、专业、类别、学历、E-mail以及专家简介。当填写所有信息后点击添加就会自动将输入的内容录入数据库,然后页面将会跳转到专家列表界面。 3.4.3 预约管理 预约管理界面主要是对用户的预约信息进行查看和处理用户预约信息,如下图3-7所示: 图3-7预约管理界面 预约管理界面主要是查询所有预约记录,并对用户超期预约进行处理和删除。当点击操作栏中的处理后,会将用户的预约状态改为已就诊或者已超期。 3.4.4 科室管理 科室管理主要是对现有科室进行列表查询,并提供删除和编辑科室信息操作。如下图3-8所示: 17 成都学院学士学位论文(设计) 图3-8科室管理界面 科室管理主要提供对现有科室的查询以及对现有科室的信息进行修改,并可以删除科室功能。页面下面添加科室可以对科室进行添加,点击添加或者取消后会自动刷新界面,显示科室列表。 3.4.5 系统管理员管理 管理员管理主要是提供管理员查询和管理员信息展示,如下图3-9所示: 图3-9管理员管理界面 管理员管理界面主要提供对现有管理员进行查询,并可以对管理员登录号,密码进行修改,以及删除、添加管理员的操作。 3.5 前台系统界面设计 界面设计总体遵循“简洁明快,方便使用的原则”。 3.5.1 母板界面 将所有界面都相同的元素的做成母版页,其它页面都继承这个页面。如图3-10所示,母板界面主要包括页眉,页脚和中间的给其他界面编辑的部分,其中页眉是会员注册、登录以及帮助中心的连接,网站logo图片以及导航;页脚主 18 成都学院学士学位论文(设计) 要是用户帮助的连接和其他连接。中间就是其它页面需要包含的内容,由其它页面继承后添加,这里就用“主要内容”标识其它界面需要填充。 图3-10母板界面 3.5.2 用户登录 登录界面主要提供给用户登录。如图3-11所示,该界面是在母板的基础上,添加了登录窗口,里面主要分成两部分,左边部分是用来填写登录信息,右边部分为两个连接,一个是注册,另外一个是忘记密码。 图 3-11用户登录界面 3.5.3 用户注册 注册界面主要是让用户输入用户注册的基本信息并提交。如图3-12所示,注册页面主要包括有,用户的证件类型、证件好嘛、家庭住址、用户名、登录密 19 成都学院学士学位论文(设计) 码、邮编、性别、联系电话、社保卡号、以及用户备注,其中用户备注可以为空。 图 3-12用户注册界面 3.5.4 预约查询 预约记录界面,就是用表格把登录的用户的预约信息展现给用户看。 如图3-13所示,预约查询界面主要包括预约号、预约时间、看病时间、预约的医生以及预约的状态。 图3-13预约记录界面 3.5.5 资料修改 资料修改界面主要展示用户的基本信息,有些信息可以让用户修改。如图3-14所示,界面中主要是用户的基本信息,包括用户身份证号、姓名、性别、医保卡号、手机号码(就是前面说的联系电话)、用户备注、详细地址、邮政编码。 20 成都学院学士学位论文(设计) 其中身份证是肯定不能让用户改的。 图表 3-14用户个人信息修改界面 3.5.6 密码修改 密码修改界面,提供给用户修改自己登录密码的功能。如图3-15所示,密码修改界面首先提示用户保管好登录密码,下面就让用户输入旧密码、新密码、以及确认新密码。外加一个提交修改的按钮。 图3-15 密码修改界面 3.6 本章小结 本章主要分析了系统设计,系统设计可分为系统设计思想、系统功能模块划分、系统结构设计;主要说明了系统功能模块的划分为:前台客户端界面的系统功能模块、后台管理界面的系统功能模块。并对前后台各个界面的功能和界面效果、布局进行分析。最终确定系统后台主要分为6个部分,分别为后台登录,用户管理,专家管理,预约管理,科室管理,管理员管理。其中用户管理提供对用 21 成都学院学士学位论文(设计) 户信息的查询和修改,专家管理又分为专家列表和专家添加,对专家信息进行修改和添加。预约管理提供对预约的查询和处理预约和删除预约。科室管理提供对科室的信息添加和删除。管理员管理提供对管理员的删除和信息修改。而前台主要分为5个部分,分别为用户登录,预约挂号,预约查询,用户基本信息更改,用户密码修改。 22 成都学院学士学位论文(设计) 4 重难点分析 在本次开发过程中,主要有一下几个方面的重点难点,需要进行分析和说明。 4.1 表现层重难点 变现层有两个方面的重难点,一个是后台管理界面采用了Iframe,上下部分和左边部分界面在admin.aspx界面中不动,剩下部分采用一个Iframe,当我们点击左边部分的按钮时,系统会自动将相应的界面链接到Iframe中。这是采用模版之外的又一种采用固定界面的方式。下图4-1所示部分代码截图: 图4-1 admin.aspx界面Iframe使用截图 另一个重难点是表格字段的绑定,对表头和表格字体进行设置,用固定的表头和字体。下图4-2所示部分代码截图: 图4-2 UserList.aspx界面表头绑定及表格字体设置截图 用属性Header Text进行表头的绑定,在Header Style和Row Style中利用Font-size对字体大小和用Height对高度进行设置。 23 成都学院学士学位论文(设计) 4.2 业务逻辑层重难点 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。业务逻辑层在体系架构中的位置非常关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。下面展示获取医生相关信息的业务逻辑层doctor_infobll部分代码,如下图4-3所示 图4-3 业务逻辑层doctor_infobll部分代码截图 当前台进入医生信息时,首先新建一个doctor_infodao()方法,然后用getdocinfo(did)获取医生信息。业务逻辑层起到了数据交换中承上启下的作用,对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。 4.3 数据访问层重点 数据访问层:又称为DAO层,有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select(查询),Insert(插入),Update(更新),Delete(删除)等操作。数据访问层,简单的说,就是通过DAO对数据库进行的SQL语句等操作。 4.3.1 获取信息 由于本系统中有很多地方需要获取用户或者医生信息,并且这些信息都会重复使用多次。所以使用数据访问层可以增加代码的重用性,并且消除业务逻辑对数据源的操作,隐藏数据操作的细节。下面以获取管理员信息为列来说明获取信息的重要性。获取管理员信息代码如下图4-4所示: 24 成都学院学士学位论文(设计) 图4-4 数据访问层SysDao.cs中获取管理员信息代码截图 代码说明:数据访问层将SQL查询语句封装在代码中,有利于数据的安全性。首先新建一个list()方法,当sys==null时,查询管理员所有信息的操作,或者获取当前管理员编号,对当前管理员进行查询,查询出管理员名和密码。 .3.2 添加信息 4 本系统中涉及到很多添加信息的地方,比如说用户注册,管理员的添加,科室的添加以及医生的添加。添加信息会对数据库进行访问和读写,数据的操作也是本系统中最难的地方,保证数据的正确读写也是很困难的。由于数据库中保存的数据有多种类型,但是我们在进行数据操作时难免会需要进行数据转换,数据的转换也是数据库中最容易出问题的地方。下面通过本系统中添加管理员来做个示范。如下图4-5数据访问层SysDao.cs中添加管理员代码截图所示: 图4-5 数据访问层SysDao.cs中添加管理员代码截图 25 成都学院学士学位论文(设计) 代码解释:首先判断是否连接上数据库,如果没有连上则返回错误;如果连接上了数据库,判断输入框tb_name和tb_passworde中是否为空,为空直接返回。不为空就获取他们的数据,然后通过insert into方法插入到数据库中。 4.4 用户登录 用户登录设计到用户账号和密码,还有验证码的核对。 4.4.1 验证码 验证码单独用一个窗口实现,然后在登录几面用imageButton控件中调用。 产生随机验证码字符的方法: 通过代码我们可以知道该方法仅仅随机产生一个int Length长度的字符,然后调用Draw Validate Code( )方法将字符串画到图片上,另外,这里用session把随机生成的字符串保存起来,以便在登录界面做判断。其中,方法把字符串画到图片中的代码为: 4.4.2 登录 登录就是对用户输入的证件号和密码与数据库中相应用户的证件号和密码进行匹配,如果匹配成功,才能登录成功。在匹配密码之前,先对验证码进行匹 26 成都学院学士学位论文(设计) 配,这样避免验证码输入错误,多次调用数据库,其中通过证件号查找密码的代码如下: 通过用户输入的证件号嘛,到数据库中去查找对应的密码,如果要考虑安全,还应该将密码加密,这里为了简单,就仅仅是把相应密码取出来,如果没有找到密码,那该用户就不存在,如果找到了,就和用户输入的密码进行对比,确定密码是否正确。 4.5 预约记录 这部分做得很简单,仅仅是将数据库中booking表中的信息选择性取出来给用户看。代码如下: 通过用户id查询用户信息,然后返回一个集合,在页面的后台数据代码中 将 27 成都学院学士学位论文(设计) 集合绑定到数据控件中展示出来,这里用的是用户id,而登录用的是证件号,因此,需要通过证件号获取用户id,代码如下: 4.6 资料修改 修改用户的个人资料包括用户查看现有资料,以及提交更新很的用户个人资料。 4.6.1 输出现有用户信息 将用户原有的用户信息,从数据库中取出,展现在界面上。代码如下: 将用户信息取出来放入ModelUser中,以便用户修改后,再以ModelUser 28 成都学院学士学位论文(设计) 信息更新到数据库中。 4.6.2 更新用户信息数据库 用户修改信息后也先存入ModelUser中 然后以ModelUser作为参数传递给更新用户信息数据库的函数,其中更新数据库的代码如下: 该函数返回一个bool值,用来表示用户个人信息是否更新成功,如果成功,返回true,否则返回false,参数是一个Model,就不用将用户要更改的所有信息作为参数,使参数个数比较少。 然后在更新用户数据的页面中调用该方法,代码如下: 通过上面代码我们可以看到首先把用户修改后的信息封装到ModelUser中, 29 成都学院学士学位论文(设计) 然后调用DAO_user.UpdateUser(mu)函数,通过返回值判断是否更新成功。 4.7 密码修改 密码应该是用户个人信息,但是由于这设计到安全问题,因此需要用户知道自己以前的密码,否则不能修改,因此要先确定用户输入的旧密码和数据库中的密码先匹配,再把用户输入的新密码更新到数据库中,用户两次输入新密码必须相同以便于确定用户不是随意输入的密码。关键代码如下: 首先调用getUserpwdBycer ( )方法获取数据库中的用户密码,然后与控件中用户输入的旧密码匹配,匹配成功后,再判断用户输入的两次新密码是否相同,只有相同后,才调用UpdateUserPWD ( )方法把新密码更新到数据库。否则,用