版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏大学本科生毕业论文J I A N G S U U N I V E R S I T Y本 科 毕 业 论 文 基于android医生站终端设计及实现Design and implementation of a doctor station terminal based on android学院名称: 计算机科学与通信工程学院 专业班级:学生姓名:指导教师姓名:指导教师职称:2014年 05 月基于android医生站终端设计及实现专业班级: 学生姓名:指导教师: 职称:摘要 随着移动互联网的快速发展和完善,使用智能移动终端的人群不断扩大。目前主流的手机操作系统中,Android操作系统以其开
2、放、开源以及众多的手机生产商的加盟成为人们追捧的对象。同时,Android操作系统也在国内市场占有主导地位。伴随着用户数量的不断扩大,开发Android应用程序就具有了广泛的用户基础和发展空间。就目前的医生站终端而言,绝大多数都是基于B/S架构,医生只能在办公室内使用电脑来进行查看病人信息、下达医嘱等一系列常规操作,不能实时或者随时随地进行查询和数据的更新,这给医生带来了许多的不方便,也一定程度影响了病患及时得到医治。本课题结合android平台的优点及医生站的功能需求,设计和实现了基于Android的医生站终端,实现了无固定办公地点的移动办公方式。医生站终端在临床中的应用,让医生摆脱了携带大
3、量纸质资料、记忆大量药物信息及诊治方法,以及手写大量信息的麻烦,有利于医生办公效率的提高,同时保障病人医疗诊治的正确性。本系统采用目前广泛使用的Java开发语言,基于Android 4.0平台来进行开发,在Windows系统下,采用Eclipse开发工具进行开发和使用SQLite数据库存储数据;遵循软件工程的设计步骤:需求分析、概要设计、详细设计、程序编码、软件测试等进行设计和实现整个开发流程。本系统实现的功能模块主要有登录模块、病人管理模块、病历管理模块和医嘱下达模块,以SQLite小型数据库模拟医院的大型服务器,在实际操作中,医生可以通过无线与医院数据库连接以进行数据的交互。关键词:And
4、roid 智能手机 医生站终端 SQLite数据库 Design and implementation of a doctor station terminal based on androidAbstract With the rapid development of the mobile Internet, used intelligent mobile terminal of groups is continued to exaggerate. The current main operating system of mobile phone, Android operating sys
5、tem with its open, open source and joined many mobile phone manufacturers and become the people of pursuit. At the same time, Android operating system also dominates market in China. With the number of users continued to expand, the development of Android application program has a lot of users and b
6、road space of development. In terms of the current Doctors station terminal, the vast majority are based on B / S architecture. Doctors can only use the computer within the office to access patient information and issued a prescription, not in real time, or to query and update data at any time, whic
7、h gives the doctor a lot of inconvenience, but also to some extent affect the patients receiving timely treatment. This paper combines the advantages of android platform and functional requirements of doctors station, designs and implements a doctor station based on android terminal. The system achi
8、eves a way to a mobile office with no fixed office location. In clinical applications, it allows doctors to avoid carring large amounts of paper-based data and memorizing a lot of drug information and treatment methods, and a lot of trouble brought by handwritten information. It also helps doctors t
9、o improve office efficiency, while guaranteeing the correctness of the patients medical treatment. This system uses the current widespread use of the Java development language, based on the Android 4.0 platform to develop, under the Windows system, and uses Eclipse development tools to develop and S
10、QLite database to store data. Follow the design of the software engineering steps: requirement analysis, outline design, detailed design, program coding, software testing and so on to carry on the design and realization of the entire development process. The system realizes the main function modules
11、 such as login module, patient management module, EMR management module and medical doctor assigned modules,using SQLite to simulate the large server of hospital. In practice, doctors can interact data through a wireless with the hospital database.Key words Android Smartphone Doctors station termina
12、l SQLite Database 目录第一章 引言11.1 课题研究背景介绍11.1.1智能移动终端发展现状11.2国内外研究现状21.3课题研究的内容31.4课题研究目标和意义31.5 本文主要工作41.6本文组织结构5第二章 相关技术介绍62.1 Android 操作系统62.1.1 Android开发平台介绍62.2 Android 操作系统介绍72.2.1 Android 应用结构分析72.2.2 Android 平台架构82.2.3 Android 应用程序组件102.3 Web开发架构132.3.1 Web 服务器架构132.3.2 Apache 服务器142.3.3 SQLit
13、e数据库142.4 Android WIFI介绍152.4.1 Wi-Fi层次结构152.4.2 Wi-Fi执行过程15第三章 医生站终端的分析173.1 系统可行性分析173.1.1 经济上可行173.1.2 技术上可行173.1.3 安全可行性173.1.4 操作可行性183.1.5法律可行性183.2 系统需求分析183.2.1 功能需求分析183.2.2 性能需求分析193.3 系统总体设计203.3.1 系统目标203.3.2 系统模块设计203.3.3 系统总体结构21第四章 系统详细设计234.1概念模型234.1.1实体及其属性定义234.1.2 实体-联系定义244.2 手机
14、客户端设计254.2.1 用户登录模块设计254.2.2 病人管理模块设计254.2.3 病历管理模块设计264.2.4 医嘱下达模块设计27第五章 医生站终端的实现295.1数据库的实现295.1.1数据库的详细设计295.2手机客户端实现305.2.1用户登陆界面305.2.2 查看病人信息界面325.2.3 病人信息管理界面345.2.4 病历管理界面385.2.5 下达医嘱界面405.3性能测试42结论43致谢44参考文献45IV第一章 引言1.1 课题研究背景介绍随着现代计算机及网络通信技术的高速发展和普及,数字化生活及办公正逐步影响着人们日常生活的方方面面。作为科学技术应用的前沿领
15、域之一的医学科学,信息技术带来的革命性变化,正逐步改变着传统医疗工作流程。在一些发达国家,手持设备已经开始运用于临床诊疗,相应的应用程序也开始出现,如:澳大利亚政府开始在公立医院内普及ipad应用,方便医生在工作时能够及时地获取到所需要病人的信息和其他重要资料。1.1.1智能移动终端发展现状当今人们生活水平不断提高,生活节奏不断加快使得人们对移动终端要求也日益加强。随着3G(3rd Generation)网络的普及,手机硬件水平不断提高,智能手机诸多关键技术的完善和成熟,无线带宽的增加,移动终端也趋于智能化使得消费者对移动互联网的需求不断增加。智能手机带有自己的操作系统,用户可以通过智能手机以
16、无线的方式通过WIFI(Wireless Fidelity)、3G接入互联网。用户可以根据自己的各种各样的业务需求随意安装需要的软件,极大程度上扩展了手机的功能,为用户带来了便利。用户在PC(Personal Computer)机上用到软件,如浏览器、聊天软件、办公软件等在手机上也能同样使用。智能手机改变人们的沟通模式,人们可以随时随地的联入网络来了解社会动态,丰富人们的业余生活1,2,3。Android操作系统是谷歌公司在2007年发布的Android开发平台。它是由谷歌联合33家公司推出的移动平台系统。Android是目前最流行的手机操作系统,依靠它的开源性,成为众多手机生产商追逐的目标。
17、Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,对多媒体的支持功能非常强大。1.2国内外研究现状计算机在医疗领域的应用差不多走过了将近半个世纪的历史。上世纪六十年代初,以美国麻省总医院为代表,首先开始使用著名的 COSTAR 系统,该系统后来就逐渐发展成为了今天的大规模临床病人信息系统。七十年代以后,随着计算机技术的不断发展,电子病历系统也随之进入快速发展时期,美欧日等国的医院,特别是大学医院
18、及医学研究中心相继开发电子病历系统,成为医疗信息学形成与发展的基础。到了上世纪 90 年代后期,医院科室级别的子系统开发应用程度提高,集成化医疗信息系统的开发成为工作的重心。欧洲与日本等国的发展相对美国较慢,但是也取得了一定的成果。比如欧洲最成功的医院信息系统 Diogeno 系统,还有日本岐阜大学医院建立的一个有核心软件支撑的集成化信息系统,实现了一个医院一个系统的设计模式,统一管理电子化无纸化病历。到了本世纪,区域性的电子病历系统开始成为研究的重点,很多国家逐渐开始拥有了国家范围的 EMR。与发达国家相比,我国的电子病历系统的研究起步较晚。大规模建设医院信息系统起始于上世纪八十年代初期,南
19、京军区总医院最先引进了型号为 DJS-130 的小型机,该设备应该算是我国医疗信息化建设的先例,以后相当一段时间只有个别实力雄厚的大型医疗机构投入信息化建设,但研发能力有限。随着计算机的逐渐普及,信息化成本降低,这种局面逐渐好转。九十年代初期,我国的医院开始了部门级信息化建设的尝试,但只是门诊收费、住院病人收费和财务管理之类的小型业务系统。到了九十年代中期,基于物财管理系统在国内的三级医院被普遍应用,但还没有形成一体化的医院信息系统。1995 年,依托国家八五规划科技攻关课题综合医院信息系统研究,卫生部医院管理研究所开发的中国医院信息系统(CHIS)问世,称为我国医疗信息化建设的一个里程碑。随
20、后,由总后卫生部主持开发的“军卫一号”医院信息系统研发成功,并在全军医院推广。经过 20 年的发展,我国各大医疗机构已经建立起全院范围的信息系统,已经为医院信息化的研究和应用提供了良好的基础。但是,由于我国电子病历标准化研究不足,相关法律支持不够,人们对于电子病历的认识也依然模糊,设计之初预定基本目标是实现医生录入病历的方便或者部分结构化,但是往往忽视了电子病历作为一个持久化信息平台在长期应用、不断发展对于结构化和标准化的要求,在一些关键技术上无法突破,医院信息化的研究依然有漫长的路要走。1.3课题研究的内容本文的主要研究内容包括如下几个方面: (1)访问数据库的实现 利用
21、Eclipse自带的小型数据库SQLite实现对数据库的访问,成功的存储和读取相应的数据。 (2)无线通信的问题 Android系统下WIFI驱动移植问题。需要先熟悉Android系统下WIFI驱动的架构,完成基于Windows的WIFI驱动移植。医生可以通过无线网络与医院的服务器进行连接,从而获取医院大型数据库中自己所需要的数据,实现医生随时随地在自己手机上完成一系列操作。(3)UI界面的设计 实现人性化的界面设计,利于医生的使用。 根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:1、登录模块每个医生都有自己的用户名和密
22、码,医生输入自己的用户名和密码登录本系统,以进行操作,医生之外的其他任何人都不能进入本系统。2、病人管理模块医生登录本系统后,可以查看到自己所看的病人的信息,可以对病人的信息进行查看,修改,增加,删除等操作。3、病历管理模块医生选择一个病人后,会切换到该病人的信息的页面,详细显示病人的电子病历,包括病人的病房,床号等并可以对其进行修改。4、医嘱下达模块医生可以对病人下达医嘱,并查看医嘱执行情况。下达医嘱时医生可以查看医院的药品,并选择需要的药物加入医嘱。1.4课题研究目标和意义目前,关于移动终端智能医疗软件的开发在国内还处于初级阶段,在众多的软件中,基本只包括卫生常识、医疗常识、医学的专业书籍
23、、药物的使用说明书以及一些中医保健知识。这些软件不能达到患者和医生之间的互动,有时患者因看了软件中的医学知识对自己不负责任的乱吃药,造成了不良后果。有些软件提供了在线与医生交流的功能,但是这样的结果往往是病人描述错误的病情,医生开了错误的处方,同样也会给人们的生产、生活造成损失。本文以Android操作系统为基础,为医生提供手机查询病人信息、下达医嘱、添加病人等功能。随着无线带宽的增加、手机资费的不断降低、智能手机在市场上的占有率将不断提高,人们对智能手机的要求也在提高,不再立足于只能接打电话、操作简变、简单实用,而是开始追求新的生活方式,希望智能手机给人们的生活带来便利,快捷和高效。现在智能
24、手机已经是我们生活中不可缺少的一部分。因此,学习和探讨现在最有竞争力的android操作系统是有着重要的理论和实践意义的。本课题实现了用无线移动终端代替有线的移动办公方式,在临床中的应用,让医生摆脱了携带大量纸质资料、记忆大量药物信息及诊治方法,以及手写大量信息的麻烦,有利于医生办公效率的提高,同时保障病人医疗诊治的正确性。医院通过利用手持设备来构建移动医生工作站,从而克服当前移动医生诊疗平台使用笔记本电脑所存在的不足。电子诊疗辅助设备的引入,使得医生办公方式发生巨大改变,数字化、移动化办公,大幅度提高了医生工作效率。1.5 本文主要工作虽然现有的智能手机在软硬件上得到大幅度的提升,CPU的个
25、数由原来的单个逐渐发展到如今的4核,手机屏幕的尺寸也越来越大,在不远的将来手机的运行速度还将飞速提高。但由于移动终端本身自有的特点,它对电池的依赖性,对网络要求的稳定性和手机本身运行速度的限制,使得手机不能够像PC机那样快速分析和处理数据,这样也会给用户带来不便。所以本文以SQLite数据库模拟医院的大型数据库,手机客户端负责发送数据和对接收的数据进行简单的处理。医疗信息服务平台主要功能是管理医院的医生信息、发布通知,并负责与手机客户端交互等功能。开发手机客户端主要工作:(1)进行了现有的智能医疗软件的研究,总结他们在功能上的不足,结合项目需求,开发智能医疗移动终端系统。(2)开发移动终端研究
26、了目前最流行的Android操作系统,利用Android SDK(Software Development Kit),在eclipse上完成开发。搭建主界面和 Android支持的HttpClient与服务器进行交互。开发服务器端主要工作:(1)搭建和完善数据库,根据课题的具体要求和实际操作中的情况创建一些原始数据。(2)搭建医疗信息服务系统中间平台界面,实现管理员功能。1.6本文组织结构本文共分为5章,主要内容如下:第1章, 介绍本文研究的课题背景,主要介绍智能终端发展现状以及国内外医院电子信息化研究现状,简单介绍Android开放平台、Web 开发以及本文的主要工作。第2章, 具体介绍 A
27、ndroid 操作系统(包括平台架构,应用组件等)和Apache服务器软件及相关技术。第3章, 介绍医生站终端的需求分析,从系统的可行性、功能、性能角度进行分析。介绍系统的总体设计。第4章, 详细介绍手机终端模块设计。第5章, 详细介绍手机终端的模块实现。最后,总结本文工作以及对开发中出现的问题和发展趋势提出了建设性的意见。第二章 相关技术介绍2.1 Android 操作系统2.1.1 Android开发平台介绍Android 平台总体上分为三层,第一层:底层的 Linux 操作系统。第二层:中间层的中间件。第三层:上层的 Java应用程序。应用程序可以重用和替换:以前的手机操作系统不允许替换
28、,不可重新编写。但是Android操作系统允许开发者可以根据自己的喜好改变应用程序。例如短信编写、界面风格等。Dalvik VM虚拟机: Android 的应用程序是由Java 编写。Dalvik VM 通过获取的 Java 类文件,将他们组成一个或多个 Dalvik 可执行文件(.dex)。Dalvik 虚拟机是基于寄存器的,相对于 Java 虚拟机速度快。WebKit引擎:Android操作系统内置了开源的WebKit引擎4。多媒体:可以支持目前很多常见音频、视频和图像格式。SQLite:结构化轻量级数据库。嵌入在系统内部,支持sql语言5。Android 操作系统是基于Linux基础上开
29、发,Android 操作系统本身也是一个开放的系统,分为三个组成部分:(1)Android 源代码工程:提供 Android 系统的全部源代码。(2)Android 开发者:开发者可应用 Android 的 API进行开发。(3)Android 市场:开发者将自己研发的应用程序发布在 Android 市场上,消费者可以购买并使用5。Android 之所以如此受到广大消费者、开发者、手机厂商的追捧,原因如下:(1)开放性:Android 系统的内核源于Linux,完全对用户开放,开源的开发平台。对于开发者,可以随意设计属于自己风格的软件。对于任意一个移动终端的生产厂商来说,可以充分的突出生产独有
30、的品牌文化。(2)价格低廉:正是由 Android 操作系统的开源性,它降低了生产商开发成本,不需要支付高额的版税,这使得众多生产商都采用 Android 操作系统。由于价格低廉,符合社会众多阶层的需求,使得Android智能手机在市场上很受欢迎。(3)程序的独立性:由于Android 操作系统采用多层安全措施使得应用程序彼此分离,使得手机系统的稳定性得以提高,用户不用担心运行另一个程序时,现有程序将会关闭。(4)广泛性:Android 操作系统的所有程序都是由Java语言编写的,Java语言本身在全球的编程语言中都是排在前列。这使得开发者入门很快,开发的第三方软件也是极其丰富。(5)与Goo
31、gle产品完美结合:Android 操作系统就是由Google研制开发,那么Android操作系统是完全的兼容Google的任何一款软件。例如,Google Map、Google Chrome 等6。由于移动终端具有号码唯一性、便携性、位置移动性、长期开机等特点,并具备丰富的位置信息和个人化、特征化的身份信息,使移动互联网业务具备社会化、开放化、便捷化、多样化、个性化等特征。2.2 Android 操作系统介绍2.2.1 Android 应用结构分析Android 开发工具是 Eclipse,开发者可以登录 Android 开发者网站,免费下载Eclipse和插件ADT(Android Dev
32、elopment Tools),为了开发人员的方便谷歌把 Eclipse 和 ADT 集成在一个文件里。创建一个 Android 项目,只需要开发者在src文件中编写Java代码,在res文件的子文件layout中设置页面布局,实现了编码和布局的分离。图 2.1为 Android 项目结构图7。图 2.1 Android 项目结构图Res文件里存放着三个文件夹:(1)drawable文件:存放Android项目中所需图片资源、自定义的控件图形结构等。(2)layout文件:Activity中创建的控件,控件摆放的位置,以及整体页面布局都放在这个文件中。(3)values文件:该文件中声明字符串
33、的意义、颜色值等8。自动生成的 R.java 文件:当在layout中添加了控件后,Android 会在R.java类中自动生成一个地址,这个地址类似于 C 语言中的指针,编写 Java 代码时通过这个地址就能对该控件进行编辑了。AndroidManifest.xml:所有的组件都要在这里注册,同时控制Android 项目的访问权限(例如,访问互联网权限、获取照相机权限、程序发送短消息权限等),声明 SDK 版本号等9,10。2.2.2 Android 平台架构Android 操作系统是基于 Linux 系统内核的。它由四层组成:操作系统层(Linux操作系统和驱动)、中间件层组成(系统库与A
34、ndroid运行时)、应用程序框架层(Java 框架)、应用程序层(Java 应用程序)9,11。图2.2为Android平台架构图。图2.2 Android平台架构图(1)操作系统层(Linux操作系统和驱动):Android的核心系统基于 Linux核,管理和驱动底层的硬件程序。Android 作为手机操作系统,它最需要的是关于一些移动设备相关的驱动程序11。图 2.3 列出 Linux内核驱动的程序。图 2.3 Linux内核驱动的程序(2)中间件层组成(系统库与 Android 运行时):分为系统库和 Android 运行时。系统库:主要是当开发者调用中间件层的上层应用程序框架时,提供
35、各样的标准库来支持应用程序框架的具体实现。例如,当开发者调用按钮(Button)的组件时系统库要提供相应的服务。系统库包括:多媒体库、SQLit 数据库、WebKit库等。Android 运行时:类似于 Java 的虚拟机 Dalvik 虚拟机。但是比 Java 的虚拟机效率高,适用于移动终端的设备。移动终端的特点是运行速度差、内存小。编译完成的Java程序会生成很多个class文件,此时 Dalvik 会将这些class 文件进行组合生成一个或多个.dex 文件。.dex 是 Dalvik 专用文件,相比 Java 虚拟机没有被压缩的.jar 文件省去了很大空间,同时增加了手机的 I/O 速
36、度,提高手机的整体性能12。(3)应用程序框架层(Java 框架):是 Android 开发的基础,该层提供了Android 的核心 API,很多应用程序都是通过这层来实现的。开发者可以利用该层的各个组件来重复利用,来实现开发者设计要求。例如按钮控件、文本控件、图片视图控件等。(4)应用程序层(Java 应用程序):开发者可以使用 Java 语言进行编程,将应用程序运行在该层中,该层提供一些 Android 核心应用,例如邮件、浏览器等。这些应用程序可以被开发者重用和改写,实现真正的开源、开放的平台。2.2.3 Android 应用程序组件作为一名Android程序开发者必须要理解Androi
37、d应用程序组件。Android程序没有像 Java 程序中的 Main函数作为程序的主函数,各个应用程序之间独自运行,互不影响。根据组件的功能不同可分为四个核心模块:Activity、Service、BroadcastReceiver、ContentProvider 组件。相同组件、组件与组件之间传递数据或函数需要使用函数 Intent 来实现。当然使用任何一个组件时必须在AndroidManifest.xml 文件中注册,才能获取权限使用该组件6,13。下面分别介绍 Android 应用程序组件:(1)Activity:是 Android 程序中一个非常重要的可视化的用户接口,是用户和应用程
38、序之间进行交互的接口。Activity可以理解为一个容器,在一个activity组件中可以放置多个控件,例如 Button 控件、文本控件、可编辑控件等,并可以为控件添加监听系统事件。可以创建多个 activity,每一个单独的 activity都有各自的功能,并独立完成。每创建一个 activity 就要在 AndroidManifest.xml 中注册,否则 Android 系统不会运行没有注册的 activity14。Android 操作系统是多任务处理机制,可以同时运行多个程序,互不打扰。例如,当用户在线听歌时收到了一条短信息,此时手机不会因为收到短信息而关闭在线听歌的程序。但是,如果
39、同时运行多个任务时,手机内存占用率过高,Android系统会强行关闭掉一些没有在前台运行的程序,有时关闭的程序可能是用户需要的程序,这就造成很多不便。由此,Android 推出了应用程序组件运行周期的机制。每个 Activity 都是独立运行的,当程序由当前的 activity 跳转至另一个activity 时就涉及到了activity 的生命周期。图 2.4 为 activity 生命周期图15。图 2.4 activity 生命周期图(2)Service:也称为“服务”。Service 没有图形化界面,通常用来处理一些耗时比较长的操作,如网络下载、播放 mp3(Moving Picture
40、 Experts Group AudioLayer III)等。可以使用 Service 更新 ContentProvider。Service 不是一个单独的进程,也不是一个线程,它是运行在后台的进程,一般用于为其他组件提供后台服务或者监听其他组件的运行状态。例如,当播放电影时,用户又启动了其他应用程序,但是电影并没有停止仍然继续播放,这就是利用 Service 来控制的。当用户退出电影时,Service 也随着结束。Service 也有自己的生命周期13,图 2.5 为Service 生命周期。图 2.5 Service 生命周期图(3)BroadcastReceiver:广播机制。数据的发
41、送方只负责发送数据,而数据如何接收以及数据如何处理都是由接收方来决定。广播系统产生各种各样的事件。例如,手机短信屏蔽功能:手机接收到一条短消息就会产生收到短消息的事件,会向所有的广播接收器对象进行广播,广播接收器判断广播的数据,这时手机屏蔽的程序接到广播的数据后就对该号码进行屏蔽。(4)ContentProvider:在 Android 系统中程序之间是相互独立运行,如果两个独立的程序想进行数据间的交换,就调用了ContentProvider,它相当于一个数据存储的容器,在与其他程序交换数据时,就会到 ContentProvider 中提取。ContentProvider 提供了为存储和获取数
42、据统一的标准方法接口,可以在不同的程序之间实现数据共享,它是应用程序之间共享数据的唯一方法。Android 为常见的一些数据提供了 ContentProvider(如短信、通讯记录和通讯录等)。ContentProvider 认为无论数据的来源如何,它都认为是以表格的形式来存储,每一种数据都对应着一种 ContentProvider。(5)Intent:实际上 Intent 不是 Android 的应用组件,但是 Intent 就像一座桥梁一样连接各个组件。一个应用程序一般由四种组件构成,当程序运行到一个节点时,此时需要运行另一个组件,这时就需要 Intent 来传递参数。例如,在第一个 ac
43、tivity的文本框内输入一段文字,在第二个activity的文本框内显示这段文字,这时调用函数 Context.startActivity(Intent,intent)来传递变量。Intent 可以传递很多参数,例如,传递网址、电话号码、短信、电子邮件、浏览器等。例如,当用户查阅通讯录时想给某个联系人发送短消息,此时就需要 Intent 来传递联系人的手机号码发送给短消息的程序。如果需要启动 Service,就调用 startService(Intent,intent)方法13。2.3 Web开发架构2.3.1 Web 服务器架构本课题的服务器端采用 WAMP 架构。图 2.6为 WAMP
44、架构图。图 2.6 WAMP 架构图Web 开发的三层架构:根据整体功能划分为三个模块:图形界面层、逻辑控制层、数据库操作层。图形界面层:一般是给用户提供的可视化的图形界面,用户可以在界面内进行输入数据,点击按钮等操作。逻辑控制层:当用户对图形界面进行操作后,进行相应的事件处理。数据库操作层:对数据库进行操作,例如,对数据库的插入、删除、查询等操作。一般情况,用户是不直接对数据库进行操作的,而是通过图形界面中的按键提交到逻辑控制层,然后再对数据库进行操作。所有的逻辑操作,组件之间数据交换都在这一层完成,对用户是不可见的,这就对逻辑控制层提出了较高的要求。逻辑控制层有着承上启下的作用,上层接收图
45、形界面发送的操作,接收下层数据库传递的参数。这样分层的好处:提高整个开发流程的速度,开发人员只关心自己负责的那一层。例如,开发图形界面的人员只负责界面,不关心数据库的操作。这提高了人员的开发效率。有利于软件的复用和扩展,如果开发者对某一层的功能修改或扩充,其他层可以不随之修改,增加了系统修改的灵活性。虽然对系统进行分层带来开发的好处,但是同时也增加了系统的开销。如果没有图形界面,有很多的事件就可以直接访问数据库,并对数据库进行 sql语句操作。2.3.2 Apache 服务器Apache 是 web 开发架构中最为关键的一环,apache 具有开源性、跨平台性的特征,正是这些特征使得大多数服务
46、器都运行apache软件。国内各大网站采用apache软件。综上考虑,本课题的服务器使用apache软件。2.3.3 SQLite数据库SQLite是一个开源的嵌入式关系数据库,2000年由D.Richard Hipp发布。自几十年前出现的商业应用程序以来,数据库就成为了应用程序的主要组成部分,同时数据库管理系统也变得非常庞大和复杂,并占用了相当多的系统资源。随着嵌入式应用程序的大量出现,一种新型的轻量级数据库SQLite也随之产生。轻型的数据库SQLite是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,
47、可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。Android支持高效、快速的数据存储方式,应用程序可以使用适合的方式对数据进行保存和访问,其中提供了两个类,用于简化SQLite数据库的操作。第一个是SQLiteOpenHelper,该类主要用于自动完成打开、关闭指定的数据库,当数据库不存在的情况下还可以创建数据库,并根据需要更新数据库。第二个是SQLite
48、Database类,该类只要用于查询数据库,向数据库中新建数据项、删除数据项。2.4 Android WIFI介绍WIFI是一种无线联网技术,常见的一个就是无线路由器。那么在这个无线路由器的电波覆盖的有效范围内都可以采用WIFI连接的方式进行联网。如果无线路由器连接了一个ADLS线路或者别的联网线路,则又被称为“热点”。2.4.1 Wi-Fi层次结构 Android中Wi-Fi驱动程序被编译成内核的模块,通过应用程序设置开关进行加载和卸载,具体来说就是Settings->Wireless&networks->Wi-Fi。同时,要使Wi-Fi正常工作,驱动中还需要实
49、现烧写固件程序和配置信息到Wi-Fi的芯片中。图2.7就是Android中Wi-Fi的各模块在整个Android层次结构中的位置,以及它们之间的关系。图2.7 Android中Wi-Fi的层次结构图2.4.2 Wi-Fi执行过程Android中Wi-Fi是使用层次结构设计的,因此执行过程基本上是在接到用户命令后,先从上到下,再从下到上,完成用户与Wi-Fi设备的交互。下图2.8就是Wi-Fi功能的详细执行过程示意图。图2.8 Wi-Fi执行过程示意图第三章 医生站终端的分析3.1 系统可行性分析可行性研究是为了弄清楚系统开发的项目是不是可以实现、是不是值得研究的过程,进行可行性研究是非常必要且
50、十分重要的,因为这是一个简化系统分析和系统设计的过程。如今智能手机等移动设备高速智能化,移动网络通信正在以前所未有的速度走进人们的生活、工作和学习,突破了时空的界限,从而提高了工作、学习的效率。根据软件领域的可行性研究,主要考虑以下五点:3.1.1 经济上可行Android开发平台是完全对开发者免费提供SDK、Eclipse是开源工具,SQLite数据库是Eclipse自带的。谷歌公司为开发者提供了一个免费且功能强大的Android虚拟器,它可以实现大部分手机功能。同时,由于各大手机厂商都使用Android操作系统,这也为开发者提供多种手机设备、多种价格的选择。综上所述,开发一套Android
51、应用程序的成本是非常低廉的。Android操作系统的手机在国内占有率为第一位,这也为Android 的开发者提供了巨大的市场利润。3.1.2 技术上可行Android操作系统的应用层是用Java语言开发的。Java语言是目前全世界最流行的开发语言之一,有着广泛的应用基础。Java是一种完全的面向对象的编程语言,这样也有利于Android 应用程序开发。同时,Java EE(Java Platform, Enterprise Edition)开放平台也是目前企业应用最广的,这更有利于Android客户端与Java EE平台的网络通信,实现Java EE平台上的应用程序移植到Android手机客户
52、端,真正的实现移动办公16。3.1.3 安全可行性在系统运行后,就用户方而言,由于用户使用本系统时不会也不必关心系统内部的结构及实现方法,即对客户来说是透明的,所以本系统对客户而言是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的链接或按钮就能执行相应的功能。就终端而言,只要把所有信息放入服务器端的数据库或专门的数据库服务器,终端就可运行相应的后台程序进行处理,安全可靠 。3.1.4 操作可行性目前资源的利用情况和可操作性,只需根据相关需要对数据库中的相应表数据直接操作就可以实现系统的完整、稳定的运行,不会造成系统的巨大压力,可以保证系统的正常运行。3.1.5法
53、律可行性Android平台是开放的平台,代码都是开源的,并且本软件系统的实现是以作为毕业设计而非以盈利为目的,与商业无关,且是自主开发设计,因此不会构成侵权或其他责任问题,在法律上是可行的。 综上所述,通过经济可行性,技术可行性,安全可行性,操作可行性和法律可行性分析,本系统的开发是可行的。3.2 系统需求分析3.2.1 功能需求分析需求分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,医生站终端的需求分析也是开发人员和用户一起完成的。需求分析的第一步是描述医生站终端的功能,即定义用例,以此确定系统的功能需求。要开发出一套完善的医生站终端是一项艰苦而又充满挑战的工作。通
54、过研究已有的医疗软件系统以及结合项目本身的要求我们把系统功能分离化,将不同的功能属性进行分离,然后对每一个分离出来的功能再进行具体的细化和实现,这样可以提高对系统整体功能上的把握以及对每个功能都能反复论证使得系统更具有可行性17。经过广泛的调研和论证以及项目需求,最后提出将本终端分为4大模块:登陆模块、病人管理模块、病历管理模块和医嘱下达模块,基于Android的医生站终端用例图如图3.1所示。图3.1 基于Android的医生站终端用例图登录模块:每个医生都有自己的用户名和密码,医生输入自己的用户名和密码登录本系统,以进行操作。病人管理模块:医生登录本系统后,可以选择查看自己所看的病人的信息
55、,也可以查看所有的病人信息。可以对病人信息进行修改,删除等操作,也可以新增病人。病历管理模块:医生选择一个病人后,会切换到该病人的信息的页面,详细显示病人的电子病历,包括病人的病房号,床位号等。医嘱下达模块:该业务属于整套医生站系统的核心业务,医生操作电子病历的主要目的就是在于为病人下达医嘱。医生可以对病人下达医嘱,也可以录入医生说明和医嘱执行情况。3.2.2 性能需求分析医生站终端作为一个综合了手机客户端、医疗信息服务系统中间平台应用服务器端的系统,能够实现手机用户良好的用户体验,能够正确的、快速的对医疗信息服务系统中间平台应用服务器端数据库进行操作。作为一套合理的医生站终端,首先,要确保数
56、据的安全性,防止用户信息的泄露,造成不良的社会影响。其次,用户对手机客户端的操作要简单易行,界面要简洁大方。3.3 系统总体设计该过程是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,设计出一个能在手持设备上实施的方案,即建立新系统的物理模型。本系统的设计需要分别设计登录模块功能分析、病人管理模块功能分析、病历管理模块功能分析以及医嘱下达模块等各部分功能。3.3.1 系统目标通过医生站终端的开发和示范,要实现以下目标:(1)借助电子化信息传递及共享,实现医院内部工作流程优化,提高医院办公效率。 (2)为医生提供完整的、随时随地访问病人信息的功能,有利于提高医
57、疗质量。 (3)通过医疗信息库应用,借助校验手段来有效降低医疗差错。 (4)以电子病历形式,实现医疗信息共享,高效的实施病人的异域诊疗。 (5)对医疗信息资源管理及存储能力的提高,弥补基于纸质信息办公的不足。3.3.2 系统模块设计按照医疗信息服务系统中间平台在结构上的不同可划分为两层:手机客户端、医疗信息服务系统中间平台应用服务器端,图3.2为医生站终端的关系结构图。图3.2 医生站终端的关系结构图用户登录手机客户端后通过与医疗信息服务系统中间平台应用服务器端进行通信获取信息然后进行相应的操作。医疗信息服务系统中间平台应用服务器端管理用户的数据、医院数据、医生数据等。3.3.3 系统总体结构本节主要从整体考虑系统的功能,介绍了本系统的总体结构,系统的功能模块结构图如图3.3 所示。系统共有四个模块,分别是用户登陆模块、病人管理模块、病历管理模块以及医嘱下达模块。图3.3 系统功能模块结构图用户登陆模块中主要包括医生的登陆功能和退出功能,只有用户登陆成功后才能使用本系统,除医院数据库中登记的医生外其他人均不能进入本系统。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息系统电子商务与营销考核试卷
- 2024年二手住宅买卖合同中的违约责任判定
- 2024年临时工协议书
- 2024年丙方丁方网络安全服务合同
- 2024年体育赛事柴油供应运输合同
- 2024年优化版:国际货物运输合同
- 2024年企业信息系统安全评估与加固合同
- 2024年企业间股权投资与融资合同
- 2024年企业云服务与数据存储合同
- 2024年专业桁架租赁合同
- 小学英语人教新起点五年级上册Unit3Animalsunit3storytime
- 2023年江苏省淮安市中考化学试卷
- 医疗质量管理与持续改进工作记录
- 小学英语名师工作室工作计划2篇
- 中国旅游嘉兴风土人情城市介绍旅游攻略PPT图文课件
- 小学《信息技术》考试试题及
- 出口退税培训课件
- 校外培训机构消防演练方案(精选10篇)
- 检伤分类课件
- 《新能源材料与器件》教学课件-04电化学能源材料与器件
- 河北省邢台市药品零售药店企业药房名单目录
评论
0/150
提交评论