软件工程专业 基于Android的咖啡厅点餐系统设计和实现_第1页
软件工程专业 基于Android的咖啡厅点餐系统设计和实现_第2页
软件工程专业 基于Android的咖啡厅点餐系统设计和实现_第3页
软件工程专业 基于Android的咖啡厅点餐系统设计和实现_第4页
软件工程专业 基于Android的咖啡厅点餐系统设计和实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

目录TOC\o"1-3"\h\u3363摘要 III8830Abstract IV3656第一章绪论 181361.1背景及意义 190541.2国内外发展状况 131461.3论文主要工作 1252611.4本文组织结构 210109第二章相关技术 320181第三章系统需求分析 5200683.1总体业务描述 5107923.2功能性需求分析 556243.2.1基于Android的咖啡厅点餐系统的客户端 5271033.2.2基于Android的咖啡厅点餐系统的服务端 6107703.2.3系统数据流图 7286563.4非功能性分析 872693.5本章小结 910376第四章系统详细设计 10277844.1系统架构设计目标 10206084.2系统功能结构 1064374.3数据库设计 1151834.4功能详细设计 16193954.4.2客户端实现 16294184.4.3服务端实现 17316934.5本章小结 1828623第五章系统实现与测试 1927425.1系统功能实现 19113745.1.1登录模块实现 19108665.1.2咖啡厅菜单模块实现 1960335.1.3在线下单模块实现 21104045.1.4我的订单模块实现 225875.1.5服务端模块实现 23194925.2系统测试 24127675.2.1客户端功能测试 24322135.2.2服务端功能测试 25173555.3本章小结 2730540第六章总结与展望 281736参考文献 2911723致谢 30基于Android的咖啡厅点餐系统摘要随着科技进步,传统意义上的手机正在被飞速的淘汰,再加上智能手机的普及率也在加速增长,智能手机的应用软件发展前景极其可观。智能手机能够如此迅速的发展,原因之一是能够随时随地的利用互联网,且智能手机便于携带。为了解决在任何情况下都能上网的问题,将应用系统拓展到手机终端上,这也就是智能手机的发展历程。由于智能手机功能强大,在一定程度可代替电脑,再加上操作简单、用户量大,智能手机应用软件也得到了快速发展。本课题旨在设计一个具有前台点餐功能和后台信息管理功能的咖啡厅系统,系统客户端实现菜单查询、在线下单、人工服务、订单查询、个人信息管理等功能;系统服务端实现对相关信息的管理,主要包括菜单、订单、原材料、类型、人工服务等信息,除此之外,为了便于管理人员对销售信息的统计,还有报表统计的功能。本系统的开发与设计的目的主要是为到店用餐用户提供简洁、便于使用的在线点餐系统,同时也为咖啡厅管理人员对咖啡厅销售信息的管理提供了便利。本文主要是对系统开发背景和意义、设计和实现、测试等工作作了描述,以便能够更加具体的了解和运用本系统[1]。关键词:手机软件,Android,智能系统,在线点餐CoffeeorderingsystembasedonAndroidAbstractWiththedevelopmentofscience,technologyandtherapidpopularizationofsmartphone,thetraditionalsenseofthephoneisbeenquicklyeliminated.Therefore,theapplicationandtheservewillhaveapromisingprospect.Smartphonescandeveloprapidly,oneofthereasonsistousetheInterneteverywhereandsmartphonesiseasytocarry.InordertosolvetheproblemwhichcanusetheInterneteverywhere,theapplicationsystemwillbeextendedtothemobileterminal.Itisthedevelopmentofsmartphones.Duetothesmartphoneispowerfulitcanreplacethecomputerinsometimes.Becauseofsimpleoperating,largenumberofusers,smartphoneapplicationsoftwarehasbeenrapiddevelopment.Thepurposeofthisprojectistodesignacoffeesystemwithfunctionwhichisorderingonlineintheclientandmanaginginformationintheservice.Thesystemclientsupportsmenuquery,onlineorder,manualservice,orderinquiry,personalinformationmanagementandotherapplications.Thesystemserviceprovidesinformationmanagement,includingorder,material,manualandotherfunctions.Inaddition,inordertofacilitatethemanagementofsalesinformationonthestatistics,therearestatisticalreports.Thepurposeofthedevelopmentanddesignofthesystemistoprovidesimpleandeasy-to-useonlineorderingsystemforusers.Itisalsoconvenientforthemanagementtomanagesalesinformation.Inordertobeabletounderstandanduseofthesystem.Thisarticleismainlydescribingbackground,significance,designandimplementation,testingandotherworkofthesystem.Keywords:mobilephonesoftware,Android,intelligentsystems,onlineordering第一章绪论1.1背景及意义由于科技飞速发展,传统意义上只能打电话发短信的手机在不断地被淘汰,随之而来地是智能手机使用率的极速增长。由于基于Android的智能手机相对于别的平台的智能手机来说,开发商数量大、价格相对便宜,用户量也最为庞大,也因此Android平台相较于其他智能手机平台市场占有率最高。Android占据智能手机操作系统最高使用率的原因之一是由于Android平台是开源的操作系统,所以开发者在开发过程中,根据需求,开发人员可以对系统源代码进行查看;另一个原因是Android的主要采用的开发语言是Java,具备了Java语言所具有的有点。此后生活方式也随着科技进步的脚步发生了变化,因此在Android平台上开发用以在日常生活中使用的软件是非常必要的。传统的咖啡厅工作主要为手工作业,基本都需要服务人员进行一对一的服务,这样的工作流程在实行过程中比较容易出错,降低顾客对咖啡厅的用餐享受。随着智能手机大范围的占有手机通讯市场,近年来Android应用软件目前的发展堪称是形形色色,涉及到多个行业,比如在线支付、出租车行业、购物方式等,Android应用软件的开发也因此而开发人员的推崇。本系统通过采用Android技术实现了用户在线点餐,其设计与实现旨在为顾客与咖啡厅管理人员提供方便,也为咖啡厅节约人力、财力等资源[2]。1.2国内外发展状况计算机技术的实际应用已经影响到人们生活的方方面面,比如出行方式、付款方式、就餐方式等。在当今信息化时代,计算机作为信息传递的重要媒介,所以发展计算机技术尤为重要。但我国当前饮食业管理系统的现状不容乐观,尤其是小型餐馆,由于资金缺乏,受到传统思想的束缚,大部分还是依靠手工作业。信息资源的限制与需求不足的问题并存,不仅造成经济上潜在的浪费,还直接影响到我国饮食业的整体服务水平。国内餐饮业的管理理念与经营方式因为管理人员被自己知识面的限制,都比较趋于传统,与当前国际形势上先进的管理系统相比,存在着不小的差距,尤其是中小型的餐厅的管理。为了在将来餐饮行业能够有更好的发展,就势必要开发出具有自身特点、符合中国使用习惯的点餐系统,这样才能满足国内餐饮管理信息化发展的需要,也是紧随时代进步的步伐。1.3论文主要工作本系统客户端为用户在线点餐、选座提供支持,服务端为餐厅管理人员提供订单信息、用户信息、菜品信息等,便于餐厅管理人员或客户对相关信息进行管理。在本系统的开发设计与实现的过程中,都是依据软件工程对软件开发的要求,依照严格的设计思维,并且全方面的分析用户需求,以不同的功能划分模块,进而完成了基于Android的咖啡厅点餐系统的需求分析和数据模型建设。本系统的主要使用Java作为开发语言,后台信息管理使用MySQL系统对数据进行存储和管理。本系统在开发过程中严格按照软件工程的中对软件开发的标准和规范,从最初对系统进行需求分析、概要设计,到后期对系统进行详细设计、编码等过程都符合软件开发的标准。在对系统进行需求分析时,主要使用统功能图描述系统总体功能结构,用用例图描述系统中用到的方法与类,用数据流图与E-R图对系统数据库设计进行描述。在相关技术进行介绍时,主要介绍开发本系统在设计与实现中所采用的一些技术和常用的框架,对本系统的开发做好最基础的准备。系统在设计与实现的过程中,依据系统需求分析,对系统的设计目标、原则、采用的相关技术、系统布局等内容作了设计。1.4本文组织结构本文分为六章,具体的系统设计和实现内容,都在以下章节中:绪论,本章主要是简单的论述了本课题的研究背景、意义以及实现本系统的主要工作。相关技术,本章主要介绍了在系统设计与开发过程中所使用的知识。系统需求分析,本章主要对系统进行需求分析的描述。第4章系统详细设计,本章主要包括系统设计过程和思路,对系统的建模也做了一定说明。系统实现与测试,对系统的一部分具体功能模块的实现与系统部分功能的测试进行简单的阐述。总结与展望,本章主要总结本系统所遇到的困难以及目前存在的缺陷。第二章相关技术1.JSP开发技术JSP即是Java服务器页面,JSP的本质是简化Servlet设计,是由SunMicrosystems公司发起,然后由多家公司参与建设的,基于JavaServlet的标准的动态网页开发技术,在Java技术上开发的JSP实现了动态网页与静态网页的分离,先编译后运行的方式也提高了执行的效率[3]。JSP的特征是面向互联网,除此之外,还具备了Java简单、使用便利、面向对象、平台独立和安全可靠的特性。JSP的技术的基础JavaServlet,大型Web应用程序开发基本都须要JavaServlet与JSP的配合[4]。2.MySQL数据库数据库MySQL是一种关联数据库管理系统,在对MySQL数据库设计时,数据被保存在不同的表中,这样就可以更加快速和灵活的访问数据库。MySQL数据库的特点如下:(1)是开源的数据库,在开发过程中不用为额外的费用支付。(2)支持大型数据库,可以处理具备上千万条记录的数据库。(3)在设计数据库的过程中采用的是标准的SQL数据语言格式。(4)可以允许于多个系统上,并且支持多种语言。(5)自定义功能,使用GPL协议,在开发中能够修改MySQL数据库的源代码。在系统开发过程中,只要在项目中部署MySQL相关jar包,配置好链接驱动,就可以对MySQL数据库进行操作。在本次开发中,为了方便操作,使用图形管理工具navicat来管理数据库[5]。3.Android系统Android是以Linux与JAVA为基础的开源操作系统,采用了分层的架构方式,一般被使用与便携设备,如手机、平板电脑等设备。Android系统在开发过程中,可以使用Intent来协助完成Android组件之间的通讯。Activity主要的功能是展示可视化用户界面,Android系统对控制Activity的生命周期进行控制。Service的功能是保存和检索数据,实现跨应用程序共享数据[6]。ServletServlet(ServerApplet),是在服务器上运行的小程序。主要的功能有:交互式地浏览、修改数据,并且生成动态Web页面。(1)客户端将请求发送到服务器端;(2)服务器又将接收到的请求信息发送到Servlet;(3)由Servlet产生响应内容并将结果传给服务器;(4)服务器将接收到的响应结果,并将结果返回给客户端。理论上,客户端任何类型的请求都能被Servlet响应,而在大多数功能的实际设计过程中,Servlet只用来扩展基于HTTP协议的Web服务器[7]。5.HibernateHibernate即是对象关系映射框架,源码是开放的,它对JDBC对象的封装是十分轻量级的,把数据库的内容对象化是Hibernate的主要技术特点,每一条记录与一个对象的实例对应,这样就使Java程序员能随心所欲的运用对象编程思维去操作数据库。Hibernate即是对象关系映射框架,源码是开放的,它对JDBC对象的封装是十分轻量级的,并且JDBC在任何场合都可以使用Hibernate。把数据库的内容对象化是Hibernate的主要的技术特点,每一条记录与一个对象的实例对应,这样就使Java程序员能随心所欲的运用对象编程思维去操纵数据库。其优点有:(1)对JDBC进行封装,减少重复的代码。(2)DAO层编码简化,开发更面向对象。(3)可移植性,可应用在各种数据库中,在开发过程中,需要换数据库只需在配置文件中配置文件即可。具有透明持久化,没有侵入性。hibernate操作的对象是纯粹的java类,在使用的过程中,没有实现任何接口。Hibernate的配置文件只要任务是负责与数据库进行连接,包括数据库所在服务器的ip端口、用户名、密码,以及应用数据库的语言等,一般以xml后缀模式存在[8]。第三章系统需求分析3.1总体业务描述基于Android的咖啡厅点餐系统具有简洁的界面风格和完善的功能,本系统的用户有餐厅管理人员、客户,开发本系统旨在为管理人员和点餐的客户提供了更为方便的服务,同时对比于纯粹的手工操作,咖啡厅日常工作的效率也能够得到提高。咖啡厅点餐系统主要是为了便于客户点餐,也为咖啡厅管理人员对咖啡厅的管理提供了便利。本系统具有客户端和服务端,客户端主要功能是方便客户到店点餐工作,服务端主要功能是管理员对用户和餐厅点餐等情况的管理。主要功能有:菜单查询、在线下单、人工服务、菜单管理、原材料管理、用户管理、人工服务管理、订单管理、报表统计等功能。3.2功能性需求分析基于Android的咖啡厅点餐系统可以为餐厅管理人员提供良好的信息管理功能,可以最大程度的为来店中用餐的人提供方便,同时也为管理人员节省了一定的人力资源,本系统按照功能的不同,本小节将采用用例图、数据库图做详细的说明。3.2.1基于Android的咖啡厅点餐系统的客户端本系统模块包括登录、注册、菜单查询、详情查询、在线点餐、选择座位、我的订单、人工服务、个人信息等功能。本模块的参与者为到店用餐的客户,用户进入详情查询可以选择数量,然后下单;用户登录成功,即可使用本系统,若是第一次使用本系统,需要在注册模块注册账号;使用人工服务功能选择服务桌号,也就是选择座位;在我的订单信息中,若是订单没有完成,用户可以取消订单;用户可在个人信息模块中修改自己的相关信息。客户端用例图如图3.1所示:图3.1客户端用例图对以上用例图用例描述如下:(1)菜单查询:用户查询咖啡厅菜单信息;(2)详情查询:即是对菜品信息的详情介绍,包括菜品的价格、详细介绍以及咖啡厅目前菜品所剩余总数量;(3)在线点餐:用户选择菜品,输入相关信息,实现在线点餐;(4)选择座位:用户在使用人工服务时选择服务桌号,实现了选择座位的功能;(5)我的订单:用户访问个人订单信息,当订单状态是“进行中”时,用户长按该订单,取消订单;(6)人工服务:当需要了解具体情况,用户可以呼叫服务员面对面服务;(7)个人信息:用户在此模块修改个人相关信息,包括用户名、账号、密码等。3.2.2基于Android的咖啡厅点餐系统的服务端本系统模块包括登录、菜单管理、用户管理、人工服务、原材料管理、订单管理、报表统计等功能。管理员可以对咖啡厅的相关信息进行管理,可以修改订单状态,对于呼叫人工服务的用户,管理员可以将已经服务的信息修改成已服务,报表统计可以对咖啡厅销售情况进行统计。服务端用例图如图3.2所示:图3.2服务端用例图对以上用例图用例描述如下:菜单管理:本功能用于咖啡厅管理人员对本店菜品的基本信息录入和管理操作,包括添加、修改、查询和删除菜品相关信息,系统对操作的结果给出相应提醒,使得管理人员可以清楚知道自己操作的结果;(2)原材料管理:本功能用于咖啡厅管理人员对本店菜品的原材料基本信息录入和管理操作,当原材料数量少于系统规定数量,系统会予以提醒,咖啡厅管理人员可据此及时补充原材料;(3)人工服务管理:本功能用于咖啡厅管理人员对到店用餐客户使用人工服务管理工作,包括将人工服务信息设置为已经完成服务,若是订单已经被取消或者已经完成较长时间,可将该次人工服务信息记录删除;(4)订单管理:咖啡厅管理人员在此模块对订单信息进行管理,也可改变某条订单的状态信息;(5)用户管理:本功能用于咖啡厅管理人员对本店用户信息的管理,包括删除用户或者修改用户信息,管理人员可以删除长时间不到点用餐的用户信息,还可对用户信息进行修改;(6)报表统计:本功能用于咖啡厅管理人员对本店销量进行统计,便于管理人员对咖啡厅的管理作出相应的调整。报表统计主要包括菜品种类销量统计与按时间销量进行统计,报表可以根据订单的变化动态变化[9]。3.2.3系统数据流图管理员登录系统后,可对菜单、用户、原材料等信息进行管理,用户在客户端可进行菜单查询、在线下单、人工服务、修改个人信息、订单查询等操作。咖啡厅点餐系统顶层数据流图如图3.3所示,当用户通过客户端或浏览器对系统进行操作时,客户端与服务端的浏览器向服务器发送HTTP请求,通过JavaWeb服务器(本系统采用Tomcat7.0部署系统项目)处理数据,并且将请求结果返回到浏览器界面。图3.3顶层数据流图对顶层数据流细分,系统一层数据流如图3.4所示:图3.4一层数据流图服务器对来自客户端或服务端的请求做出响应,根据请求做出相应处理,将信息显示传回客户端或服务端[10]。3.4非功能性分析前面小节对本系统的功能性需求作了详细分析,并对数据流做了一定的阐述,本小节将对基于Android的咖啡厅点餐系统非功能性需求进行分析。本咖啡厅点餐系统的非功能性需求包括:可靠性、适用性。可靠性:是指系统能够在规定的条件和时间限制内完成对用户操作的响应,也是系统操作人员在对系统操作或系统相关硬件服务出错时具有处理相应错误的能力。本咖啡厅点餐系统的可靠性要求系统在出现故障或系统人员错误操作后数据是否可支持恢复,系统能否对错误操作做出及时的处理或提示,平均故障发生率不能超过3次/月。适用性:为了让用户能尽快地将系统投入使用,在开发的过程中简单快速的通过完成系统业务流程,并不断模拟点餐业务实际流程,做到系统的使用与现实相对应。本系统的扩展性强,在系统架构方面提供了良好的扩展接口,为系统集成做好了准备。3.5本章小结本章通过需求用例图、数据流图对系统的功能性需求进行描述,对系统需求有了较深的了解,为开发做好了充分准备。除此,本系统除在非功能性需求部分考虑到了可靠性、适用性,还分析了系统的吞吐量、可容纳客户同时在线使用的数量以及事务的处理数、系统操作响应时间等。第四章系统详细设计4.1系统架构设计目标本系统通过智能手机进行在线下单,本咖啡厅点餐系统后台管理可以进行销量统计,代替了传统的人工服务、手工记账方法,有效地减少了财务查询、增加、修改等操作的时间,提高工作效率和管理质量。本系统具有客户端和服务端两个功能模块,客户端的主要功能收集数据并将显示信息出来,其工作原理采集用户输入的信息,并将采集到的信息发送到服务端的Servlet上,当Servlet接收到信息后,对数据库进行相应的操作,最后将结果发送回客户端,客户端显示出相应的信息。对于当前的在线点餐系统的实际情况,本系统的具有以下目标:(1)界面美观,操作简易,可以减少工作量,使系统的使用与维护更加方便。(2)时时同步,顾客可以查询到咖啡厅最新菜单信息。(3)具有完善的系统功能,对用户的操作能及时响应。4.2系统功能结构在本系统中,客户端主要功能是到店点餐用户用于点餐、选座、人工服务等,服务端用于咖啡厅管理人员对咖啡厅进行日常管理工作,主要是对咖啡厅的相关信息进行管理,包括菜单、人工服务、原材料、订单、用户等信息还具有报表统计的功能[5]。系统功能结构图如图4.1所示:图4.1总体功能结构图4.3数据库设计1.建立概念模型概念模型是对信息世界的建模,也是从现实世界到机器世界转变的过程,又是在设计数据库过程中运用的最强大的工具。概念模型能方便、直接地表达应用中的语义知识,除此之外,还具有简单、清晰、易于用户理解的特性。E-R图(实体-联系图)常被用来表示概念模型,在画E-R图时,矩形被用来表示实体、椭圆代表属性、菱形被用来表示联系,在使用时需要在矩形框内、菱形框内分别写明实体名、明联系名,将实体型与属性连接起来可表示该实体所具有的属性,实体与实体之间的关系可用联系与之连接起来,同时还需要在线条上标注联系的类型[11]。(1)本系统所拥有的实体有:用户、管理员、菜单、原材料、人工服务、订单、菜品所属类型等。(2)各个实体的属性如下列图所示:管理员属性如图4.2所示:图4.2管理员属性图原材料属性如图4.3所示:图4.3原材料属性图菜品属性如图4.4所示:图4.4菜品属性图人工服务与其属性如图4.5所示:图4.5人工服务属性图菜品所属类型属性如图4.6所示:图4.6类型属性图类型属性如图4.7所示:图4.7用户属性图订单属性如图4.8所示:图4.8订单属性图通过以上对系统的分析可知,管理员与用户之间是1:n的关系,管理员与菜品、订单、原材料、人工服务、所属类型是m:n的关系。系统数据库整体E-R图如图4.9所示:图4.9系统数据库整体E-R图2.建立关系模型本系统在设计中一共有7个数据库表,每个表的详细设计如下所示:(1)管理员表:管理员信息表的字段包括管理员用户名、登录所使用的账号、密码,其中id为主键,根据数据库设计,id能够自动递增。用户表如表4.1所示:表4.1admin表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2loginidvarchar255是登录账号3passwordsvarchar255是登录密码(2)菜单表:菜单信息表记录了菜单相关信息,包括菜品id、名称、菜品所属类型的id和名称、对菜品的详细介绍、图片、价格、咖啡厅剩余数量、所使用原材料等信息,菜品id可以自动递增。菜单表如表4.2所示:表4.2dishes表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2titletext是菜品名称3shopidint11是外键类型id4typenametext是类型名称5introtext是详细介绍6img_urlvarchar255是图片7pricedouble11是价格8amountdouble11是数量9burdennamesvarchar原材料10burdensvarchar外键原材料id(3)订单表:此表中所包含的信息有:订单id、用户下单用户id和姓名、订单状态、菜品id、价格、购买的菜品数量、下单的时间等,其中菜品id是外键,主键订单id可以自动递增。订单表如表4.3所示:表4.3orders表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2useridint11是外键用户id3usernametext是下单人5statusint11是订单状态6dishesidint11是外键菜品id7pricedouble11是菜品价格8amountdouble11是菜品数量9createtimevarchar255是下单时间(4)类型表:类型信息表包括类型id、类型名称等信息,类型id可以自动递增。类型表如表4.4所示:表4.4shops表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2nametext是类型名称(5)用户表:用户信息表包括用户id、登录账号、用户姓名、密码等信息,用户id可以自动递增。用户表如表4.5所示:表4.5users表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2loginidvarchar255是登录账号3nametext是姓名4passwordsvarchar255是密码(6)人工服务表:人工服务信息表记录了人工服务相关信息,包括服务id、用户id、用户姓名、所需要服务的桌号、客户呼叫服务的时间等信息,用户id可以自动递增。人工服务表如表4.6所示:表4.6humanserrvices表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2useridvarchar255是外键用户id3usernametext是用户姓名4nosvarchar255是服务桌号5createtimevarchar20是呼叫时间6statusint255是服务状态(7)原材料表:原材料信息表包括原材料id、名称、以及咖啡厅仓库中目前原材料所剩余的数量等信息,根据数据库的设计,原材料id可以自动递增。用户表如表4.7所示:表4.7burdens表序号列名数据类型长度允许空备注描述1idint11否主键自动增加编号2nametext是原材料名称3stockvarchar255是剩余数量4.4功能详细设计4.4.2客户端实现客户端类图由系统实现过程中使用到的类以及类和类之间的关系组成,客户端所涉及的类有dishes、StartActivity、OrdersAdapter、DishesAdapter、orders、shops、AppConstant、CommonApplication、DishesListActivity等,由于篇幅原因,这里不给出类所继承的父类,只给出主要的类以及类之间的关系,客户端类图如图4.10所示:图4.10客户端类图4.4.3服务端实现服务端类图的组成是在系统实现中使用到的类和类之间的关系,服务端所涉及的类有UploadServlet、ServletService、SalesCount、HinbernateSessionFactory、GridServlet、users、humanservices,由于篇幅原因,这里不给出类所继承的父类,只给出主要的类以及类之间的关系[12],服务端类图如图4.11所示:图4.11服务端类图4.5本章小结本章对咖啡厅点餐系统的设计目标、系统架构、设计原则作了介绍,数据库设计和系统功能详细设计等。通过系统设计目标,确定系统开发的方向;设计原则为系统开发提供了约束条件,是系统开发所必须遵守的基本原则;数据库设计是实现系统功能过程中所必须的,是系统能正常交互的关键;系统详细功能设计为系统编码实现提供逻辑架构,是良好程序开发的基础。第五章系统实现与测试5.1系统功能实现5.1.1登录模块实现登录界面中,用控件EditText来获取登录时用户输入的账号和密码,点击Button跳转。点击登录按钮后客户端将登录请求以HTTP的方式输入的信息发送到服务器端进行验证,并将结果由返回给用户,登录成功用户直接进入到主界面;信息有误,服务器端验证失败提示用户登录失败,用户使用前需要注册才能拥有本系统的账号、密码等信息。本系统客户端具有记住密码的功能,本系统使用SharedPreferences来存储用户信息,便于下次登录。用户输入信息后,在登录前选择“记住密码”,并且退出系统时不注销登录,下次用户使用时直接自动登录,不需要再次输入用户的信息。功能实现如图5.1所示:图5.1客户端登录界面5.1.2咖啡厅菜单模块实现用户登陆成功后,跳转到系统的主界面,即可查询到当前咖啡厅的最新菜单信息。在本模块中,用ListView显示菜单信息,对系统当前菜品过多的情况,不易查找时,用户可点击页面中分类按钮查选择分类看某一分类的所有菜品。实现的核心代码: 本模块如图5.2所示:图5.2客户端菜单界面5.1.3在线下单模块实现用户点击菜品可以进入到详细的菜品介绍页面,该页面显示了所点击菜品的具体信息,用户下单前输入购买数量,点击“下单”按钮提交订单。实现核心代码:本模块实现如图5.3所示:图5.3客户端在线下单界面5.1.4我的订单模块实现客户端中,用户点击菜单键可查看属于用户本人的订单信息,订单信息包括菜品名称、下单数量、选择的座位、下单时间以及订单当前的状态。实现核心代码:效果如图5.4所示:图5.4客户端我的订单界面5.1.5服务端模块实现本系统服务端具有两个功能,具体内容如下:一是作为一个接口,把信息提供给客户端。主要实现过程是客户端通过对服务端的接口进行调用,访问数据库中的信息,并将相应信息显示在客户端上。二是动态维护咖啡厅相关数据信息,管理员可对菜单、用户、订单、菜单类型等信息进行增、删、查、改等操作,还可进行报表统计,统计咖啡厅的销量。咖啡厅后台管理信息界面如图5.5所示:图5.5服务端菜单管理界面为了便于管理人员对咖啡厅销量的统计,为了实现统计功能,引用JFreeChart来实现销量图表的统计功能,具体实现从数据库取出咖啡厅订单做一个统计,报表统计可以根据订单的生成而动态改变[13]。本模块如图5.6所示:图5.6服务端菜单管理界面5.2系统测试管理软件可以保证软件正常运转,减少用户的损失。随着软件的发展,对人类社会运转和发展有着划时代的意义,然而,也因为软件中的种种问题没有在未发生前解决而付出了沉重的代价,软件测试的目的是尽可能多地找出软件中所隐藏的问题。5.2.1客户端功能测试1.登录测试当登录信息输入错误时,系统给出登录失败的反馈,若是用户信息输入正确,成功登录,用户获取系统当前咖啡厅菜单。实现结果如图5.7所示:

温馨提示

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

评论

0/150

提交评论