基于Android的点餐系统设计与实现
目录摘要2ABSTRACT3目录11绪论11.1课题研究背景和意义11.2课题可行性分析21.3论文框架安排32开发语言说明42.1开发工具及环境简介42.2Android系统52.2.1AndroidFeatures特性52.2.2Android系统的四大组件63点餐系统分析83.1概述83.1.1系统分析的原则83.1.2系统分析的方法83.2系统需求分析93.3系统流程分析104点餐系统详细设计124.1系统设计原则124.2系统设计目标134.3系统总体结构设计134.4服务端数据库设计135系统实现与测试165.1搭建Android开发环境165.2系统实现185.2.1登录模块实现185.2.2大全模块实现195.2.3在线下单模块215.2.4我的订单模块235.2.5服务端模块模块265.3系统测试275.3.1软件测试275.3.2测试用例285.3.3测试总结286总结30致谢31参考文献32附录333点餐系统分析本章首先介绍了基于Android点餐系统的可行性,确立了开发基础,直接详细阐述了系统各个模块的详细需求分析,接着分析了系统的研究路线和系统的流程设计,最后对系统的运作流程做了分析。3.1概述系统分析是在总体规划的指导下,对某个或若干个子系统进行深入仔细地调查研究,确定新系统逻辑功能的过程。这一阶段的主要任务是由系统分析员了解每个业务流程,工作流程,广大用户的需求,运用系统开发理论、开发方法和开发技术设计出一个智能化的软件系统。3.1.1系统分析的原则在系统分析中存在很多困难,为了克服困难,做好分析工作,在进行系统分析时应遵循系统分析的原则,这样才能保证分析工作能够顺利进行,系统分析的原则有:1.逻辑设计与物理设计分开的原则2.面向用户的原则3.结构化分析的原则通过实际调查并与相关用户交流后,分析基于Android点餐系统的具体的要求,确定本系统的逻辑功能,以满足用户的各项要求,完成相应的各项功能,提高网站的实用水平。在近期目标完成后,该系统应该有很强的扩充性,便于在此基础上进行扩充式开发,为以后的发展及扩充打好基础。3.1.2系统分析的方法该系统采用以抽象和分解为手段,并且采用结构化分析方法进行系统分析,根据实际调查研究,对系统进行自顶向下的逐层分解,逐步细分,逐步求精,建立新系统的逻辑模型,这个逻辑模型将尽可能避免使用计算机术语,让其尽可能的简单化、通俗化,便于设计者和浏览者的沟通与交流经验。结构化分析方法的基本思想是该系统采用结构化分析方法,以抽象和分解为手段,对系统进行自顶向下的逐层分解,逐步细分,逐步求精,从而达到易于理解的目的。3.2系统需求分析客户端功能需求分析:登录、注册:用户使用系统时需要先登录,如果没有账号可以通过注册模块注册一个账号;菜谱查询:查询目前店菜谱列表信息;详情查询:可以查询一个菜的详细信息,包括价格、介绍和数量;在线点餐:支持用户在线下单点餐;选择座位:支持用户在手机上选择座位;我的订单:用户可以查看自己已经下单的信息,可以删除掉自己的订单;人工服务:客户端可以呼叫服务员;服务端功能分析:登录模块:管理员登录使用系统;菜谱管理:管理员可以查看当前系统的信息,可以添加、修改或者删除一个菜谱信息;用户管理:管理员可以查看到当前系统已经注册的用户信息,可以删除掉一个用户信息;原材料管理:管理员可以查看当前系统的原材料信息,可以添加、修改或者删除一个原材料信息,原材料库存较低时会警报;订单管理:管理员可以查看到当前的所有订单信息,可以修改订单状态,例如把一个进行中的订单修改为已经完成;
图3.1系统功能框架图3.3系统流程分析在系统分析和开发系统过程中,采用了一些相对比较成熟、安全性较高、运行比较稳定的技术。这些技术贯穿了整个系统的设计与开发过程,是设计和实现各个模块的基础技术,只有运用先进的设计模式和开发技术,本文转载自http://www.biyezuopin.vip/onews.asp?id=13603才能保证开发工作顺利地进行,才能保证系统设计的合理性和灵活性,才能保证各个功能模块的稳定性。首先本系统用户在使用系统前都必须经过用户登录验证,只有验证通过的用户才能进入系统,整个系统的流程图如图3.1所示。
图3.1系统流程图
packagecom.mm.mealapp.adapter;importjava.util.List;importandroid.content.Context;importandroid.graphics.BitmapFactory;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.ImageView;importandroid.widget.TextView;importcom.miebo.utils.AsyncImageLoader;importcom.mm.mealapp.activity.AppConstant;importcom.mm.mealapp.activity.R;importcom.mm.mealapp.api.orders;publicclassOrdersAdapterextendsBaseAdapter{privateListlist=null;privatefinalContextcontext;privateLayoutInflaterinfater=null;privatefinalAsyncImageLoaderasyncImageLoader;privatefinalStringserverUrl;publicOrdersAdapter(Contextcontext,Listlist){this.infater=LayoutInflater.from(context);this.list=list;this.context=context;asyncImageLoader=newAsyncImageLoader(BitmapFactory.decodeResource(context.getResources(),R.drawable.pc_loading_fali));serverUrl=AppConstant.getRootUrl(context);}@OverridepublicintgetCount(){returnlist.size();}@OverridepublicObjectgetItem(intposition){returnnull;}@OverridepubliclonggetItemId(intposition){return0;}@OverridepublicViewgetView(finalintposition,Viewconvertview,ViewGroupparent){ViewHolderholder=null;if(convertview==null){holder=newViewHolder();convertview=infater.inflate(R.layout.listview_item_shop,null);holder.imageView1=(ImageView)convertview.findViewById(R.id.imageView1);holder.tvTitle=(TextView)convertview.findViewById(R.id.tvTitle);holder.tvPrice=(TextView)convertview.findViewById(R.id.tvPrice);holder.tvIntro=(TextView)convertview.findViewById(R.id.tvIntro);convertview.setTag(holder);}else{holder=(ViewHolder)convertview.getTag();}holder.tvTitle.setText(list.get(position).getUsername());holder.tvPrice.setText("数量:"+list.get(position).getAmount()+"单价:"+list.get(position).getPrice());Stringintro=" 下单时间"+list.get(position).getCreatetime();if(1==list.get(position).getStatus()){intro+=" 订单状态:已经完成";}elseif(0==list.get(position).getStatus()){intro+=" 订单状态:进行中";}else{intro+=" 订单状态:已取消";}holder.tvIntro.setText(intro);asyncImageLoader.loadBitmap(serverUrl+"UploadFile/"+list.get(position).getImg_url(),holder.imageView1);returnconvertview;}classViewHolder{privateImageViewimageView1;privateTextViewtvTitle;privateTextViewtvPrice;privateTextViewtvIntro;}}基于微信小程序的智能点餐系统的设计与实现
本程序主要是使用发展至今趋于成熟的微信小程序开发一个点餐项目来实现用户的线上点餐需求,利用小程序的简便来优化传统的点餐流程。用户可以使用手机打开微信使用微信小程序进行线上点餐操作,店家可以通过后台操作系统确认收到的点餐信息,为用户提供相应的服务。
本系统主要使用微信开发者工具来制作小程序前端,利用javaweb+MySQL+Spring-boot对后端进行开发,数据库用来保存点餐系统的相关数据,可以实现点餐功能。用户可以使用点餐、退菜,查看订单等等功能,商家也可以对订单进行查看和修改,可以更改用户的选菜信息,查看排号等操作。
系统主要模块为商家新品预览、商品信息展示、扫码点餐、购物车管理、订单管理、个人信息管理。并且需要实现简单的推荐功能。
微信搜索小程序或通过扫一扫,进入商家界面。首次进入小程序时,会自动获得用户信息,然后进入系统整体界面,包括点餐入口和新品展示。商品展示区,主要包括商品信息查看、加入点菜菜单、点菜信息展示和提交订单功能。
小程序客户端主要功能:用户查看商品(新品动态轮播图展示、商品全部分类、详细信息、加入购物车等)、管理购物车模块、个人信息模块(取得登录信息、查看修改个人信息)、订单信息模块等模块。
商家还可以查看数据库(商品信息、消费者订单信息、消费者个人基本信息),并具有修改、查看、删除等功能。