手机版
您的当前位置: 诚达文秘网 > 教案设计 > 基于Android外卖点餐类app设计与开发

基于Android外卖点餐类app设计与开发

来源:教案设计 时间:2023-08-30 08:00:06

基于Android的外卖点餐类 app的开发与设计 摘 要:在这千变万化的岁月中,手机已不是稀奇之物。规矩的传统订餐已经不能在我们生活中得到满足,用户们需要一个可以在家查看餐厅以及点餐的服务。由此,外卖订餐体系就呈现了,本体系操纵Android体系,来实现订餐。本系统操作十分简单,给用户一个全新的体验,也有助于商家往更好的方向发展,促进经济的发展。

关键词:android;
数据库;
客户端;
服务端 Development and design of app for takeout ordering based on Android Mou Honglu Director:Jiang Weiwei College Of Medical Technology, Zhejiang Chinese Medical University, Hangzhou, China, 310053 Abstract:In the era of rapid development of the Internet, mobile phones are developing rapidly. Traditional ordered meals can no longer be satisfied in our lives. Users need a service to view restaurants and ordering meals at home. As a result, takeaway ordering system appeared, the system uses Android system to achieve ordering. This paper analyzes the design from the perspective of system, describes the whole process of ordering food to eat and how to achieve it. To achieve the user's landing, ordering, viewing orders, businesses look at orders, shelves, dishes and other modules. The operation of the system is very simple, giving users a completely new experience, and also helps businesses to develop in a better direction and promote economic development. Key Words:Android; tabase;
client;
server 引 言 在传统的饭店点餐我们有时候要等待许久时间才能吃到饭,当我们有了这个系统之后,我们就可以在自己的家里或者寝室里也能吃到饭店里的饭菜,给我们的生活提供了便利。传统餐饮在这么多年的变化下,也有点显得格格不入。研究了智能手机外卖点餐的主要功能及流程,并从技术开发的角度对手机订餐系统进行了总体设计,实现了用户的注册登陆,菜单查看,点餐,订单生成[1]。

1 绪论 1.1 研究背景 在这瞬息万变的世界上,每个人都是一个独立的存在,每个人对生活水平要求越来越追求完美,快节奏的城市生活影响着数万人。在中国,很多人的饮食及其不规律,尤其是那些在大公司上班的人们,这些时时刻刻影响着他们的身体状况,而学生也是如此,常常面对那些就餐困难的问题。

现在讲究的是物联网年代,随着时代变迁,慢慢的一些发展比较慢的餐饮业看到了黎明中那片光明——把餐饮业物联网化,将一个个性的东西与多样的东西相结合,为消费者们创造一个更好的订餐环境。外卖订餐主要的服务对象目前还是大学生跟在公司上班的白领们,由于时间上的限制,会导致学生的饮食习惯不正常。网上外卖系统实现了双赢的局面,不管是顾客还是商家。

在于之前的订餐方式相比较,新版的外卖系统有很多明显的优势:
(1)简洁便利性。本软件操作起来完全没有压力,简单的操作页面,加上现在wifi普及,只要可以上网,就可以使用移动客户端。老的那些就餐方式局,限于店里有时候会因为一些原因从而导致自己无法就餐,就会耽误顾客的用餐时间,从而客源就是会流失。

(2)可扩展性。当今网络发展日新月异,可能过一晚就是新的技术的产生,这个外卖订餐系统通过图文并茂的形式展现给顾客,让顾客进一步了解,提高饭店档次。当市场如果呈现了新的变化,商家只需要根据变化去库里进行更改操作。

(3)个性化。整个系统具有十分独特的设计,以人性化位基础条件,给顾客一种温柔且吸引人的界面。当顾客有其他需要时还可以提供不同的接口链接。具有非凡的服务,可大大的节省订餐时间。

1.2 研究意义 1.2.1 理论意义 随着国家改革发展,人民水平在这样的大环境下,爬高了好几个点,餐饮这项服务行业作为领头羊,发展异常迅速。在这个多样化的年代中,餐饮行业发展五花八门,形成了低中高的档次划分方式。由于生活环境的变化,我们往往不愿意在排队上花费更多的时间。由于最新消费模式出现,转变生产形式为谋生新路段。互联网时代就像是我们的好伙伴,这几年是发展最为快速的时期,最近互联网的在我们生活的普及就像吃饭喝水一样,离不开。网络现在成为了生活的必需品,电商行业发展迅猛。网上外卖是现在生活必需品,也更加表现出我们社会在不断完善进化,为了在家庭方面得到改善,方便人们生活,应运而生的就是最适合这个环境下面的,肯定能得到更一步的加强跟完善。改变传统的模式,加入创新的思想一直都是我们一直以来追求的。

经过这个网上外卖系统,现在处于大数据年代,数据是十分重要的,商家可以根据这些大数据从而研究不一样的销售方案。商家可以对一些避免了在经营管理中算错帐,相当于给商家在前方迷茫的道路中有了新的导航标,更加有效的避免了一些可以不产生的损失,可以减少商家少走弯路。

1.2.2 实践意义 整个系统方便了社会上很多人,也可以促使顾客更多的去了解这家餐厅的文化,可以依据自己的爱好去点餐。

老式的订餐方式有着很多漏洞缺点,由于信息的不了解会给点餐造成困扰。通常情况下,餐厅的点餐流程都是通过人工手写传递的方式来完成的,这种点餐方式速度很慢、效率极低,尤其是在就餐高峰的时候,餐厅服务员手写点单会造成误单或者漏单的情况,这严重影响顾客的心情,对餐厅的经营非常不利,甚至对餐厅的信誉也是很大的损害[2]。就这点来说,实时更新的菜品能给顾客更多的抉择。实现网上订餐也将订餐推广到更加多的人,让更多的人去知道,可以让商家的发展可以进一步提高。

网上外卖系统可以让商家去更方便的管理产品,对于自身的订单金额还可以做出更全面的统计,方便商家对于自己营业额的统计,给出下一步的应对工作。

网上外卖系统有着商家及其菜肴的展示,但是其主要的形成还是因为目前餐饮市场的需要和分析后而存在。不仅仅为实现管理产品,而是为了针对顾客更加的去提高顾客的吸引力。从而促使商家的发展。

2 系统分析 2.1 系统目标 (1)实现客户端跟服务端,目前主要角儿划分:管理员,商家,顾客。

(2)在顾客角度,顾客可以对自己的信息进行修改,登陆,注册,评价等功能。

(3)在商家的角度,商家可以登陆,进行接收订单、菜肴的更改、图片的更改、价格的设置、对于一些评论的操作等一些功能。

(4)在管理员角度,可以进行添加商家,查看所有订单,商家信息更改等功能。

2.2 需求分析 2.2.1 角色划分 系统主要角色分为三个模块:顾客,商家,管理员。

(1)顾客。客户能登陆,下达订单,评价,注册等功能。

(2)管理员。管理员可以增添商家,管理菜单,查看所有订单等功能。

(3)商家。商家有登陆、对产品进行操作、对订单操作、查看评论等一些功能。

2.2.2 事件 这是用来描述整个系统的全部可能发生的事件,以及处理事件后的反馈方式,详情请见(图2-1,图2-2,图2-3)
图2-1 事件图1 图2-2 事件图2 图2-3 事件图3 2.2.3 用例图 (1)顶层用图。这张图表现的是整个系统里面各个角色能进行的操作,进行了一个大致的规划,表现出各个权限(图2-4):
图2-4 顶层用图 (2)顾客系统用图,表现的是顾客在这个系统之中所有的权限操作,可以完成各个有关自身的操作,比如对自己信息的完善(图2-5):
图2-5 顾客系统用图 (3)后台管理系统用图,表现的是系统员的权限,能进行的各个操作,有着最大的权限(图2-6):
图2-6 后台管理系统用图 2.2.4 性能与其他需求 (1)时间需求:对于搜索功能,大部分时间都是在菜单搜索,订单处理等方面。当我们执行搜索命令时,需要在尽量短的时间内将信息全部显示,或者是在一边搜索一边显示,根据在数据库的提取,把相同特征点的数据显示,减少过多的时间花费。当然在订单提交方面,从客户这边提交传到服务器再传到商家那,也尽可能的节省时间,当然商家那边更要可以定时刷新,以免错过订单,造成客户以及自己的损失。

(2)并发操作:由于订餐时间上的集中,所以至少需要允许50个人通时提交修改命令,修改数据库里的信息。

(3)显示风格,在这一天一变化的年代,已经存在着较多外卖平台,所以要想在这当中成为一个好的app,就要有自己的风格特色,有好的体验好的界面是少不了的。

2.3 建立模型 2.3.1 确定类及其属性,建立类图 在对这些需求,问题,系统的责任和边界进行讨论分析后,我们在对整个系统的类有了一套基准,集锦合并后建立了如下实体类图(图2-7):
图2-7 实体类图 2.3.2 状态图 状态图用来讲述一个事件在随着时间的迁移多做出的一些状态。状态图如下(2-8):
图2-8 状态图 3 系统设计 3.1 设计原则 在这个系统上,我们是由上而下进行的。首先再有一个总体结构的情况下,进行一步一步的搭建,再分为各个模块后在进行分工设计完成。

以下将几个原则进行总结:
(1)系统性。为了统一一整个整体而衍生出系统。因此,我们应该站在大局观上考虑问题,做到有一套标准,一样的处理方法,有一定标准的代码,一样的数据类型,对数据的采集需要做到全局共享,提高输入的利用率。

(2)灵活性。为了在整个系统中实现持久性,我们必须要在这个系统中做到很强的环境适应能力。在模块化结构下,每个模块都有着独立的部分,为了未来着想,增强防御能力。将整个系统盘活。

(3)可靠性。这是指当系统被网络攻击或者在受到影响的同时对整个系统的修复能力。为了保证系统的安全,我们对系统中数据进行了加密处理,对于那些重要的数据也会定时的进行备份,而且对这些数据对到更重要的保密方法处理。

3.2 总体结构设计 整个系统由客户端,服务端构成。整个系统是采用MVC框架[3]。

3.3 代码设计 这个系统中代码设计主要是:
(1)数据库命名规则的设计:
这软件的数据库有这明显的命名规则,其中每个表都以“wct”为前缀,紧跟着是这个库名所对应的英文单词,其中中间的的分割是下划线(如wct_user)。

(2)本系统主要分为3个项目:Android客户端,B/S结构项目,Android服务端项目。这些包的命名方式可以根据自己的习惯来命名,那在这里我们主要是用区间码来实现。Android客户端的包以com.ideabobo开头,然后以功能再进行分类,分别放在各自的子包当中。比如Android客户端的网页组件都在com.ideabobo.Javascript包中,之后再分功能按包分配,比如服务器的servlet都在com.student.servlet包中。

3.4 数据库设计 3.4.1 数据库概念结构分析 (1)这个系统中所存在的实体:
用户(用户ID,姓名,密码,邮箱,tel,QQ,性别,生日);

商家(商家ID,商家名称,密码,电话,地址,图片)
菜品(编号,菜名,价格,菜品介绍,图片,所属餐厅,数量,折扣,推荐数);

菜品类别(编号,菜系);

评论(评论内容,评论餐厅,时间);

收货地址(地址,所属人);

订单(订单编号,菜数量,下单人,所属餐厅,创建时间,总价,菜名,电话,地址,付款状态,备注);

(2)其中存在的系统关系:
菜品与菜品类别(N:1)每道菜只属于一个菜系,一个菜系有很多道菜。

订单与订单中种类(1:N)一个订单中可以存在非常多的订单选项,但那个订单选项只可以属于这个订单类 用户于订单(1:N)每个用户拥有多个订单,一个订单只属于一个顾客。

3.4.2 数据库逻辑结构设计 1、wct_user用户表 表3-1 wct_user用户表 字段名 描述 类型+长度 约束/关联/说明 id 用户ID int(11)
主键,自动增长,非空 username 姓名 varchar(50)
非空,支持中文 passwd 密码 varchar(50)
非空,MD5加密 email 邮箱 varchar(200)
tel 电话 varchar(50)
非空,号码格式会检验 qq QQ varchar(20)
sex 性别 varchar(20)
birth 生日 varchar(20)
address 地址 varchar(200)
2、wct_good表 表3-2 wct_good表 字段名 描述 类型+长度 约束/关联/说明 id 菜品编号 int(11)
主键,非空 gname 菜名 varchar(100)
price 价格 varchar(10)
note 菜品介绍 varchar(500)
img 图片 varchar(500)
typeid 菜系 varchar(10)
xiaoliang 销量 int(11)
shop 所属餐厅 varchar(50)
zan 点赞数 int(11)
3.5 界面设计 3.5.1 设计原则 (1)应用系统给人的风格具有统一性。

首先我们整个程序是以中国红为基本色调,给人一种饱满,鲜艳的感觉,可以给顾客一种愉悦的心情。应用大致是三个部分,上半部分是标题、用户名还有返回键;
中心是内容的首要表现地区,表现的每一个主题的不一样内容;
下半部分是导航区域,是连接各个地方的按钮。

(2)便捷的导航设计。

由于现在我们都是单手操作手机,所以那些关键的导航键都是在手指易触碰到地方。这个应用采用的贼是目前流行底部操作,因为大拇指是由下而上操作。对于一些切换型界面,我们用滑动的方式,也是基于单手操作的模式,可以随意的切换到上下层界面。比如人机交互技术,现在终端软件控制的方式比较多元,常见的有按键控制、触屏控制、手势控制等[4]。

3.5.2 主要界面 (1)商家列表页面,这里展示的是商家信息,将所能查到的商家全列出来,以便于顾客挑选,如需要添加商家,可以至后台系统处添加(图3-1)
图3-1 商家列表页面 (2)顾客登陆页面,这是顾客登陆的地方,也可以进行用户注册。在输入正确的用户名跟密码后,经过后台比对,如果正确就会进入页面,如错误会有提示。(图3-2)
图3-2 顾客登陆页面 (3)菜单界面,显示的是菜单主要界面,里面有各种菜品可供选择,由商家操作(图3-3)
图3-3 菜单界面 (4)评论页面,这是表示顾客对自己消费过的菜进行评价。(图3-4)
图3-4 评论页面 4 系统实现 4.1 所用开发环境 本系统以Android为开发平台,采用MySQL作为数据库,在MyEclipse的运行环境下,采用Java语言编程,创建JavaWeb工程,搭建后台服务器,接收由下位机传送过来的数据,同时,创建Android应用工程(APP),完成客户端的设计,实现客户端和服务器端的数据交互[5]。Android为开发者提供通知管理器和事件管理器[6]。Android平台下的移动APP的关键技术是Java语言,因为Java语言是Android 应用程序编写的主要语言[7]。Android的架构与其他操作系统类似,具有层次结构。它分为由应用层,应用程序框架层,系统层和Linux运行时核心层组成的四个主要层[8]。

4.2 客户端主要功能以及实现 4.2.1 实体与json数据的转换 用户通过Android客户端完成实例中的业务时Android客户端首先获取用户的位置生成JSON格式的数据并将数据发送给服务器,服务器解析数据之后根据解析结果提供的条件对数据库中的数据进行操作获得符合条件的数据并封装为JSON格式返回至Android客户端[9]。在需要客户端与服务端进行数据交换,json是一个很好的方式,加上json是面向对象的,利用JSONObject解析JSON数据获取情景例句,实现情景例句功能,为用户提供翻译参考,更具实用性[10]。所以采用json十分合理。比如:客户端的数据我们需要从服务端进行获取,过程如下所示(图4-1):
图4-1 数据过程图 以此类推,不仅仅是这些数据,其他数据也是通过json来实现数据交换,以达到目的。

4.2.2 图片加载及缓存问题 目前手机上都会自带一点固定内存,会影响到我们的运行。所以我们在进行开发的时候,会遇到内存方面的问题,比如内存不足导致无法加载。由于我们需要从服务器上下载很多图片,我们采用异步的方式分步向服务器上发送下载请求,之后将下载下来的图片存至手机处。

5 总结与展望 5.1 总结 经过几个月的开发、调试过后,一个拥有基本功能的外卖订餐系统终于成型。完成了基于Android客户端的开发,在跟随着潮流的同时,也方便了我们的使用。

订餐系统有三个模块:用户、商家和管理员三个模块,都是遵循的“低耦合、高聚合”的原则。前端信息展现商家和菜肴信息,来显示商家的不同区分点。顾客在这个地方可以更改信息等操作,还可以根据自己喜欢的做出推荐。

整个外卖客户端可以实现显示信息跟展示用户,有一整个操作流程,轻松完成订餐。

综上所得,我们的系统还是比较完善的实现了我们之前订下的小目标。。

5.2 展望 目前外卖订餐系统已经普及,但是有一些个性化的东西还需要去更新、去创新,来维持这个行业的稳定。

现在的外卖的软件缺少一些个性化的东西,比如帮你安排营养食谱。在我们每次点外卖的时候,往往不知道吃什么,而且现在的人在生活水平提高的基础上,开始追求起了健康养生的习惯。希望在之后的发展,在我们订外卖的同时,我们更多的是需要去帮那些人安排一些健康食谱,将每日的饮食根据往日的日常生活做成一个健康的菜单,提供给消费者,在自己喜欢的同时也有养生的东西存在。再者在快节奏的生活中,为了追求饮食规律,人们更在意的是自己的健康了。

再者在技术发达的年代,jquery技术在现在得到了推广,创新,产生了各种各样的使用方法,可以将网站的个性化往进一步方向推进。

6 结束语 在这么几个月的毕设中,在我对本专业的基础理论知识,基础技术有了更深入的了解跟体会,可以吧在这大学期间学的东西运用到实际当中,知道了这四年以来我学的是什么,要怎么样去运用。

在学校以往的任务中,我们都是自己去设计一个模块,分工合作,而这次的毕设截然不同,这是一个全面的及所有技术为一体的挑战,需要将自己之前所学的综合起来。在这次的设计之中,经常会有一个瓶颈期,遇到问题茫茫然,不知所措,周边的同学跟同事对我帮助良多。在这个项目中,我不仅仅是增强了自己看代码的能力,我知道在遇到自己不会的时候更加需要去向别人请教。经过这次的程序设计,有了一下体会:
在这次设计中,我充分的认识到只有自己动手做过了,才知道这个东西难不难。在书本上的东西远远满足不了我们,对一个系统来说,有些东西这次做好了,但是在这日新月异的年代,还是需要我们做好更新工作。当然,系统中还是存在很多很多的问题,希望在日后能够得到解决。在毕业设计之前一直想着怎么样才能最简便最快的完成整个设计,在尝试之后才知道,只有我们自己准备的够多了,就可以。有些问题隐藏的很深,这就需要我们自己一步一步的去调试解决了。

通过这次的开发学习,从对android一窍不通到有点了解,但还是有着很多不足的地方,就要在今后的日子里更加努力去面对了。

这次毕设选择的是我们在大学中没有正式学习的,基于Android。在这之前我们也就是对Java有了一些学校里面的基础学习。在对于吃的感兴趣的同时也就衍生了这么一个设计。从最开始的环境配置,到后面跟着别人的代码学习,这都是一个过程,慢慢了就了解到了一些东西。经历过令人繁琐的调试之后,很开心自己坚持了下来。到后来慢慢的去了解控件,这都是学习。但是,由于自己的能力有限,相对于整个系统还是不够全面的,依旧还有一些小问题存在,期待后期能完善改进。

参考文献 [1] 胡坤,魏晓旭,曹宏宇等.基于Android的智能外卖点餐系统的设计与实现[J].吉林大学学报(信息科学版),2016,34(6):732-736.DOI:10.3969/j.issn.1671-5896.2016.06.004. [2] 黄文开.基于zigbee的无线点餐管理系统的设计与实现[D].湖南大学,2016. [3] 代振英.MVC模式研究及应用[D].山东科技大学,2014.DOI:““. [4] 韩晓艳.基于Android平台的移动APP开发方法与应用研究[J].电脑知识与技术,2017,(18):71-72. [5] 冯飞飞,张国平,汪纯云, 等.基于Android的远程库房环境监测系统[J].信息技术,2018,(1):149-154. DOI:10.13274/j.cnki.hdzj.2018.01.035. [6] Zhu dongxu; liu yabin; PI xian lei; Zhou weixiang;Huang meng .Design and Implementation of Campus Application APP Based on Android.IOP Conference Series: Materials Science and Engineering.2017.224(000):012056-012056 [7] 王斌.基于Android平台的移动APP开发模式探索[J].产业与科技论坛,2017,(13):74-75. DOI:10.3969/j.issn.1673-5641.2017.13.042 [8] Niknejad A. A Quality Evaluation of an Android Smartphone Application[J]. 2011. [9]金鸣,袁嵩,刘荣.利用JSON实现客户端与服务器端通信[J].电脑编程技巧与维护,2018(04):75-77. [10] 程蔚,周兰江,王红斌, 等.基于Android的旅行翻译语音情景助手APP设计与实现[J].微型电脑应用,2016,(4):30-33,39. DOI:10.3969/j.issn.1007-757X.2016.04.009. 16.

诚达文秘网 https://www.rk1k.cn Copyright © 2019-2024 . 诚达文秘网 版权所有

Powered by 诚达文秘网 © All Rights Reserved. 备案号:浙ICP备19042126号-1

Top