当前位置:首页 > 基于Android的就医预约系统 20161122
2.2 系统功能需求分析
截止2014年年底,根据国际电信联盟公布的ICT报告数据显示,全球已经有超过30亿人使用互联网,而在这近30亿的人口中接近2/3的互联网用户来自发展中国家。中国作为一个人口超过13亿的发展中国家,对互联网的依赖越来越大。全球信息化风 暴给信息技术带来了翻天覆地的革新,这也要求社会各行各业的信息化建设需要创新和完善以满足时代的需求。医疗行业同样面临着这样的难题,包括怎样建设满足客观需求的医疗信息化系统、病人及时就医、保护医院投资、以及方便医院往后的扩张等等问题。针对我国现有的医疗资源紧缺、分配不合理、工作效率低从而导致病人看病难,就诊不及时的情况,医疗系统的信息化推广建设势在必行。大力推广医院预约挂号服务不但可以减少医院的窗口服务压力,而且可以提前通知医生安排就诊,从而很好的提高医院的服务质量,保障了患者及时就诊的权益,也避免了医院看病”三长一短”问题。
本次医院预约挂号系统是通过将病人预约的环节转移到手机上操作,从而实现患者可以不出家门和排长队,能够随时随地轻松挂号。通过上节对预约挂号系统业务流程的分析,进行系统的需求设计。系统应具备如下功能。 2.2.1 Android客户端 1)用户注册、登陆
用户填写注册所需相关资料,凭账户(即身份证号)和密码登陆系统。 2)个人资料修改
用户登陆系统后可以修改除身份证号码、姓名、性别以外的资料。 3)科室、医生及排诊信息查询
用户登陆系统后可以浏览科室、医生以及该医生的排诊详情。 4)订单提交
用户登陆系统,根据自己病情选择科室、医生,选择合适的时间就诊。用户提交订单可以选择在线支付或者窗口支付,一旦订单提交成功系统会返回预约码,凭预约码到医院就诊。
5)预约挂号记录查询及取消
用户提交订单成功后可以浏览挂号记录,如果有特殊问题可以取消挂号。如果用户选择的是在线支付,系统应当在限定时间内将诊金返回到用户账户中。 6)医生收藏
5
用户可以收藏自己喜欢的医生,可以方便浏览该医生的排诊信息,能够及时挂号和复诊。
2.2.2 web医生端 1)医生登陆
医生输入员工编号以及密码登陆后台。 2)浏览挂号详情
医生登陆系统可以查看哪些患者选择了自己的排诊记录,根据具体时间提前安排出诊。
2.2.3 web管理员端 1)管理员登陆
系统管理员输入账号以及密码登陆后台。 2)管理医生
管理员登陆系统可以查看所有医生、更新医生信息、删除以及添加新医生。 3)管理用户
管理员可以浏览用户注册填写的个人信息。 4)管理医生排诊
管理员可以浏览所有医生的排诊信息、添加、删除以及更新排诊记录。 5)管理患者挂号记录
管理员可以查看用户所有的订单记录,包括用户、医生信息,以及预约时间等信息。
2.3 系统结构设计
2.3.1 系统体系架构
系统基于C/S模型,即客户端(Client)和服务器(Server)两层架构设计。通过分
层设计,可以有效的降低系统设计的耦合度,减少客户端和服务器间的依赖性,设计人员可以集中精力实现各自的模块,只需要对外提供访问的接口,同时可以提供安全认证。
C/S架构间的信息交互只需要通过一层,提高访问速度。 2.3.2 系统采用的设计模式
预约挂号系统采用了MVC设计模式,MVC模式是软件开发过程中采用的一种架构模式,它把软件系统开发分成了模型(Model)、视图(View)和控制器(Controller)3个部分。
6
1)视图层:提供软件和用户直接交互的图形界面。比如JAVAEE中采用JSP界面显示数据,ASP.NET的用户界面aspx等等,用户通过视图查看关心的业务数据,同时用户提交的数据可以通过视图中的相关控件输入。Android SDK开发能够很好的将视图层分离,并以XML文件的形式放入“res/”目录中。程序开发人员能够方便的调用数据,同时增加了程序的可读性,也有利于软件后期的维护和更新。 2)模型层:存放程序中调用的实体类以及处理程序的业务逻辑,包括对数据库的操作、网络通信管理等。在Android中对应“src/”下的代码设计,具体可以分为实体模型层和业务模型层。 3)控制层:用于接收用户的操作,通过模型和视图的协作完成用户请求。在Android开发中,用户点击视图上的按钮或者选项,控制器接受用户发送的请求,调用模型进行处理,并更新视图。Activity在Android中起着控制层角色,调用业务模型层处理耗时操作,避免出现ANR导致系统奔溃。
图2-3-1 MVC组件类型关系图
2.3.3 系统的技术方案
1)客户端:前台开发环境使用 Google提供的Android SDK开发工具。
2)服务器:后台开发环境使用MyEcplice开发工具。
3)数据存储技术:服务器端数据存储使用JDBC技术访问后台的MySQL数据库, 进行数据操作;客户端数据存储使用Android SDK提供的SharedPreferences类,它是一种通过创建XML文件进行轻量级的数据存储技术。
7
4)数据加密技术:使用MD5报文摘要算法对用户设置的密码进行加密存储,有效的避免了使用明文存储敏感数据带来的安全隐患问题。
5)服务器和客户端交互技术:用户点击按钮,发送请求命令,客户端通过HttpCliet接口,采用基于Apache HTTP协议,实现服务器与客户端的通讯,服务器接收客户端发送的请求,通过调用web.xml中对应的Servlet进行相应的处理。其中,服务器与客 户端使用JSON数据传输,JSON是一种进行轻量级数据交换的格式,易于编写的阅读,与传统的XML数据传输方式相比有着以下几点优势:
(1)JSON比XML体积小;
(2)JSON和JavaScript交互更加方便; (3)JSON的速度要远远大于XML; (4)JSON的解析要比XML的解析要方便。
服务器与客户端数据通信传输技术实现,如下图所示:
图2-3-2 服务器与客户端交互图
6)图片缓存技术:客户端请求服务器的大量图片,如果线程没有进行优化处理,可能出现图片无法正常显示、加载缓慢、内存溢出,甚至导致系统奔溃等等影响用户体验的问题。Android开源网站GitHub上提供了一个功能强大的异步加载大量图片的框架 Android-Universal-Image-Loader很好的解决了这个问题。
Android-Universal-Image-Loader作为一个优秀的开源图片处理项目,支持网络图片的异步加载、参数设置、缓存处理等技术,为开发人员提供了方便的接口。其主要的核心功能如下:
(1)支持Widget窗口部件; (2)支持多线程的图片加载; (3)支持图片加载过程中的监听; (4)提供内存和本地的双缓存技术;
8
共分享92篇相关文档