基于java的医院挂号系统的设计与实现论文设计

上传人:文*** 文档编号:54760965 上传时间:2022-02-15 格式:DOCX 页数:50 大小:511.03KB
返回 下载 相关 举报
基于java的医院挂号系统的设计与实现论文设计_第1页
第1页 / 共50页
基于java的医院挂号系统的设计与实现论文设计_第2页
第2页 / 共50页
基于java的医院挂号系统的设计与实现论文设计_第3页
第3页 / 共50页
点击查看更多>>
资源描述
基于JAVA的医院挂号系统的设计与实现医院挂号系统的设计与实现摘要:在20世纪中,计算机的诞生为全人类打败法西斯做出了重大的贡献,正是由于计算机的运算速度远超人类,在使用计算机的过程中极大的节约了时间、提升了工作的效率、计算的准确性。如今计算机被广泛使用与全世界的各行各业使人类的生活更加便捷高效。由于人工作业的时间跨大、工作效率低、病历查找困难、病历存放浪费空间,所以本系统可以把传统的医院工作模式抽象化为数字化模型,建立相应的软件系统,从而使用科学高效的方式优化医院工作流程与管理。本系统的服务对象分别是管理人员、医务人员和患者。患者可以通过提交个人信息来进行注册、通过登录账号来进行对医生信息的查询、登陆后个人信息的修改、查询到医生后进行挂号预约。医院管理部门可以通过登录管理员账号进行登录,管理医院、科室、医生、患者(会员)和公告信息对医院进行全方位的管理。在这个系统中由于计算机平台的快捷性,可以一目了然的了解整个系统,从而高效率的管理医院的各个部门。医院挂号系统是通过使用eclipse平台开发和依靠MySQL数据库进行数据管理并且利用SSH框架快速构建而成,由于SSH框架(Struts、Hibernate和Spring)具有层次分明的结构可以帮助开发人员快速的进行开发管理和维护。本系统主要是由前端网页进行显示操作由前端操作触发后台程序来进行对后台数据库的管理完成。在使用方便简洁高效,以核心功能为主达到本次的设计要求。关键词:SSH;JSP:Eclipse:MySQL;挂号;Abstract: in the 20th century, the birth of computer has made great contributions to the defeat of fascism by all mankind. It is precisely because the computing speed of computer is far faster than that of human beings that it greatly saves time, improves the efficiency of work and the accuracy of calculation in the process of using computer. Nowadays, computers are widely used in all walks of life around the world to make human life more convenient and efficient. Because of the time span of manual work, low efficiency, difficulty in finding medical records and waste of space for storing medical records, the system can abstract the traditional hospital work mode into a digital model, and establish the corresponding software system, so as to optimize the hospital work process and management in a scientific and efficient way.The service objects of this system are respectively managers, medical staff and patients. Patients can register by submitting personal information, query doctors information by login account, modify personal information after login, and make registration appointment after finding doctors. The hospital management department can log in by logging in the administrator account to manage the hospital, departments, doctors, patients (members) and announcement information. In this system, because of the rapidity of the computer platform, we can understand the whole system at one glance, so as to manage all departments of the hospital efficiently.The hospital registration system is developed by using Eclipse platform and relying on MySQL database for data management and Using SSH framework for rapid construction. Because SSH Framework (struts, hibernate and spring) has a hierarchical structure, it can help developers to develop, manage and maintain quickly. This system is mainly by the front-end web page display operation by the front-end operation trigger background program to complete the management of the background database. It is easy to use, simple and efficient, and the core function is the main part to meet the design requirements.Keywords: SSH; JSP: Eclipse: MySQL; registration;目录1 绪论11.1 医院挂号系统开发的背景11.2 医院挂号系统开发的现状11.3 医院挂号系统解决的主要问题22 相关开发技术简介22.1 Eclipse简介22.2 MySQL数据库简介32.3 JavaScript简介42.4 JSP技术简介42.5 MVC模式介绍52.6 SSH框架介绍73 需求分析与设计83.1 可行性分析83.2 需求分析93.2.1 概述93.2.2挂号需求93.2.3管理需求103.3 开发环境114 系统分析与设计114.1 系统概述114.2 系统功能114.3 用例图134.3.1 患者使用图:134.3.2 管理员使用图:134.4 流程图145 数据库设计155.1 数据库设计概述155.1.1 E-R图说明155.1.2 数据库逻辑结构设计176 系统的实现196.1 网站首页实现196.2患者使用功能实现206.2.1患者注册及登录账号206.2.2 查询医生及挂号216.2.3 患者更改个人信息及挂号状态226.3 管理员使用功能实现236.3.1登录管理员系统236.3.2管理员对系统的管理257 系统测试277.1 测试的目标287.2功能测试287.3测试的结果317.3.1 用户和管理员登录模块测试317.3.2用户注册模块327.3.3 数据库测试337.3.4性能测试33总结34参考文献35致谢36 441 绪论1.1 医院挂号系统开发的背景 随着计算机世界的发展,越来越多的体力工作正在被计算机逐一取代,无论什么工作,如果想要变得高效节约成本,毫无疑问使用计算机来做哪些简单重复的体力劳动不仅提高了工作效率,而且节约了劳动成本、增加了可靠性。处于当今社会的我们,不仅早已习惯了高效的生活,而且善于使用科学技术使生活更加高效。一直以来,都有很多的患者一直在不停的抱怨,每次看病总是等待几小时看病5分钟,因此我决定开发“医院挂号系统”来解决挂号排队的问题。从当下来说,造成门诊挂号效率低下的原因主要有:(1)患者的不确定性即在不同的时间段,患者的人流量不确定并且每个患者需要的诊断时间不确定。这样就引起了看病排队时间长的问题。(2)人工处理过程过多,由于很多地方仍然是人工处理阶段,由于人工处理容错性较差,只要发生错误纠正起来非常复杂又容易引起纠纷,所以导致看病进程大大降低。所以在医疗领域引入计算机可以提高医院的整体效率,提高患者的就医体验,使医生和患者的关系更加和谐,同时可以使医院更好的协调分配利用资源。不仅有利于构建和谐的医患关系,而且使社会变得更加美好。1.2 医院挂号系统开发的现状当前,很多的大型医院已经开始使用计算机系统作为工作和管理的平台,在早些年都有很多医院开始实行电话预约,短信预约,网上预约的方式来进行挂号诊断,但是根据有效数据进行分析,预约挂号的数据中电话预约的数量达到了30%,网上预约的数量达到了10%,而现场就诊的数量达到了60%,其中预约的数量以40岁以下的为主,数据表明,仍有很多的患者处于等待与排队就诊的流程中。而且有很多的病症并不是医生可以直接判断出来的,往往需要通过各种检查,而医生通过对检查结果的判断,从而准确判断出病症所在。现在部分大医院已经采用线上线下想结合的方式来对医院挂号系统进行管理,优点是取代了传统人工挂号的方式,通过智能设备进行操控。但是在一些小医院却没有能及时引进计算机系统来为医院进行管理,若要全方位的照顾患者的感受必须兼顾小型医院,为小型医院做出一套方便好用的系统。1.3 医院挂号系统解决的主要问题医院挂号系统总是和就医体验紧密相关,病人获得满意的医疗体验是最重要的而确保病人可以获得良好的就医体验就显得十分重要。如今看病就医难已经不再是医疗水平的问题,而是医疗资源分配的问题,患者等待时间长却无法分配到适当的医疗资源自然会引起患者的不满。造成医疗分配不均衡可能是以下原因引起的:(1)患者就医未能错开就医高峰期,导致高峰期就医的患者都需要很长的等待时间。(2)医院管理层面效率不高,进行人员调动时不能迅速的安置好人员的工作内容信息,导致医生资源减少。所以在这里就可以利用科技的便利来实现患者的挂号问题和医院管理问题。本系统的设计主要是使用JSP语言进行开发,使用TOMCAT作为服务器平台,利用MySQL数据库来存储系统中的数据,并且本系统使用SSH框架来进行简化开发难度和加快开发速度。各个功能描述如下:(1) 管理功能:通过管理员账户的登录进行对医院的管理,其中包括(医院管理、医院公告管理、医院科室管理、专家医生管理、注册患者管理等功能)来对医院进行全方位的管理。(2) 患者功能:患者可以对医院主页的访问,查看医院的公告、通过查询进行提前挂号、以及个人信息状态的管理。从医院管理和患者的角度出发,进行对系统的构建从而解决患者和医院的问题。2 相关开发技术简介2.1 Eclipse简介Eclipse是由众多科技公司合作开发的一款开源的、用于Java 的可扩展的集成环境平台,研制的目的主要是为了简化整个软件开发周期内的复杂程度以及减少时间的消耗,并使众多的跨平台开发者可以使用这款软件进行无间断的合作进行集体对同一项目的开发。现在,Eclipse已经作为一款主流的开发平台广泛的在商业开发中使用,如今Eclipse可以进行安装许多的三方功能插件来完成项目的开发,并且支持多种编程语言编译开发的插件。Eclipse已经覆盖到了现在信息化时代的很多方方面面,Web开发、Android开发、嵌入式开发、等各种应用。Eclipse集成开发环境的有点如下:(1)支持目前各大主流系统,可以实现众多开发者使用不同的平台进行开发(例如Windows系统、MacOS系统、Linux系统、Unix系统)。(2)Eclipse集成开发环境可以应对不同类型的项目进行开发(前端HTML项目、后端Java项目、底层C语言项目等)。(3)Eclipse可以将多种第三方功能性插件安装集成在集成开发环境中,可以提高软件开发者对三方功能性插件的使用,并且整合使用到新的项目中。(4)Eclipse仍然在不断进行完善的过程中,作为一个优秀的开发平台,当然会跟随计算机发展的道路不断地做出适应性的优化。2.2 MySQL数据库简介MySQL数据库是一种简单便捷的小型化数据库,在数据库运行的过程中往往占据较小的硬件资源消耗,故软件开发者在开发阶段会使用本数据库进行对项目的调试以及优化。MySQL数据库虽然不及大型数据库(ORCALE数据库、SQL SERVER数据库)但是它也是关系型数据库之一并且在WEB开发领域具有非常好的使用价值,由于MySQL的源代码是开放的所以使用者使用起来可以降低成本。MySQL经过多年的发展在众多的数据库软件中已经有了许多鲜明特征:MySQL使用C/C+进行开发,在各种编译器中运行测试,确保了源代码的可移植的特性。MySQL同样也支持多中主流操作系统(如Windows系统、MacOS系统、Linux系统、Unix系统)。支持多线程CPU有效的利用有限的硬件资源。提供多种数据库连接方式,并且通过优化查询算法可以提高查询速度。所以在本次的系统设计中选择适合中小企业的MySQL数据库。2.3 JavaScript简介JavaScript是一种广泛使用在前端开发的脚本语言,使用JavaScript可以提高网页的交互能力使其变得更加美观流畅。JavaScript是由ECMAScript、DOM和BOM组成,ECMAScript定义了语法和对象、DOM定义网页的方法和接口、BOM定义浏览器的方法和接口从而进行交互操作。支持JavaScript的浏览器众多(Google Chrome浏览器、Microsoft Edge浏览器、FireFOX等),并且支持面向对象的编写方式。其特点如下:(1)JavaScript的程序代码不需要提前编译,直接可以使用。(2)JavaScript常用来向HTML页面添加交互指令。(3)JavaScript可以在很多浏览器内运行,并且可以在多个操作系统内运行(如Windows系统、MacOS系统、Linux系统、Unix系统)。(4)JavaScript有着属于自己的基本数据类型、运算符号、表达式和程序框架,并且提供了多种数据类型来处理数据信息,而且可以通过它来实现人机交互过程。所以在开发的过程中,使用JavaScript可以在做好系统的同时来方便更多用户的使用,给用户带来了一定的便利性和无与伦比的交互体验。2.4 JSP技术简介Java Server Pages的缩写是JSP,它是一种动态网页的技术规范标准。把JSP部署到服务器上以后可以对用户的请求做出响应,并且可以将用户的请求内容反馈回到用户。JSP 以Java语言为基础,为用户的请求提供服务,同时也能与服务器上的其它Java程序共同协作以处理业务需求。JSP通过加入引擎的方法来实现网页的动态交互,这样可以减少用户的操作难度。由于JSP的引入,它可以使基于WEB的客户端变得更加高效灵活,很多步骤都可以由Java Servlet自动完成(如进行文件操作、页面跳转等),而且可以与各种服务器、开发软件、浏览器软件协同工作。从而在运行JSP的时候可以有较高的CPU资源使用率。JSP也是一种可以在不同操作系统上运行的语言(如Windows、MacOS等),跨平台的特性也使JSP语言可以使它实现复用的特点;JSP的使用为动态Web页面的开发带来了很大的方便。凭借JSP中插入的Java代码,可以使WEB页面变得更加灵活(如对数据库的访问操作、URL重定向等)。JSP运行在服务器中,用户可以使用任何附带浏览器的设备进行服务器的访问。JSP的语言特点有以下几点:一次编写完成,多处设备运行。只有系统需要修改,而代码不需要做任何修改。多个平台操作系统的支持。JSP可以在多个操作系统平台上开发,在任何环境中进行部署,可以自由的扩展。还可以使用JDBC链接来连接数据库,因此具有很高的可移植性。强大的可伸缩性。只需一个Jar文件就可以运行Servlet/JSP,任意数量的服务器构成的服务器群都可以对Application进行操作(消息、事务处理)Java在这个过程中展现了强大的生命力。(4) 多样化和强有力的功能性开发工具支持。Java有很多免费的优秀开发工具,一部分开发工具可以运行在多种平台上。(5)支持服务器端口组件。网页应用需要强有力的服务器来支持,软件开发者必须利用其它工具来设计实现复杂网页的页面调用来提高系统资源利用率及性能。 所以在开发过程中采用作为JSP语言来进行开发,这不仅仅是JSP的魅力,同时也是市场和万千开发者的选择。2.5 MVC模式介绍Model View Controller(模型视图控制器)的缩写是MVC,它是一种程序设计理念,MVC模式使用分离的方式来对逻辑、数据、显示的代码分别处理,MVC把业务逻辑的代码集中到一个部件中,在整个项目进行对页面的风格化改造和交互体验的过程中,不需要对业务逻辑进行重新修改。其中如果Model进行了修改,那么View也要进行同步修改,在这个过程中Controller存在的任务是确保Model和View的同步。MVC其实是指使用了这种模式的某种框架,MVC强行把程序的输入、输出和处理过程分开。最为经典的MVC模式应用就是JSP、Servlet和JavaBean的组合使用。其中MVC的每个核心都有其详细分工如下所示:View(视图):View就是使用者会看到的可交互页面。这些视图为用户提供了操纵和输出数据的方式。Model(模型):Model代表着企业数据和一定的业务规则,在整个MVC中,Model有着最多的处理工作,其中Model的代码部分一次编写就可以在多个视图中重复使用,提高了代码的复用性,减少了代码的冗余。Controller(控制器):Controller负责从视图接受用户指令并从模型中调用相应指令,但是它本身不对任何数据进行处理。在使用中MVC带来了无与伦比的体验,选择一种良好的是整个工程开发周期中十分重要的一环,使用MVC模式还有以下特点:低耦合性视图和业务层相分离,正是因为如此在修改视图代码的同时不需要对模型和控制器层做修改,与此同时工程的改变只需要对相应的MVC模型层做出修改。假设如果需要改变项目使用的数据库,那么只需要改变Model(模型层)就可以。由于使用MVC模式的项目工程内的三大部件是独立的部分,因此改变其中一个不会对其它的部分产生不良影响,这就是属于耦合性低的构造方式。重用性高随着时代的发展技术不断成熟,访问程序的方式更加多样化。使用MVC模式的各种视图可以访问共同服务器的代码,正是因为一个模型可以在多个视图上使用,正如在不同设备的浏览器中都可以使用和访问。所以即使在不同设备的显示样式不同,但是都可以使用相同的功能。部署快在负责不同部件的软件开发者都可以集中解决属于各自的部分(如前端程序员负责页面,后端程序员负责底层逻辑实现),因此软件开发周期短项目部署节约开发资源。项目开发生命周期短成本低由于接口的存在,可以大大减少开发和维护的难度和复杂性,只需要对故障模块进行维护,而不需要对整个工程进行排查,所以项目开发和维护成本低。有利于工程化管理由于每个层面都会有一些共同特征,所以在工程管理方面具有工程、工具化管理项目代码,通过控制器来对不同的模型和视图进行连接以满足使用者的需求。2.6 SSH框架介绍Structs Spring Hibernate集成框架的缩写是SSH(,它是一种WEB开发框架,其中它从系统上可以概括性的分为四个层面:表示层、模块层、数据持久层、业务逻辑层,在使用的过程中可以帮助程序开发者在短期内构建工程项目并且采用SSH框架构建的项目具有结构清晰、复用度高、维护便捷等有点。在使用的过程中Structs负责系统的整体基础框架,控制MVC的分离以及在Structs架构的模型部分控制作业跳转,同时利用Hibernate给数据持久层提供服务,而Spring管理其余两项。由于SSH集成框架是基于MVC模式开发的,在使用过程中继承了很多MVC模式的有点所以在使用体验方面方便快捷并且受到广大程序开发者的喜爱。Structs:Structs是基于MVC框架发展而来,它依靠JSP和Servlet来实现,其中两个重要部件分别是EJB和JavaBean;框架控制能力是由Action和ActionServlet协作完成;而视图功能部分则是由很多个相互关联的JSP构成,从而实现系统所拥有的功能。用户通过浏览软件发送符合HTTP协议的数据包请求。HTIP请求数据包到达服务器后,通过控制器来进行框架结构填充。填充数据请求经过控制器的Action部分进行数据处理。控制器处理好的任务数据调用Structs的部件来实现业务逻辑。把作业逻辑转换为JSP作业形式进行处理,并且返回处理结果。使用者在浏览软件上可以查看到HTTP请求后的结果。Hibernate:Hibernate来负责与数据库的交接。经过持久化的数据对象从而进行对象关系的关联,并且使用对象的视角来进行对数据库的访问。由于对JDBC进行了封装,开发者可以使用面向对象的方法来实现对数据库的操控,从而可以更加灵活的使用JDBC。在使用的过程中以hibernate.cfg.xml配置文件来代替数据库连接代码,并且使用Class.hbm.xml来实现数据库的映射情况。而且hibernate拥有属于自身的HQL语句,虽然与SQL不太相同,但是HQL可以通过系列的创建Query方法来进行对query对象的创建,并且由其完成对数据库的基本操作。Spring:Spring是用来代替EJB的功能,Spring是通过使用JavaBean来实现EJB的功能。Spring的核心功能就是IOC(控制反转)和AOP(面向对象编程)的技术。使用Spring相当于不用自己主动去NEW一个对象,而是将创建过程交给了IOC(控制反转)来进行创建。同时,Spring凭借依赖注入的方法,使用Set和Get的方式来给这个对现象注入属性,这样就可以避免对容器API的完全依赖,从而实现了查询依赖和代码之间的解耦。而使用面向对象编程(AOP)是为了将系统服务和业务逻辑区分开来,从而进行内聚性开发,应用程序之负责完成业务逻辑即可。在软件项目的开发上使用集成框架可以最大程度的减少工程系统的开发周期、并且提高开发质量、减少对资源的消耗。框架往往提供了很多系统功能性的接口,这样仅仅在开发中调用即成的接口来为开发中的项目提供服务。并且在团队开发时使用SSH集成框架可以在很大程度上规范不同开发者的书写风格使其简单明了,这样就可以在维护系时提高效率。3 需求分析与设计3.1 可行性分析如今已经有越来越多的企业使用计算机来提高企业的工作效率,所以在医疗系统上同样也可以引入计算机从而提高医院的整体工作效率与管理模式。在项目开发上,可以采用当下主流的JAVA语言进行开发,使用Eclipse作为项目开法的集成化环境平台,由于医院挂号系统是负责处理整个医院的事务处理,所以使用MySQL小型化数据库可以满足整个医院系统对数据存储的需求。在开发过程中,由于集成框架可以提供很多可用的功能模块,所以可以使用SSH集成框架来进行加速项目的开发,不仅提高了开发速度、节约成本,而且使用框架开发的项目在后期维护起来也更加便利。在整个系统的表示层面,仅需要可访问互联网的设备,就可以在浏览器中进行对整个软件的访问和控制。3.2 需求分析 3.2.1 概述需求分析过程是用来对于整个项目的规划,在规划过程中做出最优选择并且避免风险的发生,需求分析是项目开发的开头环节。本次的项目的目的就是为了提高医院的整体效率,通过引入计算机程序的方式来为医院的各个部分做出利于提高效率的工作平台。长期以来,医患关系总是个炙手可热的问题,由于人工系统的准确性和效率受很多不确定因素影响,医生和患者不能得到及时有效的沟通,从而造成了医患关系的紧张,更进一步来说,甚至由于医院管理架构不够清晰明了,领导对于员工的信息不够准确了解,造成了领导与医务人员之间关系的紧张,从而间接的影响了医务人员的工作效率。在本系统中,为了提高医院的整体工作效率,必须严格明了的对医院进行管理,同时要把医治患者放到第一位。经过调查发现,传统的挂号模式无法做到有效的人员分流在就医的高峰期容易导致患者情绪不满,同时医生会由于过度繁忙导致无法更确切的对病症进行有效判断,而在就医的低峰期又导致医务人员的闲置,造成了人力资源的闲置。通过引入本系统,可以适度减轻医务人员的工作压力,并且改善部分患者的就医体验。同时提高医院的整体工作效率。整个系统是通过网站的方式来展示给用户,由于将系统架设在服务器上可以减少访问者的资源消耗,可以使访问者轻松便捷的访问到系统的每一个功能。提高患者的就医体验是刻不容缓的工作,所以使用计算机来进行对现有的医院进行改善和提高是一项使所有公民直接受益的必要措施。3.2.2挂号需求(1) 网上预约挂号为了实现良好的网站设计,第一步就是要求网站需要有很高的安全性、稳定性、可维护性。其次在对与展示页面的设计必须要有良好的交互性、简介性,可以让用户简单明了的查询到所需要的功能。在挂号模块,用户可以从网站首页查看到现有的医院信息,在医生选择界面患者可以通过筛选不同类型的医院,不同类型的科室,然后选出科室内的医生,在挂号之前必须通过提交自己的基本信息进行注册,注册完成后既可以顺利的进行挂号。挂号流程如下图所示:(图)3.2.2-1患者挂号流程图(2) 挂号方式患者使用浏览器来访问医院主页,点击医生查询进入查询页面,通过页面给出的选择信息进行依次选择医院,科室和类型(专家/普通)以及医生姓名进行查询,查询到相应医生时点击医生进行挂号,如果未进行账号注册,则系统会提示注册登录账号后再进行挂号。于此同时,对于患者来说挂号信息是1对1的关系,而对医生来说则是1对n的关系,病人只可以进行一次挂号,而医生可以收到多个患者的挂号信息。3.2.3管理需求 在医院的管理层面,需要有相应若干管理员来进行医院的管理,主要有进行对医院公告信息管理、医院管理、科室信息管理、医生信息管理、患者信息管理等。在整个管理界面中必须使用简单便捷,并且可以直接明了的进行增删改查。管理员管理流程如下: (图)3.2.3-1管理需求图3.3 开发环境数据库:MySQL 5.5;系统平台:Windows10;开发平台:Eclipse2018;开发语言:JDK 1.8.0_181;服务器:apache-tomcat-7.0; 4 系统分析与设计4.1 系统概述在进行了需求分析之后紧接着就需要对整个系统的设计有详细的规划,规划的目的就是为了更好的将逻辑过程转换为实际项目。与此同时系统的详细设计需要考虑到很多因素例如内在环境与外在环境,客观与主管条件等。为了确保整个系统的实现,必须考虑到诸多因素(例如:经济、时间、技术、等)通过规划从而做出合情合理的计划方案,最终选择出确定的执行方案来完成对系统的构建。系统设计的目的就是为了针对不同开发阶段从而设计出相对的功能模块;再则系统设计就是要为用户提供和服务,以最大限度的减少用户使用的操作难度,同时需要降低管理者的工作负担,最大程度的将处理过程交给系统自动化完成,并且需要具有良好的交互体验。最终要的就是系统设计实现后,很可能会面临一些功能的添加,所以系统需要很好的可扩展性,降低模块间的耦合性,并使整个系统易维护与扩展。由与系统设计中经常会遇到客户需要做出更改的地方,所以系统设计中再设计过程仍是一个非常重要的环节。4.2 系统功能医院挂号系统的设计主要是实现分流作用而设计的预约挂号,为了实现此功能必须要由显示信息和管理信息,因此系统可以分为两个模块即显示模块和管理模块。其中显示模块系统前台功能图如下(图)4.2-1所示,我们又将前台功能细分为三大块功能,分别是:信息展示模块、系统应用模块、用户模块。医院挂号系统显示模块如(图)4.2-1所示:(图)4.2-1系统显示模块图(1)医院信息展示:患者可以看到现有医院信息以及医院公告信息,并且可以很具筛选条件查询到现有医生信息。(2)使用挂号系统:通过注册进行登录查询医生信息进行挂号等。(3)患者:登录账号、查询医生信息、线上预约挂号。系统后台功能图如(图)4.2-2所示:(图)4.2-2系统后台管理功能图后台功能需求如下:(1)修改登录账号密码:患者和医院的管理员可以通过登录相应账号进行对自己密码信息的修改。(2)管理医生信息:根据医生工作的医院科室等进行添加,或直接删除医生信息。(3)管理患者信息:由管理员查看已经注册的账号信息,并且可以进行删除。(4)管理公告信息:由管理员来进行对医院公告的发布和删除。(5)管理医院信息:实现在系统内添加或删除不同医院的信息4.3 用例图4.3.1 患者使用图:患者用户:通过线上注册账号,登录账号进行查询相应的医生信息,并且进行挂号预约。(图)4.3.1-1患者使用图4.3.2 管理员使用图:管理员用户:管理员通过登录管理账号进行对医院挂号系统的数据库数据进行更改;通过相应操作可以对医生、医院、医院公告、注册患者的信息进行统一的管理。 (图)4.3.2-1管理员使用图4.4 流程图(1)患者用户使用流程图如图所示:(图)4.4-1 用户流程图用户可以在网站的主页看到信息查询的按钮并对想要查找的信息进行填写,然后根据查询结果进行预约挂号填写个人信息,同时如果不想预约,可以进行取消预约的操作。(2)管理员流程图如下所示:(图)4.4-2 管理员流程图管理员从首页下方的“系统管理员登录”进入登录界面,输入自己的账号信息进行登录,从而进入管理页面,在管理页面可以医院的所有信息进行修改(如:添加删除医生信息、添加删除医院信息、添加删除公告信息、添加删除科室信息等一系列的管理操作。5 数据库设计5.1 数据库设计概述数据库的设计需要大量的收集和分析数据,认真分析数据之间的联系,去除可能会影响数据库运行的不利因素。在数据库设计的期间,必须按照整体方案来严格执行。数据库的效率将会对整个工程项目的效率有直接的影响。因此数据库内的每一项数据必须有明确的使用目的,在进行对数据库的设计期间应根据实施情况考虑用户的需求,数据库和系统使不可分割并且相互促进的关系。数据库的设计包括确定建立数据库的目的、建立数据库概念模型、建立数据库模型和实施数据。通过以上步骤的构建,完成一个与系统相符合的数据库。5.1.1 E-R图说明建立概念模型,是在在构建数据库中关键的环节,需要根据确定实体对象、属性和相互之间的关系来构建。之后进行数据库E-R图的初始化与优化,并且消除数据库中冗余的部分。通过对本系统的分析数据库中有7张表,分别是管理员表、公告表、挂号表、科室表、医院表、患者用户表、医生专家表,其中各个表的E-R图描述如下。(1)管理员表E-R图:管理员表分别由管理员编号,登录名和登录密码。如下图所示:(图)5.1-1 管理员表实体-属性E-R图(2)公告表E-R图:分别由公告编号、公告标题、公告内容和公告时间。(图)5.1-2 公告表实体-属性E-R图(3)挂号表E-R图:根据患者的信息和医生的信息 并且通过专家工号和患者编号将挂号信息联系起来。(图)5.1-3 挂号表实体-属性E-R图(4)科室表E-R图:通过科室编号和科室名称来锁定一个科室。(图)5.1-4 科室表实体-属性E-R图(5)医院表E-R图:医院表是由医院编号、医院名称、医院地址和医院电话这些信息组合而成。(图)5.1-5 医院表实体-属性E-R图(6)患者用户表:其中包括患者编号、患者名字、登录账号、登录密码、患者地址、患者邮箱和患者电话,通过注册提交信息则可以进行登录挂号。(图)5.1-6 患者用户表实体-属性E-R图(7)医生专家表:其中包括医生专家工号、医院编号、科室编号、姓名、性别、年龄、擅长领域、门诊类型和照片等。通过专家表可以表明专家所属医院可科室信息,可在查询时从医院科室查询。(图)5.1-7 专家表实体-属性E-R图 5.1.2 数据库逻辑结构设计(1)系统公告表:用于存储医院公告信息,使患者可以看到最近的公告信息。表5.1.2-1 公告表字段名称数据类型长度备注用途idint4主键按照递增顺序自动编号biaotivarchar50无存储公告标题neirongshijian50无存储公告内容shijianshijian50无存储公告发布时间(2)医生专家信息表:用于存储医生与工作相关的信息,使医生在系统中利于查找。 表5-2 医生专家表字段名数据类型长度备注用途idint4主键按照递增顺序自动编号xingmingvarchar4无存储医生专家姓名xingbievarchar50无存储医生专家性别nianlingint4无存储医生专家年龄Leixingvarchar50无存储门诊类型shanchangvarchar50无存储医生专家擅长领域fujianvarchar50无存储医生专家照片(3)挂号信息表:用与储存用户提交的挂号信息。 表5-3 挂号表字段名数据类型长度备注用途idint4主键按照递增顺序自动编号userIdint50无存储患者编号zhuanjiaIdint50无存储专家工号riqivarchar50无存储挂号日期jibingvarchar50无存储所患疾病xingmingvarchar50无存储真实姓名lianxivarchar50无存储联系方式(4)医院信息表:对不同医院的信息进行存储。表5-4 医院表 字段名数据类型长度备注用途idint4主键按照递增顺序自动编号mingchengvarchar50无存储医院名称dizhivarchar50无存储医院地址dianhuavarchar50无存储医院联系方式(5)患者用户表:存储用户的基本信息,账号密码等必要信息。表5-5 患者用户表字段名数据类型长度备注用途user_idint4主键按照递增顺序自动编号user_nameint50无存储患者登录账号user_pwvarchar50无存储患者登录密码user_realnamevarchar50无存储患者姓名user_sexvarchar50无存储患者性别user_addressvarchar50无存储患者地址user_telvarchar50无存储患者联系电话(6)管理员信息表:存储管理员的账号信息,账号和密码。表5-6 管理员表字段名数据类型长度备注用途idint4主键按照递增顺序自动编号userNamevarchar50无存储管理员登录账号userPwvarchar50无存储管理员登录密码6 系统的实现6.1 网站首页实现网站的首页是十分重要的,作为用户和使用者首先能看到的页面,首页的内容度直接决定了使用者对与网站的看法的态度,正所谓第一印象。所以在网站的首页以尽可能简单的方式来展示其中的内容,可以使用户一目了然。并且网站首页的展示内容和用户体验有着直接关系的属性。通过在首页内加入导航栏以方便患者用户进行功能的查找、加入医院信息栏可以使患者用户清楚的了解网站中分别包含那些医院。并且在右侧栏可以进行患者客户的登录。本网站首页如下图所示: (图)6.1-1 医院挂号系统首页设计 6.2患者使用功能实现6.2.1患者注册及登录账号在进行挂号前必须进行用户注册,否则无法进行挂号。用户通过点击“用户注册”来进入到注册页面(如图6.2.2-1)在页面内输入登录信息点击确定后即可注册。(图)6.2.1-1 患者用户注册页面 完成注册后,患者需要进行登录已经注册的账号(如图6.2.2-2)(图)6.2.1-2 患者登录中心 6.2.2 查询医生及挂号患者通过点击医生查询进入到医生查询界面如(图6.2-1)所示,在查询页面选择要查询的医院信息、科室信息和门诊类型从而进行查询。随后系统将查询结果反馈给用户(如图6.2.2-2)。 (图)6.2.2-1 医生信息展示患者通过查询详细信息后,通过点击医生可以看到医生的基本信息以及专家医生的擅长领域,随后可以进行挂号(如图6.2.2-2)。(图)6.2.2-2 医生专家信息栏 查询专家代码如下:public String zhuanjiaAllByYiyuan()/将数据库信息传递给页面用户String sql=from TZhuanjia where del=no and yiyuanId=+yiyuanId;List zhuanjiaList =zhuanjiaDAO.getHibernateTemplate().find(sql);for(int i=0;izhuanjiaList.size();i+)TZhuanjia zhuanjia=(TZhuanjia)zhuanjiaList.get(i);zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId();zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId();Map request=(Map)ServletActionContext.getContext().get(request);request.put(zhuanjiaList, zhuanjiaList);return ActionSupport.SUCCESS;public String zhuanjiaDetailQian() /专家细节展示TZhuanjia zhuanjia=zhuanjiaDAO.findById(id);zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId();zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId();Map request=(Map)ServletActionContext.getContext().get(request);request.put(zhuanjia, zhuanjia);return ActionSupport.SUCCESS;6.2.3 患者更改个人信息及挂号状态在患者登录账号后,可以进行对当前登录账号的控制通过选择管理中心即可对当前账号进行管理,在管理中心内可以对账号信息做出修改(如图6.2.3-1)以及查看当前账号信息(如6.2.3-2)。(图)6.2.3-1 患者修改个人信息图(图)6.2.3-2 查看挂号信息状态图6.3 管理员使用功能实现6.3.1登录管理员系统管理员在整个网站的作用是非常重要的,管理医生、科室、医院、公告、注册患者等。管理员通过固定的账号进行登录,从而对网站实现运营管理。通过点击首页底部:“系统管理员登录”即可进入到管理员登录页面(如6.3.1-1)。(图)6.3.1-1管理员登录页面图通过正确输入账号密码可以进入系统的管理页面(如6.3.1-2)管理员可以从管理页面得到对医院信息的全方位管理。 (图)6.3.1-2管理界面首页图管理员账号密码验证代码如下:public String login(String userName,String userPw,int userType)tryThread.sleep(700); catch (InterruptedException e) /自动生成捕获块e.printStackTrace();String result=no;if(userType=0)/ 允许管理员登陆String sql=from TAdmin where userName=? and userPw=?;Object con=userName,userPw;List adminList=adminDAO.getHibernateTemplate().find(sql,con);if(adminList.size()=0) result=no;else WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute(userType, 0); session.setAttribute(admin, admin); result=yes;return result;6.3.2管理员对系统的管理(1)医院信息管理:点击“医院信息管理”可以看到现有医院的信息,并且可以对信息进行添加和删除,从而保证信息的即时性。(图)6.3.2-1 医院信息管理页面图通过点击“添加医院”可显示如下界面,将医院的信息数据下表点击提交即可完成对医院信息的添加。(图)6.3.2-2 添加医院界面图(2)科室信息管理:点击“科室信息管理”就可以看到全部的科室,对科室的添加只需要填写名称即可。(图)6.3.2-3 科室信息管理界面图(图)6.3.2-4 添加科室图(3)医生信息管理:点击“医生信息管理”就可以查看所有的医生信息,同时可以进行对医生信息的管理。(图)6.3.2-5 医生信息管理图点击“添加医生信息”就可以显示出以下界面,通过填写数据即可完成对医生的添加。(图)6.3.2-6 添加医生图(1) 患者信息管理:通过点击“患者信息管理”就可以查看到所有已经注册的信息,并对其进行管理。(图)6.3.2-7 患者信息管理图(2) 系统公告管理:点击“系统公告管理”,就可以查看现有公告,可以对其进行添加和删除管理。(图)6.3.2-8 系统公告管理图点击“添加系统公告”可以创建新的公告,通过编写标题和内容来进行公告的创作和发布。(图)6.3.2-9 添加系统公告图7 系统测试系统的开发是一项复杂而缜密的工作,以但任何过程中有小的疏忽就有可能导致系统功能无法实现,再则由于开发人员众多并不能完全协调的进行工作,所以开发的程序很难完美无瑕。系统测试的必要性就是在将系统交付前尽可能的排查系统存在的潜在问题,系统测试的目的就是确保所有功能可以完成预定的任务,所以系统测试作为整个项目的最后一项仍然不能疏忽。7.1 测试的目标软件测试的任务主要有:第一,确保软件的质量是否符合要求,首先是软件是否完成了规划内的功能需求,其次是软件是否能正确的完成这个功能。第二,软件在执行过程中是否能给操作者提供相应的提示反馈信息来帮助用户使用。第三,软件测试不仅仅是软件的运行过程,而是整个软件开发的过程。假如软件功能异常,那么一定是在开发过程中存在错误和缺陷造成的,所以软件测试的第三点可以保证整个软件开发的质量。本次的基于Java的医院挂号系统的测试目标如下:(1)病人使用功能模块的顺利运行,确保患者使用系统时不会进行无效的操作。(2)管理员管理功能的顺利运行,保证管理员可以有效地对医院系统的综合管理。(3)软件是否完成了设计目标,以及各个功能之间连接跳转是否可以有效进行。7.2功能测试测试环境为:Windows10 (x64),Microsoft Edge浏览器 。1、 患者功能模块测试:测试患者是否可以根据自己信息注册账号、根据注册账号进行登录、管理自己账号信息、查看医院官网公告、进行医生查询和网上挂号。(图)7.2-1 用户使用模块图测试过程和结果图:(1)用户查询医院信息:首页可以顺利的显示由后台添加的数据信息,证明了数据库连接正常。 (图)7.2-2 查询医院信息测试结果图(2)患者注册测试:查看用户注册页面是否可以正确打开以及是否和设计一致。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!