1、苏州科技学院本科生毕业设计(论文)苏州科技学院毕业设计(论文)题 目 基于 Android 的医院就诊预约管理系统的设计与实现 性 质: 毕业设计 毕业论文 专 业: 计算机科学与技术 年 级: 2011 级 学 号: 11200135111 姓 名: 李 辉 指导教师 陶 滔 二 O 一五年苏州科技学院本科生毕业设计(论文)I基于 Android 的医院就诊预约管理系统的设计和实现摘 要医院看病难的问题是当下热议的话题之一。预约挂号是患者寻诊问药的第一阶段,如果能够提高预约挂号的效率,不仅能提高医院工作效率,同时可以减少患者的候诊时间。预约挂号系统是基于 Android 操作系统的手机进行设
2、计和研究的,实现在手机上完成医院预约挂号功能。系统基于 C/S 体系设计结构,客户端使用 Android SDK 开发工具,根据预约挂号业务流程,提供用户注册登陆、预约挂号、语音提示等功能,服务器端支持管理员、医生登录管理功能。服务器和客户端间的通信采用 HTTP 协议和 JSON 格式进行的数据传输。系统利用 Android API 提供的各种组件模仿 Windows8 操作系统的扁平化风格进行界面设计,预约就诊时间精确到分钟,挂号成功语音提示,能够很好地满足用户体验,通过技术手段解决患者看病难的问题。关键词 预约挂号;Android SDK;扁平化;JSON 格式苏州科技学院本科生毕业设计
3、(论文)IIBased on the Androids 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 appoint
4、ment register, not only can 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 o
5、n the phone.System based 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
6、communication between the 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
7、 prompt, can well meet the user experience, through technical means solving the patient to see a doctor difficult question.Keywords Android SDK; Delayering; Appointment registration; JSON format苏州科技学院本科生毕业设计(论文)III目 录第 1 章 绪论 11.1 研究背景和意义 .11.2 国内外研究概况 .2第 2 章 需求分析与总体设计 42.1 系统业务流程 .42.2 系统功能需求分析 .5
8、2.2.1 Android 客户端 .52.2.2 web 医生端 .62.2.3 web 管理员端 .62.3 系统结构设计 .62.3.1 系统体系架构 62.3.2 系统采用的设计模式 62.3.3 系统的技术方案 72.4 系统功能模块划分 .92.4.1 客户端功能模块 92.4.2 服务器端功能模块 92.5 功能模块设计 .102.5.1 注册登录模块 102.5.2 用户 UI 模块 102.5.3 数据传输模块 102.5.4 数据处理模块 112.5.5 数据存储模块 11第 3 章 数据库设计 123.1 数据库类型 .123.2 数据表设计 .133.2.2 医生表 1
9、33.2.3 排诊表 143.2.4 挂号表 143.2.5 收藏表 153.2.6 数据库整体 E-R 图 15第 4 章 系统功能实现 164.1 客户端 .164.1.1 Activity 管理机制 .164.1.2 HttpPost 网络访问实现 174.1.3 注册功能实现 184.1.4 登陆功能实现 204.1.5 预约挂号功能实现 234.1.6 我的医生功能实现 30苏州科技学院本科生毕业设计(论文)IV4.1.7 最近预约功能实现 324.1.8 个人中心功能实现 334.1.9 语音提示功能实现 364.2 服务器端 .374.2.1 管理员登陆 374.2.2 医生登陆
10、 38第 5 章 系统测试 395.1 数据库加密测试 .395.2 功能测试 .405.3 性能测试 .46结 论 47致 谢 48参 考 文 献 49附录 X 译文 51活动 51附录 Y 外文原文 66Activities.66苏州科技学院本科生毕业设计(论文)1第 1 章 绪论1.1 研究背景和意义近几年来,随着科技发展的日新月异,智能手机的功能也在不断的完善,比如大家除了使用手机打电话、发短信、浏览网页、听音乐等基本功能,还可以利用手机转账,炒股,订餐以及智能家居等强大的功能,如果说电脑的发展带来了第三次科技革命,那么智能手机将必定带来第四次科技革命。手机预约挂号就是这次科技革命的成
11、果。虽然科技在不断进步,但是面对中国近14 亿的人口情况下也无济于事,医院的就诊挂号一直是个老生常谈的问题,包括怎样做到以病人为中心,将挂号、就诊、交费、取药的步骤统一管理,缓解病人挂号排长队、等待时间长、缴费难等问题。使用手机预约挂号,患者不需要亲自前往医院,也就避免看病的”三长一短”问题,能够轻松的查看医生个人信息、排班信息,根据个人情况选择就诊时间和医生,完成预约挂号的服务,享受科技带来的便捷。目前网络上可供下载的医院挂号 APP 不在少数,比如挂号管家、挂号助手、挂号找我等等。但是很多 APP 要么是收费,要么操作起来很难上手,降低用户体验,还有的只是简单实现了挂号功能,没有给出医生具
12、体的排班情况,仍然需要患者现场确认时间,可以说真正适合用户使用的一款软件并不是很多。通过上述对问题的研究以及用户的真实需求,本次基于 Android 的预约挂号系统设计和实现具体重要意义,大致包括以下几点: 一、减少患者挂号排队时间。手机进行预约挂号,患者可以享受预约优先服务,即优先挂号、优先检查,使得患者看病等待时间大大的减少。 二、挂号方便、准确、安全。患者通过手机查看医生排班时间,依据自己的实际情况选择合适的时间就诊,可以选择现场支付或者在线支付,现场支付需要凭预约号至指定窗口领号,而在线支付患者只需凭预约号直接到医院的相关科室就诊。如果在规定时间没有前来就诊,挂号费会自动返回到用户账户
13、,安全可靠。三、医院信息透明化。苏州科技学院本科生毕业设计(论文)2医院信息通过一个平台对外共享,患者和有关部门能够监督医院工作动态。医院将医生的预约挂号信息第一时间上传至网络,所有的患者可以及时浏览医生排班信息,保证了预约挂号的公平、公正性,有效的改善病人对医院的信任关系。四、提高医院的服务品质。救死扶伤是医生必须具备的本质,医院应当更好的发挥为人们服务的态度,包括降低患者的等待时间,医疗资源的合理分配,医院能够合理、有序的运行,成为广大患者值得信赖的医疗单位。五、增加医院的社会竞争力。手机预约挂号工作的大力推广,不但可以减轻医院窗口挂号的人口流量,患者可以第一时间得到医生的就诊,遏制病情拖
14、延带来的危险,提升了医院的服务质量,同时患者有需要会及时前来复诊,保障医院病人来源的保持和增长,这对于医院的改革和发展是至关重要的因素之一。六、平台开放性。在 手 机 市 场 的 激 烈 竞 争 中 , Android操 作 系 统 以 强 大 的 优 势 独 树 一 帜 。 Android操 作系 统 是 基 于 Linux内 核 开 发 , 开 放 源 代 码 , 开 发 人 员 可 以 定 制 系 统 。 在 平 板 电 脑 、 智 能 手机等领域占有很大的地位,因此吸引了大量的移动终端厂商前赴后继的加入进来。本次毕业设计的医院就诊预约挂号系统就是基于 Android 操作系统进行设计和
15、实现的,面向 Android 手机用户群。1.2 国内外研究概况自从上世纪 60 年代初,医院信息管理系统(HMIS)在很多发达国家就得到了大力的发展和进一步的研究,70-80 年代美国的 HMIS 有了较大的进步,尤其是在解决医院预 约 挂 号 的 问 题 上 取 得 了 累 累 硕 果 。 在 很 多 欧 美 国 家 , 通 常 患 者 看 病 都 需 要 先 进 行 预 约挂 号 , 除 非 急 诊 , 很 少 有 人 直 接 到 医 院 找 医 生 , 没 有 预 约 报 告 单 医 生 无 法 进 行 接 诊 。 患 者看病具体步骤如下:1)除急诊以外,先由社区家庭医生为患者诊疗,一
16、旦认为有必要,会建议患者转诊到专科医疗中心或专科医院治疗。2)患者同意转诊,家庭医生联系专科医生,为患者开转诊单。3)患者联系待转诊医院,电话预约就诊时间。苏州科技学院本科生毕业设计(论文)34)在预约的时间内凭转诊单及时前往医院就诊。各 级 医 生 的 工 作 分 工 明 确 , 有 条 不 紊 的 进 行 。 医 疗 机 构 间 建 立 的 有 效 转 诊 制 度 , 为医 疗 质 量 提 供 了 保 障 。 和 发 达 国 家 相 比 , 我 们 国 内 的 预 约 挂 号 在 近 几 年 发 展 也 很 迅 速 ,手 机 预 约 挂 号 服 务 在 很 多 医 院 也 进 行 了 实
17、施 。 在 开 展 预 约 挂 号 服 务 的 大 部 分 医 院 , 存 在数 据 不 准 确 、 推 广 力 度 低 等 问 题 , 患 者 实 际 使 用 预 约 挂 号 软 件 的 比 例 少 , 医 院 看 病 的 “三长 一 短 ”现 状 仍 然 没 有 的 得 到 改 善 , 对 于 用 户 失 约 和 黄 牛 倒 号 卖 号 的 现 象 , 没 有 出 台 有效 的 防 范 措 施 , 相 比 国 外 的 医 疗 水 平 仍 然 有 很 大 的 差 距 。 国内医院预约挂号方式多种多样,主要分为以下几种:一、窗口预约病人需要花费很多时间前往医院,通过和工作人员交流,填写预约信息
18、,但是由于工作人员不能方便的了解患者的病史以及确定上次就诊的医生,也就不能保证患者正常预约到同一位医生进行诊疗。二、电话预约电话预约不需要患者到医院窗口挂号以及人工的方式填写预约的相关资料。避免被安排到不同医生的状况,但是对于很多初次使用该方式的患者而言,由于不熟悉语音系统,将需要花费许多时间听系统将所有的就诊选项的代号播报结束才能做选择,并且一旦输入错误,需要重新输入预约信息,耽误及时就诊时机。三、网络预约网络预约挂号是由医院相关部门建立的网站,通过互联网预约挂号的一种方式。网络预约相比现场预约和电话预约,很好的避免患者拥堵现象。在年轻人中广泛使用,由于很多老年人没有接触过计算机,也就很少采
19、用这种方式。 四、自助挂号终端预约患者通过在医院里的自动挂号终端进行预约,通常终端上有操作流程和方法,方便患者完成挂号,但是需要患者到医院挂号终端排队使用。五、公共服务平台预约一些大型医院和通信运营商合作,提供的公共预约挂号服务平台,比如电信的114,移动的 12580。用户通过拨打服务电话预约,但是由于这类平台同时也提供了很多其他的功能,所以用户经常会出现抢线,断线等状况。苏州科技学院本科生毕业设计(论文)4第 2 章 需求分析与总体设计2.1 系统业务流程经过对网络上现有的大量预约挂号平台的研究和医院实地考察,使用预约挂号客户端到医院看病的总体流程一般需要经过如下几个步骤:1)用户注册、登
20、陆系统。2)选择就诊的科室、医生、预约时间。3)选择支付方式,提交订单。4)系统给用户返回确认信息及预约码5)用户选择窗口支付,提供预约码到医院指定窗口缴费并领取挂号单,凭挂号单到门诊科室医生就诊;如果是在线支付,可直接凭预约码到门诊科室医生就诊。6)根据专家医生开出的处方到收费窗口缴纳费用。7)凭收据到药房取药。8)离院。如果有需要可至医院进行复诊。医院预约挂号流程具体详情如下图所示:图 2-1 手机预约挂号流程图苏州科技学院本科生毕业设计(论文)52.2 系统功能需求分析截 止 2014年 年 底 , 根 据 国 际 电 信 联 盟 公 布 的 ICT报 告 数 据 显 示 , 全 球 已
21、 经 有 超 过30亿 人 使 用 互 联 网 , 而 在 这 近 30亿 的 人 口 中 接 近 2/3的 互 联 网 用 户 来 自 发 展 中 国 家 。中 国 作 为 一 个 人 口 超 过 13亿 的 发 展 中 国 家 , 对 互 联 网 的 依 赖 越 来 越 大 。 全 球 信 息 化 风 暴给信息技术带来了翻天覆地的革新,这也要求社会各行各业的信息化建设需要创新和完善以满足时代的需求。医疗行业同样面临着这样的难题,包括怎样建设满足客观需求的医疗信息化系统、病人及时就医、保护医院投资、以及方便医院往后的扩张等等问题。针对我国现有的医疗资源紧缺、分配不合理、工作效率低从而导致病人
22、看病难,就诊不及时的情况,医疗系统的信息化推广建设势在必行。大力推广医院预约挂号服务不但可以减少医院的窗口服务压力,而且可以提前通知医生安排就诊,从而很好的提高医院的服务质量,保障了患者及时就诊的权益,也避免了医院看病”三长一短”问题。本次医院预约挂号系统是通过将病人预约的环节转移到手机上操作,从而实现患者可以不出家门和排长队,能够随时随地轻松挂号。通过上节对预约挂号系统业务流程的分析,进行系统的需求设计。系统应具备如下功能。2.2.1 Android 客户端1)用户注册、登陆用户填写注册所需相关资料,凭账户(即身份证号)和密码登陆系统。2)个人资料修改用户登陆系统后可以修改除身份证号码、姓名
23、、性别以外的资料。3)科室、医生及排诊信息查询用户登陆系统后可以浏览科室、医生以及该医生的排诊详情。4)订单提交用户登陆系统,根据自己病情选择科室、医生,选择合适的时间就诊。用户提交订单可以选择在线支付或者窗口支付,一旦订单提交成功系统会返回预约码,凭预约码到医院就诊。5)预约挂号记录查询及取消用户提交订单成功后可以浏览挂号记录,如果有特殊问题可以取消挂号。如果用户选择的是在线支付,系统应当在限定时间内将诊金返回到用户账户中。苏州科技学院本科生毕业设计(论文)66)医生收藏用户可以收藏自己喜欢的医生,可以方便浏览该医生的排诊信息,能够及时挂号和复诊。2.2.2 web 医生端1)医生登陆医生输
24、入员工编号以及密码登陆后台。2)浏览挂号详情医生登陆系统可以查看哪些患者选择了自己的排诊记录,根据具体时间提前安排出诊。2.2.3 web 管理员端1)管理员登陆系统管理员输入账号以及密码登陆后台。2)管理医生管理员登陆系统可以查看所有医生、更新医生信息、删除以及添加新医生。3)管理用户管理员可以浏览用户注册填写的个人信息。4)管理医生排诊管理员可以浏览所有医生的排诊信息、添加、删除以及更新排诊记录。5)管理患者挂号记录管理员可以查看用户所有的订单记录,包括用户、医生信息,以及预约时间等信息。2.3 系统结构设计2.3.1 系统体系架构系统基于 C/S 模型,即客户端(Client)和服务器(
25、Server)两层架构设计。通过分层 设 计 , 可 以 有 效 的 降 低 系 统 设 计 的 耦 合 度 , 减 少 客 户 端 和 服 务 器 间 的 依 赖 性 , 设 计 人员 可 以 集 中 精 力 实 现 各 自 的 模 块 , 只 需 要 对 外 提 供 访 问 的 接 口 , 同 时 可 以 提 供 安 全 认 证 。 C/S 架构间的信息交互只需要通过一层,提高访问速度。苏州科技学院本科生毕业设计(论文)72.3.2 系统采用的设计模式预约挂号系统采用了 MVC 设计模式,MVC 模式是软件开发过程中采用的一种架构模式,它把软件系统开发分成了模型(Model)、视图( Vi
26、ew)和控制器(Controller) 3 个部分。1) 视 图 层 : 提 供 软 件 和 用 户 直 接 交 互 的 图 形 界 面 。 比 如 JAVAEE中 采 用 JSP界 面显 示 数 据 , ASP.NET的 用 户 界 面 aspx等 等 , 用 户 通 过 视 图 查 看 关 心 的 业 务 数 据 , 同 时用 户 提 交 的 数 据 可 以 通 过 视 图 中 的 相 关 控 件 输 入 。 Android SDK开 发 能 够 很 好 的 将 视 图层 分 离 , 并 以 XML文 件 的 形 式 放 入 “res/”目 录 中 。 程 序 开 发 人 员 能 够 方
27、便 的 调 用 数 据 ,同 时 增 加 了 程 序 的 可 读 性 , 也 有 利 于 软 件 后 期 的 维 护 和 更 新 。 2) 模 型 层 : 存 放 程 序 中 调 用 的 实 体 类 以 及 处 理 程 序 的 业 务 逻 辑 , 包 括 对 数 据 库 的操 作 、 网 络 通 信 管 理 等 。 在 Android中 对 应 “src/”下 的 代 码 设 计 , 具 体 可 以 分 为 实 体 模型 层 和 业 务 模 型 层 。 3) 控 制 层 : 用 于 接 收 用 户 的 操 作 , 通 过 模 型 和 视 图 的 协 作 完 成 用 户 请 求 。 在 Andr
28、oid开 发 中 , 用 户 点 击 视 图 上 的 按 钮 或 者 选 项 , 控 制 器 接 受 用 户 发 送 的 请 求 , 调 用 模 型 进 行处 理 , 并 更 新 视 图 。 Activity 在 Android 中 起 着 控 制 层 角 色 , 调 用 业 务 模 型 层 处 理 耗 时操 作 , 避 免 出 现 ANR导 致 系 统 奔 溃 。 图 2-3-1 MVC 组件类型关系图苏州科技学院本科生毕业设计(论文)82.3.3 系统的技术方案1)客户端:前台开发环境使用 Google 提供的 Android SDK 开发工具。2) 服 务 器 : 后 台 开 发 环 境
29、 使 用 MyEcplice开 发 工 具 。 3) 数 据 存 储 技 术 : 服 务 器 端 数 据 存 储 使 用 JDBC技 术 访 问 后 台 的 MySQL数 据 库 , 进行数据操作;客户端数据存储使用 Android SDK 提供的 SharedPreferences 类,它是一种通过创建 XML 文件进行轻量级的数据存储技术。4)数据加密技术:使用 MD5 报文摘要算法对用户设置的密码进行加密存储,有效的避免了使用明文存储敏感数据带来的安全隐患问题。5) 服 务 器 和 客 户 端 交 互 技 术 : 用 户 点 击 按 钮 , 发 送 请 求 命 令 , 客 户 端 通 过
30、 HttpCliet接 口 , 采 用 基 于 Apache HTTP 协 议 , 实 现 服 务 器 与 客 户 端 的 通 讯 , 服 务 器 接 收 客 户 端发 送 的 请 求 , 通 过 调 用 web.xml中 对 应 的 Servlet进 行 相 应 的 处 理 。 其 中 , 服 务 器 与 客 户 端 使 用 JSON数 据 传 输 , JSON是 一 种 进 行 轻 量 级 数 据 交 换 的 格 式 , 易 于 编 写 的 阅 读 ,与 传 统 的 XML数 据 传 输 方 式 相 比 有 着 以 下 几 点 优 势 : (1)JSON 比 XML 体积小;(2)JSON
31、 和 JavaScript 交互更加方便;(3)JSON 的速度要远远大于 XML;(4)JSON 的解析要比 XML 的解析要方便。服务器与客户端数据通信传输技术实现,如下图所示:图 2-3-2 服务器与客户端交互图6)图片缓存技术:客户端请求服务器的大量图片,如果线程没有进行优化处理,可能出现图片无法正常显示、加载缓慢、内存溢出,甚至导致系统奔溃等等影响用户体验的问题。Android 开源网站 GitHub 上提供了一个功能强大的异步加载大量图片的框架 Android-Universal-Image-Loader 很好的解决了这个问题。Android-Universal-Image-Loa
32、der 作为一个优秀的开源图片处理项目,支持网络图苏州科技学院本科生毕业设计(论文)9片的异步加载、参数设置、缓存处理等技术,为开发人员提供了方便的接口。其主要的核心功能如下:(1)支持 Widget 窗口部件;(2)支持多线程的图片加载;(3)支持图片加载过程中的监听;(4)提供内存和本地的双缓存技术;(5)提供图片的个性化显示,如图片圆角处理已经渐变动画等的配置接口;(6)提供多样化的功能选项,包括线程管理,内存和 SDCard 卡缓存,参数初始化工作等等。2.4 系统功能模块划分2.4.1 客户端功能模块通过在已有的预约挂号业务基础上分析,从用户的角度进行系统设计,满足功能实用、操作简单
33、、运行流畅是设计的宗旨。系统客户端的整体功能划分如下表:表 2-4-1 预约挂号客户端整体功能表系统 功能模块 子功能注册 无找回密码登录记住密码选择科室、医生、时间段提交订单预约挂号医生收藏我的医生 继续预约该医生取消预约挂号最近预约继续预约该医生个人资料修改密码修改电话预约退出当前账户预约挂号客户端系统个人中心最近预约入口苏州科技学院本科生毕业设计(论文)10我的医生入口2.4.2 服务器端功能模块预约挂号系统大量的信息处理以及数据存储工作是在后台服务器进行实现。服务器和客户端的交互采用即时通信模式,患者提交预约挂号成功,医生可以随时登陆后台浏览挂号信息,同时系统管理员可以对数据库进行维护
34、和数据更新。 系统的 web 端整体功能需求如下表:表 2-4-2 预约挂号 web 端整体功能表系统 用户类型 功能模块 子功能医生 浏览待就诊信息 无浏览医生信息更新医生信息删除医生管理医生添加新医生管理用户 浏览用户信息浏览医生排诊记录添加排诊记录删除排诊记录管理排诊信息更新排诊信息预约挂号后台系统管理员浏览挂号信息 无2.5 功能模块设计2.5.1 注册登录模块注册登录模块提供用户登陆认证,只有注册成功的用户才可以进行预约挂号。用户在注册时填写的身份证号码、手机号码、邮箱以及密码等信息需要通过正则表达式验证,使用 MD5 报文摘要算法对密码进行加密存储。2.5.2 用户 UI 模块用户
35、 UI 模块提供了和用户交互的界面,包括预约挂号、我的医生、最近预约、个人资料等界面,用户可以通过浏览科室,查看在线医生,就诊时间段,进行快速预约挂号,界面设计简洁,降低用户的学习成本。苏州科技学院本科生毕业设计(论文)112.5.3 数据传输模块数 据 传 输 模 块 包 括 客 户 端 和 服 务 器 间 数 据 实 时 传 输 、 交 互 功 能 以 及 客 户 端 不 同Activity间 的 数 据 传 递 。 客 户 端 和 服 务 器 通 过 HttpClient进 行 通 信 , 基 于 Apache HTTP 协议。多个 Activity 间数据传递采用了 Intent 意图
36、传输机制以及利用 Application 实现一些全局对象的存储、传输和处理。2.5.4 数据处理模块数 据 处 理 模 块 包 括 服 务 器 对 客 户 端 发 送 请 求 处 理 和 客 户 端 的 数 据 解 析 。 服 务 器 端 响应 客 户 端 发 送 的 URL, 对 请 求 进 行 识 别 , 调 用 Servlet, 将 处 理 后 的 数 据 以 JSON格 式 通过 网 络 返 回 给 客 户 端 , 客 户 端 接 收 数 据 后 进 行 解 析 处 理 , 同 时 服 务 器 将 相 应 的 数 据 存 储在 数 据 库 表 中 。 2.5.5 数据存储模块数 据
37、存 储 模 块 实 现 客 户 端 和 服 务 器 的 数 据 存 储 。 客 户 端 利 用 基 于 Android SDK 的SharePreferences 类 进 行 存 储 。 SharePreferences 是 以 键 值 对 的 方 式 来 存 储 简 单 的 数 据 ,使 用 XML文 件 保 存 到 手 机 。 服 务 器 利 用 MySQL数 据 库 , 使 用 JDBC技 术 对 数 据 库 表进 行 添 加 、 删 除 、 查 询 、 修 改 等 操 作 。 苏州科技学院本科生毕业设计(论文)12第 3 章 数据库设计3.1 数据库类型预 约 挂 号 系 统 的 大
38、量 数 据 存 储 是 在 后 台 进 行 , 客 户 端 发 送 请 求 , 服 务 器 查 询 数 据 库中 的 信 息 , 将 数 据 返 回 给 客 户 端 并 以 界 面 形 式 呈 现 给 用 户 。 根 据 不 同 模 型 的 数 据 结 构 进行 数 据 存 储 和 构 建 , 可 以 将 数 据 库 分 为 层 次 型 数 据 库 、 网 状 型 数 据 库 以 及 关 系 型 数 据 库三 种 类 型 。 1)网状型数据库网 状 型 数 据 库 采 用 网 状 模 型 数 据 结 构 组 织 数 据 。 DBTG( Data Base Task Group) 系统 是 网
39、状 型 数 据 库 的 典 型 代 表 。 网 状 模 型 一 般 需 要 满 足 以 下 两 个 条 件 的 集 合 : ( 1) 至 少 有 一 个 结 点 没 有 双 亲 结 点 ; ( 2) 结 点 中 可 以 有 多 个 多 余 一 个 双 亲 结 点 。 图 3-1-1 网状模型的例子2)层次型数据库在 网 状 型 数 据 库 出 现 不 久 , 层 次 型 数 据 库 随 即 诞 生 。 其 中 , 最 典 型 的 层 次 型 数 据 库代 表 是 IBM公 司 的 IMS( Information Management System) 系 统 , 它 是 采 用 层 次 模 型
40、 的数 据 结 构 进 行 数 据 存 储 的 数 据 库 。 苏州科技学院本科生毕业设计(论文)13图 3-1-2 层次模型的例子3)关系型数据库关 系 型 数 据 库 是 以 行 和 列 的 形 式 进 行 数 据 存 储 , 方 便 用 户 理 解 和 操 作 , 同 时 每 个 关系 模 型 页 对 应 一 张 表 , 是 现 阶 段 开 发 人 员 使 用 最 广 泛 、 最 受 欢 迎 的 数 据 库 。 ACCESS, Oracle,SQL Server,MySQL 都是典型的关系型数据库。系 统 的 服 务 器 端 数 据 库 设 计 采 用 了 MySQL数 据 库 。 关
41、系 型 数 据 库 与 其 他 两 种 类 型的 数 据 库 相 比 存 在 的 优 势 如 下 : (1)容易理解:关系型数据库利用二维表进行数据存储操作,完全符合现实世界中的逻辑概念,相比其他两种存储模型理解起来更加简单。( 2) 使 用 方 便 : 程 序 员 或 者 数 据 库 管 理 员 可 以 使 用 SQL语 言 对 数 据 库 进 行 操 作 ,也 可 以 在 图 形 界 面 上 直 接 操 作 数 据 库 。 ( 3) 易 于 维 护 : 关 系 型 数 据 库 具 有 严 格 的 完 整 性 约 束 , 包 括 实 体 完 整 性 、 参 照 完整 性 、 用 户 自 定
42、义 的 完 整 性 , 同 时 可 以 使 用 主 外 键 关 联 , 有 效 的 降 低 了 数 据 冗 余 , 避 免数 据 不 一 致 的 问 题 。 3.2 数据表设计用 户 表 记 录 用 户 的 个 人 信 息 , 包 括 姓 名 、 性 别 、 密 码 等 字 段 , 具 体 设 计 如 下 表 所 示 :表 3-2-1 用 户 表 序号 字段名 字段描述 数据类型 长度 允许空值 备注1 id 用户 id int 50 否 主键2 sex 性别 varchar 50 否 男或者女3 birthday 生日 varchar 50 否 例:1992-10-184 realname
43、真实姓名 varchar 50 否 用户姓名5 telphone 手机号 varchar 50 否 手机号码苏州科技学院本科生毕业设计(论文)146 idcard 身份证号 varchar 50 否 身份证号码7 password 密码 varchar 50 否 不小于 6 位的字符8 email 邮箱 varchar 50 否 注册的邮箱3.2.2 医生表医生表记录医生的个人信息,包括医生员工号、姓名,性别、科室、介绍等字段,具体设计如下表所示:表 3-2-2 医生表序号 字段名 字段描述 数据类型 长度 允许空值 备注1 d_id 医生 id int 50 否 主键2 d_employee
44、ID 员工号 varchar 100 否 后台登陆账户3 d_name 姓名 varchar 50 否 医生姓名4 d_grade 医生职称 varchar 50 否 等级分类5 d_sex 性别 varchar 50 否 男或者女6 d_department 所属科室 varchar 50 否 例:内科、外科7 d_info 医生描述 varchar 10000 否 医生相关介绍8 d_image 头像 varchar 1000 是 显示头像或者默认8 d_money 诊金 int 50 否 按职称区分8 d_password 登陆密码 varchar 50 否 后台登陆密码3.2.3 排诊
45、表排诊表用于保存医生的排诊记录,每条记录包括医生编号、就诊日期、时间等字段,具体设计如下表所示:表 3-2-3 排诊表序号 字段名 字段描述 数据类型 长度 允许空值 备注1 p_id 排诊 id int 50 否 主键2 d_id 医生 id int 50 否 外键3 p_date 就诊日期 varchar 50 否 例:2015/5/144 p_time 就诊时间 varchar 50 否 例:9:00苏州科技学院本科生毕业设计(论文)155 p_selected 号源状态 tinyint 1 否 1:已选;0:未选3.2.4 挂号表挂号表保存患者的挂号信息,每条记录包括患者 id、医生
46、id、排诊 id、预约码、支付状态等字段,具体设计如下表所示:表 3-2-4 挂号表序号 字段名 字段描述 数据类型 长度 允许空值 备注1 g_id 挂号 id int 50 否 主键2 u_id 用户 id int 50 否 外键3 d_id 医生 id int 50 否 外键4 p_id 排诊 id int 50 否 外键5 g_code 预约码 varchar 100 否 系统返回预约码6 g_payed 支付状态 tinyint 1 否 1:已支付;0:未支付3.2.5 收藏表收藏保存用户的医生收藏记录,方便用户复诊预约操作。每条记录包括收藏 id、用户 id、医生 id 字段,具体
47、设计如下表所示:表 3-2-5 收藏表序号 字段名 字段描述 数据类型 长度 允许空值 备注1 c_id 挂号 id int 50 否 主键2 u_id 用户 id int 50 否 外键3 d_id 医生 id int 50 否 外键3.2.6 数据库整体 E-R 图通过以上数据库表的设计,分析数据库的所有实体对象以及对象与对象之间的联系,画出如下 E-R 图:苏州科技学院本科生毕业设计(论文)16图 3-2-6 数据库 E-R 图第 4 章 系统功能实现4.1 客户端4.1.1 Activity 管理机制预约挂号系统的实现是基于多个 Activity 间的切换,因此 Activity 的管
48、理工作至关重 要 。 Activity 的 一 个 生 命 周 期 是 指 从 这 个 Activity 启 动 一 直 到 它 被 销 毁 的 整 个 阶 段 ,并 且 在 一 个 生 命 周 期 中 , Activity会 经 历 多 种 的 状 态 变 化 。 Activity生 命 周 期 如 下 图 所 示 : 苏州科技学院本科生毕业设计(论文)17图 4-1-1 Activity 生命周期上图可以看出一个 Activity 在整个生命周期中的状态变换过程,但是当系统存在多个 Activity的 时 候 , 生 命 周 期 变 得 更 加 复 杂 , 不 易 管 理 。 Applic
49、ation的 生 命 周 期 比 Activity长 , 当 某 个 Activity 被 销 毁 时 , Application不 会 销 毁 , 只 有 当 任 务 栈 中 所 有 的 Activity被 销 毁 , Application才 会 结 束 , 所 以 使 用 Application管 理 Activity, 可 以 实 现 多 个 Activity间 的 数 据 共 享 , 以 及 关 闭 应 用 中 所 有 Activity, 安 全 退 出 整 个 程 序 。 预 约 挂 号 系 统 设 计 利用自定义的 MyApplication 管理 Activity,并且 MyApplication 的对象是通过单例模式创建,保证使用一个对象能够维护和管理多个 Activity。核心代码实现如下:苏州科技学院本科生毕业设计(论文)184.1.2 HttpPost 网络访问实现网络访问在系统设计的多个模块中都有涉及,所以可以将网络访问功能单独来实现,封装成一个通用方法,方便程序在任何需要的地方调用,同时避免相似功能的代码进行重复编写工作,也为后期功能的扩展提供了公共的访问接口。核心代码如下: