基于JAVA的医院挂号系统的设计与实现计科_第1页
基于JAVA的医院挂号系统的设计与实现计科_第2页
基于JAVA的医院挂号系统的设计与实现计科_第3页
基于JAVA的医院挂号系统的设计与实现计科_第4页
基于JAVA的医院挂号系统的设计与实现计科_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于JAVA的医院挂号系统的设计与实现目录1绪论 11.1医院挂号系统开发的背景 11.2医院挂号系统开发的现状 11.3医院挂号系统解决的重要问题 22有关开发技术介绍 22.1Eclipse介绍 22.2MySQL数据库介绍 32.3JavaScript介绍 42.4JSP技术介绍 42.5MVC模式介绍 52.6SSH框架介绍 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.1E-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摘要:在20世纪中,计算机的诞生为全人类打败法西斯做出了重大的奉献,正是由于计算机的运算速度远超人类,在使用计算机的过程中极大的节省了时间、提高了工作的效率、计算的精确性。如今计算机被广泛使用与全世界的各行各业使人类的生活更加便捷高效。由于人工作业的时间跨大、工作效率低、病历查找困难、病历寄存浪费空间,因此本系统能够把传统的医院工作模式抽象化为数字化模型,建立对应的软件系统,从而使用科学高效的方式优化医院工作流程与管理。本系统的服务对象分别是管理人员、医务人员和患者。患者能够通过提交个人信息来进行注册、通过登录账号来进行对医生信息的查询、登陆后个人信息的修改、查询到医生后进行挂号预约。医院管理部门能够通过登录管理员账号进行登录,管理医院、科室、医生、患者(会员)和公示信息对医院进行全方位的管理。在这个系统中由于计算机平台的快捷性,能够一目了然的理解整个系统,从而高效率的管理医院的各个部门。医院挂号系统是通过使用eclipse平台开发和依靠MySQL数据库进行数据管理并且运用SSH框架快速构建而成,由于SSH框架(Struts、Hibernate和Spring)含有层次分明的构造能够协助开发人员快速的进行开发管理和维护。本系统重要是由前端网页进行显示操作由前端操作触发后台程序来进行对后台数据库的管理完毕。在使用方便简洁高效,以核心功效为主达成本次的设计规定。核心词:SSH;JSP:Eclipse:MySQL;挂号;Abstract:inthe20thcentury,thebirthofcomputerhasmadegreatcontributionstothedefeatoffascismbyallmankind.Itispreciselybecausethecomputingspeedofcomputerisfarfasterthanthatofhumanbeingsthatitgreatlysavestime,improvestheefficiencyofworkandtheaccuracyofcalculationintheprocessofusingcomputer.Nowadays,computersarewidelyusedinallwalksoflifearoundtheworldtomakehumanlifemoreconvenientandefficient.Becauseofthetimespanofmanualwork,lowefficiency,difficultyinfindingmedicalrecordsandwasteofspaceforstoringmedicalrecords,thesystemcanabstractthetraditionalhospitalworkmodeintoadigitalmodel,andestablishthecorrespondingsoftwaresystem,soastooptimizethehospitalworkprocessandmanagementinascientificandefficientway.Theserviceobjectsofthissystemarerespectivelymanagers,medicalstaffandpatients.Patientscanregisterbysubmittingpersonalinformation,querydoctors'informationbyloginaccount,modifypersonalinformationafterlogin,andmakeregistrationappointmentafterfindingdoctors.Thehospitalmanagementdepartmentcanloginbyloggingintheadministratoraccounttomanagethehospital,departments,doctors,patients(members)andannouncementinformation.Inthissystem,becauseoftherapidityofthecomputerplatform,wecanunderstandthewholesystematoneglance,soastomanagealldepartmentsofthehospitalefficiently.ThehospitalregistrationsystemisdevelopedbyusingEclipseplatformandrelyingonMySQLdatabasefordatamanagementandUsingSSHframeworkforrapidconstruction.BecauseSSHFramework(struts,hibernateandspring)hasahierarchicalstructure,itcanhelpdeveloperstodevelop,manageandmaintainquickly.Thissystemismainlybythefront-endwebpagedisplayoperationbythefront-endoperationtriggerbackgroundprogramtocompletethemanagementofthebackgrounddatabase.Itiseasytouse,simpleandefficient,andthecorefunctionisthemainparttomeetthedesignrequirements.Keywords:SSH;JSP:Eclipse:MySQL;registration;1绪论1.1医院挂号系统开发的背景随着计算机世界的发展,越来越多的体力工作正在被计算机逐个取代,无论什么工作,如果想要变得高效节省成本,毫无疑问使用计算机来做哪些简朴重复的体力劳动不仅提高了工作效率,并且节省了劳动成本、增加了可靠性。处在当今社会的我们,不仅早已习惯了高效的生活,并且善于使用科学技术使生活更加高效。始终以来,都有诸多的患者始终在不停的埋怨,每次看病总是等待几小时看病5分钟,因此我决定开发“医院挂号系统”来解决挂号排队的问题。从当下来说,造成门诊挂号效率低下的因素重要有:(1)患者的不拟定性即在不同的时间段,患者的人流量不拟定并且每个患者需要的诊疗时间不拟定。这样就引发了看病排队时间长的问题。(2)人工解决过程过多,由于诸多地方仍然是人工解决阶段,由于人工解决容错性较差,只要发生错误纠正起来非常复杂又容易引发纠纷,因此造成看病进程大大减少。因此在医疗领域引入计算机能够提高医院的整体效率,提高患者的就医体验,使医生和患者的关系更加和谐,同时能够使医院更加好的协调分派运用资源。不仅有助于构建和谐的医患关系,并且使社会变得更加美妙。1.2医院挂号系统开发的现状现在,诸多的大型医院已经开始使用计算机系统作为工作和管理的平台,在早些年都有诸多医院开始实施电话预约,短信预约,网上预约的方式来进行挂号诊疗,但是根据有效数据进行分析,预约挂号的数据中电话预约的数量达成了30%,网上预约的数量达成了10%,而现场就诊的数量达成了60%,其中预约的数量以40岁下列的为主,数据表明,仍有诸多的患者处在等待与排队就诊的流程中。并且有诸多的病症并不是医生能够直接判断出来的,往往需要通过多个检查,而医生通过对检查成果的判断,从而精确判断出病症所在。 现在部分大医院已经采用线上线下想结合的方式来对医院挂号系统进行管理,优点是取代了传统人工挂号的方式,通过智能设备进行操控。但是在某些小医院却没有能及时引进计算机系统来为医院进行管理,若要全方位的照顾患者的感受必须兼顾小型医院,为小型医院做出一套方便好用的系统。1.3医院挂号系统解决的重要问题医院挂号系统总是和就医体验紧密有关,病人获得满意的医疗体验是最重要的而确保病人能够获得良好的就医体验就显得十分重要。如今看病就医难已经不再是医疗水平的问题,而是医疗资源分派的问题,患者等待时间长却无法分派到合适的医疗资源自然会引发患者的不满。造成医疗分派不均衡可能是下列因素引发的:(1)患者就医未能错开就医高峰期,造成高峰期就医的患者都需要很长的等待时间。(2)医院管理层面效率不高,进行人员调动时不能快速的安置好人员的工作内容信息,造成医生资源减少。 因此在这里就能够运用科技的便利来实现患者的挂号问题和医院管理问题。本系统的设计重要是使用JSP语言进行开发,使用TOMCAT作为服务器平台,运用MySQL数据库来存储系统中的数据,并且本系统使用SSH框架来进行简化开发难度和加紧开发速度。各个功效描述以下:管理功效:通过管理员账户的登录进行对医院的管理,其中涉及(医院管理、医院公示管理、医院科室管理、专家医生管理、注册患者管理等功效)来对医院进行全方位的管理。患者功效:患者能够对医院主页的访问,查看医院的公示、通过查询进行提前挂号、以及个人信息状态的管理。从医院管理和患者的角度出发,进行对系统的构建从而解决患者和医院的问题。2有关开发技术介绍2.1Eclipse介绍Eclipse是由众多科技公司合作开发的一款开源的、用于Java的可扩展的集成环境平台,研制的目的重要是为了简化整个软件开发周期内的复杂程度以及减少时间的消耗,并使众多的跨平台开发者能够使用这款软件进行无间断的合作进行集体对同一项目的开发。现在,Eclipse已经作为一款主流的开发平台广泛的在商业开发中使用,如今Eclipse能够进行安装许多的三方功效插件来完毕项目的开发,并且支持多个编程语言编译开发的插件。Eclipse已经覆盖到了现在信息化时代的诸多方方面面,Web开发、Android开发、嵌入式开发、等多个应用。Eclipse集成开发环境的有点以下:(1)支持现在各大主流系统,能够实现众多开发者使用不同的平台进行开发(例如Windows系统、MacOS系统、Linux系统、Unix系统)。(2)Eclipse集成开发环境能够应对不同类型的项目进行开发(前端HTML项目、后端Java项目、底层C语言项目等)。(3)Eclipse能够将多个第三方功效性插件安装集成在集成开发环境中,能够提高软件开发者对三方功效性插件的使用,并且整合使用到新的项目中。(4)Eclipse仍然在不停进行完善的过程中,作为一种优秀的开发平台,固然会跟随计算机发展的道路不停地做出适应性的优化。2.2MySQL数据库介绍MySQL数据库是一种简朴便捷的小型化数据库,在数据库运行的过程中往往占据较小的硬件资源消耗,故软件开发者在开发阶段会使用本数据库进行对项目的调试以及优化。MySQL数据库即使不及大型数据库(ORCALE数据库、SQLSERVER数据库)但是它也是关系型数据库之一并且在WEB开发领域含有非常好的使用价值,由于MySQL的源代码是开放的因此使用者使用起来能够减少成本。MySQL通过数年的发展在众多的数据库软件中已有了许多鲜明特性:MySQL使用C/C++进行开发,在多个编译器中运行测试,确保了源代码的可移植的特性。MySQL同样也支持多中主流操作系统(如Windows系统、MacOS系统、Linux系统、Unix系统)。支持多线程CPU有效的运用有限的硬件资源。提供多个数据库连接方式,并且通过优化查询算法能够提高查询速度。因此在本次的系统设计中选择适合中小公司的MySQL数据库。2.3JavaScript介绍JavaScript是一种广泛使用在前端开发的脚本语言,使用JavaScript能够提高网页的交互能力使其变得更加美观流畅。JavaScript是由ECMAScript、DOM和BOM构成,ECMAScript定义了语法和对象、DOM定义网页的办法和接口、BOM定义浏览器的办法和接口从而进行交互操作。支持JavaScript的浏览器众多(GoogleChrome浏览器、MicrosoftEdge浏览器、FireFOX等),并且支持面对对象的编写方式。其特点以下:(1)JavaScript的程序代码不需要提前编译,直接能够使用。(2)JavaScript惯用来向HTML页面添加交互指令。(3)JavaScript能够在诸多浏览器内运行,并且能够在多个操作系统内运行(如Windows系统、MacOS系统、Linux系统、Unix系统)。(4)JavaScript有着属于自己的基本数据类型、运算符号、体现式和程序框架,并且提供了多个数据类型来解决数据信息,并且能够通过它来实现人机交互过程。因此在开发的过程中,使用JavaScript能够在做好系统的同时来方便更多顾客的使用,给顾客带来了一定的便利性和无与伦比的交互体验。2.4JSP技术介绍JavaServerPages的缩写是JSP,它是一种动态网页的技术规范原则。把JSP布署到服务器上后来能够对顾客的请求做出响应,并且能够将顾客的请求内容反馈回到顾客。JSP以Java语言为基础,为顾客的请求提供服务,同时也能与服务器上的其它Java程序共同协作以解决业务需求。JSP通过加入引擎的办法来实现网页的动态交互,这样能够减少顾客的操作难度。由于JSP的引入,它能够使基于WEB的客户端变得更加高效灵活,诸多环节都能够由JavaServlet自动完毕(如进行文献操作、页面跳转等),并且能够与多个服务器、开发软件、浏览器软件协同工作。从而在运行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.5MVC模式介绍ModelViewController(模型视图控制器)的缩写是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.6SSH框架介绍StructsSpringHibernate集成框架的缩写是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开发环境数据库:MySQL5.5;系统平台:Windows10;开发平台:Eclipse;开发语言:JDK1.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.1E-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医生专家信息栏查询专家代码以下:publicStringzhuanjiaAllByYiyuan(){ //将数据库信息传递给页面顾客 Stringsql="fromTZhuanjiawheredel='no'andyiyuanId="+yiyuanId; ListzhuanjiaList=zhuanjiaDAO.getHibernateTemplate().find(sql); for(inti=0;i<zhuanjiaList.size();i++){ TZhuanjiazhuanjia=(TZhuanjia)zhuanjiaList.get(i); zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId())); zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId()));} Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("zhuanjiaList",zhuanjiaList); returnActionSupport.SUCCESS; } publicStringzhuanjiaDetailQian() {//专家细节展示 TZhuanjiazhuanjia=zhuanjiaDAO.findById(id); zhuanjia.setKeshi(keshiDAO.findById(zhuanjia.getKeshiId())); zhuanjia.setYiyuan(yiyuanDAO.findById(zhuanjia.getYiyuanId())); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("zhuanjia",zhuanjia); returnActionSupport.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 管理界面首页图管理员账号密码验证代码以下:publicStringlogin(StringuserName,StringuserPw,intuserType) { try{ Thread.sleep(700); }catch(InterruptedExceptione){//自动生成捕获块 e.printStackTrace(); } Stringresult="no"; if(userType==0)//允许管理员登陆 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0){ result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } returnresult; }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添加医生图患者信息管理:通过点击“患者信息管理”就能够查看到全部已经注册的信息,并对其进行管理。(图)6.3.2-7患者信息管理图系统公示管理:点击“系统公示管理”,就能够查看现有公示,能够对其进行添加和删除管理。(图)6.3.2-8系统公示管理图点击“添加系统公示”能够创立新的公示,通过编写标题和内容来进行公示的创作和公布。(图)6.3.2-9添加系统公示图7系统测试系统的开发是一项复杂而缜密的工作,以但任何过程中有小的疏忽就有可能造成系统功效无法实现,再则由于开发人员众多并不能完全协调的进行工作,因此开发的程序很难完美无瑕。系统测试的必要性就是在将系统交付前尽量的排查系统存在的潜在问题,系统测试的目的就是确保全部功效能够完毕预定的任务,因此系统测试作为整个项目的最后一项仍然不能疏忽。7.1测试的目的软件测试的任务重要有:第一,确保软件的质量与否符合规定,首先是软件与否完毕了规划内的功效需求,另一方面是软件与否能对的的完毕这个功效。第二,软件在执行过程中与否能给操作者提供对应的提示反馈信息来协助顾客使用。第三,软件测试不仅仅是软件的运行过程,而是整个软件开发的过程。如果软件功效异常,那么一定是在开发过程中存在错误和缺点造成的,因此软件测试的第三点能够确保整个软件开发的质量。本次的基于Java的医院挂号系统的测试目的以下:(1)病人使用功效模块的顺利运行,确保患者使用系统时不会进行无效的操作。(2)管理员管理功效的顺利运行,确保管理员能够有效地对医院系统的综合管理。(3)软件与否完毕了设计目的,以及各个功效之间连接跳转与否能够有效进行。7.2功效测试测试环境为:Windows10(x64),MicrosoftEdge浏览器。 1、患者功效模块测试:测试患者与否能够根据自己信息注册账号、根据注册账号进行登录、管理自己账号信息、查看医院官网公示、进行医生查询和网上挂号。(图)7.2-1顾客使用模块图测试过程和成果图:(1)顾客查询医院信息:首页能够顺利的显示由后台添加的数据信息,证明了数据库连接正常。(图)7.2-2查询医院信息测试成果图(2)患者注册测试:查看顾客注册页面与否能够对的打开以及与否和设计一致。(图)7.2-3患者注册页面成果图(3)挂号测试:观察与否能够自动获取当天日期,和页面构造与否和设计一致。(图)7.2-4挂号测试图(4)医生专家查询图测试:判断与否能够显示全部医院信息和全部科室信息以及门诊类型,以及与否能够通过查询到对应的医生。(图)7.2-5医生专家信息查询测试成果图2、管理模块有:登录验证,修改密码,找回密码,修改医院、科室、医生信息等。(图)7.2-6管理模块图管理员登录页面测试:判断页面与否能够正常显示。(图)7.2-7管理员登录界面测试图(2)管理员密码修改测试:判断界面与否一致,密码与否能够正常修改。(图)7.2-8管理员密码修改测试(3)患者账户管理测试:判断与否能够查看和删除账户。(图)7.2-9患者账户查看测试手动测试重要是进行模块化测试,通过简朴的运行来判断程序模块的功效与否和设计功效一致,以及模块与否能够正常运行。这种测试模式适合小型网站的测试以及其它交互需求较少的程序。在测试过程中,不仅是对功效的查看并且测试一种模块时需要对代码进行分析阅读从而排除代码中冗余效率低下的部分。并且能够通过测试进行对算法的优化。如果设计好的功效或交互任务没有实现,应当检查代码与否出错,如果执行时间过长,也应当检查代码与否有算法缺点。7.3测试的成果7.3.1顾客和管理员登录模块测试 患者登录页面测试成果:表7.3.1-1患者登录界面测试成果测试功效测试任务预期成果患者和管理员登录功效1.已经注册账号,并且密码对的成功2.使用已注册账号,且密码错误失败3.使用没经注册的账号失败,提示顾客注册账号4.账号输入错误,密码输入错误失败,提示顾客名输入错误登录5.账号名对的,密码错误失败,提示密码错误测试成果:(1)没有输入账号提示:(图)7.3.1-1顾客名为空提示图(2)账户或密码输入错误提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论