版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统所用技术介绍1.1Eclipse介绍本项目所使用的开发工具为Eclipse,它与IntelliJidea是当前最受欢迎的两款集成开发工具。集成开发环境(IDE)是一种软件应用程序,它为开发人员提供全面的软件开发支持。虽然开发人员可以在文本编辑器中编写代码并从命令行编译和执行;但与文本编辑器相比,eclipse提供了许多额外的有用功能,使软件的开发更容易、更快。IDE通常由源代码编辑器、构建自动化工具和调试器组成。大多数现代IDE(如Eclipse)也提供智能代码完成功能。Eclipse主要用于开发Java应用程序,但通过各种插件,Eclipse也可用于开发其他编程语言的应用程序,如Ada、C、C++、COBOL、Fortran、Haskell、JavaScript、Lasso、Perl、PHP、Python、R、Ruby(包括RubyonRails框架)、Scala、Clojure、Groovy、Scheme和Erlang。1.2MVC模式介绍 MVC模式即“模型-视图-控制器”模式,是一种于20世纪80年代由XeroxPARC发明的软件设计模式,被广泛使用。并在后来受到越来越多开发者欢迎。 M:模型。模型是负责维护数据的模块的最底层。它是MVC架构的核心组件。它管理应用程序的数据、逻辑和约束。它捕获应用程序域问题的行为。它是应用程序中心结构的特定领域软件的实现。如果它的状态被改变,那么它会通知其关联的视图来更新输出和通知控制器来更改可用的命令集。 V:视图。视图负责向用户显示全部或部分数据。它以图形形式(例如图表或图表)表示所有信息输出。视图由提供数据可视化的表示组件组成。查看并将数据从模型呈现给用户。 C:控制器。控制器控制模型和视图之间的交互。它接受输入并将其转换为模型或视图的命令。控制器充当相关模型、视图和输入设备之间的接口。它将命令发送到模型以更新模型的状态,并将命令发送到它的关联视图以更改模型的视图表示。 MVC的好处包括低耦合、重用性高、部署快、易维护图1.1MVC示意图1.3SSH框架介绍 Spring、hibernate和Struts并不是某种语言,它们都是Java语言中使用的框架。没有Java框架很难构建出庞大的应用程序。,使用他们分别实现系统的表示层、业务逻辑层和数据持久化层,层次之间通过接口通信。采用这种集成框架模式开发的软件管理系统,可以降低系统代码的耦合性,提高系统的可维护性和扩展性[3]。1.3.1Struts介绍Struts用于创建基于servlet和JSP的Web应用程序。Struts依赖于MVC(模型视图控制器)框架。Struts应用程序是一个真正的网络应用程序。Struts在构建J2EE(Java2平台,企业版)应用程序方面非常有用,因为struts充分利用了J2EE设计模式。Struts遵循这些J2EE设计模式,包括MVC。图1.2SSH框架示意图在struts中,复合视图管理其子视图的布局并且可以实现模板,从而更容易实现地去实现项目中的持久化。复合视图是通过使用其他可重用的子视图组成的,这样子视图中发生的微小变化就会在每个复合视图中自动更新。Struts由一组自定义的标记库组成,并且基于MVC框架。该框架面向模式并包含JSP自定义标记库。Struts还支持实用程序类。Struts具有有以下特点:鼓励良好的设计实践和建模,因为该框架是用“久经考验”的设计模式设计的。十分简单,容易学习和使用支持许多方便的功能与J2EE集成得很好拥有庞大的用户社区灵活可扩展1.3.2Hibernate介绍 Hibernate是一个ORM框架,负责将JAVA类映射到DB表并提供数据查询和检索功能什么是ORMORM代表对象关系映射(ORM),是一种将数据从对象模型表示映射到关系数据模型表示(反之亦然)的编程技术。它简化了数据创建,数据操作和数据访问。它在内部使用JDBCAPI与数据库进行交互。Hibernate框架它是处理RDBM的JavaWeb应用程序的ORM解决方案。它是一个开源框架,由GavinKing于2001年创建。Hibernate的优点它是开源的轻量级框架支持Java类到数据库表的映射,反之亦然提供了类似SQL的强大查询语言(HQL)支持事务管理,保证数据一致性容易和其他JavaEE框架集成1.3.3Spring介绍 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。其结构如(图)1.3所示:图1.3Spring结构图IOCIOC(InversionofControl)不是一种技术,而是一种设计模式。Spring通过依赖注入(DI)的方式来管理和控制对象之间的依赖关系,避免程序过度耦合。图1.4IOC示意图AOPAOP(AspectOrientedProgramming),面向切面编程,是一种通过预编译方式和运行期动态代理实现程序功能的统一维护的技术。container容器container用来管理对象的生命周期,并且对象之间的依赖关系也是容器。 如果没有Spring,Struts和Hibernate也能够很好地运行,但如果有了Spring,Struts和Hibernate则可以更好地结合在一起协调工作,发挥出更大的效能。Spring使对象的管理更加方便,极大地减少了组件之间的耦合,实现了软件层之间的解耦。1.3.4总结 SSH不仅实现了view、controller和model的完全分离,而且实现了业务逻辑层和持久层的分离,减少了耦合,使系统更加灵活,提高了系统的重用性。同时,该框架给我们提供了一些基础的服务,使我们的开发更加轻松大大提高了开发效率[4]。
2需求分析与设计2.1可行性分析2.1.1背景及现状分析 现今社会,互联网等高新技术正在快速发展,社会节奏越来越快,而与人们生活息息相关的医疗预约系统体系却依然十分落后,显现出诸多弊端。如今看病难已经成为生活中一大难题:传统挂号方式效率低下、医疗资源分配不均、医生资质水平良莠不齐难以辨别等缺点为患者带来极大不便的同时更有可能延误患者病情,造成不必要的悲剧。 为解决挂号难、排队时间长的问题,结合国内外研究现状,在此建议开发“医院预约挂号系统”,为医院、医生及广大病患提供便利,同时利于医院的维护。 项目使用Java语言开发,采用现今十分成熟的SSH框架,数据库使用MySQL数据库。项目运行于浏览器端,无需安装其他软件或系统。2.1.2项目目标 项目所预期达到的功能包括用户侧和管理员侧,用户侧包括信息展示、用户注册、用户登录、个人信息管理、预约挂号等;管理员侧包括: 修改密码:对用户及管理员账户密码进行管理 信息展示管理:上传修改医院公告信息等 专家信息管理:上传修改专家信息 用户管理:对已注册的用户信息进行管理 医院信息管理:对医院信息进行添加和修改2.2.3条件、假设与限制 开发所需硬件条件不能超过自身所具有的条件,且软件交付用户后,必须保证软件的寿命达到预期范围,并且开发时间需要控制在所要求的时间范围内。建议开发软件运行的最短寿命:3年开发时间:毕业设计完成时间节点前硬件、软件、运行环境及开发环境的条件和限制:开发工具:Eclipse、Navicat、powerdesigner、HbuilderX等开发环境:Windows10专业版操作系统、jdk1.8运行环境:Windows7及以上版本系统2.1.3决定可行性的主要因素(1)业务可行性分析 由业务功能点分析,本系统对于硬件要求不高,现有的配置及开发环境足以完成本项目的开发。(2)技术可行性分析 a.根据项目对硬件配置的要求,在给定的开发工具、开发环境下,综合预期的时间,能够按时完成项目的开发 b.根据现有的技术分析,SSH框架技术十分成熟,能够实现项目预期的所有功能 c.根据开发人员得质量和数量,结合本项目的开发难度分析,能够按时完成项目开发(3)其他可行性因素 项目满足其他可行性因素要求2.1.4可行性分析结论 通过从业务可行性、技术可行性以及其他可行性的方面进行了分析,确定本项目的可行性符合要求。2.2需求分析2.2.1编写目的 需求规格说明书对整个项目做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能和界面,使系统分析人员及如那件开发人员能清楚地了解用户的需求,并在此基础上完成后续设计和开发工作。2.2.2范围 产品名称:医疗预约系统 本软件旨在为有需要的患者提供一个进行在线查询医生信息及预约挂号的平台,为数量庞大的病患带来更加方便快捷的医疗预约系统,加快社会医疗事业的发展。2.2.3概述 需求分析是整个系统开发中十分的一步,需要在这个阶段明确系统到底应该做什么,以及评估出系统在开发和使用中可能存在的风险。项目建设规模需求分析结果是确定项目建设内容的直接依据之一,也是指导项目方案设计的主要依据之一[4]。 就本系统来说,医疗预约有着十分大的用户需求,因为目前看来有相当多数量的医院仍在使用传统人工的方式挂号,不仅效率低下,而且十分不利于医院秩序的管理。这样的方式常常会因为时间点而造成高峰期的拥堵,进而加剧工作人员与患者的不满情绪,容易造成医患矛盾。而通过本系统,则可以十分轻松地解决这些问题。本系统不仅可以减轻挂号工作人员对信息管理的压力,同时避免了患者不必要的等待。同时由于患者不必去到现场挂号,又减轻了医院对于秩序管理的压力,提高了医疗系统的运作能力。2.2.4运行环境(1)硬件环境 1)CPU:P43.0G以上; 2)内存:1GB以上; 3)硬盘:80G及以上;(2)软件环境 1)数据库:MySQL; 2)应用服务器:Tomcat8.5 3)JDK:JDK1.8 4)操作系统:Windows10 5)浏览器:主流浏览器如IE6.0以上、Chrome等2.2.5功能需求 系统总体功能需求如下(图)2.1:图2.1总体功能需求系统角色和权限需求如下(图)2.2:图2.2角色权限分配2.2.6非功能需求 对软件的非功能需求包括性能、安全性、可扩展性、稳定性等方面。性能需求:数据精度:保证数据格式、保证查全率;时间特性:响应时间不超过两秒;安全需求:防止非授权用户登录;防止非法数据侵入;密码存储及乱码传输。拓展性需求:系统需可根据要求做功能上的扩展,可加入诸如推荐、类比等功能。稳定性需求:正常使用时不应出错,若运行遇到不可恢复的系统错误,也必须保证数据可完好无损。部署需求:运行于Windows10操作系统及适用其版本的浏览器之上,集中部署。2.2.7图形要求 采用jsp、css及js构建的前端页面,一目了然,视图优美。采用菜单界面,给操作用户带来了极大的便利,对用户友好。
3系统分析与设计3.1系统分析概述 系统分析是需求分析之后的下一阶段,主要目的是根据需求把逻辑上的方案转换成物理方案,同时要注意考虑系统设计时的环境和主客观条件。要确保系统总体的实现,就要考虑到经济、技术各方面的条件与限制,从而做出合适的技术方案。 在设计系统的时候要坚持阶段性的开发原则,也就是要针对不同阶段设计不同的实现功能;其次,要考虑客户方面,尽可能减少使用难度,做到操作简单高效;同时,最为重要的一点就是要提高系统的可扩展性,减少模块之间的耦合性,使其更易于维护与拓展。3.2系统功能 系统主要分为前台和后台两大模块,每个模块又分为几个小模块,以下对系统模块做一个介绍。3.2.1前台模块 系统前台模块功能如下(图)3.1所示,前台模块分为首页推荐、专家查询、注册会员、预约挂号、会员信息管理、系统公告等六个模块。图3.1前台模块功能图首页推荐:在首页根据挂号数量向患者推荐医院专家查询:选择医院及科室来查询需要的专家注册会员:注册平台会员以便进行预约预约挂号:注册并登录后可以对选择的专家进行预约挂号会员信息管理:可以修改密码、地址和挂号信息等系统公告:显示新闻及公告等3.2.2后台模块 系统后台模块功能如(图)3.2所示:图3.2后台模块功能图修改管理员信息:修改管理员密码等系统公告管理:发布、修改和删除系统公告专家信息管理:新增、修改和删除专家信息注册用户管理:修改用户信息医院信息管理:新增、修改和删除医院信息3.3用例图3.3.1会员用例图 用户可以在线注册会员、查询医生信息、在线预约挂号等,用例图如(图)3.3所示:图3.3用户用例图3.3.2管理员用例图管理员负责医生信息管理、医院信息管理、注册会员管理、医院公告管理等,用例图如下(图)3.4所示:图3.4管理员用例图3.4类图图3.5部分类图3.5流程图3.5.1用户流程图图3.6用户流程图用户可以在主页通过推荐医院找到医生或自己主动搜索医生,然后查看医生信息,在登陆后即可进行预约。3.5.2挂号流程 系统按照不同科室对医生进行分类,用户选择对应科室后可以选择医生。医生的详细情况要介绍全面,以免使患者理解错误导致挂错号。用户选择好了医生后选择挂号日期,日期为第二日以后的一周内,如时间选错系统会提醒;填写个人信息等后成功预约挂号。如遇上网络延迟等情况会提示稍后再试,以免出现系统错误。图3.7用户挂号示意图3.5.3管理员流程图图3.8管理员流程图管理员通过系统首页的管理员登录链接进入登录页面,输入账号密码后登录,然后可以在管理员界面对各种信息进行管理。4数据库设计4.1数据库设计概述及MySQL简介 MySQL是一个基于结构化查询语言(SQL)的开源关系数据库管理系统。它是基于关系模型的数据库管理系统,快速可靠且灵活,旨在以非常高的速度安全地管理大量数据。MySQL可用于真实性的应用程序,并且它是用于Web应用程序的最流行的RDBMS之一。 数据库在整个项目开发中有着不可或缺的作用,其用于对各种数据进行存储,及时更新网站内容。有了数据库,开发人员才能更好地对网站内容进行管理和维护,所以要想开发出好项目,那么一定要做好数据库设计这一环节。4.1.1什么是MySQL MySQL是一种基于SQL的以Web数据库为目的的关系型数据库管理系统。它用于多种应用程序,例如数据清理、数据仓库、电子商务、日志记录和在线门户。它用于存储应用程序,无论是小到单个记录还是存储整个产品库存。MySQL的应用因需要而异。它可以与任何脚本语言(例如PHP或Perl)关联并创建网站。4.1.2使用MySQL的原因(1)MySQL可以支持多种存储引擎,而其他系统如SQLserver只支持一种存储引擎(2)与其他关系数据库管理系统相比,MySQL的性能很高。(3)MySQL适用于多种平台,因此易于部署和使用。MSSQLServer仅在Windows平台上运行。4.1.3MySQL的作用 MySQL是一个数据库,数据可以存储在其中,我们也可以检索,并根据需要使用数据。我们可以将数据存储在表中,可以创建索引,我们可以使用SQL查询数据。通常,MySQL用于存储来自网络的数据时,我们需要编写一个应用程序。MySQL是RDBMS,RDBMS包括约束,触发器,存储过程和视图。4.1.4结论 关系型数据库使用MySQL进行管理,因此我们可以称其为数据库管理系统。MySQL是开源的,但我们可以从Oracle购买高级支持服务。MySQL可以在UNIX、Linux、Windows等各种平台上运行。4.2实体及其属性与ER图4.2.1管理员实体及其属性如下图4.1所示:图4.1管理员实体及属性4.2.2公告实体及其属性 如下(图)4.2所示:图4.2公告实体及属性4.2.3挂号信息及属性 如下(图)4.3所示:图4.3挂号信息及其属性4.2.4用户实体及其属性 如下(图)4.4所示:图4.4用户实体及其属性4.2.5医院实体及其属性 如下(图)4.5所示:图4.5医院实体及其属性4.2.6专家实体及其属性 如下(图)4.6所示:图4.6专家实体及其属性4.2.7ER图 数据库设计ER图如下(图)4.7所示:图4.7ER图4.3表结构说明 数据表包括t_admin管理员表、t_gonggao医院公告表、t_guahao挂号信息表、t_keshi科室信息表、t_user会员信息表、t_yiyuan医院信息表、t_zhuanjia专家信息表等。总表结构如(图)4.8所示:图4.8整体表结构4.3.1各表结构说明(1)管理员表t_admin:userName:管理员账号;userPw:管理员密码;userId:自增字段图4.2管理员表(2)公告表t_gonggao:biaoti:标题;neirong:内容;shijian:时间;id:自增字段图4.3公告表(3)挂号信息表t_guahao:Id:自增字段;userId:用户Id;zhuanjiaId:专家Id;riqi:日期;jibing:所患疾病;xingming:姓名;lianxi:联系方式图4.4挂号表(4)用户表t_user:user_id:用户Id;user_name:用户账号;user_pw:用户密码;user_realname:用户姓名;user_address:地址;user_email:用户邮箱;user_tel:电话;user_del:是否删除图4.5用户表医院表t_yiyuan:mingcheng:医院名;dizhi:地址;dianhua:联系电话;del:是否删除图4.6医院表(7)专家信息表t_zhuanjia:id:自增字段;yiyuanId:医院id;kehsiId:科室id;xingming:专家姓名;xingbie:性别;nianling:年龄;leixing:门诊类型;shanchang:擅长方向;fujian:照片链接;del:是否删除图4.7专家表
5系统的实现5.1网站首页设计 网站的首页对于一个网站来说至关重要。主页的主要功能是引导用户浏览网站,因此让所有使用者能够轻松使用这一点十分重要。清楚地标记每个可以点击之处,做到简介明了,并且在色彩、动画等的搭配上也要做到协调美观。本网站首页如(图)5.1所示图5.1网站首页5.2网站导航设计 网站导航如同道路上的指示牌或字典的目录一样,提供了功能的入口,让用户知道下一步如何去操作以及自己正处在哪个界面。导航要做到直观清晰,易于理解。以下是本系统导航设置。图5.2导航栏5.3医生查询结果页面 用户在输入各种信息后所查询到的医生列表在此页面展示,用户可以点击“了解更多”查看医生详细信息,然后根据自己的需求挂号。此模块主要包括显示医生列表和显示医生详细信息两个部分。如图所示:图5.3医生信息展示 点击了解更多即可查看医生详细信息,并在此界面进行预约。如图所示:图5.4医生信息界面5.4用户挂号模块 用户在查看医生详细信息后可以对其预约,在点击医生详细信息界面的预约挂号按钮后会出现预约页面,如下(图)5.4所示:图5.4预约界面5.5管理员登录 管理员在系统中通过管理员后台对各类信息进行更新维护。管理员需通过登录才能进入后台。进入后台页面显示如图:图5.5管理员后台5.6公告发布模块使用FCKeditor插件编辑公告,可以发布带有文字格式和超链接的公告,如(图)5.6所示:图5.6公告发布模块6系统运行测试6.1系统测试概述 系统测试是对整个系统功能是否齐全进行测试的过程,以确保系统与客户以功能规范或系统规范文档的形式提供的所有需求相结合。在大多数情况下,它是在集成测试之后完成的,因为该测试应该涵盖端到端系统的实际例程。 以下介绍几类重要的测试环节:功能测试:功能测试是手动或使用自动化工具完成的。此测试可确保产品的功能在系统能力范围内按照需求规范运行。性能测试:这种测试也称为性能方面的合规性测试,用来确保满足系统需求,确保系统在各种条件下的性能。可靠性测试:该测试检测系统有无错误,并且确保系统能够运行足够长时间而不出现错误。安全测试:确认程序可以访问授权人员,并且授权人员可以访问其安全级别可用的功能,确保系统不允许未经授权访问数据和资源6.2测试结果6.2.1功能测试 测试内容包括用户注册、用户登录、管理员登录、发布公告。 经测试,系统所有功能符合预期,能够满足各项需求。6.2.2数据库测试 数据库测试包括数据一致性测试、数据库安全性测试、响应速度测试。 经测试,各项功能点符合预期。6.2.3性能测试 性能测试目的是测试系统响应时间是否在可接受范围内,是一种对处理速度和效率进行评估的测试,用来确保系统性能可以满足用户需求,经过测试确定本系统能够满足预期需求,情况如下:各功能模块可以正常运行,基本实现系统设计时的功能要求。界面人性化,易于理解和操作。结论随着科技和工业的发展,计算机软件及硬件工作能力也在不断提升,并且在各个领域得到了十分广泛的应用,可以说现代社会已经无法离开计算机及其产品。将计算机技术运用于医疗行业可以说是一个跨时代的进步。门诊挂号是医院提高服务质量的重要环节,特别是门诊量大的综合型大医院,门诊拥挤是一种普遍的现象[7].计算机高效率处理事务的能力十分适合医疗行业这种事务繁杂、难以管理的行业。它将医务人员从文书工作中解放出来,大大减少了医务工作者的劳动强度,提升了工作效率。综合项目整体情况,明确了其可以解决当前人工挂号的诸多弊端,用户不仅可以不用到拥挤的现场排队,还可以坐在电脑前了解每个医生的情况,根据自己的需要选择最合适的医生,避免了许多不必要的矛盾。同时,用户只需要在家填写信息,便可以预约挂号,轻松又便捷。在线医疗预约一定会受到越来越多用户的青睐,得到更加广泛的运用。本系统使用java语言,配合十分成熟的SSH技术开发,MVC模式分层处理,使得系统更加易扩展、易维护。系统性能测试则评估了系统对于事务的处理能力,体现其能否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026南平建阳旭辉实验学校招聘教师2人备考题库附答案
- 2025~2026学年济南市槐荫区九年级化学第一学期期末考试试题以及答案
- 2025年作曲基础理论实践检验试题及答案
- 2026甘肃庆阳宁县城镇公益性岗位工作人员招聘7人备考题库及1套参考答案详解
- 2026河南安阳市中医院招聘47人备考题库附答案详解
- 2026重庆市永川区就业和人才中心招聘公益性岗位人员1人备考题库及完整答案详解
- 2026湖南长沙市长郡梅溪湖中学春季学期代课教师招聘10人备考题库及答案详解1套
- 2026湖南长沙市星城实验小学春季校聘教师招聘备考题库带答案详解
- 我国商业银行声誉风险影响因素的实证剖析与策略研究
- 2026湖南长沙市北雅中学公开教师招聘4人备考题库及一套完整答案详解
- 绍兴兴欣新材料股份有限公司新增3000ta焦磷酸哌嗪、4000ta聚氨酯发泡催化剂、5000taN-β-羟乙基乙二胺、500ta无水哌嗪项目及全厂资源循环利用技改提升项目(一期)环境影响报告书
- 千古奇文《初心》原文
- 失禁相关性皮炎与压力性损伤的区分鉴别
- 铝合金门窗设计说明
- MUX-2MD继电保护信号数字复接接口装置说明书
- 食品行业仓库盘点制度及流程
- 北京市通州区2023-2024学年九年级上学期期末考试语文试卷(含答案)
- 2024四川绵阳涪城区事业单位选调(聘)笔试管理单位遴选500模拟题附带答案详解
- 发货组年终总结
- 《化工制图》试题及参考答案 (C卷)
- 新疆维吾尔自治区伊犁哈萨克自治州2023-2024学年八年级下学期期中数学试题
评论
0/150
提交评论