手机网上订餐系统毕业设计_第1页
手机网上订餐系统毕业设计_第2页
手机网上订餐系统毕业设计_第3页
手机网上订餐系统毕业设计_第4页
手机网上订餐系统毕业设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

xxxx大学本科毕业论文题目:手机网上订餐系统的设计与实现院系:xxxxxxxxxxxxxxxx专业:xxxxxxxxxxxxxxxx班级:xxxx学生姓名:xxx指导教师:xx论文提交日期:xxxx年xx月xx日论文答辩日期:xxxx年xx月xx日摘要二十一世纪是一个信息化、网络化的时代,这个时代让我们的生活发生了翻天覆地的变化,智能化、数字化已成为主流。随着信息技术的不断更新,android操作系统逐渐成为众多手机操作系统中的一匹黑马,与此同时,人们的生活迫切需要方便、快捷、有个性的服务。因此,传统服务行业的服务模式已经不能满足人们的需求,适应市场的发展,例如,餐饮行业尤为明显。现在社会,很多餐饮行业主要还是以人工为主,这种人工点餐不仅效率低而且在就餐人多的时候会增加服务员的负担,造成出错率比较高,使客人不满以及投诉事件的发生,并且随着无线网络技术的进一步加强,与Android市场的发展,手机网上订餐系统的出现已成为时尚和主流。论文依据毕业设计的内容,主要讲述了点餐系统的功能及实现。设计分为Android客户端和Tomcat服务端两大部分,Android客户端的主要功能有:用户的注册、登录、浏览菜品、生成订单、支付订单等;Tomcat服务端的主要功能有:系统属性、密码修改、客户管理、客户录入、菜品管理、菜品录入、订单管理等。所说的这些功能基本实现了手机网上订餐的流程,实现了用户与商家的手机网上订餐交易。设计采用MySQL数据库,与服务端进行连接。当用户在客户端进行注册时,用户相应的信息便储存在数据库中;当用户登录时,会在数据库中进行相应的信息比对,若一样,则登录成功,客户端界面跳转到浏览菜单这一页面;当生成订单时,数据库也会存储相应的订单信息。管理员登录服务端可以查看所有订单和用户的详细信息、更新菜品、管理订单等。因此,数据库在这个设计中起着至关重要的作用。而且,这个设计能够正常运行,系统界面简单直观,易于操作和使用,交互性强。在系统规划中,数据流程图和系统功能模块图分析了系统所需的数据,详细地展示了系统的每一个功能模块,并给出了主要功能的运用界面。关键词:安卓;网上订餐;MySQL数据库;AbstractThe21stcenturyisaneraofinformationandnetwork,andourlifehavebeenmadegreatchanges,intellectualizationanddigitizatihavebecomethemainstream.Withthecontinuouschangesoftechnology,theandroidoperatingsystemhasgraduallybecomeadarkhorseinthemobilephoneoperatingsystem,andatthesametime,awayofconvenient,quickanddifferentlifeisurgentlyneededtoday.Therefore,thewayoftraditionalservicehasn’tsatisfiedpeople'sneed,andadaptedtothedevelopmentofthemarket,forexample,foodserviceindustryisparticularlyobvious.Nowsociety,alotoffoodserviceindustrymainlybasedonwaiters,andinthisway,Theartificialordernotonlylowefficiencyandthemealwhentherearealotofpeoplewillincreasetheburdenofthewaiter,causetheerrorrateishigher,makethecustomersdissatisfactionandcomplaints.Withthefurtherstrengthenofwirelessnetworktechnologyandthedevelopmentoftheandroidmarket,theemergenceofreservationsystemwithmobilephoneonlinehasbecomeafashionandmainstream.Thethesisonthebasisofthecontentofthegraduationdesign,mainlydescribsthefunctionofonlineorderingsystemandimplementation.ThisdesignisdividedintoAndroidclientandTomcatserver,themainfeaturesoftheAndroidclientare:userregistration,login,lookthroughdishes,takeorders,payorders,etc.;themainfeaturesofTomcatserver'sare:thesystemproperty,passwordmodification,customermanagement,customertype,foodmanagement,foodentry,ordermanagement,etc.Thesefunctionsofmobilephoneshasbeenbasicallyachievedonlinereservationprocess,realizetheuserandthebusinessofmobilephoneonlineordertransactions.ThedesignusestheMySQLdatabase,whichconnectstheserver.Whenausertoregisterontheclient,usersofthecorrespondinginformationisstoredinthedatabase;Whenauserlogson,theinformationthatpeoplelogonwillcomparewiththecorrespondinginformationinthedatabase,ifitissame,theloginissuccessful,theclientinterfacetojumptothemenupage;Whenmakingorders,thecorrespondingorderinformationdatabasewillalsobestored.Whenadministratorslogonserver,theycanviewalltheordersandtheuser'sdetailedinformation,updatedishes,ordermanagement,etc.Therefore,databaseplaysanimportantroleinthedesign.Furthermore,thisdesigncanrunnormally,syatemsimpleandintuitiveinterface,easytooperateanduse,interactiveisstrong.Inthesystemplanning,dataflowdiagramandsystemfunctionmodulechartanalysisthedatathatrequiredbythesystem,anddetailedintroductiontothesystemeachfunctionmodule,andgivesthemainfunctionoftheoperationinterface.Keywords:android;Onlineorder;MySQLdatabase目录第一章引言 11.1系统开发的背景及意义 11.2系统开发的目的 11.3主要内容 2第二章文献综述 32.1国内外概况 32.2目前存在的现状 32.3发展方向 4第三章方案设计与论证 53.1架构概述 53.2开发工具 53.2.1Eclipse 53.2.2Tomcat服务器 63.2.3mysql数据库 63.3应用平台 63.3.1Android平台 63.3.2Android特性 73.4平台搭建 73.4.1安装jdk 73.4.2安装eclipse和tomcat 83.4.3搭建androidSDK环境平台 93.5需求分析 103.5.1系统构建的背景和必要性 103.5.2可行性分析 103.6系统概要设计 103.6.1模块的划分与功能设计 113.6.2功能模块的设计 113.6.3数据库结构的设计 123.6.4连接数据库的设计与实现 16第四章系统设计与实现 174.1客户端设计思路 174.2主菜单界面 174.2.1功能描述 174.2.2登录界面的设计 174.2.3功能描述 184.2.4界面设计 184.2.5功能实现 194.3点菜界面 204.3.1功能描述 204.3.2界面设计 204.3.3关键代码 224.4更新界面 244.4.1功能描述 244.4.2界面设计 244.4.3功能实现 254.4.4关键代码 254.5结账界面 264.5.1功能描述 264.5.2界面设计 274.5.3功能实现 284.5.4关键代码 28第五章测试 305.1测试的作用和意义 305.2测试方法 305.3测试内容 305.4测试结果 325.5测试结论 32第六章结论 33参考文献 34致谢 36第一章引言1.1系统开发的背景及意义市场经济的高度发展使市场和顾客成为企业发展的重要决定力量,从而决定了企业发展的空间。如何用最小的代价获取最大的客流量,获取最大的利润成为企业发展、壮大的关键。电子商务的迅猛发展给人们带来了更大的机遇和商机,与不方便携带的个人电脑而言,随身携带的手机给有意创造另一个电子商务的人们来说就具有更大的想象空间,成为这些人开发的主要对象,手机电子商务也由此产生。相对于个人电脑、PAD和掌上电脑,手机电子商务可以将网络、移动通信技术进行综合处理,人们能够不受时间、地点、距离的限制,随时随地地实现网上交易。随着android平台的不断开发,更多的商家选择加入到android平台进行网上交易,使电子商务覆盖越来越多的领域,电子商务成为了主流。而现实生活中,餐饮服务行业还是传统的服务方式,是由服务员手工记录顾客的点菜,上报给前台,然后再给厨房,进行菜单分析。这些过程大大的增加了等待上菜的时间,使顾客产生焦躁的情绪,留下了不好的印象,并且手工记录字迹潦草导致上错菜,结帐时造成不必要的麻烦。对于那些特殊口味的处理也容易遗忘,使客人不满。无线点餐系统正好可以弥补这些不足,使餐饮行业变得更加正式,大大的提高了餐饮服务行业的效率,从而实现了用较小的成本留住了大批的顾客,实现了餐饮行业的商业化。1.2系统开发的目的网络技术的发展日新月异,人们在网上进行交易的次数大大增加,传统的面对面的交易已经落伍,通过网络进行信息交互的这种活动,使互联网经营充满了活力和生机。如今,随着3G、4G网络覆盖率的提高和Android操作系统市场份额的逐渐扩大,Android手机已成主流,这就需要一个Android应用来满足顾客和商家的要求,使顾客随时随地就可以上网浏览菜品,确定菜单和送餐地址,甚至使那些宅男宅女们足不出户就可以享受到美食,因此提出了基于Android操作系统网上订餐系统的课题。这个项目是一个基于Android平台的应用,用户可以在手机上直接进行操作,客户端和服务器端进行数据交互。该设计分为客户端和服务器端:在客户端,顾客可以进行注册、登录、浏览菜品、下订单、结帐、注销等功能,在服务器端,商家可以进行更新菜单,对管理客户、处理订单及注销等功能。解决了传统的面对面需要人工点餐的场景,改变了点餐的方式,大大缓解了传统点餐的弊端。1.3主要内容第一章为引言,主要介绍系统开发的背景、意义及目的,以及项目研究的主要内容。第二章为文献综述,主要介绍课题的国内外情况,目前存在的现状和手机网上订餐系统的发展方向。第三章为方案设计与论证,主要包括:架构概述、开发工具、应用平台、平台搭建、需求分析、系统概要设计(包括:系统总体功能的设计、模块的划分、数据库的设计)。第四章为系统设计与实现,主要介绍了客户端设计思路、主菜单界面、点菜界面、更新界面和结帐界面。第五章为系统测试,主要介绍了系统测试的方法、内容、结果、以及结论。第二章文献综述2.1国内外概况在国外,许多商家在多年前就开始了网上订餐的业务,近几年来,随着Android市场的开发以及逐渐的火热,手机网上订餐系统慢慢占有网上订餐的一个很大份额,成为了新兴的主流。人们只要一部手机就可以随时随地的浏览菜品、下订单、享受美食,不再看你是否是常客或者厨师的熟识,享受同等的待遇,大家平起平坐。特别对于越来越多的宅男宅女们,可以实现足不出户,点喜欢的菜单就能吃到爱吃的美食。在国内,网上订餐大部分地区还停留在电话订餐、在线支付等的阶段,这些订餐服务容易出现差错,给顾客和商家带来不必要的麻烦和损失。最近,只有少部分地区兴起了美团外卖、饿了么等手机网上订餐服务,这些订餐服务的出现使传统的订餐服务和那些传统的面对面的需要人工记录的餐饮行业才有这个网上订餐的意识。国内的网上订餐相对于手机网上订餐优先发展起来,技术相对成熟一点,但可以随时随地享有的手机网上订餐服务在各个方面还有一定的差距。2.2目前存在的现状纵观目前国内订餐行业的发展现状,虽然手机网上订餐服务现已经取得很大的成绩,但仍然存许多问题,主要表现在如下几个方面:(1)手机网上订餐的宣传力度不够到位,人们的网上订餐意识不够强烈,许多人仍旧停留在传统的人工订餐服务中。(2)网站不够稳定,再加上Android平台技术不够成熟,在访问量过多的情况下,容易使系统崩溃,影响了人们的订餐习惯和数量。(3)部分偏远地区没有实现网络覆盖或者网络不够稳定,大大影响了网上订餐服务的发展。(4)餐饮行业的服务不够成熟,送餐时间过长,影响了服务质量。2.3发展方向鉴于目前存在的一系列问题,手机网上订餐系统不仅依赖于市场、人群,还要依赖于技术。随着技术发展的日新月异,Android操作系统的不断完善,基于Android的网上订餐服务将成为餐饮行业的主要发展方向,实现传统的餐饮行业一步步走向商业化、智能化、一体化的综合发展方向。为提高餐饮行业的工作效率,为适应新时期、新潮流,形成新风尚,创造更加文明、更加健康、更加成熟的商业化餐饮体系打下夯实的基础。第三章方案设计与论证3.1架构概述本设计主要介绍了基于Android平台开发的网上订餐系统的基本功能以及所使用的开发工具Eclipse,Tomcat,AndroidSDK,数据库采用的是mysql数据库。设计最终实现了用户注册登录、浏览菜单、确认菜单、支付订单以及商家更新菜单、管理客户和订单的功能。订餐系统的各个功能均能实现,各个页面具有较好的交互性。在整个课题设计中运用JAVA语言进行编程,而功能编成则使用基础的Android。在系统设计中,系统需要的各类数据主要通过分析数据流程图和实体联系图得到的。并且这个基于Android开发的网上订餐系统的管理和使用功能都相对比较完善。开发手机网上订餐系统是为了克服传统人工订餐行业的弊端,实现足不出户就能享受到美食的构想。基于Android的网上订餐系统的实现主要采用了MVC架构的设计模式。MVC架构是"模型-视图-控制器"。模型、视图和控制器组成了MVC应用总程序。MVC架构是一种架构,它需要其他东西来帮助完成操作。在J2EE模式目录中,通常的实现是依靠servicetoworker模式,而集中控制器、派遣控制器和PageHelp这三种模式组成了sevicetoworker这种模式。而Struts只是描述了MVC的View和Controller两个部分,Model部分则由开发人员自己来操作,Struts提出了可以使开发人员把Model应用于Strut框架中的抽象类Action。3.2开发工具3.2.1EclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。因为eclipse是一个高度集成的工具所以对开发者来说eclipse是一个非常方便实用的工具,有着各种各样的插件。它的组成主要包括包括Eclipse项目、Eclipse工具项目和Eclipse技术项目,主要由以下几个部分组成——EclipsePlatform、JDT、CDT和PDE,这里不对每个部分对详细介绍。3.2.2Tomcat服务器Tomcat很受大部分程序员的欢迎,因为它运行时不怎么占用系统资源,并且具有良好的扩展性,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在努力完善中,只要程序员感兴趣就更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,普遍使用在中小型系统和并发访问用户不是很多的场合,所以是开发和调试JSP程序的第一选择。对于一个刚刚起步的人来说,可以这样认为,当机器上配置好Apache服务器,它可以使HTML页面的访问请求得到相应。实际上Tomcat部分只是是Apache服务器扩展的一部分,但它并不具有依赖性,因此当你运行tomcat,它实际上是单独运行的。问题的关键是,当正确的配置时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,同样可以处理HTML页面,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML却没有Apache服务器好。3.2.3mysql数据库Mysql是一个小型的轻量级开源的数据库,成本低,体积小,读取数据的速度快,具有较强的兼容性,支持多种语言像C,C++,JAVA等现在的语言基本都支持,支持多线程访问,提高了CPU的利用率提供了TCP/IP,ODBC,JDBC等多种数据库连接途径。3.3应用平台3.3.1Android平台Android是基于Linux内核的操作系统,早期由Google开发,后来是开放手机联盟开发。它采用了软件堆的架构,主要分为三部分。底层是通过Linux内核工作为基础,只能提供基本功能;其他的一些应用软件就是各公司自己开发,编写程序一般都是通过Java。另外,为了推广这项技术,Google和其它几十个手机公司建立了开放手机联盟。3.3.2Android特性·应用程序框架支持组件的重用与替换·Dalvik虚拟机专门为移动设备做了优化·内部集成浏览器该浏览器基于开源的WebKit引擎·优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES1.0(硬件加速可选)·#SQLite用作结构化的数据存储·多媒体支持包括常见的音频、视频和静态印象文件格式·GSM电话(依赖于硬件)·蓝牙Bluetooth,EDGE,3G,4GandWiFi(依赖于硬件)·照相机,GPS,指南针,和加速度计(依赖于硬件)·丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表境3.4平台搭建3.4.1安装jdk到oracle的官网上下载Java的jdk选择合适的版本,本论文采用的是1.8jdk,安装好jdk以后配置环境变量主要配置JAVA_HOME和CLASSPATH,如图3-1所示。图3-1jdk配置图3.4.2安装eclipse和tomcateclipse下载地址:/downloads/下载以后直接解压就可以使用了,使用前选择好自己的工作空间。Tomcat下载地址:/download-60.cgi下载以后直接解压就可以使用了,启动tomcat的服务在浏览器地址栏输入http://localhost:8080/出现tomcat的官网主页,说明tomcat可以正常启动没有问题如图3-2所示。图3-2tomcat主页图3.4.3搭建androidSDK环境平台首先下载androidsdk压缩包,解压即可然后进入eclipse,选择help->InstallNewSoftWare接着点击add按钮,输入/android/eclipse/并确定Eclipse会自动去加载androidsdk的插件,等待完成,安装插件,安卓模拟器,出现如图3-3所示的页面即可。图3-3安卓模拟器图3.5需求分析3.5.1系统构建的背景和必要性当今社会,科技迅猛发展,在各个行业努力朝着商业化步伐迈进的时候,电子商务逐渐兴起,并且成为主流。在这个信息化的时代,针对餐饮行业的网上订餐系统已经出现,特别是不受任何地点、时间、距离限制的手机网上订餐系统的出现,使餐饮行业的商家受到了影响。他们从中看到了巨大的商业契机,希望利用数字化管理软件,用最小的成本带来最大的利润。但是由于传统观念根深蒂固,一些商家不敢贸然前试。另外,许多商家认为找到一个适合自己店铺经营模式的网上订餐系统不太容易,还需要一段时间。所以,大部分商家还处于观望阶段。在这个信息化的时代,为了实现餐饮商家“少成本,大收益”的构想,实现餐饮行业的数字化、信息化、一体化,构建手机网上订餐系统是十分必要的(特别是随着Android系统逐步占据手机市场的趋势,所以本次系统设计是基于Android的网上订餐系统)。3.5.2可行性分析现在的社会经济发展非常迅速,电子商务吸引了越来越多人的目光。手机网上订餐系统,在一些大城市中已经很常见了。同时,随着科技变化的日新月异,Android操作系统的流行,以及手机网上订餐系统的出现,很大程度上满足了顾客的要求,使人们甚至足不出户就能吃到可口、美味的饭菜。在中国,手机网上订餐系统的发展与进步空间极大。随着Android技术的成熟,和Android操作系统的流行,手机网上订餐系统必定成为订餐行业的主力,使商家用最小的代价获得了最大的收益,同时也为顾客提供了极大的便利,进一步信息技术的迅猛发展。基于以上的这些情况,所以选择了手机网上订餐系统作为毕业设计的课题。3.6系统概要设计系统概要设计中,主要是对系统的总体功能设计、模块的划分、系统数据库的设计进行研究,是进行先死设计的基础,发挥着重要作用。3.6.1模块的划分与功能设计本系统主要分:用户注册登录,点菜,确认订单,支付订单,送餐功能。3.6.2功能模块的设计系统的功能如3-4图所示。图3-4系统功能图整个手机网上订餐系统分为Android客户端和Tomcat服务端两大部分。在Android客户端的功能如下:注册:用户注册登录:注册后的用户登录点餐:登录后,根据菜单点餐,生成订单在Tomcat服务端的功能如下:系统属性:包括了操作系统的版本及类型、用户目录、JDK版本及安装目录、总内存及剩余内存密码修改:管理员进行重新设置密码客户管理:添加或删除客户的详细信息客户录入;将客户的用户名、密码、姓名、电话、地址进行提交菜品管理:将餐品的编号id、餐品名、价格、剩余数量这些信息进行删除或添加菜品录入:将餐品名、图片、价格、库存数量进行添加订单管理:对已生成订单进行管理3.6.3数据库结构的设计数据库设计(DatabaseDesign)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。数据库的设计过程一般分为4个步骤:(1)需求分析首先,要分析清楚系统所需要的数据,确定类型,并且对具体的数据加以必要的限制。另外,对数据库的权限也要进行设置。手机网上订餐系统的主题是用户。在这个系统中,登录到终端系统的用户,是需要一个表格来保存用户的信息,主码是用户的账号。在用户登录以后,界面跳转到主菜单时,用户可以根据自己的爱好来选择喜欢的菜样。另外,为方便商家管理,还需要一个表格来存储订单号、订餐时间、用户的账号、用户地址、支付订单等信息。而且再要有一个表格能够详细记录用户订单的所有菜品。数据库的概念设计,就是利用数据模型进行概念数据库的模式设计。根据手机网上订餐系统的需求,设计出了如下的实体-关系模型(E-R)图。图3-5实体联系图图3-6实体联系图(2)概念设计对于用户进行描绘的现实世界,可以从住处的分类、聚集来概括、分析,创建抽象的关于数据的概念模型。而这个概念模型反映的是现实世界中各个部门的信息结构、信息流动、信息之间的相互制约和各个部门对于信息的存储、查询及加工。在这个建立起来的概念模型中,不要纠结于数据库在计算机上是如何具体实现的,而是用另外一种抽象的形式表示出来的。用扩充的实体——联系模型的方法来举个例子:首先,要明确在现实世界中,各个部门所包含的各种类型的实体及其属性、各个实体之间的联系和它们之间的信息制约等等,从而可以局部明确的描述各部门内所用信息。其次,一个全局视图是从在集成之前得到的多个用户的局部视图得到的。这就是用户描绘的概念数据模型。(3)逻辑设计主要工作是将现实的数据变成数据库的逻辑模式。另外,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这个设计最后就会得到“逻辑数据库”。数据库的逻辑设计,就是把用概念设计得到的概念数据库模式转变为逻辑数据模式,它依赖于DBMS。依据手机网上订餐系统的需求分析和数据库的概念设计,得到如下的数据库表以及表的相关说明:(1)管理员表管理员表的结构及相关说明如表3-1所示。表3-1管理员表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2username名字varchar113password密码varchar50(2)订单详情表订单详情表的结构及相关说明如表3-2所示。表3-2订单详情表序号字段名称字段含义类型宽度备注1Id订单idInt11Primarykey2myid客户idInt113totle总数Int114dates日期date5phone电话varchar116address地址varchar507type支付类型varchar408state支付状态varchar509pj评价varchar50(3)订单表订单表的结构及相关说明如表3-3所示。表3-3订单表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2dingdanid订单编号Int11Foreignkey3gname菜品idint11Foreignkey4count数量Int11(4)菜品表菜品表的结构及相关说明如表3-4所示。表3-4菜品表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2gname菜品idInt113gurl菜品图片urlvarchar1004gprice价格double85gcount数量Int116gtype类型Int2(5)用户表用户表的结构及相关说明如表3-5所示。表3-5用户表序号字段名称字段含义类型宽度备注1Id编号Int11Primarykey2userName用户名varchar203password密码varchar204phone电话varchar115address地址varchar506rname真实姓名varchar20(6)购物车表购物车表的结构及相关说明如表3-6所示。表3-6购物车表序号字段名称字段含义类型宽度备注1id编号Int11Primarykey2userid用户idInt11Foreignkey3goodsname菜品idInt11Foreignkey4gcount数量Int113.6.4连接数据库的设计与实现系统是用java语言来编写的,用jdbc来连接MySQL数据库。其中,用到了java语言中的connection对象和MySQL驱动进行连接数据库。有关代码的实现如下所示。Stringdriver=com.mysql.jdbc.DriverStringurl=jdbc:mysql://localhost:3360/wireless_db?useUnicode=true&characterEvcoding=utf-8Stringusername=rootStringpassword=Connectionconn;Class.forName(driver);Conn=DriverManager.getConnection(url,username,password)只有成功连接到数据库,才能使客户端和服务端的功能得以实现,才能确保课题的继续进行。若不能连接到数据库,则之前所做的工作都白费了,后续工作也无法展开。第四章系统设计与实现4.1客户端设计思路移动终端是用户直接接触的东西,它包含着用户操作的便利性、系统响应的时间、图片的质量、界面的整体布局、页面的信息等等。一般来说,界面主要由以下三个方面组成:(1)文字:传达信息的主要部分就是文字元素。界面中主要包括文字链接、标题、信息几种主要形式的文字。标题传达的信息与传统的基本一致,主要是对内容的简要概述,一般说明醒目。文字是页面里最为重要的元素,而且是信息的重要的载体,页面的整体设计就在于它的字体、大小、颜色和排布。(2)图形:图形在界面中起着很重要的作用。合理的运用图形,会使设计主题变得更加生动形象。网页中一般图片为jpg和gif的格式。(3)界面版式:界面设计十分重要的部分就是版式,它组合配置文字、图形等元素,使得整个页面十分的美观,并且使阅读更加方便,使信息的传达,达到最佳效果。设计终端系统的界面也是将了文字,图形等元素综合在一起。使每一个功能的描述都有图片与文字,通过最简单的看图就能知道键的含义,最终的目的是为用户的操作提供便利,使用户不至于因为不熟悉操作而放弃使用系统。4.2主菜单界面4.2.1功能描述主菜单界面包含开始点菜,选择数量,配送地址,设置,退出,支付等6个功能模块。每个功能模块提供一种服务,包含了对应功能的操作,而且界面简单明了,从而方便了用户的操作。4.2.2登录界面的设计主要由用户操作的登录界面,简单明了,容易操作。用户进行登录时,用户信息在数据库中进行核对,如果出现界面跳转到主菜单,说明用户已注册并且登录信息正确;如果显示“账号和密码不一致”,则说明账号或密码输入错误,重新进行输入;如果显示“用户不存在”,则说明该用户没有注册,需要注册才可登录。并且,为了防止出现混乱,每位用户都有自己独立的账号和密码。4.2.3功能描述用户通过手机在登录界面注册后(这时信息存储于数据库中了),才可以在登录界面进行登录。在登录时。每一位用户都有一个自己独立的账号(一般为手机号)和密码,这样才能将他人区别开来,确保服务的准确性。4.2.4界面设计在Android客户端,实现了用户的注册、登录功能,如图4-1用户登录界面所示。图4-1用户登录界面4.2.5功能实现单独建立一个Activity用来控制用户的登录,再用户输入账号与密码时,系统先判断用户账号密码是否为空,为空则跳出一个对话框给用户提示;如果不为空则再从EditView中取的账号密码与服务器中的账号密码进行匹配,如果匹配成功则利用Intent语句跳转到下一个主菜单界面。5.2.6关键代码loginBtn.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){if(validate()){//通过validate()判断账号密码是否为空if(login()){//通过login()连接数据库核对是否一致Intentintent=newIntent(LoginActivity.this,MainMenuActivity.class); startActivity(intent);//启动Activity传递intent来跳转页面 }Else{ showDialog("用户名称或者密码错误,请重新输入!");}}}});}对登录按钮添加监听事件,在服务人员输入账号密码后点击登录后,终端会先判断是否满足validate()方法,此方法是防止账号密码为空时的登录提示,如果为空会跳出一对话框进行提示账号密码是必填项,如果不空,则再判断是否满足login()方法,login()方法是用来与数据库进行连接比较核对是否一致,一致则顺利登录跳转到下一个Activity即主菜单界面,否则出现账号密码错误的提示,登录失败;privatevoidsaveUserMsg(Stringmsg){//将用户信息保存到配置文件 Stringid="";//用户编号 Stringname="";//用户名称 String[]msgs=msg.split(";"); //获得信息数组 intidx=msgs[0].indexOf("=");//以“=”为分隔符 id=msgs[0].substring(idx+1);//获取id号 idx=msgs[1].indexOf("="); name=msgs[1].substring(idx+1);//获取名称 SharedPreferencespre=getSharedPreferences("user_msg",MODE_WORLD_WRITEABLE);//共享信息,运用本地数据库SQLite SharedPreferences.Editoreditor=pre.edit(); editor.putString("id",id); editor.putString("name",name); mit(); }此方法是在login()方法中再与后台数据库查询成功后调用的,也将登录用户信息保存在终端系统的本地数据库中,存储方便快捷。这也正是基于Android平台的优点,拥有自己独立的数据库SQLite,它是一套轻量级的数据库引擎,可供其他应用程序调用。4.3点菜界面4.3.1功能描述此功能按键主要是为了让顾客能够方便的点菜,填写下顾客的各种信息,然后把顾客点的菜品配送到指定地址。4.3.2界面设计在用户登录之后,页面跳转后,浏览菜单,开始点菜,选择喜欢的菜品,如图4-2点菜选菜界面所示。图4-2点菜选菜界面用户在选择喜欢的菜品之后,然后确定菜品数量,如图4-3选择菜品数量所示。图4-3选择菜品数量界面在用户浏览菜品,确定菜单和菜品的数量之后,可以生成订单,具体情况如图4-4生成订单界面所示。图4-4生成订单界面4.3.3关键代码privateInteger[]mThumbIds={R.drawable.shopping,R.drawable.cart,R.drawable.orders};privateString[]menuString={"菜单","购物车","订单"};//构造方法publicImageAdapter(Contextc){mContext=c;inflater=LayoutInflater.from(mContext);}//组件个数publicintgetCount(){returnmThumbIds.length;}//当前组件publicObjectgetItem(intposition){returnnull;}//当前组件idpubliclonggetItemId(intposition){return0;}//获得当前视图publicViewgetView(intposition,ViewconvertView,ViewGroupparent){ Viewview=inflater.inflate(R.layout.gv_item,null); TextViewtv=(TextView)view.findViewById(R.id.gv_item_appname); ImageViewiv=(ImageView)view.findViewById(R.id.gv_item_icon); //tv.setText(packageInfos.get(position).packageName); tv.setText(menuString[position]); iv.setImageResource(mThumbIds[position]); switch(position){ case0: //添加点餐监听器 view.setOnClickListener(shoppingLinstener); break; case1: //并台监听器 view.setOnClickListener(cartLinstener); break; case2: //添加转台监听器 view.setOnClickListener(ordersLinstener); break; default: break; }4.4更新界面4.4.1功能描述此功能按键主要是为了更新最新的菜单。让顾客实时保持本店菜品的新颖程度。4.4.2界面设计在Tomcat服务端,在管理员进入后台管理界面后,可以进行基本操作、客户管理、商品管理、订单管理等操作,具体如图4-5菜品更新界面所示。图4-5菜品更新界面4.4.3功能实现这个功能分为前台页面展示和后天处理,前台页面展示是主要是采用html技术实现,后台主要是系统将前台的数据采用post方式提交到后台的servlet以后进行处理,最后更新数据库。4.4.4关键代码<formaction="<%=path%>/HaddGoodsServlet"name="formAdd"method="post"enctype="multipart/form-data"><tablewidth="98%"align="center"border="0"cellpadding="4"cellspacing="1"bgcolor="#CBD8AC"style="margin-bottom:8px"> <trbgcolor="#EEF4EA"> <tdcolspan="3"background="<%=path%>/images/wbg.gif"class='title'><span>餐品录入</span></td> </tr> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"><tdwidth="25%"bgcolor="#FFFFFF"align="right">餐品名:</td> <tdwidth="75%"bgcolor="#FFFFFF"align="left"> <inputtype="text"name="name"size="20"/></td> </tr> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdwidth="25%"bgcolor="#FFFFFF"align="right">图片:</td> <tdwidth="75%"bgcolor="#FFFFFF"align="left"> <inputtype="file"name="pwd"size="20"/></td> </tr> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdwidth="25%"bgcolor="#FFFFFF"align="right">价格:</td> <tdwidth="75%"bgcolor="#FFFFFF"align="left"> <inputtype="text"name="price"size="20"/></td> </tr> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdwidth="25%"bgcolor="#FFFFFF"align="right">库存数量:</td> <tdwidth="75%"bgcolor="#FFFFFF"align="left"> <inputtype="text"name="count"size="20"/></td> </tr> <tralign='center'bgcolor="#FFFFFF"onMouseMove="javascript:this.bgColor='red';"onMouseOut="javascript:this.bgColor='#FFFFFF';"height="22"> <tdwidth="25%"bgcolor="#FFFFFF"align="right"> </td> <tdwidth="75%"bgcolor="#FFFFFF"align="left"> <inputtype="submit"value="提交"/> <inputtype="reset"value="重置"/></td> </tr></table></form>4.5结账界面4.5.1功能描述结账界面:点击结账按钮以后会跳转到下一个界面用来总计消费金额及详细款项,一目了然,方便顾客查账。4.5.2界面设计用户在Android客户端生成订单之后,可以进行支付订单,选择需要的支付方式进行支付,如图4-6配送支付界面所示。图4-6配送支付界面在Android客户端,完成订单之后,用户可以登录自己的账号,查看自己的订单,如图4-7查看订单界面所示。图4-7查看订单界面4.5.3功能实现结账实现的主要代码:从服务器获得订单编号,显示总计消费金额,再点击结算按钮以后,通过payBtn.setEnabled(false)方法就会是结算按钮失效,不能再次点击生效,这也是为了是否结算更加明了,不易让顾客和商家出现多次结账的错误。也是人性化设计的一方面。4.5.4关键代码lickListenerpayListener=newOnClickListener(){//结算监听器publicvoidonClick(Viewv){StringorderId=orderIdEt.getText().toString();//获得订单编号Stringurl=HttpUtil.BASE_URL+"servlet/PayMoneyServlet?id="+orderId;//请求服务器urlStringresult=HttpUtil.queryStringForPost(url);//获得查询结果Toast.makeText(PayActivity.this,result, //显示结算结果Toast.LENGTH_LONG).show(); payBtn.setEnabled(false);//使结算按钮失效 }};第五章测试5.1测试的作用和意义在系统的开发周期中,系统测试时一个不可缺少的重要组成部分。虽然审查系统开发周期的各个阶段时都十分严格,但仍然难以避免错误的发生,如果投入运行前的系统测试阶段没有发现这些错误,这些错误迟早会发现,到那时候将会付出更大的人力、精力来纠正。系统测试要花费很大的时间、人力、精力。经调查,较大规模系统的发现,整个软件开发工作量的40%-50%都会用来进行软件测试。而且如果开发的系统很大很重要,测试要花费更多工作量和成本。5.2测试方法对软件进行测试的主要方法有人工测试与机器测试。一般源程序通过编译后,首先人工对其进行测试,然后再用机器对其进行测试。人工测试的目的就是用来检查程序的静态结构,发现编译中难以找到的问题。而机用器进行测试则是用之前设计好的例子,将运行的结果和预期的结果进行对比从而发现问题。人工测试分为个人复查、走查与会审。机器测试可分为黑盒测试与白盒测试。就这个手机网上订餐系统而言,每次写完一个模块,就对这个模块进行测试,有时在写完一个相对独立的程序时,也会对此进行测试。在完成整个系统时,用人工测试的方法完成测试,理顺整个系统的逻辑关系,并检查软件功能的实现与否,与需求分析的功能做对比,检查功能的完善性。5.3测试内容登录模块测试表5-1登录模块测试输入/操作期望的输出/响应实际情况登录检测输入正确的用户名和密码正常登陆输入错误的用户名和密码提示密码错误用户名或密码为空提示用户名或密码为空点菜模块测试表5-2点菜模块测试输入/操作期望的输出/响应实际情况点菜检测在屏幕上输出已选择的菜品在屏幕上输出正常(3)可选菜品信息模块表5-3可选菜品信息模块测试输入/操作期望的输出/响应实际情况可选信息检测进入可选信息页面时,显示所有可菜品信息进入页面时显示所有的可选菜品信息(4)生成订单信息模块表5-4生成订单信息模块测试输入/操作期望的输出/响应实际情况生成订单信息检测进入订单信息页面时,显示所点的菜品进入页面时显示所有的已定菜品信息(5)可选菜品信息模块输入/操作期望的输出/响应实际情况结账信息检测进入结账信息页面时,显示所点菜品的价格进入页面时显示所点菜品的价格表5-5结账模块测试5.4测试结果(1)服务器正常启动后,在客户端用户能正常登录到菜品界面,当用户名、密码出错时,系统能够给出相应的提示。当服务器没有启动时,系统会给出“网络异常”的提示。(2)用户在点菜时,系统会给用户提供所有菜品来点。(3)系统在显示所点菜品时,显示良好,可以显示所点的数量及种类。(4)系统在显示订单时,会给出所有的订单信息,包括顾客电话,地址及所有的菜品,给用户带来方便。(5)系统在显示结账时,显示详细的订单情况和支付订单的方式。(6)系统的界面良好,可操作性良好。5.5测试结论在测试过程中,系统还存在一些问题,如:客户端的登录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论