Android外卖点餐系统设计与开发毕业论文
2020-02-23 18:19:16
摘 要
随着计算机和网络的飞速发展,信息化时代早已成为世界发展主要趋势。为了适应现代信息时代点餐的需求,研究设计了一个基于安卓平台的外卖点餐系统,它能提供网上订餐和用户美食交流,为用户提供便利。
论文首先通过对目前市场已有的Android订餐系统的使用和管理进行了分析,选用MySQL作为后台数据库服务器,Android手机端作为订餐系统客户端, Tomcat作为服务器端,并使用Java, Android, JDBC技术,Eclipse SDK、Android Developer Tools等工具开发实现了一款Android外卖订餐系统。该系统主要实现了客户端登录系统、客户点餐、订单结算等功能,以及客户信息数据库和菜单数据库设计。
关键词:Android ; MySQL; 点餐系统
Abstract
With the rapid development of computers and networks, the information age has become a major trend in the world. In order to meet the needs of ordering in the modern information age, a take-away ordering system based on the Android platform was designed and researched. It can provide online ordering and user-friendly food exchanges to provide convenience for users.
The paper first analyzes the use and management of the existing Android ordering system in the current market, using MySQL as the back-end database server, the Android mobile phone as the client of the ordering system, the Tomcat as the server, and using Java, Android, JDBC technology. Eclipse SDK, Android Developer Tools and other tools developed to achieve a Android takeaway ordering system. The system mainly implements the client login system, customer ordering, order settlement and other functions, as well as customer information database and menu database design.
Key Words:Android; MySQL; Ordering system; Development
目录
第1章 绪论 1
1.1研究目的 1
1.2研究意义 1
1.3国内外研究现状 1
1.4研究的基本内容 3
1.4.1 研究系统的技术和原理 3
1.4.2研究Android前端技术 3
1.4.3研究数据库设计技术 3
1.4.4研究服务器端的开发 3
1.4.5文档 3
1.5本文的组织安排 3
第2章 基础理论和相关技术介绍 4
2.1基础理论 4
2.1.1 Android基本框架 4
2.1.2 Android四大组件详解 4
2.2.3 Servlet相关技术 5
2.2相关技术介绍 5
2.2.1 Eclipse 5
2.2.2 JDK 1.8 5
2.2.3 MySQL5.7 6
2.2.4 Tomcat 8.0 6
2.2.5 Android系统 6
2.3本章小结 6
第3章 系统需求分析与概要设计 7
3.1功能性需求分析 7
3.1.1系统客户端需求分析 7
3.1.2系统服务器端需求分析 7
3.2非功能性需求分析 7
3.2.1 性能需求 7
3.2.2安全措施需求 7
3.2.3安全性需求 7
3.2.4 软件质量属性 7
3.3系统概要设计 8
3.3.1 客户端概要设计 8
3.3.2 服务端概要设计 8
3.3.3 数据库概要设计 9
3.3.4 系统总体架构设计 9
3.4本章小结 9
第4章 系统详细设计 10
4.1客户端详细设计 10
4.1.1系统客户端登录 10
4.1.2 系统客户端注册 10
4.1.3 系统客户端菜单 10
4.1.4 系统客户端积分优惠 11
4.1.5 系统客户端订单查询 11
4.1.6 系统客户端关于模块 12
4.2服务器详细设计 12
4.2.1系统服务端登录注册 12
4.2.2系统服务端订单管理 12
4.3数据库详细设计 13
4.3.1客户端用户表 13
4.3.2菜品信息表 13
4.3.3订单菜品表 13
4.3.4订单信息表 13
4.3.5服务端用户表 14
4.4本章小结 14
第5章 系统功能实现 15
5.1服务器端 15
5.1.1登录功能实现 15
5.1.2注册功能实现 15
5.1.3分类管理功能 15
5.1.4菜品订单功能 15
5.1.5订单管理功能 16
5.2客户端功能实现 17
5.2.1登录界面 17
5.2.3菜单界面 18
5.2.4订单界面 19
5.2.5结算配送界面 20
5.2.6积分优惠与关于界面 21
5.3本章小结 21
6.1客户端测试用例 22
6.1.1登录用例详细说明 22
6.1.2注册用例详细说明 22
6.1.3菜单用例详细说明 22
6.1.4优惠活动用例详细说明 23
6.1.5查询订单用例详细说明 23
6.1.6关于用例详细说明 23
6.2服务器用例详细说明 24
6.2.1登录用例详细说明 24
6.2.2注册用例详细说明 24
6.2.3菜单用例详细说明 25
6.2.4订单用例详细说明 25
6.3本章小结 25
第7章 总结 26
参考文献 27
致谢 28
第1章 绪论
1.1研究目的
本系统的研究目的是为了适应现代信息时代点餐的需求,研究设计出一个基于安卓平台的外卖点餐系统。该系统主要由后台数据库管理、 Web服务器、 Android客户端三部分组成,并采用 Java、 Jsp技术,利用 MySQL数据库、 Android开发工具,实现包括客户登录、客户点餐、订单结算配送等功能; 完成客户积分,打折功能;客户信息数据库和菜单数据库设计,为客户提供方便快捷的外卖订餐服务。
1.2研究意义
外卖订餐系统希望通过快捷的送货上门方式给客户提供及时满意的餐饮及服务,为客户提供的方便的饮食方式,使商家通过网络获得更多利益,使客户省去许多宝贵的的时间和不必要的麻烦,实现双向双赢。网上订餐可使大部分餐饮企业节约成本、提高效率。以计算机汇总数据准确、实时无延迟,用户界面良好等优势脱颖而出。同时,网上订餐还通过记录加入的餐饮企业在平台收集的数据,对客户信息进行大数据分析等信息管理,协助餐饮行业进行针对性营销。
在网上订餐发展之前大多使用的是打电话的方式进行外卖订餐,但是通过这种方式,很容易对人力时间造成大量的浪费,因为打电话的用户们常常由于对所希望订购的菜品和菜品所在的餐厅的服务内容不够清楚,需要长时间的通话咨询,这样就会使得餐厅的电话接收人员为每一位客户提供重复乏味的工作,顾客也会因为不能快速清楚地了解菜品信息而不耐烦,这对餐厅和客户双方都是不友好的。网络订餐可以公布全面而详细的菜品信息,避免一定程度上的时间和资源浪费;同时,及时快速地更新菜品信息有助于顾客更加自主和自由地选择自己喜欢的菜单。不断深入开发实现网上外卖订餐系统可以扩大餐厅的知名度,越来越快地推动餐饮业的发展,优化餐厅信息规范化管理。
网上订餐管理系统从开发初始至今,处在一个逐步发展的过程。在开发网上订餐管理局部系统时要考虑到局部和整个系统之间的逻辑联系,能否相容,以便于今后整个系统的管理。在本系统中,订餐系统的主要模块是菜单管理模块,是该系统的比较重要的模块。在系统实现的最直观的体现是,它可以随时更新餐厅及菜单信息,及时更改菜单上的全部信息,使客户能自由选择菜品,保证该系统运行流畅。
1.3国内外研究现状
外卖点餐系统最早发源于国外,在经历了几十年的发展之后运作得相当成熟。目前在国外,早己有多家上市公司产生,其中,Yelp, Just Eat, GrubHub等是目前所知的比较出名的几家[2] 。通过对这几家上市公司的对比分析发现,国外的外卖平台和中式的外卖平台比起来,存在着一些相同点,却也有很大的不同。
Yelp Platform是一款移动手机上的对用过的东西进行点评的社交平台。用户在这个平台上可以针对商家进行点评打分,其他顾客通过查看已经订购过的客户发表的评论信息进行甄选,选择自己认为更加可靠、更加放心的餐厅进行点餐,从2013年开始,YelpPlatform平台开发了订餐业务,现在已经是一个上市公司,据估计它的市值超过30亿美金。
Just Eat:由2001年创办于丹麦,后来不断向其他国家比如英国扩展,在网上订餐网站表现突出,Just eat通过向餐馆收取上架费用和对餐厅的成交订单进行提取百分比利润获利,同时不断向目前仍没有加入网上订餐系统的餐厅进攻邀请这些商家加入他的平台,甚至计划通过收购餐厅的方式进行扩张。Just Eat在前几年也成为了上市公司,现在的的市价估值达到24亿美元。
GrubHub: GrubHub占据大部分美国外卖的份额,这个公司是要求顾客使用电脑或移动工具,首先选择地点,随后查看感兴趣的餐厅和他所所提供的菜单,在看到满意的菜品之后,用户选择下单,在平台上的餐厅接到订单后,自己选择是否接受订单和接受之后的订单配送。这也是现在国外很多网上订餐系统所采用的的方式。GrubHub平台的服务不会收取顾客用户的费用,和Just Eat一样,他的所有得利是通过提前与加入平台的各个餐厅协议提取订单利润百分比获取。
经过长期的发展,大多数国外的餐饮企业累积了一定的客户资源、商品资源,所以在经历多次的各种模式冲击后,几经兴衰周期仍然存在,因此也能够更好地适应新生的外卖服务。现在,由于国外土地面积大,注重人力的价值,外卖配送的成本不低,所以包括Yelp Platform和GrubHub等上市公司在内,自己管理的外卖人员是十分之少的,大多数餐厅都自己提供外卖服务。
在国内社会快速发展中,外卖点餐系统有许多难以克服的困难,最重要的也是外卖配送服务,各大外卖商开始建设和推出自己的配送平台。目前常见的的配送方式有以下几种:
相似的,有一种模式被称为重模式,(因为外卖平台的任务比较重),这种模式要求为加入网上订餐系统的各个餐厅培养一批外卖人员,形成自身提供外卖配送的配送模式。经过查询,发现属于这种模式的暂时比较有名的几家外卖平台有百度外卖的百度配送、美团外卖的美团专送、饿了么的蜂鸟配送系统、淘宝外卖平台的点点配送系统[3] 。但是要做到这种模式需要在全国各地都有配送团队,实现的困难度太高,需要的配送团队巨大,这种模式的成本无疑是十分高的。
与重模式相对的是轻模式,在这种模式下,平台的任务比较轻。每个商家只负责配送自己餐厅的订单,比如必胜客、肯德基、华莱士这类的快餐连锁店。在这种模式下,由于配送人员都是餐厅工作人员,所以餐厅需要考虑到人员对目的地的熟悉程度、餐厅线下的工作忙碌程度。配送时间过长导致引起的顾客不满情绪也屡见不鲜。
还有一种特殊的配送服务在中国应运而生,类似于滴滴打车的方式,只需要下载平台所在的App,在平台上搜索任务,就可以选择自己方便的时间、地点的配送任务进行配送。这种模式下,没有专门的配送人员,每个人都可以成为外卖派送员,分秒速递和达达就是这种模式,这种模式能够实现所有人员资源利用的最大化,但是这种模式对接受配送任务的人员素质要求较高,也无法保证产品的顺利安全到达,服务质量无法保障。这种模式具有太大的随机性,特别不好控制,实现难度最大。
1.4研究的基本内容
1.4.1 研究系统的技术和原理
对本系统进行需求分析、概要分析分析工作, 首先,要对Android平台下的相关技术有一个整体的了解; 其次,需深入学习并掌握Java语言和谷歌Android语言,参考结合目前市场已有的订餐系统进行Android前端设计、服务器设计以及数据库设计。
1.4.2 文档
本论文要求完成整个系统功能的需求分析、框架设计、编码实现及调试;测试用例完成后,提供全部的软件系统的概要、详细设计说明书、测试文档、代码设计说明。
1.5本文的组织安排
第一章是绪论,对本文课题的背景、目的进行确定,对研究的意义细致分析,外卖订餐系统的国内外研究现状与动态进行了详细的阐释,对本文的基本研究内容进行了简单说明。
第二章是基础理论和相关技术介绍,主要介绍 Android Developer Tools,MySQL数据库, MySQL Workbench数据库可视化工具, Tomcat8.0 Web服务器相关工具的安装配置及工作原理。
第三章是系统需求分析与概要设计:对基于 Android平台的外卖订餐系统的需求在前期调研的基础上做出分析,阐明本系统主要的功能性需求、非功能性需求、系统概要设计等。
第四章是系统详细设计,主要阐述基于 Android平台的外卖订餐系统的主要功能模块的详细设计过程,大致包括客户端模块详细设计、服务器模块详细设计、数据库模块详细设计。
第五章是系统实现,给出系统客户端、服务器端主要功能模块的实现方法介绍和实现后的界面截图展示。
第六章是系统测试,选取系统主要功能模块进行测试,仔细分析设计各个模块测试用例,测试之后与系统要求的结果进行比较分析,编写测试文档。
第七章是总结与展望,总结本文的研究工作,阐述从论文准备开始一直到最后功能基本全部实现的过程,自己为之做的准备工作和学习经历,最后对系统未来进行展望。
第2章 基础理论和相关技术介绍
2.1基础理论
2.1.1 Android基本框架
Android基本框架如图所示[4]:
图2.1 安卓基本框架 |
2.1.2 Android四大组件详解
Activity:Activity就是一个与用户进行窗口交互的可视化界面,他是所有程序的可视化体现,可以向Activity中添加button等控件,Activity可以互相跳转,活动之间可以使用通过Intent进行通信,Activity都有必要在AndroidManifest.xml中声明,不然的话,系统不可执行Activity,如果一个新的Activity被打开,前一个就会被暂时停止,如此类推,从系统开始到结束的每个都会被存储到堆栈中 [4]。
Service:service是一个需要依靠后台运行而不能自己运行的程序,他一般来说没必要与用户进行交互,因此并没有为他设计用户交互界面。Service分为两种: Context.startService()和Context.bindService(),如果需要查看更加详细的区别,可以参考书本第一行代码。
Content Provider:为Android提供第三方指定数据集,它能够实现数据的共享,用于数据的保存和共享。Content Provider是其中重要的要素,它能够使数据的访问方式统一化,uri作为Content Provider独立的标识分别有带id或者是列表形式的,Content Provider比REST更加灵活,如果想对外提供数据,派生一个Content Provider即可,他也没有UI。
Broadcastr:在应用程序之间传输信息时被广泛应用,BroadcastReceiver是与之相关的用来对外部事件作出相应的响应的一类组件,这个组件也不能被用户通过可视化看到,。广播接收者的注册有两种方法,分别是程序动态注册和AndroidManifest文件中进行静态注册。前者动态注册广播接收器在Activity关闭后,广播就会失效,后者只要保持设备是开启状态,广播接收器就会一直工作。
客户端通过对Android提供的XML布局技术里的各类控件的布局与效果的实现完成客户端页面的设计,通过对按钮Button等控件添加触发时间,访问Java 的Activity程序,通过HttpCIient以Http数据的形式发送数据请求给服务器端。
2.2相关技术介绍
2.2.1 Servlet相关技术
Servlet相关技术主要是进行服务器端程序的设计,由Tomcat Web Server进行客户端的请求信息,然后由Servlet进行处理,通过JDBC技术完成数据库的操作,加载SQL语句完成MySQL数据库的访问和数据添加、存储等操作。服务器端通过Servlet技术实现程序编写,以Tomcat Web服务器来接收客户端的HTTP数据并且进行解析,最终通过JDB C技术访问MySQL数据库,完成数据请求和相关处理后,最终将结果返回给客户端[6]
2.2.2研究Android前端技术
使用Android Development Tools和Eclipse集成开发环境开发Android应用,运用Java语言和谷歌Android语言,实现客户端客户登录系统、客户点餐、订单结算、完成客户积分、优惠功能。
2.2.3研究数据库设计技术
使用MySQL5.7以及可视化工具MySQL Workbench对数据库进行创建、查询、删除等操作;对目标系统的数据库即客户信息数据库和菜单数据库进行设计。
2.2.4研究服务器端的开发
Tomcat Web服务器端在实现Web端的开发中使用Jsp技术,实现数据交互和逻辑处理:添加、删除、修改菜单;对订单处理;对用户信息管理等功能。
2.3本章小结
本章节介绍了有关于开发与设计一个外卖点餐系统的基础理论和相关技术,包括Android基本框架、Servlet相关技术的介绍,并对Eclipse、MySQL、Tomcat等软件进行下载、安装、配置环境,为论文系统的设计做好前期知识储备、环境搭建与配置,为后期的实现做好准备。
第3章 系统需求分析与概要设计
3.1功能性需求分析
3.1.1系统客户端需求分析
客户端:用户进行注册信息的填写并通过验证后,就可以登录系统, 用户在登录系统之后中可以在个人中心修改自己之前填写的注册信息。用户注册登录成功后,进入系统主页,在系统主界面要实现的功能是能够浏览查看餐馆信息和菜品信息,选择满意的菜品,先放入购物车,选完之后查询订单,最后进行结算配送。手机客户端是Android系统的应用软件,必须采用Android开发。按照论文的要求,在本系统中客户端比较重要。
3.1.2系统服务器端需求分析
服务器端要求界面简单,反应快速,能够实现注册、登录系统,添加、删除、修改美食信息、查看订单信息的功能,可以接受客户端的请求,与数据库连接,根据要求对数据库实现添加、修改、删除,并且把处理结果返回,然后请求成功或者失败的消息会在界面中显示 。
3.2非功能性需求分析
3.2.1 性能需求
- 系统可以容纳的用户人数:没有上限
- 系统支持的同时操作数量:只能在同一时间段支持同一个用户只操作
- 系统响应时间:具体情况以机型和网络速度为准,一般指定为5s之内
- 数据库中表:没有上限。
3.2.2安全措施需求
不同的用户名和密码对应不同的操作权限,只有正确的用户和密码才能操作正确的数据,每个用户只能操作自己的信息,无法操作其他用户的信息。
3.2.3安全性需求
每个用户在第一次登录后,系统记住系统登录密码,用户名不可相同。为了防止病毒传播以及黑客攻击,服务器与Internet链接的接口要做加密处理 [7]。
软件质量属性
要求软件具有良好的健壮性、易用性、容错性、可扩展性,即系统要求长时间无故障运行;web端界面和Android客户端采用图形化操作界面,简单易操作,保证使用电脑、手机操作的各阶层用户能更快地上手使用,Android客户端和web端界面采用图形化操作界面,保证使用电脑、手机操作的所有用户的使用。
3.3系统概要设计
3.3.1 客户端概要设计
客户端系统由注册模块、登陆模块、菜单模块、订单模块、优惠活动模块、关于模块、等6个模块组成,外卖订餐客户端系统流程图如图所示。
图3.1.系统客户端流程图 |
3.3.2 服务端概要设计
服务器端的功能是负责与数据库进行连接,实现注册、登录系统,添加、删除、修改美食信息、查看订单的功能,接收客户端的http请求,连接数据库,根据要求对数据库实现添加、修改、删除,并且把结果返回到界面中,然后请求成功或者失败的消息在界面中表示。 如图3.2是系统服务器用例图:
图3.2系统服务端用例图 |
3.3.3 数据库概要设计
3.3.4 系统总体架构设计
系统总体架构如图3.3所示:
图3.3系统结构图 |
3.4本章小结
本章节中根据毕业设计的要求,结合市场上已有的外卖订餐系统对本系统主要就功能性需求、非功能性需求进行系统需求分析,还有 客户端、服务器以及数据库的概要设计。只有进行了需求分析与概要设计,系统才有了整体的框架。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: