版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业苏州科技学院毕业设计(论文)题 目 基于Android的医院就诊预约 管理系统的设计与实现 性 质: 毕业设计 毕业论文专 业: 计算机科学与技术 年 级: 2011级 学 号: 姓 名: 李 辉 指导教师 陶 滔 二O一五年基于Android的医院就诊预约管理系统的设计和实现摘 要医院看病难的问题是当下热议的话题之一。预约挂号是患者寻诊问药的第一阶段,如果能够提高预约挂号的效率,不仅能提高医院工作效率,同时可以减少患者的候诊时间。预约挂号系统是基于Android操作系
2、统的手机进行设计和研究的,实现在手机上完成医院预约挂号功能。系统基于C/S体系设计结构,客户端使用Android SDK开发工具,根据预约挂号业务流程,提供用户注册登陆、预约挂号、语音提示等功能,服务器端支持管理员、医生登录管理功能。服务器和客户端间的通信采用HTTP协议和JSON格式进行的数据传输。系统利用Android API提供的各种组件模仿Windows8操作系统的扁平化风格进行界面设计,预约就诊时间精确到分钟,挂号成功语音提示,能够很好地满足用户体验,通过技术手段解决患者看病难的问题。关键词 预约挂号;Android SDK;扁平化;JSON格式Based on the Androi
3、ds hospital management system design and implementation of the bookingAbstractThe problem of hospital medical difficulty is one of the hot topics.Appointment of patients seeking the first stage of diagnosis and asks the pharmacist, if we can improve the efficiency of appointment register, not only c
4、an improve the work efficiency of the hospital, at the same time, can reduce the waiting time of patients. The reservation registration system is based on the Android operating system for mobile phone design and research, realize the hospital booking registration functions on the phone. System based
5、 on C/S system structure design, the client uses the Android SDK tools, according to appointment registration business processes, providing registered users landing, registration, the voice prompt, etc., the server support administrators, doctors log management function. The communication between th
6、e server and the client is transmitted by HTTP protocol and JSON format. System use the Android API to provide the various components of the imitation Windows 8 flat style interface design, schedule an appointment time, accurate to the minute, successfully registered the voice prompt, can well meet
7、the user experience, through technical means solving the patient to see a doctor difficult question.Keywords Android SDK; Delayering; Appointment registration; JSON format目 录 TOC o 1-3 h z u 第1章 绪论1.1 研究背景和意义近几年来,随着科技发展的日新月异,智能手机的功能也在不断的完善,比如大家除了使用手机打电话、发短信、浏览网页、听音乐等基本功能,还可以利用手机转账,炒股,订餐以及智能家居等强大的功能,
8、如果说电脑的发展带来了第三次科技革命,那么智能手机将必定带来第四次科技革命。手机预约挂号就是这次科技革命的成果。虽然科技在不断进步,但是面对中国近14亿的人口情况下也无济于事,医院的就诊挂号一直是个老生常谈的问题,包括怎样做到以病人为中心,将挂号、就诊、交费、取药的步骤统一管理,缓解病人挂号排长队、等待时间长、缴费难等问题。使用手机预约挂号,患者不需要亲自前往医院,也就避免看病的”三长一短”问题,能够轻松的查看医生个人信息、排班信息,根据个人情况选择就诊时间和医生,完成预约挂号的服务,享受科技带来的便捷。目前网络上可供下载的医院挂号APP不在少数,比如挂号管家、挂号助手、挂号找我等等。但是很多
9、APP要么是收费,要么操作起来很难上手,降低用户体验,还有的只是简单实现了挂号功能,没有给出医生具体的排班情况,仍然需要患者现场确认时间,可以说真正适合用户使用的一款软件并不是很多。通过上述对问题的研究以及用户的真实需求,本次基于Android的预约挂号系统设计和实现具体重要意义,大致包括以下几点: 一、减少患者挂号排队时间。手机进行预约挂号,患者可以享受预约优先服务,即优先挂号、优先检查,使得患者看病等待时间大大的减少。 二、挂号方便、准确、安全。患者通过手机查看医生排班时间,依据自己的实际情况选择合适的时间就诊,可以选择现场支付或者在线支付,现场支付需要凭预约号至指定窗口领号,而在线支付患
10、者只需凭预约号直接到医院的相关科室就诊。如果在规定时间没有前来就诊,挂号费会自动返回到用户账户,安全可靠。三、医院信息透明化。医院信息通过一个平台对外共享,患者和有关部门能够监督医院工作动态。医院将医生的预约挂号信息第一时间上传至网络,所有的患者可以及时浏览医生排班信息,保证了预约挂号的公平、公正性,有效的改善病人对医院的信任关系。四、提高医院的服务品质。救死扶伤是医生必须具备的本质,医院应当更好的发挥为人们服务的态度,包括降低患者的等待时间,医疗资源的合理分配,医院能够合理、有序的运行,成为广大患者值得信赖的医疗单位。五、增加医院的社会竞争力。手机预约挂号工作的大力推广,不但可以减轻医院窗口
11、挂号的人口流量,患者可以第一时间得到医生的就诊,遏制病情拖延带来的危险,提升了医院的服务质量,同时患者有需要会及时前来复诊,保障医院病人来源的保持和增长,这对于医院的改革和发展是至关重要的因素之一。六、平台开放性。手机等领域占有很大的地位,因此吸引了大量的移动终端厂商前赴后继的加入进来。本次毕业设计的医院就诊预约挂号系统就是基于Android操作系统进行设计和实现的,面向Android手机用户群。1.2 国内外研究概况自从上世纪60年代初,医院信息管理系统(HMIS)在很多发达国家就得到了大力的发展和进一步的研究,70-80年代美国的HMIS有了较大的进步,尤其是在解决医院者看病具体步骤如下:
12、1)除急诊以外,先由社区家庭医生为患者诊疗,一旦认为有必要,会建议患者转诊到专科医疗中心或专科医院治疗。2)患者同意转诊,家庭医生联系专科医生,为患者开转诊单。3)患者联系待转诊医院,电话预约就诊时间。4)在预约的时间内凭转诊单及时前往医院就诊。国内医院预约挂号方式多种多样,主要分为以下几种:一、窗口预约病人需要花费很多时间前往医院,通过和工作人员交流,填写预约信息,但是由于工作人员不能方便的了解患者的病史以及确定上次就诊的医生,也就不能保证患者正常预约到同一位医生进行诊疗。二、电话预约电话预约不需要患者到医院窗口挂号以及人工的方式填写预约的相关资料。避免被安排到不同医生的状况,但是对于很多初
13、次使用该方式的患者而言,由于不熟悉语音系统,将需要花费许多时间听系统将所有的就诊选项的代号播报结束才能做选择,并且一旦输入错误,需要重新输入预约信息,耽误及时就诊时机。三、网络预约网络预约挂号是由医院相关部门建立的网站,通过互联网预约挂号的一种方式。网络预约相比现场预约和电话预约,很好的避免患者拥堵现象。在年轻人中广泛使用,由于很多老年人没有接触过计算机,也就很少采用这种方式。 四、自助挂号终端预约患者通过在医院里的自动挂号终端进行预约,通常终端上有操作流程和方法,方便患者完成挂号,但是需要患者到医院挂号终端排队使用。五、公共服务平台预约一些大型医院和通信运营商合作,提供的公共预约挂号服务平台
14、,比如电信的114,移动的12580。用户通过拨打服务电话预约,但是由于这类平台同时也提供了很多其他的功能,所以用户经常会出现抢线,断线等状况。 第2章 需求分析与总体设计2.1 系统业务流程经过对网络上现有的大量预约挂号平台的研究和医院实地考察,使用预约挂号客户端到医院看病的总体流程一般需要经过如下几个步骤:1)用户注册、登陆系统。2)选择就诊的科室、医生、预约时间。3)选择支付方式,提交订单。4)系统给用户返回确认信息及预约码5)用户选择窗口支付,提供预约码到医院指定窗口缴费并领取挂号单,凭挂号单到门诊科室医生就诊;如果是在线支付,可直接凭预约码到门诊科室医生就诊。6)根据专家医生开出的处
15、方到收费窗口缴纳费用。7)凭收据到药房取药。8)离院。如果有需要可至医院进行复诊。医院预约挂号流程具体详情如下图所示:图2-1 手机预约挂号流程图2.2 系统功能需求分析暴给信息技术带来了翻天覆地的革新,这也要求社会各行各业的信息化建设需要创新和完善以满足时代的需求。医疗行业同样面临着这样的难题,包括怎样建设满足客观需求的医疗信息化系统、病人及时就医、保护医院投资、以及方便医院往后的扩张等等问题。针对我国现有的医疗资源紧缺、分配不合理、工作效率低从而导致病人看病难,就诊不及时的情况,医疗系统的信息化推广建设势在必行。大力推广医院预约挂号服务不但可以减少医院的窗口服务压力,而且可以提前通知医生安
16、排就诊,从而很好的提高医院的服务质量,保障了患者及时就诊的权益,也避免了医院看病”三长一短”问题。本次医院预约挂号系统是通过将病人预约的环节转移到手机上操作,从而实现患者可以不出家门和排长队,能够随时随地轻松挂号。通过上节对预约挂号系统业务流程的分析,进行系统的需求设计。系统应具备如下功能。2.2.1 Android客户端1)用户注册、登陆用户填写注册所需相关资料,凭账户(即身份证号)和密码登陆系统。2)个人资料修改用户登陆系统后可以修改除身份证号码、姓名、性别以外的资料。3)科室、医生及排诊信息查询用户登陆系统后可以浏览科室、医生以及该医生的排诊详情。4)订单提交用户登陆系统,根据自己病情选
17、择科室、医生,选择合适的时间就诊。用户提交订单可以选择在线支付或者窗口支付,一旦订单提交成功系统会返回预约码,凭预约码到医院就诊。5)预约挂号记录查询及取消用户提交订单成功后可以浏览挂号记录,如果有特殊问题可以取消挂号。如果用户选择的是在线支付,系统应当在限定时间内将诊金返回到用户账户中。6)医生收藏用户可以收藏自己喜欢的医生,可以方便浏览该医生的排诊信息,能够及时挂号和复诊。2.2.2 web医生端1)医生登陆医生输入员工编号以及密码登陆后台。2)浏览挂号详情医生登陆系统可以查看哪些患者选择了自己的排诊记录,根据具体时间提前安排出诊。2.2.3 web管理员端1)管理员登陆系统管理员输入账号
18、以及密码登陆后台。2)管理医生管理员登陆系统可以查看所有医生、更新医生信息、删除以及添加新医生。3)管理用户管理员可以浏览用户注册填写的个人信息。4)管理医生排诊管理员可以浏览所有医生的排诊信息、添加、删除以及更新排诊记录。5)管理患者挂号记录管理员可以查看用户所有的订单记录,包括用户、医生信息,以及预约时间等信息。2.3 系统结构设计2.3.1 系统体系架构系统基于C/S模型,即客户端(Client)和服务器(Server)两层架构设计。通过分C/S架构间的信息交互只需要通过一层,提高访问速度。2.3.2 系统采用的设计模式预约挂号系统采用了MVC设计模式,MVC模式是软件开发过程中采用的一
19、种架构模式,它把软件系统开发分成了模型(Model)、视图(View)和控制器(Controller)3个部分。图2-3-1 MVC组件类型关系图2.3.3 系统的技术方案1)客户端:前台开发环境使用Google提供的Android SDK开发工具。进行数据操作;客户端数据存储使用Android SDK提供的SharedPreferences类,它是一种通过创建XML文件进行轻量级的数据存储技术。4)数据加密技术:使用MD5报文摘要算法对用户设置的密码进行加密存储,有效的避免了使用明文存储敏感数据带来的安全隐患问题。(1)JSON比XML体积小;(2)JSON和JavaScript交互更加方便
20、;(3)JSON的速度要远远大于XML;(4)JSON的解析要比XML的解析要方便。服务器与客户端数据通信传输技术实现,如下图所示:图2-3-2 服务器与客户端交互图6)图片缓存技术:客户端请求服务器的大量图片,如果线程没有进行优化处理,可能出现图片无法正常显示、加载缓慢、内存溢出,甚至导致系统奔溃等等影响用户体验的问题。Android开源网站GitHub上提供了一个功能强大的异步加载大量图片的框架Android-Universal-Image-Loader很好的解决了这个问题。Android-Universal-Image-Loader作为一个优秀的开源图片处理项目,支持网络图片的异步加载、
21、参数设置、缓存处理等技术,为开发人员提供了方便的接口。其主要的核心功能如下:(1)支持Widget窗口部件;(2)支持多线程的图片加载;(3)支持图片加载过程中的监听;(4)提供内存和本地的双缓存技术;(5)提供图片的个性化显示,如图片圆角处理已经渐变动画等的配置接口;(6)提供多样化的功能选项,包括线程管理,内存和SDCard卡缓存,参数初始化工作等等。2.4 系统功能模块划分2.4.1 客户端功能模块通过在已有的预约挂号业务基础上分析,从用户的角度进行系统设计,满足功能实用、操作简单、运行流畅是设计的宗旨。系统客户端的整体功能划分如下表:表2-4-1 预约挂号客户端整体功能表系统功能模块子
22、功能预约挂号客户端系统注册无登录找回密码记住密码预约挂号选择科室、医生、时间段提交订单医生收藏我的医生继续预约该医生最近预约取消预约挂号继续预约该医生个人中心个人资料修改密码修改电话预约退出当前账户最近预约入口我的医生入口2.4.2 服务器端功能模块预约挂号系统大量的信息处理以及数据存储工作是在后台服务器进行实现。服务器和客户端的交互采用即时通信模式,患者提交预约挂号成功,医生可以随时登陆后台浏览挂号信息,同时系统管理员可以对数据库进行维护和数据更新。 系统的web端整体功能需求如下表:表2-4-2 预约挂号web端整体功能表系统用户类型功能模块子功能预约挂号后台系统医生浏览待就诊信息无管理员
23、管理医生浏览医生信息更新医生信息删除医生添加新医生管理用户浏览用户信息管理排诊信息浏览医生排诊记录添加排诊记录删除排诊记录更新排诊信息浏览挂号信息无2.5 功能模块设计2.5.1 注册登录模块注册登录模块提供用户登陆认证,只有注册成功的用户才可以进行预约挂号。用户在注册时填写的身份证号码、手机号码、邮箱以及密码等信息需要通过正则表达式验证,使用MD5报文摘要算法对密码进行加密存储。2.5.2 用户UI模块用户UI模块提供了和用户交互的界面,包括预约挂号、我的医生、最近预约、个人资料等界面,用户可以通过浏览科室,查看在线医生,就诊时间段,进行快速预约挂号,界面设计简洁,降低用户的学习成本。2.5
24、.3 数据传输模块协议。多个Activity间数据传递采用了Intent意图传输机制以及利用Application实现一些全局对象的存储、传输和处理。2.5.4 数据处理模块2.5.5 数据存储模块第3章 数据库设计3.1 数据库类型1)网状型数据库图3-1-1 网状模型的例子2)层次型数据库图3-1-2 层次模型的例子3)关系型数据库Oracle,SQL Server,MySQL都是典型的关系型数据库。(1)容易理解:关系型数据库利用二维表进行数据存储操作,完全符合现实世界中的逻辑概念,相比其他两种存储模型理解起来更加简单。3.2 数据表设计序号字段名字段描述数据类型长度允许空值备注1id用
25、户idint50否主键2sex性别varchar50否男或者女3birthday生日varchar50否例:1992-10-184realname真实姓名varchar50否用户姓名5telphone手机号varchar50否手机号码6idcard身份证号varchar50否身份证号码7password密码varchar50否不小于6位的字符8email邮箱varchar50否注册的邮箱3.2.2 医生表医生表记录医生的个人信息,包括医生员工号、姓名,性别、科室、介绍等字段,具体设计如下表所示:表3-2-2 医生表序号字段名字段描述数据类型长度允许空值备注1d_id医生idint50否主键2d
26、_employeeID员工号varchar100否后台登陆账户3d_name姓名varchar50否医生姓名4d_grade医生职称varchar50否等级分类5d_sex性别varchar50否男或者女6d_department所属科室varchar50否例:内科、外科7d_info医生描述varchar10000否医生相关介绍8d_image头像varchar1000是显示头像或者默认8d_money诊金int50否按职称区分8d_password登陆密码varchar50否后台登陆密码3.2.3 排诊表排诊表用于保存医生的排诊记录,每条记录包括医生编号、就诊日期、时间等字段,具体设计如下
27、表所示:表3-2-3 排诊表序号字段名字段描述数据类型长度允许空值备注1p_id排诊idint50否主键2d_id医生idint50否外键3p_date就诊日期varchar50否例:2015/5/14p_time就诊时间varchar50否例:9:005p_selected号源状态tinyint1否1:已选;0:未选3.2.4 挂号表挂号表保存患者的挂号信息,每条记录包括患者id、医生id、排诊id、预约码、支付状态等字段,具体设计如下表所示:表3-2-4序号字段名字段描述数据类型长度允许空值备注1g_id挂号idint50否主键2u_id用户idint50否外键3d_id医生idint50
28、否外键4p_id排诊idint50否外键5g_code预约码varchar100否系统返回预约码6g_payed支付状态tinyint1否1:已支付;0:未支付3.2.5 收藏表收藏保存用户的医生收藏记录,方便用户复诊预约操作。每条记录包括收藏id、用户id、医生id字段,具体设计如下表所示:表3-2-5 收藏表序号字段名字段描述数据类型长度允许空值备注1c_id挂号idint50否主键2u_id用户idint50否外键3d_id医生idint50否外键3.2.6 数据库整体E-R图通过以上数据库表的设计,分析数据库的所有实体对象以及对象与对象之间的联系,画出如下E-R图:图3-2-6 数据库
29、E-R图第4章 系统功能实现4.1 客户端4.1.1 Activity管理机制预约挂号系统的实现是基于多个Activity间的切换,因此Activity的管理工作至关图4-1-1 Activity生命周期上图可以看出一个Activity在整个生命周期中的状态变换过程,但是当系统存在多利用自定义的MyApplication管理Activity,并且MyApplication的对象是通过单例模式创建,保证使用一个对象能够维护和管理多个Activity。核心代码实现如下:4.1.2 HttpPost网络访问实现网络访问在系统设计的多个模块中都有涉及,所以可以将网络访问功能单独来实现,封装成一个通用方
30、法,方便程序在任何需要的地方调用,同时避免相似功能的代码进行重复编写工作,也为后期功能的扩展提供了公共的访问接口。核心代码如下:在程序需要访问服务器的模块中,通过调用该方法,只需要传入对应的URL地址请求参数。通过EntityUtils.toString方法获取响应参数,如果返回数据以”“开头,表明为JSONArray对象,属于正常响应,通过对JSONArray进行解析并显示在界面上。4.1.3 注册功能实现注册模块界面设计如下:图4-1-3 注册界面用户填写注册信息,点击提交按钮,先验证注册信息是否完整以及格式是否正确,最后通过HTTP网络协议将信息发送到服务器端进行处理,核心代码如下:用户
31、注册的信息使用正则表达式进行验证,只有验证通过才能够继续执行网络请求。发送请求的核心代码如下:注册模块访问服务器URL 、请求参数、响应参数如下表所示:表4-1-3 注册模块参数表请求链接请求参数响应参数用户注册/UserRegisterServletparams: realname=xxx,sex = xxx,birthday = xxx,telphone= xxx,idcard= xxx, password= xxx, email= xxx 正常响应:success异常响应:failed4.1.4 登陆功能实现用户登陆模块界面设计如下:图4-1-4 用户登陆界面1)登陆验证用户填写账号密码
32、,点击登陆按钮,与服务端数据进行用户认证。核心代码实现如下:2)记住密码核心代码实现如下:在登录Activity中,需要将获取的密码重新保存一下。3)忘记密码用户忘记了登录密码,可以通过点击”忘记密码”重新设置,密码重置成功,使用Intent将新密码发送给登陆Activity。登陆功能访问服务器的URL 、请求参数、响应参数如下表所示:表4-1-4 登陆模块功能请求链接请求参数响应参数用户登陆/LoginServletparams: idcard=xxx, password= xxx正常响应:success异常响应:failed4.1.5 预约挂号功能实现预约挂号模块是系统设计的核心部分,提供
33、科室、医生以及选择预约时间功能。1)科室选择科室选择界面列出医院的科室分类信息,用户通过点击相应科室进行操作,界面设计如下图:图4-1-5-1 科室界面界面布局采用GridView网格样式控件,使用自定义的Adapter适配器填充数据。用户点击科室跳转至医生选择界面,核心代码实现如下:2)医生选择用户通过点击某个科室,将跳转到显示这个科室所有医生的Activiy。界面设计如下:图4-1-5-2 医生界面该功能通过使用listview和adapter实现医生列表显示以及响应用户点击事件,与科室选择的功能实现类似,主要区别是在于医生数据是通过访问服务器获取。核心代码实现如下:获取所有医生访问服务器
34、的URL 、请求参数、响应参数如下表所示:表4-1-5-1 科室医生查询参数表请求链接请求参数响应参数科室医生查询/ DoctorServletparams: department=xxx正常响应:“doc_id”:xxx,”doc_empID”:xxx,”doc_name”:xxx,”doc_grade”:xxx,”doc_sex”:xxx,”doc_department”:xxx,”doc_info”:xxx,”doc_image_url”:xxx,”doc_money”:xxx,.异常响应:failed3)医生收藏图4-1-5-3 收藏界面用户点击收藏按钮可以收藏该医生,再次点击可以取消
35、收藏,核心代码如下:收藏医生访问服务器的URL 、请求参数、响应参数如下表所示:表4-1-5-2 收藏模块参数表请求链接请求参数响应参数医生收藏/ LikedOrUnLikedServletparams: u_id=xxx,d_id=xxx, selected=xxx取消收藏:unliked true收藏:liked true4)浏览医生简介和排诊信息 图4-1-5-4 简介和挂号界面浏览简介和挂号信息功能类似,其中,排诊信息以网格形式显示,可以动态展开和收缩,节省屏幕空间,利用ExpandableListView和继承于BaseExpandableListAdapter的自定义adapter
36、实现。获取服务器端的排诊信息核心代码如下:从服务器获取了所有的排诊记录,但是需要将同一天的号源归纳在一起,便于患者浏览和选择,使用TreeSet实现该需求。设计如下:5)订单提交用户点击某个号源,跳转至订单提交Activity。界面设计如下: 图4-1-5-5 订单界面用户选择了”在线支付”,将跳转至支付界面,如下图:图4-1-5-6 支付界面图4-1-5-7 订单详情界面用户点击提交按钮,服务器端自动生成该订单,代码实现如下:提交订单访问服务器的URL、请求参数、响应参数如下表所示:表4-1-5-3 订单提交参数表请求链接请求参数响应参数订单提交/ InsertGuaHaoItemServl
37、etparams: u_id=xxx,d_id=xxx, p_id=xxx, g_payed=xxx成功:success失败:failed4.1.6 我的医生功能实现的医生。界面设计如下: 图4-1-6 我的医生查询收藏医生和选择医生功能类似,区别在于获取数据源不同,并且长按某个医生可以删除这条收藏记录,功能实现如下:值得一提的是,当收藏记录被删除,数据源会发生变化,相应的界面应该及时刷新,所以需要向适配器对象发送通知。代码如下: 长按删除某收藏医生访问服务器的URL 、请求参数、响应参数如下表所示:表4-1-6 我的医生参数表请求链接请求参数响应参数删除收藏医生/ LikedOrUnLike
38、dServletparams: u_id=xxx,d_id=xxx, selected =false成功:success失败:failed4.1.7 最近预约功能实现用户通过点击”最近预约”按钮,会进入预约Activity。界面设计如下:图4-1-7 最近预约最近预约功能用于显示用户已挂号记录,包括医生信息、预约码、就诊时间等,同时提供取消该预约和继续预约功能。核心代码实现如下:查询挂号记录访问服务器的URL 、请求参数、响应参数如下表所示:表4-1-7 我的医生参数表请求链接请求参数响应参数获取挂号记录/GetAllOrderServletparams: u_id=xxx成功:success
39、失败:failed4.1.8 个人中心功能实现个人中心提供了最近预约、我的医生入口,也包括修改个人资料和密码,12580电话预约功能。界面设计如下图所示:图4-1-8-1 个人中心1)最近预约以及我的医生2)修改资料以及密码 图4-1-8-2 个人信息修改用户修改个人资料访问服务器的URL 、请求参数、响应参数如下表所示:表4-1-8 资料修改参数表请求链接请求参数响应参数修改个人资料/ UpdateUserInfoServletparams: telphone=xxx, email=xxx u_id=xxx 成功:success失败:failed3)12580电话预约用户可以通过该功能拨打1
40、2580,进行电话预约服务,为患者预约挂号提供了多个途径,如下图所示:图4-1-8-3 12580电话预约4.1.9 语音提示功能实现语音提示功能通过调用第三方手说TTS提供的Jar包,在用户预约成功时,给出语音播报提示,使系统更加人性化。功能实现如下:2)绑定bindService和解绑unbindService3)调用服务接口方法,进行语音播报4.2 服务器端服务器端功能实现采用了JSP、JDBC以及Servlet等技术。在响应客户端的网络请求方面,使用doPost方法返回数据而不用doGet,原因如下:1)doGet方法存在安全隐患。用户输入URL参数会暴露在浏览器地址中。2)doGet
41、方法请求URL地址的长度有严格限制且只能是字符串。4.2.1 管理员登陆图4-2-1-1 管理员身份登陆图4-2-1-2 管理员登陆成功4.2.2 医生登陆图4-2-2-1 医生身份登陆医生登陆后,可以浏览已经被预约的号源,提前安排就诊,点击右侧超链接可以检查自己详细的排诊信息,以便发现问题能够和管理员及时沟通。如下图所示:图4-2-2-2 医生登陆成功第5章 系统测试软件测试工作贯穿在设计的每个阶段,在系统开发的整个过程中占有非常重要的地位。进行严格的软件测试不但可以及时更正软件已经存在的错误和发现未检测出来的错误,保证软件的质量,而且在很大程度上也的降低了系统的开发风险和投资成本。开发人员
42、可以根据系统开发规则说明以及程序业务逻辑设计不同的测试用例进行软件测试,通过与预期输出结果对比,验证系统是否正常运行。本次预约挂号系统采用了功能模块测试,在实现每个功能的同时完成对该功能的测试,这样做不仅有效地节约了开发时间,同时保证了系统的稳定性和正确性。5.1 数据库加密测试用户在注册时设置登陆密码,经过MD5报文摘要算法加密,将加密后的数据保存至服务器端数据库。图5-1-1 注册测试查看服务器存储数据表,用户注册的密码以密文的形式存储,如下图所示:图5-1-2 数据库用户表5.2 功能测试1)登陆填写账户和密码用户登陆 图5-2-1 登陆测试2)忘记密码注册身份证号和手机号和设置新密码重
43、置成功 图5-2-2 密码重置测试3)预约挂号 图5-2-3 预约挂号测试4)我的医生收藏医生浏览医生选择医生挂号取消收藏 图5-2-4 我的医生测试5)最近预约浏览预约选择医生继续预约 取消预约 图5-2-5 我的医生测试6)个人资料修改 图5-2-6 个人资料测试图5-2-7 数据库表7)密码修改个人中心修改密码密码修改提交 图5-2-8 密码修改测试8)扩展功能预约挂号系统的功能需求在不断的扩大,所以在设计时保留了”专栏医生”,”药品查询”两个功能入口,在后期可以不断的完善。图5-2-9 扩展功能5.3 性能测试手机预约挂号的发展前景是巨大的,也要求系统有着良好运行处理性能,因此,系统具
44、备高效的处理能力非常重要。现从以下两个方面对系统的性能测试进行分析:1)通过以上功能测试,可以看出预约挂号系统在设计时能够充分考虑到系统的功能实用性、正确性、可扩展性。系统在升级、维护时候以影响最小、处理迅速、安全可靠为原则,可以变动控制在一定范围内。系统提供全面的服务性能实时监测,做到问题的及时发现和解决,保证系统性能流畅。2)系统能够保证用户请求的及时响应。在测试环境下使用Android SDK提供的模拟器进行并发性能测试,根据测试结果发现在平均10次连续挂号的情况下,客户端会出现内存溢出问题,经过测试,发现由于每挂一次号平均需要关闭5个Activity,因此连续挂10次号需要关闭50个A
45、ctivity。类似Java的虚拟机JVM,Android程序也拥有自己的虚拟机Dalvik,它是用来管理应用程序内存。Android垃圾回收机制GC不会及时清理,当Activity被销毁后,其内存引用并不会立即释放,而是根据回收算法进行内存计算,如果已经属于可回收对象,将在下次回收的时候释放内存,否则会一直占用内存。通过测试,发现了导致应用内存溢出的主要原因,即在Activity被销毁的时,它的上下文Context对象的引用没有及时释放,仍然常驻内存。根据Activity生命周期,可以通过重写onDestory方法,在销毁时进行内存释放并提醒GC及时进行垃圾回收。代码实现如下:结 论通过两个
46、多月的努力,毕业设计的任务也接近尾声。回顾这段时间,虽然付出了很多汗水,也经历了许多困难,但是更重要的是有了很大的收获。当指导老师下发开题报告,就开始查阅文献,搜集各类相关资料,并且也到当地医院进行实地考察,完成系统的需求分析。我发现许多医院都有自己的一套体系,感到很迷茫,我将这一问题告诉了指导老师,在老师耐心的讲解下,明确了自己的工作方向和目标。在系统功能开发阶段,遇到了很多的难题,比如系统的框架应该如何搭建,业务流程怎样安排更加合理,以及如何从服务器端获取图片,并且对图片进行缓存处理怎么实现等等问题,开发初期没有一点头绪。通过在实习期间的学习和锻炼,熟悉了商业软件的开发流程,掌握了软件系统
47、框架的搭建,也接触了一些Android开源框架。在本次系统设计中就使用了Android-Universal-Image-Loader图片处理框架。通过本次设计的代码编写,其实也是对大学四年学习的一个总结,对Java面向对象的编程思想有了更深层次的见解,同时提升了程序开发能力。设计完成了基于Android的医院预约挂号系统的实现,并且最终通过了客户端和服务器联网测试工作,也很好的支持用户体验,但是仍然存在很多问题需要解决,比如对于用户失约的黑名单处理、网络延迟、快捷搜索、短信提示等问题,当然我会在后期工作中不断完善和修改。手机预约挂号得到广泛的使用,不仅能够合理分配医院的门诊流量,提高医院服务质
48、量,并且为患者第一时间的及时就诊提供了保障,无疑会受到更多人的青睐。致 谢大学生涯转眼即逝,在即将结束之际,我想对苏州科技学院、家人、老师和同学们表达我由衷的谢意。四年里,学校给了我学习专业技能的机会,父母在生活上的支持,老师孜孜不倦的教诲,同学们的相亲相爱,都让我的大学时光充满了温情和欢笑,在此,我深表感谢。毕业设计的顺利完成离不开老师和同学们的帮助,其中我的论文指导老师陶滔老师对我的关心和支持尤其重要。在遇到自己解决不了的问题时,我最先做的就是向陶滔老师寻求建议,而陶滔老师每次不管多忙,几乎每周都会抽出时间找我面谈工作进度以及安排计划。在设计的每个阶段都给予了我悉心的指导,向陶滔同时,系统
49、的实现也得到了实习期间的师傅王晨龙的技术指导,他在很多难题上给了我解决思路和方案,在次深表感谢。最后,我想再一次真诚地向所有帮助我的老师和朋友们表达我的感谢之情,谢谢你们! 参 考 文 献1 赵阳, 夏景林. 预约门诊挂号模式和支持平台建设初探J. 中国卫生资源, 2012, 15(6):482-483.2 王勤帮. 浅谈医疗设备维修工作的现状及发展J. 宁夏科技, 2003, (5):39-39.3 陈亚光. 美国式”调动医生积极性”J. 中国医院院长, 2010, (18):90-91.4 赵阳, 夏景林. 预约门诊挂号模式和支持平台建设初探J. 中国卫生资源, 2012, 15(6):4
50、82-483.5 钱毅. 基于Android的电力通信无线巡视终端的方案设计J. 电力学报, 2011, 26(1):60-63. DOI:10.3969/j.issn.1005-6548.2011.01.014.6 熊凯. 数字医院中移动预约挂号系统架构的技术研究J. 才智, 2010, (22):78-78. DOI:10.3969/j.issn.1671-2064.2010.09.072.7 艾兰虹. 基于 J2ME 与 J2EE 的移动预约挂号系统的设计与实现 J. 信息与电脑 (理论版), 2011, 1: 045.8 苏玉成, 蒋昆, 王蕊. 医院自助综合服务系统建设策略J. 医疗
51、卫生装备, 2013, (6):91-92. DOI:10.7687/J.ISSN1003-8868.2013.06.091.9 郭蕊. 基于B/S结构的新闻发布系统D. 吉林大学, 2014.10 赵珂. 基于 Android 移动终端预约挂号系统的设计与实现 D. 武汉理工大学, 2013.11 张琦. 医院网络预约挂号系统的设计与实现D. 天津大学, 2013.12 陶国芳, 王维维, 陈欣, 等. 基于 Web 的医院远程预约挂号系统的设计J. 福建电脑, 2003 (7): 30-31.13 张松. 基于 .NET 技术的医疗预约挂号系统的设计与实现D. 黑龙江大学, 2010.14
52、 赵阳, 夏景林. 预约门诊挂号模式和支持平台建设初探J. 中国卫生资源, 2013, 15(6): 482-483.15 师成虎. 区域性导医平台的建设J. 护理研究: 下旬版, 2010 (11): 3081-3082.16 张雷. 分时段预约诊疗系统研究与实现D. 河北科技大学, 2013.17 铉克. 数字化健康体检信息系统的开发与实现J. 2009.18 崔立超. 基于 WEB 服务的预约挂号系统设计与实现D. 山东大学, 2010.19 虞颖映, 辛均益, 胡海翔, 等. 国内外医院预约诊疗服务系统现状及发展策略分析J. 医学信息学杂志, 2013 (3): 24-30.20 王林
53、林. 基于 Android 平台的集群通信系统终端软件的设计与实现D. 成都: 西南交通大学, 2012.21 蒋志宇. 某三级综合医院门诊病人时间分布和预约诊疗服务影响因素研究 D. 复旦大学, 2012.22 张钰. 基于web会展信息服务平台的设计与实现D. 北京工业大学, 2010.23 郝圆媛. 面向统一挂号平台的门诊预约挂号系统设计与实现D. 天津大学, 2012.24 欧汝鹏. 浅析医院预约挂号系统的设计与实现J. 计算机光盘软件与应用, 2012 (23): 173-174.25 刘海英. 基于网络的电子政务数据集成平台及其实现D. 复旦大学, 2006. DOI:10.766
54、6/d.y.26 Deutsch R. Systems and methods for monitoring and controlling animal behaviorD. US, 2014.27 Shabtai A, Kanonov U, Elovici Y, et al. “Andromaly”: a behavioral malware detection framework for android devices.J. Journal of Intelligent Information Systems, 2012, 38(1):161-190.28 Gibler C, Cruss
55、ell J, Erickson J, et al. Androidleaks: automatically detecting potential privacy leaks in android applications on a large scaleJ. Lecture Notes in Computer Science, 2012:291-307.29 Conti M, Nguyen V T N, Crispo B. CRePE: Context-Related Policy Enforcement for AndroidJ. Lecture Notes in Computer Sci
56、ence, 2010:331-345.30 Hiroshi Ishiguro. Android science: conscious and subconscious recognition.J. Connection Science, 2007, 18(4):319-332.31 Li Z, Lu L, Wu Z, et al. Method for Scalable Analysis of Android Applications for Security VulnerabilityD. US, 2013.32 Enck W. Understanding Android SecurityJ
57、. Security & Privacy IEEE, 2009, 7(1):50-57.33 Eliezerov I, Romem Y, Braude Z. System and method for mobile computing transmission on a network of data associated with a television displayD. US, 2010.34 Talha K A, Alper D I, Aydin C. APK Auditor: Permission-based Android malware detection systemJ. D
58、igital Investigation, 2015, 13:114.35 Wu Q. Designing a smartphone app to teach English (L2) vocabularyJ. Computers & Education, 2015:170179.附录X 译文活动一个Activity(活动)是一个应用程序组件,它提供了一个可以和用户交互的屏幕,例如打电话,照相,发短信,或者查看地图。每个Activity都被用一个窗口来绘制它的用户界面。这个窗口一般都填充了屏幕,但是也有可能比屏幕小并且悬浮在另一个窗口顶部。一个应用程序通常由多个结构松散关联的Activity构
59、成。一般来说,应用第一次启动呈现给用户的Activity被指定为主Activity。启动不同的Activity来执行不同的动作。当每次启动一个新的Activity,上一个Activity就会停止,但是系统会将这个Activity保存在栈中(回退栈)。当启动了一个新的Activity,它会被推送到回退栈并取得用户焦点。回退栈遵循着”后进先出”原则,所以,当用户结束当前的Activity并且点击返回键,它就会从栈中弹出(并且销毁)并且显示之前的Activity(关于回退栈知识可查看”“)。当一个Activity由于启动另一个新的Activity而停止时,它会通过回调生命周期方法来通知状态的变化。A
60、ctivity也许会收到几个回调函数的调用,这取决于它的状态变化系统是否要创建它,停止它,重新开始它,或者销毁它每次回调为你在状态变化的恰当时机执行特定的工作提供了机会。例如,当Activity被停止,你的Activity应该释放所有的大对象,例如网络或者数据库连接对象。当一个Activity重新开始时候,你可以再次收集必要的资源并且继续执行被中断的动作。这些状态转移组成了Activity生命周期的一部分。文档的其余部分讨论的基本是如何建立和使用一个Activity,包括Activity生命周期工作的完整讨论,所以你可以正确的处理多个Activity状态间的过渡。为了建立一个Activity,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流行业新能源车辆使用推广制度
- 医疗服务标准化规范制度
- 制造业供应链安全规范制度
- 护理原则与护理科研
- 小儿生长发育培训前理论试题
- 闽教版(2025)综合活动1 设计互动闯关小游戏教学设计
- 护士静脉采血指南解读考试试题
- 第21课 冷战后的世界格局 教学设计-2025-2026学年浙江省部编版历史与社会九年级下册
- 沪科版(2024)七年级下册(2024)10.4 平移教案
- 人美版(2024)一年级下册(2024)2.山山水水获奖教学设计
- 2026江苏南京大学档案馆、校史博物馆内勤招聘建设考试参考题库及答案解析
- 海南橡胶行业深度分析报告
- 煤矿安全隐患排查及整改工作方案
- 多汗症临床诊疗指南(2025版)
- T-CI 1199-2025 风力发电机组全寿命周期火灾防范技术规程
- 《民用航空危险品运输管理规定》考试题库150题(含答案)
- 铝方通吊顶施工技术措施方案
- 运动损伤的预防、治疗与恢复
- 机械设备维修成本控制措施
- 2025年湖南省普通高中学业水平合格性考试数学试卷(含答案)
- 智能家居招商会策划方案流程
评论
0/150
提交评论