基于Android的医疗管理系统软件工程.docx
《基于Android的医疗管理系统软件工程.docx》由会员分享,可在线阅读,更多相关《基于Android的医疗管理系统软件工程.docx(40页珍藏版)》请在冰豆网上搜索。
基于Android的医疗管理系统软件工程
摘要
随着时代的发展和科学技术的不断进步,手机、平板等移动设备的使用越来越普遍,随着移动设备功能的不断增加,其逐渐成为日常生活中不可或缺的重要工具,人们对于手机软件的需求也随之增长。
然而,对于智能手机市场而言,占据主要位置的Android系统尚未具有一款得以被普遍应用的医疗软件。
这就使得病患不分病情轻重大量涌向三甲医院,轻症病患的医治被拖延,重症病患的救治被阻碍,医疗资源没有得到充分的利用。
针对以上问题,本项目主要目的在于开发一款基于Android系统整合地区医疗资源并将之充分利用的医疗软件。
主要研究内容为前端实现实现用户注册登录、健康信息查询、疾病问答和药品查询,而后台端则实现管理药品信息,管理用户信息,管理疾病信息,管理症状询问信息的功能。
关键词:
Android软件医疗后台管理
Abstract
Withthedevelopmentofthetimesandthecontinuousprogressofscienceandtechnology,mobilephones,tabletsandothermobiledevicesarebecomingmoreandmorepopular.withthecontinuousincreaseofthefunctionsofmobiledevices,theyhavegraduallybecomeanindispensabletoolindailylife.people'sdemandformobilephonesoftwareisalsogrowing.However,forthesmartphonemarket,Android,whichoccupiesadominantposition,doesnothaveamedicalsoftwarethatiswidelyused.Thismakesalargenumberofpatientsflocktothethird-tierandfirst-classhospitalsregardlessoftheseverityofthedisease,thetreatmentofmildpatientsisdelayed,thetreatmentofseverepatientsishindered,andmedicalresourcesarenotfullyutilized.
ThemainpurposeofthisprojectistodevelopamedicalsoftwarebasedonAndroidsystemtointegrateandmakefulluseofregionalmedicalresources.Themainresearchcontentisthatthefrontendrealizesthefunctionsofuserregistrationandlogin,healthinformationquery,diseasequestionandansweranddrugquery,whilethebackgroundsiderealizesthefunctionsofmanagingdruginformation,managinguserinformation,managingdiseaseinformationandmanagingsymptominquiryinformation.
Keyword:
AndroidsoftwareMedicaltreatmentback-stagemanagement
第一章绪论
1.1选题目的与意义
在过去的几年中,随着时代的发展和科学的进步,智能设备技术已在不断进步和更新换代,智能手机的应用范围渐渐涉及到生活的方方面面,同时Android系统的不断发展也为开发者提供了更大的开发空间。
手机用途的广泛也使得手机软件如雨后春笋般不断涌现,这也使得Android手机的用户群体越来越大。
在目前智能设备市场,市场占有率较高的两款操作系统为谷歌科技公司研发的Android操作系统以及苹果科技公司研发的iOS系统,还有一部分市场占有率较小的操作系统,比如Windowsphone系统等。
两大系统均有各自的优势和缺点,发展前景也不尽相同。
然而,随着移动设备技术的不断发展,这庞大的市场却没有一款被普遍使用的医疗软件。
就当前而言,医院采用的医疗挂号软件均具有其局限性,那就是仅仅局限于一家医院或区域内的数家医院。
由于医疗挂号软件的局限性,患者在挂号的时候需要在多个软件上进行重复的操作以确保自己可以成功挂号。
这就造成资源的浪费,部分患者重复在多个医院均成功挂号,而部分的患者却没有挂号成功。
医疗资源无法被充分利用便造成了挂号难、看病难等民生问题。
1.2研究现状
在过去的几年里,“实施健康中国战略”把“支持社会办医,发展健康产业”这一旗帜作为扶持企业发展的重要理念,自2017年政策实施以来,私人医疗产业在中国有了大显身手的机会。
受益于国家政策的支持,一批新兴的医疗软件相继投入市场如:
春雨医生、微医、丁香园等。
这些医疗软件通过充分利用人工智能这一科技产物,将现有的与医疗相关的团队资源、信息、科研成果以及网络资源等排列、组合,逐渐搭建一个能过在线咨询与在线购药,在线咨询与线下就医的网络服务平台。
通过此医疗软件平台,能过人性化的通过了解客户需求为客户提供对应的服务,是服务更加人性化、健康化、合理化。
比如消费型医疗服务、健康管理和互动等。
这些医疗软件不但有效解决了看病难的问题,令医疗资源得到充分利用,还能满足用户日常保健的需求,大大提高了服务的深度。
然而,如此众多的医疗软件却没有一款可以整合多个功能的医疗软件,来满足用户的需求。
如“丁香园”这一类医疗软件则以提供医疗咨询服务为主,而“微医”等软件则以医院预约挂号服务为主。
用户若要使用多种服务,就需要下载多个医疗软件,这种做法导致手机资源被浪费,大大的影响了用户的使用体验。
基于上述情况,开发一款综合型的医疗软件是非常必要的。
本项目的目的是将预约挂号、在线购药、医疗资讯推送等多个功能整合,将“互联网+医疗”的服务体系进一步发展,降低医疗软件对手机资源的占用,提高用户的使用体验。
1.3研究内容
本研究课题需要设计的安卓手机医疗助手系统。
对市场进行调研,对需求进行分析,得到一些设计理念如下:
1.可通过软件了解相关业务的服务流程;
2.针对医疗关系系统,搭建系统大致功能框架;
3.将涉及以图纸的形式展示出来;
4.撰写技术理论与设计思路;
5.编写软件程序代码;
6.完成代码后对系统进行检验、测试。
第二章系统分析
2.1可行性分析
2.1.1技术可行性分析
(1)Android系统概述
在Linux开源代码的基础上,开发了目前使用范围最为广泛的移动设备操作系统之一的Android操作系统。
Android系统操作系统最初被设计出来的公司名为"Android"。
于2005年,名为谷歌的科技公司将"Android.Inc"并购,在Android系统的基础之上进一步开发和运营Android系统。
对于Android系统而言,其系统体系机构采用的是软件堆层结构,英文名为softwarestack,也被称为软件叠层。
于2007年,Google科技公司开发出了第一款关于安卓软件的开发工具包,叫做SDK,为安卓软件的开发拉开了序幕。
于2008年8月,谷歌发布了安卓系统的首个商业版本,成为安卓系统发展史上的里程碑。
有研究表明,Android操作系统进入市场之后在短短几年里就超越了曾不可一世的塞班系统,短时间内,迅速成为火爆全球的智能手机操作系统。
不仅如此,安卓系统不仅在智能手机市场上占有很大的份额,而且平板电脑市场也在积极扩张,以中兴、华为、联想为首的中国大陆品牌和三星、MOTO为代表的海外品牌都加入了安卓家族。
该系统被用作系列产品的运行系统。
安卓操作系统是一款移动设备专用的,软件集平台,安卓作为一款专门针对专门针对移动设备的软件集,安卓拥有一个操作系统、一些重要应用程序以及中间件。
安卓软件的开发包为安卓的开发提供了提供API接口以及开发工具,开发者可利用API接口和开发工具,通过Java语言开发安卓的应用。
下述内容为Android系统相关特性的介绍。
第一,在Android系统中,对于其应用程序框架而言,具有如下两个特点:
一是组件可以被重复使用,另一个则是可以被替换,由于这两个特点的存在,程序得以被代替,极大提高了使用的舒适性;第二,Android浏览器的开发平台比较特殊,以Webkit引擎为基础平台,标志着WAP应用时间段的终结,并逐渐迈入移动互联网时期,因此具有丰富的图形库,这对于游戏开发而言,简直是非常大的利好;第三,数据库采用SQLite,具有结构化属性,从而进一步完善了存储功能;第四,系统集成有Dalvik虚拟机,和移动设备的契合度非常高,且相较于Java虚拟机,在运行速度方面具有非常大的优势;第五,支持多种常见的多媒体格式,如:
MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF等;第六,支持多种数据传输方式,如:
蓝牙Bluetooth,4G,3G,和Wi-Fi;第七,Android具有多种多样的开发环境,包括调试工具、Eclipse包含的开发环境插件、设备模拟器及内存及性能分析图表等;第八,支持GSM电话、摄像头、GPS等技术,但均依赖于硬件。
(2)Android系统架构概述
Android系统大系统架构从大体上来看属于四层式:
Linux内核层,系统核心;系统运行库层,主要框架;应用框架层,提供API;应用层,用户可直接使用的工具,详细信息分述如下:
对于Android系统而言,其编写所依据的内核即为Linux,该层结构的主要的作用是提供给硬件以最为基础的驱动,比如非常常见的音频驱动、显示驱动及Wi-Fi驱动等。
对于系统运行库层而言,其主要承担的角色是系统框架,提供特性支持,比如SQLite和Webkit,分别提供的支持类型;前者为数据库,后者为浏览器内核。
同时对于Android运行库,其内部集成了Dalvik虚拟机,其主要作用为针对于应用程序,使其能够运行与独立进程,从而在极大程度上提升了应用的运行速度。
应用框架层的主要功能体现在开发应用的过程中,在这个过程中提供各种类型的API。
对于Android系统,有些自带的应用程序就是基于上述API开发的。
此外,开发人员还可根据自身需求通过使用上述API进行应用的自定义开发。
应用层,主要是一些核心应用程序,包括收发信息、通讯录、拨打电话等,上述程序均基于JAVA语言开发编写。
图2-1Android体统架构
(3)Android的优势与不足
Android的优势主要体现在以下几个方面,首先,源代码具有开放性,使得开发者可以实时、清晰地掌握开发细节及进程,从而能够推动其技术实现进步,在根本上仍然对开发工作有非常大的好处;其次,使用Dalvik虚拟机,利用其对电池、系统内存等执行优化操作,从而提升了系统的运行速度;除此之外,在包括中国移动、中国联通在内的运营商大力支持下,极大地刺激了软件开发者的积极性。
在了解Android系统的优势之后,就应该浅谈一下Android系统的不足了。
就目前来看,其应用程序还不够完善,开发工作仍待持续跟进;Android系统的发展历程还比较短,这导致了操作系统版本更新过快,接口不统一,使得用户体验感有差异。
(4)Android的影响
Android自开发并应用后,在移动电信业、手机制造业等行业造成了巨大的影响。
对开发商而言,由于Android是一个开源的移动计算软件平台,大量产业界巨头自发组成了以谷歌为主导的产业联盟,这使得Android的开发更为高效,大大降低了研究开发所需的成本。
除此之外,由于Android是源代码开发的产品,小开发商可以开发出针对不同方向的产品以提高自身核心竞争力,缩小与大型厂商在核心技术上的差距,从而达到扬长避短的目的。
而对消费者而言,影响更多体现在价格上。
由于Android在设计初期便考虑到现有业务的融合,通过将GPS、蓝牙、MP3等列为提供支持的基本选项,减少了多项端口的授权费用。
这使得Android产品的开发成本大大降低,最终使消费者受益。
2.1.2经济可行性分析
本项目在设计开发的过程中预计所需成本相对较低,所采用的技术与开发工具均为开源代码和免费的开发工具。
所采用的均源于网上的开源代码,由资深的Android开发工程师免费提供。
而在硬件方面,经过在多个模拟器上运行,适用于当前普及的大部分智能手机,因此可判断硬件成本并不高。
综上所述,本系统经济上具有可行性。
2.1.3运行可行性分析
本文所开发的系统基于Android平台实现,该平台工具包技术较为完善且强大,同时数据包也比较成熟,对于手机资源的占用并不高。
综上所述,本系统运行可行。
2.2需求分析
移动终端可以利用4G网络高速的通信技术,精确的定位功能,使得移动终端能够轻易地连接上网络,享有相关资源。
此外,对于现在应用较为普遍的智能手机而言,其本身也具有较为强大的功能,结合这一点可以借助于智能手机为终端,准确、高效地开发出一套综合信息平台,实现用户查询医疗信息,其较高的实用性和便捷性一定会获得更多用户的认可。
实现如下功能。
1、服务器端:
管理药品信息,管理用户信息,管理疾病信息,管理症状询问信息。
2、客户端
在android客户端上注册、登录;
普通用户登录后,可修改用户信息,查看药品、健康信息,查询疾病问答等。
总体分布如图2-2所示:
图2-2总体功能需求图
软件界面是用户使用频率最高的界面。
软件操作的简易度、请求的响应时间、界面的布局、界面的信息类型均直接影响用户对一款软件的观感,影响一款软件的评分。
2.3性能需求
一个良好的架构设计应该具有以下几个特点:
第一,模块化。
个体内的每一个模块的功能应当明确,而模块内部则要实现高聚合,合理实现信息的有效隐藏。
第二,适应化。
软件架构要适应不同的功能需求,适应日益进步的技术水平。
第三,规划性优异。
软件不仅需要做好对数据的存储,还应做好数据传递、数据复制等规划。
第四,具有灵活的部署规划。
架构设计时应不拘泥于单一架构,根据不同的实际需求灵活变通架构策略。
性能需求的核心来源为使用该系统的用户,对于用户来说,不仅功能性能够达到要求,还要求具有一定的质量性,所以,一些质量较差的系统往往得不到好的结局。
所以,在进行架构设计的过程中,应当时刻考虑到用户的需求,包括功能需求、质量需求。
通常来说,用户对系统性能的需求体现在下述几个方面:
首先是良好的人机交互性,也就是要求系统具有友好的界面;其次是安全性。
在实际使用过程中,前者较为容易满足,比如设置高系统配置等,因此需要在保证前者满足要求的条件下,保证系统的安全性。
1、安全性
对于本文的研究对象而言,其主要作用是实现对于相关医疗信息的管理,显然,安全性应当是首先考虑的问题。
安全性通常体现在下述几个方面:
第一,系统的安全性必须得到保障,这是基础;第二,数据的安全性,数据信息不能泄露。
前者又体现在两个方面:
一是系统操作的稳定性,二是开发平台的稳定性;后者也主要体现在两个方面:
一是服务器设置,二是权限设置,系统必须提供给用户一定的权限,使其能够根据自身需要选择如何设置权限,从而实现对于信息的保护。
2、可靠性
可靠性包括两个方面的内容:
一是软件运行,二是数据处理。
基于软件工程设计的思想,应当尽可能的考虑到系统运行会出现的不利情况,并给出应对措施。
2.4数据流图
数据流,顾名思义指的是数据流动情况,其中各术语的含义分述如下:
加工代表的含义是对数据进行加工处理,应当具体指出加工方式;数据存贮代表的含义是对数据进行保存,从其中调用数据指读数据,将数据流指向其表示写数据,如果是双向箭头,则代表修改数据;数据源点或终点的含义比较好理解,就是开始发出的点和终止点,数据流图内容的显示只是一种符号,无需通过软件设计。
图2-4登陆数据流程
对系统数据流程图处理过程细化,表现的是访问系统时,用户登录之后查询要信息以及健康咨询,如图2-5所示:
图2-5手机客户端数据流图
服务器端实现对药品、健康咨询的管理。
图2-6服务器端数据流图
第三章系统的设计
3.1概述
对于系统功能设计而言,其实现基础为以下两点:
一点是总体任务,另一点则是设计思想,本文的研究对象从功能上来说是为了实现医疗助手系统在手机上的在线和离线功能,并根据用户的需求不断增强系统的功能,提高文件管理的实用性,完成一个让用户感到方便的医疗助手系统。
3.2设计原则
系统开发须符合下述原则:
1.工作效率高,此原则的满足主要体现在下述三个指标上:
(1)处理能力,单位时间内系统的处理效率;
(2)运行时间,以软件初始化为起始点,以完成任务为终点,二者之间的时间长短即为运行时间;
(3)响应时间,以用户发出请求指令为起始点,以软件接收并给出响应为终点,二者之间的时间长短即为响应时间。
2.拥有较高的可靠性
可靠性的实现一般是基于设计方面来考虑,同时还体现在纠错容错能力方面、故障恢复能力方面等。
因此需要在设计阶段对上述几个方面进行综合考虑,可以给与一定的权限限制,避免出现越权现象,进而造成系统无法正常运行。
3.拥有较好的交互性和操作性
在系统设计的过程当中,应当时刻考虑到用户的实际需求,尽可能地保证设计出的界面具有下述特性:
友好性、交互性、简单性。
设计应用程序时,图形界面应当尽量保证显示的清晰度,同时还要兼具美观性,对于数据输入输出而言,应当充分考虑其可操作性,从而方面用户的使用。
如果能够支持手写输入自然是最佳选择,从而能够大大降低输入工作量。
3.3系统功能结构图
对于医疗助手系统而言,基于整体性的角度并根据目标的不同可以将其分成诸多子系统,各自之间的功能性相互独立,但又可协调配合完成预定任务。
根据这个原则可以把系统逐层往下分,直到不能分解为止。
最上层的系统最为多样也最为复杂、最为具体,最下层则具有比较单一的功能性。
对各子系统进行设计时,需要考虑独立性要求,并在保证功能不受影响的前提下减少联系。
图3-1功能模块图
3.4功能模块详细设计
为了更好的展示此系统的功能,我们可以从活动图和时序图中体现出系统中主要功能的活动,以及对象与对象之间动态传递数据的过程,这样可以方便更好的了解本系统。
3.4.1用户注册活动模块设计
使用本系统必须注册账号方可访问相关页面。
注册信息包括两个方面:
一是用户名,二是登录密码。
用户注册时,可以通过点击一个功能按钮即可查看用户名是否可用,即检测用户名按钮,如果发现输入的用户名已经被注册过,那么需重新选择一个用户名。
在此同时,有一个检测用户名的功能按钮,如果已存在此用户则需要重新注册。
相关信息均填写成功后即即提示注册成功,并在后台保存数据信息。
用户注册活动图如下图3-2所示:
图3-2用户注册功能活动图
时序图见图3-3,从图中可以看出,用户进入登录界面后,当其尚未注册账号时,系统会提示其提供用户名和密码,并将其保存至数据库,经过分析查找判读是否为已经注册用户,如果账号可用,即可成功访问系统,并将注册信息反馈至系统后台数据库,完成信息的更新,并显示权限界面,最后则返回系统主界面。
图3-3用户注册时序图
3.4.2用户登录活动模块设计
用户成功注册并登陆后即可进入系统主界面,详细信息及流程见图3-4。
图3-4用户登录活动图
3.5数据库设计
3.5.1ER图设计
对于系统而言,其逻辑模型主要包括两个组成部分,一是前面已经介绍过的数据流图,另一个则是E-R图。
概念设计模型也称作实体E-R图,常被用于表示实体间的对应关系。
E-R图可对现实世界进行准确的模拟,是沟通现实世界和控制系统的桥梁,其能够基于图表信息准确刻画现实世界的数据处理诉求,此外,还可以一种较为直观的方式去收集并表达客观的事物以便于我们在研究过程中理解与验证。
(1)模型中的实体并不是一个单独的个体又或是一行数据,反而像是一个实体集。
表示方式为矩形框,其中的内容则表示实体名称。
各实体间的相互联系则基于菱形实现,接着借助于无向边把菱形和对应实体连接起来,并在其旁边注释出联系的具体类型。
(2)属性表示通过椭圆框完成,代表的含义是实体的性质它是实体的。
(3)对于各子系统而言,其中主键相同的字段相互之间具有关联性。
(4)完整性控制通过程序实现,此外,一致性也通过此方式实现。
本系统的ER图如下:
图3-5系统ER图
3.5.2数据库表设计
为了存储各种数据,在数据库里建立了以下几张表:
表3-1药品表
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
id
int
11
是
是
否
标记药品
2
goods
varchar
100
是
商品
3
pirce
varchar
100
是
价格
4
user
varchar
100
是
使用者
5
uid
varchar
100
是
使用者ID
6
shop
varchar
100
是
商店
7
bill
varchar
2000
是
账单
8
openid
varchar
255
是
9
ndate
varchar
255
是
10
total
varchar
255
是
11
way
varchar
50
是
12
gnames
varchar
500
是
13
sid
varchar
10
是
14
tel
varchar
50
是
15
address
varchar
50
是
16
note
varchar
200
是
17
state
int
11
是
18
fenqi
int
11
是
19
statecn
varchar
200
是
20
chepai
varchar
200
是
21
fdjh
varchar
200
是
22
fuwu
varchar
2000
是
23
idcard
varchar
200
是
24
chejiahao
varchar
200
是
表3-2咨询表
序号
列名
数据类型
长度
标识
主键
允许空
说明
1
id
int
11
是
是
否
标记
2
gname
varchar
100
是
商品名
3
price
varchar
10
是
商品价格
4
jifen
varchar
10
是
商品数量
5
note
varchar
500
是
简介
6