基于iOS的就医助手开发毕业设计论文Word格式.docx
《基于iOS的就医助手开发毕业设计论文Word格式.docx》由会员分享,可在线阅读,更多相关《基于iOS的就医助手开发毕业设计论文Word格式.docx(46页珍藏版)》请在冰豆网上搜索。
关键字:
就医;
iOS;
分享功能;
评论功能。
Abstract
Patientswithcurrentmedicalmodeis:
accordingtothesurroundingacquaintancesrecommendedoradvisedtochooseadoctorofthehospital,inthehospitalqueuetoregisterfirst,registeredtofinddoctortogotoadoctorondutythatday,thisisacommonprocess.Inthepursuitofefficiency,rapiddevelopmentofinformationtoday,therearesomeproblemsintraditionalmedicalmodel,suchaslininguptheregistrationfee,thesickonlythroughpresenterthiswaytogetinformation,notthroughotherchannelstogetotherinformationtodeterminetheoptimalsufferingsofhospitalsanddoctors;
Detailedondutytimeandunabletogetthedoctor.Unabletogetthepeopleontheevaluationofhospitaldoctors,thesearetheissuestoconsider.
Angletoanalyzerequirementsfromusers,theAPPcanrealizethefunctionforhospitaldoctorsinformationdetailsof,throughtoobtaindetailedinformationfromdoctorsatthehospital.BylettinguserscanthroughtheuseoftheAPPforahospitaldoctor'
sdetailedinformationandthroughintroducingpresenterisnolongertheonlywaytogetinformation;
Alsoimplementsthehospitaldoctorsinacertaincollegerankingfunction,diseasetreatmentsoastoprovidereferencefortheusertochoosesuitablefortheirownhospital;
Justtoachieveanearbyhospitaltofindfeaturesforunfamiliarenvironmenttheusertonavigatethelocationofthehospital;
Canrealizethesharingfeature,inordertolettheusertosharewithfriends;
Implementthecommentfunction,letuserscanexpresstheiropinionofthedoctor,canletahospitalandotheruserstounderstandthedoctor.
Thisapplicationtoviewtherealizationofthefunctionofhospitaldoctordetailedinformation,classificationismadefortheconditions,convenientforuserstofindandsaveusertime;
Oncollectionfunction,alsocansaveuser'
stime,neednottolookupagain,easytooperate;
Sharingfunction,canletusersandtheirfriendsshareinteraction;
Thecommentfunction,canletmoretransparencyofthehospitaldoctors,getmoreuserstrust.
TheAPPneedstobeimprovedisthathowtogainschedulinginformationfromdoctorsatthehospital,lettheuserdonotgoouttogetthedoctor'
sschedulingtime,canlettheusermorereasonablytoarrangetheirownplans.
Keywords:
Gotoadoctor;
iPhoneOperatingSystem;
Sharingfunction;
Thecommentfunction.
第一章绪论
1.1项目背景
目前的就诊模式都是患病者通过推荐者的推荐选择医院进行就诊,而推荐者也无法知道推荐医院的医生的排班时间,会影响到患者日程安排计划;
找到医院,就得先挂号,如果人多挂号,随着时间的推移会加重患者的病情;
还需要找到相关病症的医生,医生的能力和素质这些信息是很难去获取,而且每个人的性格都不同,影响患者对医生的评价。
这种就诊模式不利于医院的发展,首先,医院医生的详细信息不公开给患者,不给患者提供参考,患者去到医院会很盲目,不清楚哪间医院哪个医生能力好;
其次医院对医生的排班时间只有医生知道,患者没有获取到医生的排班时间,会影响患者选择医生就医的计划安排;
最后,用户很难去获取得到医生的素质和能力的信息,这将影响到用户选择医生的关键因素。
1.2项目开发意义
开发该项目的意义主要在于方便用户,让患者获得有意义的信息,帮助患者去选择。
该项目有查看医院医生的详细信息、查找附近医院、求助信息发布、分享功能、收藏等功能。
查看医院医生的详细信息功能,通过选择查看某个病症,获取该病症的医院医生的详细信息,让患者有更好的选择去找医生就诊;
附近医院查找功能,选中附近某个医院,可以定位医院的位置,方便患者找到目的医院;
求助信息发布功能,通过编辑求助信息并发出求助,获取他人的解决方案,更好地帮助求助者去解决问题;
分享功能,分享给微博好友,让用户和好友进行互动,增进友谊,提高应用的知名度;
收藏功能,只需点击收藏列表的医院就可以显示医院的位置,患者操作简便。
多从用户的角度去思考问题,提高应用的用户体验能力,操作简单,使用方便,让用户获取有价值的信息,这是开发这项目的意义所在。
1.3建设性原则
●安全性:
信息保密,不会泄露用户的信息;
●准确性:
信息实时更新,不耽误用户的正常使用,保证数据的准确;
●公平性:
医院医生的信息公开,让用户觉得公正,对医生医院已经用户都是公平的;
●易用性:
不进行冗余的步骤,在用户的角度去思考问题操作简单;
●逻辑性:
页面之间的跳转,要清晰,逻辑性强;
1.4论文大纲
本论文主要分成六个章节,其主要内容如下:
第一章:
绪论
对项目的开发进行项目背景分析,并对该项目的意义和目的进行简述和分析,通过介绍了解到项目的开发的价值,再根据实际情况阐述该项目的建设性的原则,多从用户和医院医生角度去考虑问题。
第二章:
平台的架构及相关技术的解释,主要介绍该项目所用到的技术,专用名词的解释,介绍iOS的平台架构,对相关技术有更深入地了解。
第三章:
项目的处理和分析,具体分析项目的功能需求和非功能需求,确保正常的需求之外还要保证项目功能的可行性,难点处理分析,分析问题出在哪,通过什么方式去解决的。
第四章:
项目功能详解,通过总体设计来大致形成完整的结构,再结合功能进行完善。
通过介绍功能来体现该项目的实用价值,功能要适用于用户。
第五章:
疑难解决,在开发项目中,解决疑难不但可以提高开发者的开发能力,还能增强自己的自信心。
第六章:
项目测试,在各个模块中测试,对数据库进行测试等,以及页面之间跳转的逻辑关系,确认项目的功能模块无误后对项目总结。
第二章平台的框架及相关技术解析
2.1iOS平台架构分析
iOS的系统架构包括四个层次:
核心操作系统层(CoreOSlayer)、核心服务层(CoreServiceslayer)、媒体层(Medialayer)和可触摸层(CocoaTouchlayer)。
CoreOS:
这一层提供了整个iPhoneOS的一些基础功能,例如:
硬件驱动,内存管理,程序管理,文件系统,网络,以及标准输入输出,这些功能都通过C语言的API提供,最具有UNIX色彩的一层,核心OS层的驱动提供了硬件和系统框架之间的接口,考虑到安全问题,只有一部分的系统框架类能访问内核和驱动,还提供了很多访问低层功能的接口集。
该层直接和硬件设备进行交互,开发者不需要和这层交互,节省了不少工作。
CoreService:
该层在CoreOS基础上提供了更多的功能,内含Foundation,可以对字符串进行高效率地处理,排列,组合,日历,时间等,Foundation属于Object-C的API,coreFundation属于C的API,除此之外,它还提供了Security,CoreLocation,SQLite和AddressBook。
处理认证,密码管理和按安全性管理的是Security;
用来处理GPS定位的是CoreLocation;
SQLite是属于轻量级的数据库;
处理电话本的就用AddressBook。
该层是核心服务层,通过iOS访问各种服务。
Media:
该层提供处理图片,音乐,视频等多媒体功能;
有图像技术,音频技术,视频技术来支持强大的动画效果。
图像技术包括quartz(核心图像框架)、核心动画、OpenGLES框架;
音频技术包括音频回放,质量高的录音和使用设备的震动功能。
视频技术支持全屏和视频回放功能。
通过它可以在应用程序中使用各种各样的媒体文件,音频和视频的录制和制作的动画效果。
CocoaTouch:
它位于最上层,也属于Objective的API,应用程序界面上的组件,都是靠它提供的,不但如此,屏幕上的多点触摸事件,文字的输出,图片和网页的显示,相机或文件的存取,都是由它负责处理的,它核心的部分是UIKit.Framework。
主要有三个框架:
UIKit框架,基础框架,电话本UI框架。
该层是可触摸层,不但提供给开发者各种有用的框架,还负责iOS设备上的触摸交互操作。
底层是CoreOS,这是整个操作系统的基础,它负责内存管理、文件系统、网络等OS相关的任务,直接与硬件交互;
CoreServices层提供了对iPhoneOS服务的基本访问功能。
它所提供的抽象层位于CoreOS层所提供的服务之上;
Media层提供了可在iPhone和iPad应用程序中使用的多媒体服务,CocoaTouch层提供了一个抽象层,提供了可用于iPhone和iPad编程的各种库。
[1]
2.1.1iOS简介
iOS(iPhoneOperatingSystem)是苹果公司开发的移动操作系统,苹果公司于2007年1月9日公布这个系统,专为iPhone使用,还用到iPodtouch、iPad以及AppleTV等产品上。
iOS于MacOSX操作系统一样,属于类Unix的商业操作系统。
原来这个系统名是iPhoneOS的,但是因为iPad,iPhone,iPodtouch都是用iPhoneOS的,所以宣布改名为iOS。
iOS内置应用包括:
Siri,Facetime,Safari,GameCenter,控制中心,通知中心,多任务处理,相机,Airdrop,APPStore,iCloud等。
其中,Xcode是苹果提供的用来创建iOS和OSX应用程序的开发环境。
[2]
iOS能提供内置的安全性,iOS专门设计了低层次的硬件和固件功能,防止恶意软件和病毒,同时还设计有高端的OS功能,确保在访问个人信息和数据时确保安全性。
iOS设备还设置了多语言,世界各地通用,随意转换语言,语音控制功能可读懂20多种语音。
iOS还用于商务,具有企业专属功能和高度的安全性。
IntheIosSettingsapplication,theuserhastheabilitytosetthedevice’spreferredlanguageandregionformat.[3]
2.1.2SQLite简介
SQLite是一款较轻型的数据库,关联式数据库管理系统是遵守ACID的,它是嵌入式的,有很多嵌入式产品使用它了,它低占用资源,在嵌入式产品中,只需几百K的内存大小,支持Windows、Linux、Unix等系统,还能识别很多编程语言,和MySQL、PostgreSQL这两款开源的数据库管理系统相比来说,sqlite的处理速度更快,sqlite第一个版本与2000年5月诞生,sqlite迎来了新版本sqlite3.0,已发布。
SQLite引擎不是个程序与之通信的独立进程,而是链接到程序中成为它的一个主要部分,因此通信协议是在编程语言内的直接API调用。
这起到了很积极的作用,特别是在消耗总量、延迟时间和整体简单性上。
数据库是存储于一个单一的文件中在宿主主机上存储的,它是通过开始一个事物的时候锁定完整数据文件而完成的。
SQLite特性:
●ACID事务;
●零配置–无需安装和管理配置;
●存储在单一的磁盘文件中的一个完整的数据库;
●数据库文件可以在不同字节顺序的机器间自由的共享;
●支持数据库大小至2TB;
●足够小,大致3万行C代码,250K;
●比一些流行的数据库在大部分普通数据库操作要快;
●简单,轻松的API;
●包含TCL绑定,同时通过Wrapper支持其他语言的绑定;
●良好注释的源代码,并且有着90%以上的测试覆盖率;
●独立:
没有额外依赖;
●Source完全的Open,你可以用于任何用途,包括出售它;
●支持多种开发语言,C,PHP,Perl,Java,C#,Python,Ruby;
SQLite功能:
SQLite虽小,但是不差于其他开源的数据库,还支持事务处理功能,SQLite支持跨平台,操作简单,容易上手,可以用很多语言直接去创建数据库,如果开发是个很小的应用或者是个嵌入式开发,SQLite就非常适合用来开发作为开发的数据库,因为数据库结构简单,系统源代码也不多,非常适合想研究数据库系统开发的专业人员。
SQLite类型:
里面有一个类型很特殊,就是无类型,SQLite是无类型的,这就说明了你可以保持任何类型的数据到你所想要保存的任何表任何列里面去,无论声明的数据类型是什么,在SQLite都是对字段不指定类型是完全有效的。
SQLite语言绑定:
在C/C++程序中可以使用这个数据库,并获得对Tcl和其他脚本的绑定。
在CPAN的DBD:
:
SQLite中有个模块是Perl/DBD模块,它不是到SQLite接口,而是包括整个SQLite的数据库引擎在其中并不需要任何额外的软件,还有一个Python模块是PySQLite,Rails2.0.3将缺省的数据库配置改为SQLite3。
SQLite客户端管理:
SQLite也可以当桌面数据库使用,SQLiteMan,使用QT开发的一个SQLite客户端,支持多语言、跨平台。
SQLiteManSQLiteManager,以火狐浏览器的扩展形式提供的SQLite客户端。
2.1.3Json数据解析
JSON是一种轻量级的数据格式,一般用于数据交互,从服务器返回给客户端的一些数据,一般都是用JSON或者XML格式的,除了文件下载;
JSON的格式特别像OC中的字典和数组,标准的JSON格式的key是用双引号的,如果想在JSON里获取数据,就先得对JSON解析数据,把JSON转换OC数据类型。
得到格式正确的POST正文字符串!
现在只需要把数据转换为UTF-8,然后将其设置为请求的正文,准备好了请求后,需要走的是用特定的请求来创建NSURLConnection。
[4]
JSON解析方法有用第三方框架,例如JSONKit、SBJson、TouchJSON,还有苹果自带的NSJSONSerialization。
JSON是一种数据交换格式,本应用中采用了第三方的JSON解析类库。
[5]
客户端向服务器发送请求解析,服务器响应客户端,对数据进行NSDataJSON数据解析成OC对象字典或者数组等。
流程:
首先要获取请求路径,创建请求对象,设置请求体,发送请求,获得数据,解析成功。
●TouchJSON解析:
需要导入CJSONDeserializer.h,获取API接口,将解析得到的内容放到字典中,编码格式最好设为UTF8,防止取值的时候发生乱码,因为返回JSON有两层,把第二层的内容放入到字典里去;
●SBJson解析:
需要到入SBJson/SBJson.h包;
●NSJSONSerialization解析:
不需要导入任何包,但是低于iOS5的系统不支持,加载一个NSURL对象,将请求的url数据放到NSData对象中,iOS5只带解析类NSJSONSerialization从response中解析出数据放入到字典中;
●JSONKit解析:
需要到入JSONKit/JSONKit.h包,假如json是单一的,即value都是字符串或者数字,可以使用objectFromJSONString,但是如果json是多层次的,例如value里面除了array之外还有object,如果要使用objectFromJSONString,程序也许会报错的,因为在网络或者得到php/json_encode生成的json时会报错,但用NSString定义的json字符串就能解析成功,不过最好还是用objectFromJSONStingWithParseOptions。
2.2运行环境
在很多方面,iOS和Macosx特性和行为是一样的,但是有些情况却不一样。
虚拟内存系统:
程序内存的管理,iOS和MacOSX有一样的特性和行为方式,对于iOS,每个程序都拥有属于自己的虚拟地址空间,但是与macOSX的区别是,它用虚拟内存收到了物理内存数量的控制,是因为iOS不能再内存满的情况之后把可换出的内存分页写入磁盘,为了代替它,当应用程序需要用更大的内存的时候,虚拟内存系统就会自动地释放这些可换出内存,同时会删除内存中不在使用的部分,当然包括只读内容,代码页之类的,页面能够经常被重新加载到内存中,当再一次需要他们的时候。
如果内存继续受到限制,系统可能会发送通知给正在运行的应用,并要求它释放额外的内存。
应用程序响应该通知并且释放内存。
通过创建自动释放池可以在自己的代码中使用这种自动的对象清理机制,通过自动释放池,可以以一种有组织且可靠的方式控制内存中对象的释放。
[6]
随着产品的升级换代,iOS设备的内存空间会不断增加,但是由于iOS操作系不具备内存的垃圾回收机制,所以我们需要在编写应用程序的时候注意释放内存,不能随意地浪费这些宝贵的内存空间。
[7]
内存管理是程序设计常见的资源的一部分,每个计算机系统可供程序使用的资源都是有限的,包括内存,打开文件、数量及网络连接等等。
[8]
多任务支持:
在iOS4以后的版本,在后台执行任务可以实现,如果用户退出一个应用,该任务的进程并不终止,转入后台,在转入后台后很短的时间内,基本应用都被系统挂起,不会在此运行,当然也不会需要附加的电量,除此之外,还需要继续运行的应用可以向系统申请执行时间用于运行;
无论处于挂起状态还是继续运行状态的后台应用,它们都处在内存中,所以它们重新启动应用花费更少的时间,但是,在内存使用很紧张的情况下,系统完全可以释放后台应用内存,给别的应用使用,所以后台应用在转入后台时候应保存当前的状态,方便下次重启应用的时候恢复状态。
2.2.1软件环境
Windows7上利用VMware10.0版本以上搭建iPhone开发环境。
操作系统:
MacOSX版本10.5.2。
开发工具:
Sqlite,Xcode。
模拟器:
iPhone模拟器。
浏览器:
Safari。
2.2.2硬件环境
CPU:
IntelCorei7-2670Q。
内存:
大于1G以上。
硬盘大小:
70G。
2.3本章小结
本章主要介绍与该项目有关的专用名词,进一步了解它们的作用,以及一些开发项目的基础配置和基本知识,更快地去了解开发平台的性质。
通过对项目的框架的理论和前台和后台之间的联系以及所用到的相关技术讲解,帮助我们更轻松地去理解本项目的价值。
第三章应用的需求分析
3.1项目的需求分析
一个项目是不是有价值,取决于需求是不是明确,是否能达到用户的需求,所以项目的需求分析很重要,需求决定功能,然而不能实现的功能会给开发者带来很多压力。
进行调查研究得到需求,进行分析对比得出的结论,定制一系列的功能。
除了基本的功能要实现外,还要从客户的角度去看待该应用存在的问题,要从可观性和可操作性来进行设计,分析清楚用户的需求,在这些基础上进一步提出概要设计说明书和完成后续设计与开发工作。
3.1.1用户查看医院信息