基于iOS平台智能点餐系统设计与实现.docVIP

基于iOS平台智能点餐系统设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于iOS平台智能点餐系统设计与实现

基于iOS平台智能点餐系统设计与实现   摘要:随着人们生活水平的提高,人们外出就餐成为一种生活方式,社会餐饮服务概念逐渐成熟。剔除过度消费、奢侈消费的泡沫后,大众餐饮将成为今后行业发展的主流方向。本文将以当前餐饮行业及互联网的发展为背景设计并实现一套基于iOS平台的智能点餐系统。本文使用UIKit、animation、multithread等技术,采用MVC模式并辅用单例、代理、观察者等多种设计模式实现点餐系统,系统更稳定可靠并且拥有良好的可扩展性。   关键词:计算机应用技术;iOS;智能点餐;设计模式   中图分类号:TP311.5   文献标识码:A   0 引言   近年来移动互联网的发展呈现出势不可挡的势头,在信息化时代,人们的生活节奏越来越快,时间对于任何人来说都是很重要的。当用户拿到一张菜单时,面对很多菜品信息,浏览所有的菜品信息非常耗时,且对菜品的选择也比较耗费精力。因此餐饮业智能点餐系统是非常有必要的,当下移动终端的APP开发正好非常契合餐饮业点餐的需求,它的便利、易操作等特性深受人们的喜爱,因此本文在iOS平台的基础上设计并实现了一套智能点餐系统。   1 系统总体设计与模块分析   系统分为两部分:一部分是UI展示及用户信息的收集,呈现在iPad端;另一部分是server端,负责对数据进行处理。   图1是整个系统的结构图,每一部分是一个模块,下面将简单地介绍各个模块的功能。   1.1登录模块   登录模块主要有三个功能:常客(是指过去在餐厅有就餐记录的用户)登录验证;非常客登录;新用户注册。主要流程如图2所示。   对于常客与非常客的推荐是不同的,因此需要区分这两种登录模式。对于常客来说我们有常客的历史记录,因此登录后产生的推荐信息是与非常客的内容是不一样的。另外在登录模块中还需要有注册模块,注册模块主要就是收集新用户个人信息。另外还有一点流程图中没有表现出来的是,无论对于哪一种登录方式,用户都可能登录失败,因此登录失败后,系统会弹出一个alertview(提示框),用于提示用户登录失败的原因。登录失败原因可能会有很多,但可以分为两类,一类是用户输入有问题;另一类是系统原因,系统原因有可能是网络故障,或者后台数据库出问题了等等。当登录失败时,系统需要告知用户出错原因。   1.2分类模块   这部分会按照分类展示菜品,如按照主食、汤菜、酒水、肉菜、素菜、凉菜分类,目的就是在用户不接受系统提供的推荐菜品时,可以让用户快速的按照分类信息寻找自己需要的菜品。   1.3菜品模块   这个模块比较简单,就是提供菜品相关的详细信息,如菜品的图片、介绍菜品的短视频、菜品的文字介绍,其他用户对菜品的详细评价信息。主要是帮助用户了解当前菜品的相关详细信息。   这个模块还有另外一个重要的信息,就是显示当前菜品被点的份数,从用户角度来讲这个需求是很合理的,有的时候用户可能又回到之前已经点过的菜品信息了,而用户可能记得不大清楚是否已点过此菜品,这里会用到一种称为观察者的设计模式。   1.4订单模块   这个部分相对来说比较重要的,从客户端到server端对于整个点餐系统来说都是异常关键的。当用户的一次订单信息产生后,我们需要将这部分信息记录下来,将这部风信息记录到数据库中,是推荐部分的数据基础。如图3所示,对于订单页中的每一份菜品,我们还可以增加、减少份数。另外如果用户觉得某个菜品不需要了,还可以删除,当然当用户需要删除的时候会弹出一个alertview来提示用户确认删除以防止用户错误的删除某个需要的菜品。最后当用户确定了菜品后,就可以提交菜单了。   1.5DataManager模块   这个模块是为了简化数据业务处理,减少模块之间的耦合度,使用了设计模式中外观模式,也是面向接口编程的一种实现方案。具体接口设计如图4所示。   由于接口比较多,图4中只是一部分的接口。这个接口是全局都要访问的,因此可以看到sharedData这个类函数,这个类函数的功能就是把此类设计成了一个单例类。无论是哪个模块需要什么数据只要访问这个类就可以,任何模块都不要知道具体是怎么实现,只需要处理返回的数据与错误信息。当返回数据有误时,可以提示相关的信息。   1.6AFNetworking模块   这个模块主要就是负责iPad客户端与服务器端的网络交互,使用的技术主要是NSURLConnection以及NSOperation技术,实现了多线程并发的功能,提高了客户端与服务器的交互效率。   1.7cache模块   cache模块的功能主要是提供在客户端的缓存功能,主要目的就是为了提高存取数据的效率,最终目的是为了改善用户体验,使用的是LRU算法,并且设计了二级缓存策略,如图5所示。

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档