河北地质大学本科生毕业设计
位置,则无法完成送单。选定就餐位置后点击送单按钮,在按钮的点击事件中会将用户的点单信息保存到数据库中,以便后厨获取数据,完成后续工作。同时为了减免用户使用的繁琐程度,其他的用餐人数、VIP号、工号和密码都是选填项。 代码具体实现详见附录K。
4.2.7餐位选择模块
运行效果如下图4.2.7-1所示。
图4.2.7-1 餐位选择界面
餐位选择模块主要由一系列覆盖在餐厅俯视地图房间上的UIButton组成,这些按钮绑定同一个方法,根据不同的tag值区分。用户选定就餐位置时会发出通知,将该房间的名称以参数的形式发送,在送单界面使用该参数显示对应的房间名称。
代码具体实现详见附录L。
18
河北地质大学本科生毕业设计
第5章 系统测试
系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试。
5.1 功能模块测试
1.数据读取显示模块的测试,主要测试从数据库中获取的数据是否能正确显示,不出现闪退的情况。刚开始调试的时候系统总会报出数组越界的错误。查了网上的博客才明白,原来视图控制器加载视图时会先去执行UITableView的协议方法,再执行ViewDidLoad方法,而获取数据赋值给本地数组的方法恰恰写在了ViewDidLoad方法内,当加载视图时,本地数组为空,就会造成数组越界,因此在获取数据之后要用本地数组调用retain方法,这样就不会出现上述错误了。后来又想到也可以在协议方法中判断数组是否为空,问题可以解决,但是不如调用retain方法更为简单。
2.数据存储模块测试,主要测试提交订单后数据存储是否正确且没有遗漏。经测试,结果如下图5.1-1所示,用户提交的订单完整无误的存储到了数据库中。
图5.1-1 数据存储
3.数据传递模块的测试,主要测试是不是每个界面都能正确的传进来数据,自定义cell上的控件是不是能正确的传值,通知在反向传值的过程中前一界面是否能通过参数获取到正确的值。
在完成逐个模块测试后,开始对系统进行验收测试,运行该系统,在运行过程中查找出现的错误。
5.2 功能整体测试
在安装好配置环境的电脑上测试,刚开始出现屏幕混乱,经过反复修改,现在已经能正常运行。用xcode上自动检测内存工具,检测出多处内存泄露问题,都已经修改。测试到这个阶段就简单多了,繁琐的工作都做完了,不过在这个阶段我还是发现了一个严重的问题,就是内存泄露,原因是我在cell中实例化了一个控件,我当时以为ARC不会有内存泄露,但是还是出现了,cell复用的时候,虽然使用的以前的cell,但是在cell里边申请的控件还会一直开辟空间消耗内存,这样就会导致内存泄露。
19
河北地质大学本科生毕业设计
总结与展望
总结
本项目的开发目标,主要是为了提供可以代替传统纸质菜单的电子菜单,为用户更好的体验电子菜单的便捷。设计经过紧张而有序的系统开发,收获颇丰,感触颇深。
通过这段时间的设计与开发,总体上完成了以下几项工作:
1.研究了Objective-C语言编程理论,参考了一些相关的文献资料,并且使用了一些基本语法和特有性能,对Objective-C语言系统有了一定的认识和了解。
2.研究了界面搭建,SQLite数据库技术,从而为系统原型的实现提供解决方案。 3.在研究设计的基础之上对系统进行实现,该系统大体上实现了总体设计方案中所提到的登录和语言选择、历史菜单、历史菜单详情、菜品介绍、我的菜单、送单和餐位选择等7个模块的功能。
4.对系统进行测试,尽管在测试过程中还有一些尚未解决的问题,但是这些都是预期可以解决的。
展望
基于iOS的电子菜单系统的设计与实现涉及多方面的理论、方法和技术,本系统还有许多新的问题需要解决,需要在实际应用中不断积累和完善,在以下几个方面,还需要做进一步的研究和开发。
1.论文只考虑了电子菜单的几项基本组成,并未在热门排行等方面进行深入发掘。使得系统只考虑了一些简单情况,如何应付复杂的信息还值得加强。可以进一步完善数据库中的相关字段,增加电子菜单系统的完整性。
2.该系统只考虑了电子菜单应用的一些基本情况。比如,未对英语选择等功能进行更为深入的研究,如果数据库中的数据足够完善,界面是可以复用的。
3.系统在测试上还存在一些问题,不过都是预期可以解决的。 4.UITableView,UIScrollerView等相关界面控件在该系统的开发过程中优化还不够,还有提高的余地。
20
河北地质大学本科生毕业设计
参考文献
[1] 谭克强Objective-C程序设计(第四版).
[2] 51cto网站oc教学视频自学。以及对牛人博客的借鉴. [3] 博客园学习,主要学习UI时对我的帮助很大.
[4] cocoaChina第三方库的使用,对后期做毕业设计,提供很多便利.
[5] 个人觉得最好用的还是百度,需要什么查什么,自学学到的东西才理解的更深刻. [6] DaveMak(美)JackNutting(美)JeffLaMarche(美)著.杨越孙文磊等译.ios5基础 教程[M].北京:人民邮电出版社.2013:3.
[7] MarkDalrymple(美)ScottKnaster(美)著.杨越等译.Objective-C基础教程[M].北 京:人民邮电出版社.2012:7.
[8] StephenG.Kochan著.林翼、范俊、朱奕欣译.Objective-C程序设计(第四版)[M]。 北京:电子工业出版社,2012:12.
[9] 克莱尔(美)著.李强译.Objective-C2.0Mac和ios开发实践指南[M].北京:机械 工业61出版社,2011:1.
[10] BrianW.KernighanDeninisMRirchie著,徐宝文,李志(译)TheCProgramming Language[M].北京:机械工业出版社2003:2.
[11] Ronpatton(美)著.王钰,曹跃译.软件测试[M].北京:机械工业出版社,2006. [12] 吴洁明著.软件工程实例教程[M].北京:清华大学出版社,2010:11.
21
河北地质大学本科生毕业设计
致 谢
在本论文的写作过程中,我的指导老师赵冬梅老师倾注了大量的心血,从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,在此我表示衷心感谢,谢谢赵冬梅老师在我撰写论文的过程中给与我的极大地帮助
同时我要感谢一起学习的各位老师、同学和朋友。在整个的论文写作中,各位老师、同学和朋友积极的帮助我查资料和提供有利于论文写作的建议和意见,在他们的帮助下,论文得以不断的完善,最终帮助我完整的写完了整个论文
另外,要感谢在大学期间所有传授我知识的老师,是你们的悉心教导使我有了良好的专业课知识,在继续学习Objective-C语言时少走了许多弯路,感谢这四年来信息工程学院对我的栽培,使我成为了一名合格的理工学子。
22