摘 要
现在人们的生活水平和生活的质量每天都在提高,医院可以说已经有些供不应求,随着医院的发展和社会的进步,随着现在社会的发展如果还向以前一样选择排队挂号,这样不仅十分浪费时间更会耽误病人的诊断为了让人们更好的更快的进行挂号,设计一个基于JavaWeb的上海市医院预约系统尤为重要。特别是医疗水平高、门诊访问量高的综合型医院,门诊拥挤就成了普遍现象。预约挂号,是借助信息化的技术,面向全社会推出的一项医疗卫生便民服务。它旨在节省公众的排队时间,让公众能公平、快捷地获取门诊号源,使用户充分了解医院及医生的基本信息。利用有限的资源和空间为公众提供更优质的服务,缓解社会公众“看病难、排队难”的问题。
本文首先介绍上海市医院预约系统开发的背景、意义、现状和内容,并着重介绍系统的分析、数据库的设计、系统的功能设计以及系统的详细设计过程。本系统采用B/S模式的同时,使用了Java技术进行页面的设计和功能的实现,后台数据库是基于MySQL数据库,后端用的框架 springcould。该系统较为完整的完成了上海市医院预约系统的各种功能,它的设计实施为医院预约挂号管理工作提供良好的条件。
关键字:MySQL、springcould、医院预约系统、软件架构
2.1 Spring Cloud框架
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架"Spring Boot化"的封装和抽象,也是数量最多的项目;第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:
Spring Cloud Netflix 是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
Spring Cloud Config 将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件
Spring Cloud Stream 分布式消息队列,是对Kafka, MQ的封装
Spring Cloud Security 对Spring Security的封装,并能配合Netflix使用
Spring Cloud Zookeeper 对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。
Spring Cloud对于中小型互联网公司来说是一种福音,因为这类公司往往没有实力或者没有足够的资金投入去开发自己的分布式系统基础设施,使用Spring Cloud一站式解决方案能在从容应对业务发展的同时大大减少开发成本。同时,随着近几年微服务架构和Docker容器概念的火爆,也会让Spring Cloud在未来越来越"云"化的软件开发风格中立有一席之地,尤其是在五花八门的分布式解决方案中提供了标准化的、全站式的技术方案,意义可能会堪比当年Servlet规范的诞生,有效推进服务端软件系统技术水平的进步。
2.2 B/S架构
B/S结构是目前最流行的一种结构形式,能够把各种主要的功能都集成到服务器上,便于软件开发人员的操作,同时也便于维护和使用。只要你能在当前的主流的网络上,比如360,谷歌, QQ,或者其他的一些网站上,都能下载到 sqlserver或者 mysql之类的东西。所装的浏览器可以与伺服器上的资料库进行数据资料交换。很多专业的应用程序都能做到这一点,而 B/S的开发,则可以将 Web浏览器、 ActiveX以及多种脚本语言结合起来。为程序员节约了很多的研发成本。如今 B/S体系结构已经是一种很流行的体系结构,它最大的优点就是没有空间的约束,不用再装什么软体。如果是 B/S的话,以后的维护就很方便了,不一定要把一切都放在一个服务器上,只要用一个简单的程序,就可以把问题给处理好了,同时还可以让用户和用户之间的互动,同时还可以实时的进行数据的刷新。
3.4系统用例图
3.4.1用户用例图
用户用例图如图3-1所示:
图3-1用户用例图
3.4.1医生用例图
图3-2 医生用例图
3.4.3管理员用例图
管理员用例图如图3-3所示:
图3-3 管理员用例图
4.1系统设计原则
系统设计原则包含以下几点:
(1)实用性原则,要实现系统应用推广,前提是系统必须要具有实用性。要使系统能够保证实用性,必须从用户体验出发,系统界面设计务必人性化,使用户操作起来更加得心应手,界面要友好并温和,在使用过程中过户不会产生排斥感。测试要从整体系统开发始末考虑出发,在选择例子进行测试时,要根据用户需求,筛选并分析结果才能制定,要使其效果能够充分去解决用户所需,满足用户需求,及其实用性。
要想一个信息系统能够成功上线运行,最终通过验收,实用性就是其验收的重要前提,本系统设计之初就深知实用性原则,故而在设计系统过程中严格遵循实用性原则。
(2)安全性原则:系统能够给工作带来便利的同时,设计系统时就必须重点考虑到其安全性,隐私性方面等问题。特别是在加强账户安全,信息安全,防入侵安全等此类因素,一个安全的程序才能让用户更加的放心去使用,避免用户信息的泄露,导致用户的体验感很低等。
(3)易操作性原则:为了能够使用户在操作上有更好的体验,在系统设计使就应该优先考虑易操作性。系统设计更多时候是为了使用户能更加便捷且高效的解决繁琐的问题,所以在操作上如果步骤较多,并难易程度较高,系统就失去了本来的价值,总之能快速去操作的问题,据不要分解成多步来完成,能够设计成当下流行的一键完成最佳,一个易于操作的程序,才会有更多的用户去使用,而不是让用户进入程序以后无从下手。要记住系统开发正是用于用户,所以设计一定是从用户视角去考虑问题。要及时且认真对待用户反馈,对反馈进行有效应对。
4.4.2系统流程图
开发时,首当其冲的就是进行需求分析,根据需求分析得出本次开发的总体设计,设计系统模块和数据库设计都是需要以需求分析为基础的,这是系统开发的基石。本系统的开发流程如图4-3所示:
图4-3 系统开发流程图
5.1用户前台界面
用户注册登陆进入前台可以看到:首页、医生信息、医院简介、个人中心、后台管理,界面如图5-1所示:
图5-1 用户前台界面
5.2用户后台功能
用户登陆后台可以看到:首页、个人中心、挂号信息管理、取消退款管理
图5-2 用户后台界面
5.3管理员功能
管理员登陆有以下功能:首页、个人中心、科室管理、房源标准管理、职称管理、用户管理、医生管理、线上挂号管理、挂号信息管理、取消退款管理、大楼简介管理、系统管理,功能界面如图5-3所示:
图5-3 管理员功能界面
目 录