




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ios的就医助手开发 摘要目前的就诊模式是:患者根据周围熟人的推荐或者建议选择就诊的医院,在医院里先排队挂号,挂号找到当天值班的医生进行就医,这是普遍的就诊流程。在追求效率、信息飞速发展的今天,传统的就诊模式存在一些问题:例如在排队挂号费时,患病者只能通过推荐者这途径获取信息,无法通过其他渠道获取其他信息来确定最佳的就诊医院和就诊的医生;以及无法获取医生的详细值班时间;无法获取人民对医院医生的评价,这些都是需要考虑的问题。从用户角度去分析需求,本app实现了查看医院医生详细信息的功能,通过获取医院医生的详细信息。通过让用户能通过使用该app获取某医院医生的详细信息,通过推荐者介绍不再是唯一的途径获取信息;还实现了医院医生在某个专科病治疗中的排名功能,从而为用户提供参考区选择适合自己的医院就诊;实现附近医院查找功能,为刚到陌生环境的用户去导航医院的位置;实现分享功能,为了让用户能和朋友分享;实现评论功能,让用户能表达自己对医生的看法,能让医院和其他的用户了解到医生的情况。本应用的查看医院医生详细信息功能的实现,将病症进行了分类,对用户查找方便,节省用户时间;在收藏功能上,也能达到节省用户的时间,无须再进行查找一遍,操作简便;分享功能,能让用户和其朋友分享互动;评论功能,更能让医院医生透明化,获得更多的用户信任。该app有待改进的地方是,如何去获取医院医生的排班信息,让用户做到不用出门都能得到医生的排班时间,让用户更能合理地去安排自己的计划。关键字:就医;ios;分享功能;评论功能。iabstractpatients with current medical mode is: according to the surrounding acquaintances recommended or advised to choose a doctor of the hospital, in the hospital queue to register first, registered to find doctor to go to a doctor on duty that day, this is a common process.in the pursuit of efficiency, rapid development of information today, there are some problems in traditional medical model, such as lining up the registration fee, the sick only through presenter this way to get information, not through other channels to get other information to determine the optimal sufferings of hospitals and doctors;detailed on duty time and unable to get the doctor.unable to get the people on the evaluation of hospital doctors, these are the issues to consider. angle to analyze requirements from users, the app can realize the function for hospital doctors information details of, through to obtain detailed information from doctors at the hospital.by letting users can through the use of the app for a hospital doctors detailed information and through introducing presenter is no longer the only way to get information;also implements the hospital doctors in a certain college ranking function, disease treatment so as to provide reference for the user to choose suitable for their own hospital;just to achieve a nearby hospital to find features for unfamiliar environment the user to navigate the location of the hospital;can realize the sharing feature, in order to let the user to share with friends;implement the comment function, let users can express their opinion of the doctor, can let a hospital and other users to understand the doctor. this application to view the realization of the function of hospital doctor detailed information, classification is made for the conditions, convenient for users to find and save user time;on collection function, also can save users time, need not to look up again, easy to operate;sharing function, can let users and their friends share interaction;the comment function, can let more transparency of the hospital doctors, get more users trust. the app needs to be improved is that how to gain scheduling information from doctors at the hospital, let the user do not go out to get the doctors scheduling time, can let the user more reasonably to arrange their own plans.key words:go to a doctor; iphone operating system;sharing function;the comment function.目录摘要iabstractii第一章 绪论11.1项目背景11.2项目开发意义11.3 建设性原则11.4论文大纲2第二章 平台的框架及相关技术解析32.1 ios平台架构分析32.1.1 ios简介42.1.2 sqlite简介42.1.3 json数据解析52.2运行环境62.2.1 软件环境72.2.2 硬件环境72.3本章小结7第三章 应用的需求分析83.1项目的需求分析83.1.1用户查看医院信息83.1.2定位查看医院的位置83.1.3发布求助信息93.1.4 用户登录93.1.5用户注册93.1.6 用户评论103.1.7 收藏医院103.1.8查找附近医院103.1.9 分享到微博113.2非功能需求113.2.1 ui界面113.2.2视图跳转逻辑判断133.2.3性能优化133.2.4安全设计133.2.4数据和信息的准确性要求133.3本章小结13第四章 应用数据库设计与具体实现154.1总体设计154.1.1应用架构和主要架构154.1.2数据库设计164.2功能结构174.2.1查看医院医生的功能174.2.2收藏功能204.2.3查找附近医院功能224.2.4分享功能244.2.5用户注册登录该应用264.2.6求助信息发布功能284.2.7验证并评论功能2943本章小结30第五章 疑难解决315.1疑难点一315.1.1问题315.1.2解决方案315.2疑难点二315.2.1问题315.2.2解决方案315.3本章小结32第六章 应用测试336.1测试的目的336.2项目测试范围336.3测试的环境要求336.4测试结果346.5本章小结35总结36参考文献37附录38致谢44i第一章 绪论第一章 绪论1.1项目背景目前的就诊模式都是患病者通过推荐者的推荐选择医院进行就诊,而推荐者也无法知道推荐医院的医生的排班时间,会影响到患者日程安排计划;找到医院,就得先挂号,如果人多挂号,随着时间的推移会加重患者的病情;还需要找到相关病症的医生,医生的能力和素质这些信息是很难去获取,而且每个人的性格都不同,影响患者对医生的评价。这种就诊模式不利于医院的发展,首先,医院医生的详细信息不公开给患者,不给患者提供参考,患者去到医院会很盲目,不清楚哪间医院哪个医生能力好;其次医院对医生的排班时间只有医生知道,患者没有获取到医生的排班时间,会影响患者选择医生就医的计划安排;最后,用户很难去获取得到医生的素质和能力的信息,这将影响到用户选择医生的关键因素。1.2项目开发意义开发该项目的意义主要在于方便用户,让患者获得有意义的信息,帮助患者去选择。该项目有查看医院医生的详细信息、查找附近医院、求助信息发布、分享功能、收藏等功能。查看医院医生的详细信息功能,通过选择查看某个病症,获取该病症的医院医生的详细信息,让患者有更好的选择去找医生就诊;附近医院查找功能,选中附近某个医院,可以定位医院的位置,方便患者找到目的医院;求助信息发布功能,通过编辑求助信息并发出求助,获取他人的解决方案,更好地帮助求助者去解决问题;分享功能,分享给微博好友,让用户和好友进行互动,增进友谊,提高应用的知名度;收藏功能,只需点击收藏列表的医院就可以显示医院的位置,患者操作简便。多从用户的角度去思考问题,提高应用的用户体验能力,操作简单,使用方便,让用户获取有价值的信息,这是开发这项目的意义所在。1.3 建设性原则l 安全性: 信息保密,不会泄露用户的信息;l 准确性: 信息实时更新,不耽误用户的正常使用,保证数据的准确;l 公平性: 医院医生的信息公开,让用户觉得公正,对医生医院已经用户都是公平的;l 易用性: 不进行冗余的步骤,在用户的角度去思考问题 操作简单;l 逻辑性: 页面之间的跳转,要清晰,逻辑性强;1.4论文大纲本论文主要分成六个章节,其主要内容如下:第一章:绪论对项目的开发进行项目背景分析,并对该项目的意义和目的进行简述和分析,通过介绍了解到项目的开发的价值,再根据实际情况阐述该项目的建设性的原则,多从用户和医院医生角度去考虑问题。第二章:平台的架构及相关技术的解释,主要介绍该项目所用到的技术,专用名词的解释,介绍ios的平台架构,对相关技术有更深入地了解。第三章:项目的处理和分析,具体分析项目的功能需求和非功能需求,确保正常的需求之外还要保证项目功能的可行性,难点处理分析,分析问题出在哪,通过什么方式去解决的。第四章:项目功能详解,通过总体设计来大致形成完整的结构,再结合功能进行完善。通过介绍功能来体现该项目的实用价值,功能要适用于用户。第五章:疑难解决,在开发项目中,解决疑难不但可以提高开发者的开发能力,还能增强自己的自信心。第六章:项目测试,在各个模块中测试,对数据库进行测试等,以及页面之间跳转的逻辑关系,确认项目的功能模块无误后对项目总结。43第二章 平台的框架及相关技术解析第二章 平台的框架及相关技术解析2.1 ios平台架构分析ios的系统架构包括四个层次:核心操作系统层(core os layer)、核心服务层(core services layer)、媒体层(media layer)和可触摸层(cocoa touch layer)。core os :这一层提供了整个iphone os的一些基础功能,例如:硬件驱动,内存管理,程序管理,文件系统,网络,以及标准输入输出,这些功能都通过c语言的api提供,最具有unix色彩的一层,核心os层的驱动提供了硬件和系统框架之间的接口,考虑到安全问题,只有一部分的系统框架类能访问内核和驱动,还提供了很多访问低层功能的接口集。该层直接和硬件设备进行交互,开发者不需要和这层交互,节省了不少工作。core service:该层在core os 基础上提供了更多的功能,内含foundation,可以对字符串进行高效率地处理,排列,组合,日历,时间等,foundation属于object-c的api,core fundation属于c的api,除此之外,它还提供了security,core location,sqlite和address book。处理认证,密码管理和按安全性管理的是security;用来处理gps定位的是core location;sqlite是属于轻量级的数据库;处理电话本的就用addressbook。该层是核心服务层,通过ios访问各种服务。media:该层提供处理图片,音乐,视频等多媒体功能;有图像技术,音频技术,视频技术来支持强大的动画效果。图像技术包括quartz(核心图像框架)、核心动画、opengl es框架;音频技术包括音频回放,质量高的录音和使用设备的震动功能。视频技术支持全屏和视频回放功能。通过它可以在应用程序中使用各种各样的媒体文件,音频和视频的录制和制作的动画效果。cocoa touch:它位于最上层,也属于objective的api,应用程序界面上的组件,都是靠它提供的,不但如此,屏幕上的多点触摸事件,文字的输出,图片和网页的显示,相机或文件的存取,都是由它负责处理的,它核心的部分是uikit.framework。主要有三个框架:uikit框架,基础框架,电话本ui框架。该层是可触摸层,不但提供给开发者各种有用的框架,还负责ios设备上的触摸交互操作。底层是core os,这是整个操作系统的基础,它负责内存管理、文件系统、网络等os相关的任务,直接与硬件交互;core services层提供了对iphone os服务的基本访问功能。它所提供的抽象层位于core os层所提供的服务之上;media层提供了可在iphone和ipad应用程序中使用的多媒体服务,cocoa touch层提供了一个抽象层,提供了可用于iphone和ipad编程的各种库。12.1.1 ios简介ios(iphone operating system)是苹果公司开发的移动操作系统,苹果公司于2007年1月9日公布这个系统,专为iphone使用,还用到ipod touch、ipad以及apple tv 等产品上。ios于mac os x操作系统一样,属于类unix的商业操作系统。原来这个系统名是iphone os的,但是因为ipad,iphone,ipod touch都是用iphone os的,所以宣布改名为ios。ios内置应用包括:siri,facetime,safari,game center,控制中心,通知中心,多任务处理,相机,airdrop,app store ,icloud等。其中,xcode是苹果提供的用来创建ios和os x应用程序的开发环境。2ios能提供内置的安全性 ,ios专门设计了低层次的硬件和固件功能,防止恶意软件和病毒,同时还设计有高端的os功能,确保在访问个人信息和数据时确保安全性。ios设备还设置了多语言,世界各地通用,随意转换语言,语音控制功能可读懂20多种语音。ios还用于商务,具有企业专属功能和高度的安全性。in the ios settings application,the user has the ability to set the devices preferred language and region format.32.1.2 sqlite简介sqlite是一款较轻型的数据库,关联式数据库管理系统是遵守acid的,它是嵌入式的,有很多嵌入式产品使用它了,它低占用资源,在嵌入式产品中,只需几百k的内存大小,支持windows、linux、unix等系统,还能识别很多编程语言,和mysql、postgresql这两款开源的数据库管理系统相比来说,sqlite的处理速度更快,sqlite第一个版本与2000年5月诞生,sqlite迎来了新版本sqlite 3.0,已发布。sqlite引擎不是个程序与之通信的独立进程,而是链接到程序中成为它的一个主要部分,因此通信协议是在编程语言内的直接api调用。这起到了很积极的作用,特别是在消耗总量、延迟时间和整体简单性上。数据库是存储于一个单一的文件中在宿主主机上存储的,它是通过开始一个事物的时候锁定完整数据文件而完成的。sqlite特性:l acid事务;l 零配置 无需安装和管理配置;l 存储在单一的磁盘文件中的一个完整的数据库;l 数据库文件可以在不同字节顺序的机器间自由的共享;l 支持数据库大小至2tb;l 足够小,大致3万行c代码,250k;l 比一些流行的数据库在大部分普通数据库操作要快;l 简单,轻松的api;l 包含tcl绑定,同时通过wrapper支持其他语言的绑定;l 良好注释的源代码,并且有着90%以上的测试覆盖率;l 独立:没有额外依赖;l source完全的open,你可以用于任何用途,包括出售它;l 支持多种开发语言,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将缺省的数据库配置改为sqlite 3。sqlite客户端管理:sqlite也可以当桌面数据库使用,sqliteman,使用qt开发的一个sqlite客户端,支持多语言、跨平台。sqliteman sqlite manager,以火狐浏览器的扩展形式提供的sqlite客户端。2.1.3 json数据解析json是一种轻量级的数据格式,一般用于数据交互,从服务器返回给客户端的一些数据,一般都是用json或者xml格式的,除了文件下载;json的格式特别像oc中的字典和数组,标准的json格式的key是用双引号的,如果想在json里获取数据,就先得对json解析数据,把json转换oc数据类型。得到格式正确的post正文字符串!现在只需要把数据转换为utf-8,然后将其设置为请求的正文,准备好了请求后,需要走的是用特定的请求来创建nsurlconnection。4json解析方法有用第三方框架,例如jsonkit、sbjson、touchjson,还有苹果自带的nsjsonserialization。json是一种数据交换格式,本应用中采用了第三方的json解析类库。5客户端向服务器发送请求解析,服务器响应客户端,对数据进行nsdata json数据解析成oc对象字典或者数组等。流程:首先要获取请求路径,创建请求对象,设置请求体,发送请求,获得数据,解析成功。l touchjson解析:需要导入cjsondeserializer.h,获取api接口,将解析得到的内容放到字典中,编码格式最好设为utf8,防止取值的时候发生乱码,因为返回json有两层,把第二层的内容放入到字典里去;l sbjson解析:需要到入sbjson/sbjson.h包;l nsjsonserialization解析:不需要导入任何包,但是低于ios5的系统不支持,加载一个nsurl对象,将请求的url数据放到nsdata对象中,ios5只带解析类nsjsonserialization从response中解析出数据放入到字典中;l jsonkit解析:需要到入jsonkit/jsonkit.h包,假如json是单一的,即value都是字符串或者数字,可以使用objectfromjsonstring,但是如果json是多层次的,例如value里面除了array之外还有object,如果要使用objectfromjsonstring,程序也许会报错的,因为在网络或者得到php/json_encode生成的json时会报错,但用nsstring定义的json字符串就能解析成功,不过最好还是用objectfromjsonstingwithparseoptions。2.2运行环境在很多方面,ios和mac os x特性和行为是一样的,但是有些情况却不一样。虚拟内存系统:程序内存的管理,ios和mac os x有一样的特性和行为方式,对于ios,每个程序都拥有属于自己的虚拟地址空间,但是与mac os x的区别是,它用虚拟内存收到了物理内存数量的控制,是因为ios不能再内存满的情况之后把可换出的内存分页写入磁盘,为了代替它,当应用程序需要用更大的内存的时候,虚拟内存系统就会自动地释放这些可换出内存,同时会删除内存中不在使用的部分,当然包括只读内容,代码页之类的,页面能够经常被重新加载到内存中,当再一次需要他们的时候。如果内存继续受到限制,系统可能会发送通知给正在运行的应用,并要求它释放额外的内存。应用程序响应该通知并且释放内存。通过创建自动释放池可以在自己的代码中使用这种自动的对象清理机制,通过自动释放池,可以以一种有组织且可靠的方式控制内存中对象的释放。6随着产品的升级换代,ios设备的内存空间会不断增加,但是由于ios操作系不具备内存的垃圾回收机制,所以我们需要在编写应用程序的时候注意释放内存,不能随意地浪费这些宝贵的内存空间。7内存管理是程序设计常见的资源的一部分,每个计算机系统可供程序使用的资源都是有限的,包括内存,打开文件、数量及网络连接等等。8多任务支持:在ios4以后的版本,在后台执行任务可以实现,如果用户退出一个应用,该任务的进程并不终止,转入后台,在转入后台后很短的时间内,基本应用都被系统挂起,不会在此运行,当然也不会需要附加的电量,除此之外,还需要继续运行的应用可以向系统申请执行时间用于运行;无论处于挂起状态还是继续运行状态的后台应用,它们都处在内存中,所以它们重新启动应用花费更少的时间,但是,在内存使用很紧张的情况下,系统完全可以释放后台应用内存,给别的应用使用,所以后台应用在转入后台时候应保存当前的状态,方便下次重启应用的时候恢复状态。2.2.1 软件环境windows 7 上 利用vmware 10.0版本以上搭建iphone开发环境。操作系统:mac os x 版本10.5.2。开发工具:sqlite,xcode。模拟器:iphone模拟器。浏览器:safari。2.2.2 硬件环境cpu:intel core i7-2670q。内存:大于1g以上。硬盘大小:70g。2.3本章小结本章主要介绍与该项目有关的专用名词,进一步了解它们的作用,以及一些开发项目的基础配置和基本知识,更快地去了解开发平台的性质。通过对项目的框架的理论和前台和后台之间的联系以及所用到的相关技术讲解,帮助我们更轻松地去理解本项目的价值。第三章 应用的需求分析第三章 应用的需求分析3.1项目的需求分析一个项目是不是有价值,取决于需求是不是明确,是否能达到用户的需求,所以项目的需求分析很重要,需求决定功能,然而不能实现的功能会给开发者带来很多压力。进行调查研究得到需求,进行分析对比得出的结论,定制一系列的功能。除了基本的功能要实现外,还要从客户的角度去看待该应用存在的问题,要从可观性和可操作性来进行设计,分析清楚用户的需求,在这些基础上进一步提出概要设计说明书和完成后续设计与开发工作。3.1.1用户查看医院信息查看医院信息如表3-1所示:表3-1查看医院信息功能表功能名称查看医院信息角色游客(不需要登录都可以)功能需求l 需要通过省份区来查看当地的医院信息l 需要通过选择要看的病症去查看医院信息l 需要查看当地医院排名情况功能描述l 触发搜索或者城市选择按钮会跳转到选择页面l 触发疾病按钮可以查看一些疾病的类型,并能跳转到所关联的医院l 触发名医名院按钮可以查看当地的名医名院排名显示结果l 城市选择之后显示当地名l 点击医院可以获取该医院的详细信息l 可以查看当地医院医生的排名补充说明必须先选择城市再执行其他功能3.1.2定位查看医院的位置查看医院位置如表3-2所示:表3-2查看医院位置功能表功能名称查看该医院地图角色游客(最低权限都可以)功能需求要帮助用户去确定该医院的具体位置,因为有可能是同名的医院的在同一个城市,定位对用户分清医院很重要的功能。功能描述进入医院介绍板块后可以获取到医院的具体地址,再点进地址会在地图中显示该医院在地图的位置显示结果指到地图的某个位置有光标上可以显示信息3.1.3发布求助信息发布求助信息如表3-3所示:表3-3发布信息功能表功能名称发布求助角色只有注册的用户才可以发布功能需求l 根据实际情况,遇到突发事件或者尴尬的事情可以通过该功能发布请求帮助l 自动获取当前发布系统时间l 如果在评论中表述不清可以通过电话联系功能描述已注册的用户可以进行对求助信息进行编辑,提交发布在发布求助板块上,点击后跳转到详细面板可以显示该情况的详细信息,该板块还可以查看评论。输入输入与用户的求助情况和联系方式,求助名默认是用户名显示结果发布成功后,显示求助者的姓名,属于什么病症,还有发布时间补充说明如果要用这个功能,先要登录该应用,还没有用户要先新建一个用户,再登录。要进行实名制,否者乱评论会成为求助者的负担3.1.4 用户登录用户登录如表3-4所示:表3-4用户登录功能表功能名称登录角色体验的用户功能需求l 为了让信息透明化,文明评论,就要得进行实名制,否者会乱评论,必须要登录,再执行别的操作l 因为发布求助要登录,同时评论也是要登录才行的,所以要先判断是否登录了该应用,并跳转回相应的板块功能描述l 如果是触发了评论控件,登录验证成功后跳回评论板块l 如果是触发了发布求助控件,登录验证后跳回发布求助板块l 如果登录失败,提示先注册,再登录输入l 输入用户名l 输入密码l 提交显示结果提交给应用判断是不是用户已注册,验证成功后跳到相应的板块,登录失败提示去注册新用户3.1.5用户注册用户注册如表3-5所示:表3-5用户注册功能表功能名称注册角色游客可以进行注册新用户 表3-5用户注册功能表(续)功能需求有些功能要有权限才能进行操作,所以游客想执行一些重要的功能,就要先去注册一个新用户。区分好游客和用户的权限才能保证应用的价值功能描述点击用户注册,填写用户的姓名和密码,确认密码后提交即可创建新的用户。默认设置新用户是个普通用户。输入输入用户名,密码,确认密码,提交显示结果注册成功跳转到相应的页面补充说明注册的时候可能用户名已存在要避免这种情况的出现,注册提交的时候要判断用户名是否已经被使用3.1.6 用户评论用户评论如表3-6所示:表3-6用户评论功能表功能名称评论角色就医者,用户功能需求l 就医者在所在的医院就医,就应该有权利去对医院进行评论l 用户可以对求助者进行评论给予帮助功能描述l 就医者可以在所就医的医院进行评论,但是要通过验证,才能评论l 用户可以对求助者发布的求助进行评论,但是要先登录确认身份输入输入验证码显示结果l 验证成功可以对医院进行评价l 验证失败提示没有权限对医院进行评价3.1.7 收藏医院收藏医院如表3-7所示:表3-7收藏医院功能表功能名称收藏角色游客权限以上的级别功能需求为了让用户找到适合自己的医院,但是又想看看别的医院进行对比,就可以把目前的医院先收藏起来,方便下次看,不用再重新找过医院功能描述触发收藏按钮,显示已收藏的医院,点击医院可以查看该医院地理位置显示结果可以通过之前的收藏进行查看医院基本信息3.1.8查找附近医院查找附近医院如表3-8所示:表3-8查找附近医院功能表功能名称查找附近的医院角色游客权限以上的级别功能需求有时候要确认附近有什么类型医院,并且方便用户第一时候找到适合的医院,节省时间功能描述触发附近医院按钮,可以获取当前所在的地方地理位置,在范围内显示附近的医院基本信息,方便用户去选择。 表3-8查找附近医院功能表(续)显示结果显示附近医院的信息,让用户查看并选择3.1.9 分享到微博分享微博如表3-9所示:表3-9分享微博功能表功能名称分享角色微博登陆功能需求可以让用户分享到微博去和朋友交流和分析,讨论该应用的价值,让更多地用户知道这款app的实用价值。功能描述触发分享按钮,登陆微博进行分享。显示结果分享成功3.2非功能需求非功能的需求也是必不可少的一方面,除了基本的功能实现能够满足用户的需求外,在别的细节上也得满足用户的需求才行,例如界面的美化能更吸引用户,同时还能给用户留下好的印象,非功能的需求很大程度上影响以后该软件在同性质应用的排行。3.2.1 ui界面ui的全称user interface,ui主要是针对于用户与应用之间的交互作用、页面逻辑跳转关系和界面让用户感到舒适而设计的。ui可以让应用更具有个性,提升应用品味,让用户操作更舒适、更简单、更充分的特点。ui的设计目标是各个组成部分的交互要达成一致,人机交互那部分的外观很大程度上会对用户产生影响,为了要体现出该应用的风格,尽量使用同样的风格,避免用户感受不出应用风格的焦点。还要设置一些提示引导让用户去执行某些功能,例如还没一些功能需要登录才能执行相应的操作,可以弹框提示用户登录账号。移动应用是对用户而开发的,用户能够对该功能透彻地理解,这很突出功能是否简单充分让用户理解,;功能达标也是用户期待的一个指标,功能达不到用户预期的效果,会失去用户对应用的兴趣,功能多余也会造成用户的使用疲劳;交互过程中,用户可以选择控制应用功能的执行流程,如果一些步骤必须要走系统固定的流程要提示用户。l 布局合理化:拥有清晰、简洁、熟悉、响应、一致、美观等特点才符合ui设计。在进行ui设计的时候要根据应用的布局合理化去设置,根据操作习惯,将不经常使用的功能设置隐藏,保持界面整洁,让用户焦点在于主要业务操作流程,减少不必要的麻烦,提高应用的易用性和可用性。l 菜单:保持简洁性和准确性,控制页面跳转在三层以内;菜单跳转到另外一个页面时,最好设置标题,让用户使用起来思路清晰。l 按钮:左边操作按钮,右边取消,根据情况可以去调整。l 功能:未实行的功能要隐藏,会影响用户的使用。l 排版:信息内容尽量不要贴边,保持十几像素的距离,控件于控件之间也要保持距离。l 滚动条:不应该在平面设置的时候设置横向滚动。l 信息提示框:信息框位置居中,提示用户还未达到或者缺少哪个因素必须先完成上一步操作才能往下执行任务。l 操作合理性:执行查询功能时候,按输入完成时候可以出发查询功能,更智能化;执行一些不可逆操作的时候,应该提醒用户是否继续,后果自负的提示信息。l 响应时间:系统响应时间应该调节好,时间太长,会给用户觉得这应用优化不好,会感到不安和沮丧,响应太快,会提高用户的点击速度,很容易发生错误。在ios开发过程中,用户界面是整个开发中很重要的一部分,优秀的用户界面是要基于用户思考和工作方式的人性化界面设计的准则。没吸引力、难操作、逻辑不强的用户界面,给用户带来各个方面负担,相反的,如果是个可观性强,具有亮点可以吸引用户眼球的用户界面,在用户使用中会增加用户对该应用的兴趣。l 整体美:美并不是衡量程序好不好看,而是看程序的外观和功能是否想匹配,如果该应该的界面风格设置成很奇怪,用户就会摸不着开发者的想法。在娱乐类型应用的界面上,用户对界面的需求要很漂亮,充满趣味,虽然他们可以不求在游戏中要按照严格的步骤去完成任务,但是他们更期待游戏中的外观和体验感能达到一致。l 一致性:把技能和知识点从一个应用转移到另一个应用去就可以体现出用户界面的一致性。并不是单纯地对代码进行拷贝,而是采取让用户用起来觉得舒适的一种标准去看待的方案。用户界面要达到一致性要做到采用系统的默认操作和外观,要使用能用性的方法和设备的功能匹配并结合;以及用户的输入框架要用同一种风格。l 直观操作:有些效果需要用手势去执行才能显示出来,这些直观的操作很吸引用户去了解这些手势的作用,用户可以通过使用多点触摸感受直接操控的感觉。旋转、重力感应、移动设备和手指的多点触控可以让用户更能直观操作。l 反馈:反馈是用户所期望的一个需求,因为用户总是希望能让程序能够迅速地去对他们的操作做出反应。例如,当用户选择了某个cell的时候会变高亮;如果是要缓冲,就使用进度条;即用简单的动画帮助用户去理解该操作的作用。3.2.2视图跳转逻辑判断视图与下个视图之间的推送是需要经过判断才推送,一些视图需要获取登录用户的信息,只有先登录才能去推送到下一个视图。如果是两个不同的视图都需要先登录,可以先跳转到同一个视图再根据之前的视图做个标志,成功登录后跳转回原来标志的视图。3.2.3性能优化 判断一个应用是不是好的应用,性能是其中一个评判的标准,只要不影响应用的正常运行,尽量让处理速度达到峰值,完成特定的功能所需的时间尽可能的短,使性能更优化。这是我们共同追求的目标。3.2.4安全设计ios架构由一种整体安全的设计思路构建而成的,它有现有的安全标准和设计原则,例如安全引导和访问控制,再加上一些创新,最后构成了一个用户友好的体系。ios安全设计主要包括:l 安全机制的强制性:如果安全作为一个必选项时候,安全需求不再屈从性能的需求。l 安全机制的协同性:不但可以保证关键模块的可惜程度,又降低安全机制对性能的影响。l 安全机制的友好性:自主安全和强制安全混合,安全可靠,只需一个口令,使用起来方便用户。ios的安全性主要是靠安全引导和访问控制两方面技术来保证的,在引导启动过程中,只读rom作为代码的信任根,对引导模块进行层层验证;ios内核运行后,要通过繁琐的访问控制策略,必须要执行运行时的安全机制,确保上一层的功能和应用是值得可信的。3.2.4数据和信息的准确性要求数据的准确性,决定了用户对该app的信任和肯定,数据的准确性不但能体现出开发者获取信息的能力,还能展现出开发者的处理数据的能力,数据必须要准确,而且这些数据要能体现出真正的价值才行。信息并不是越多越好,不求多只求有质量有价值的信息才值得用户去浏览,帮用户去筛选有用准确的信息,不仅帮助用户节省时间,还不断地对自己的应用进行更新,实时获取准确的信息和数据,走向可持续发展的趋势。3.3本章小结明确需求,让开发项目有方向;需求不明确,会导致后面的开发受阻,影响开发的工作效率。通过用户的需求,分析了查看医院信息、定位附近医院、发布求助、用户注册、登录、评论、分享以及收藏医院等功能的需求,通过需求设计了基本实现的步骤。除了功能需求外,非功能的需求也不能忽略,一个美好的界面不仅能给用户带来积极乐观的心态,还能让用户清晰地看清应用的风格。ui界面、视图跳转逻辑判断、性能优化以及数据和信息的准确性要求这些非功能需求都将影响用户体验。需要对各个模块进行验证,确保功能和应用是值得信任的,安全设计就起到很重要的作用。第四章 应用数据库设计与具体实现第四章 应用数据库设计与具体实现每种应用都应该有自己的个性特点,个性化特点离不开用户的实际应用。对于解决这些问题,适用用户习惯和让用户体验好才是当代主流,因此要有高效性和有针对性地去对功能进行分析和处理,符合用户的要求。4.1总体设计通过总体设计可以得到应用的基本架构,安全的设计将影响到应用的设计是否合理,权限是否清晰,身份确认等,这些是关系到应用权限隐私的安全。还有数据保存是否安全,获取数据是否准确,都是评价应用的因素。4.1.1应用架构和主要架构ios的应用架构图如图4-1所示:图4-1 ios应用架构图整体结构很简洁清晰,用树状图来展现ios的应用架构,对于viewcontroller是相互独立的,任意的viewcontroller的实现不能实力化另外一个viewcontroller,除非有独立功能的封装,viewcontroller还可以通过接口或者是datesource协议去加载数据,通过协议去触发数据存储和其他viewcontroller的进来。子view的数据交互只能靠父view来实现,每个子view之间不能进行交叉实例化或者相互调用,不能根据喜爱设位置前后。要做三件事情来完成导航控制器,即添加标题、添加盗汗链接和添加动作按钮。9a view controller is an instance of a subclass of uiviewcontroller.a view controller manages a view hierarchy.it is responsible for creating view objects that make up the hierarchy,for handling events associated with the view objects in its hierarchy,and for adding its hierarchy to the window.10主要架构:mvc(model view controller)mvc架构图如图4-2所示:图4-2 mvc架构图mvc模式是ios程序的主要架构,模型部分定义应用程序的数据引擎,负责维护数据的完整性;视图部分定义应用程序的用户界面,对显示在用户界面上的数据出处则没有清楚的认识;控制器部分则充当模型和视图的桥梁,帮助数据的显示和更新。11mvc的目标是实现3类尽可能截然不同的代码,编写任何对象都应该能很明显地划分为其中一类,并且其功能大部分不属于或完全不属于另外两类。124.1.2数据库设计如果数据库已存在,它就会打开数据库。如果指定的数据库不存在,就会创建一个新的数据库。如果成功打开数据库,函数就会返回数值0。13用户登录表如表4-1所示:表4-1 用户登录表列名数据属性signtextusernametextpasswordtext存储求助信息表如表4-2所示:表4-2 求助信息表列名数据类型addnametftextaddphonetftext表4-2 求助信息表(续)addsicktftexttimetext存储评论信息表如表4-3所示:表4-3 存储评论信息表列名数据类型usernametextcommenttext存储验证码表如表4-4所示:表4-4 存储验证码表列名数据类型validatetext4.2功能结构功能结构能反应出应用的用户界面是否够友好,用户体验,以及在安全设计是否完善;功能符合用户的需求,才能让效益到达最大化。4.2.1查看医院医生的功能可以根据选择,选定一个科目,可以显示出当地的医
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分红权转让合同范本
- 旧房整栋出售合同范本
- wenhua公司合伙合同范本
- 卖家卖货合同范本模板
- 大理租院子合同范本
- 汽车抵款合同范本
- 提供租赁合同范本
- 煤气安装服务合同范本
- 过度安置房合同范本
- 文化墙彩绘合同范本
- 临床营养学病例报告
- 危险作业票 安全作业票格式模板 动火登高煤气受限空间作业票
- 水电工安全考试题及答案
- 2025至2030临床前CRO治疗行业发展趋势分析与未来投资战略咨询研究报告
- 2025年浙江省中考数学试卷真题(含官方标准答案)
- 幼儿园物资报损管理制度
- 酒精戒断综合症治疗方案讲课件
- 【9语安徽中考卷】2025年安徽省中考招生考试真题语文试卷(真题+答案)
- 工程造价培训用课件
- 《人工智能概论-面向通识课程》全套教学课件
- 三区人才面试题及答案大全
评论
0/150
提交评论