基于Android平台的点餐系统设计毕业论文.doc_第1页
基于Android平台的点餐系统设计毕业论文.doc_第2页
基于Android平台的点餐系统设计毕业论文.doc_第3页
基于Android平台的点餐系统设计毕业论文.doc_第4页
基于Android平台的点餐系统设计毕业论文.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

changzhou institute of technology毕业设计说明书题目: 基于android平台的点餐系统设计 二级学院: 计算机信息工程学院 专 业: 计算机科学与技术 班级: 学生姓名: 学号: 指导教师: 职称: 评阅教师: 职称: 2014 年 6 月 摘要摘要 智能手机的普及已经使得它的触角伸向了人们生活中的方方面面:聊天,购物,信息查询以及娱乐,体现出了取代个人电脑的态势。目前android操作系统占据着智能手机60%的份额,并且呈不断上升的趋势,在这种情况下大量开发人员开始研发基于android平台的应用程序,这些应用程序更加地丰富了人们的移动生活。 各行各业都在积极地向信息科技靠拢,餐饮业也不例外,传统的点菜方式是纯人工操作,容易出错并且效率低下。本系统克服了这些缺点,用户可以使用android手机进行在线点餐,查看菜单,提交订单,订单信息直接传给后台,后台收到确认信息后进行相关服务,信息准确又便携,而且android手机价格也相对便宜。本文先对android操作系统进行了详细的分析,本系统软件设计主要用到android应用层框架知识。然后进行需求分析,对点餐流程和功能模块进行了分析。接着对功能模块详细设计,数据库设计,并用uml模型工具画了相关图进行展示。最后对本系统进行了系统环境搭建和软件测试。关键词: 点餐;智能手机;android;便携设备abstarctabstractthe popularity of smart phones have made it into every aspect of life: chatting, shopping, information query, and entertainment, and reflects the instead of the personal computer. android now occupy 60% share of the smartphone operating system, and the rising trend, in this case, a large number of developers began to develop applications based on android platform, the application more enriched peoples mobile life.all walks of life are actively to the information technology, the restaurant industry is no exception, traditional way of order is pure manual operation, prone to errors and low efficiency. this system overcomes these shortcomings, the user can use the android mobile phone online order, see the menu, submit orders, order information directly to the background, the background after receiving the confirmation for related services, information accurate and portable, and android mobile phone price is relatively cheap.the article first analyze the android operating system in detail. this system software design mainly use the knowledge of android application layer framework . then demand analysis, the order process and function modules are analyzed. then the detailed design of function module, database design, using uml modeling tools to draw relevant chart to display. finally we carried on the system environment of this system and software testing.keywords: order food;intelligent phone; android;online 目录目录第1章 绪论11.1课题研究背景及意义11.2课题可行性分析21.3论文框架安排3第2章 开发语言及框架介绍52.1 开发工具及环境52.2 android系统72.3应用框架9第3章 开发环境搭建113.1 搭建android开发环境113.2 jsp 开发环境搭建13第4章 系统需求分析174.1 功能需求分析174.1.1用例分析174.1.2点餐业务流程:184.1.3点餐系统模块:18第5章 系统概要设计215.1结构设计215.1.1客户端结构设计215.1.2 服务器端结构设计265.2服务端数据库设计27第6章 系统详细设计316.1 客户端模块详细设计316.1.1客户端登陆注册模块316.1.2客户端点餐模块316.1.3客户端选座位模块326.1.4查看订单336.2服务器端模块详细设计336.2.1管理员登录346.2.2菜谱管理346.2.3用户管理356.2.4订单管理356.2.5分组管理356.2.6餐桌管理35第7章 系统实现377.1客户端系统实现377.1.1 登录模块实现377.1.2 菜谱模块实现387.1.3选菜407.1.4选择座位407.1.5底部菜单栏427.1.6修改密码427.1.7查看订单427.1.8取消订单437.2服务器端系统实现437.2.1系统管理员登陆437.2.2菜单管理447.2.3用户管理447.2.4订单管理457.2.5分组管理457.2.6座位管理46第8章 总结与展望47致 谢49参考文献51i第1章 绪论第1章 绪论1.1课题研究背景及意义智能手机的普及已经使得它的触角伸向了人们生活中的方方面面:聊天,购物,信息查询以及娱乐,体现出了取代个人电脑的态势。目前android操作系统占据着智能手机60%的份额,并且呈不断上升的趋势,在这种情况下大量开发人员开始研发基于android平台的应用程序,这些应用程序更加地丰富了人们的移动生活。 今天我们生活在充满数字的时代,随着gprs、cdma1x、蓝牙、wlan等无线技术的突飞猛进,移动生活、移动办公逐渐由概念转为现实,信息数据随手可及。对于传统的餐饮业而言,也在潜移默化中感受到无线网络的无穷魅力。android是一种基于linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由google公司和开放手机联盟领导及开发。2013年的第四季度,android平台手机的全球市场份额已经达到78.1%。2013年09月24日,谷歌开发的操作系统android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。android平台是一个面向大众的系统,分布在低端,中端和高端市场中,在各个阶段的是市场中都有很受欢迎的机型,并且android是开源的,开发者随时都可以查看系统源代码,并且使用时下最流行的java作为其主要的开发语言。由于这些特点,使得android成为现在市场占有量最大的软件平台,在这样的平台上面开发一款独特的日常生活软件尤为必要的。各行各业都在积极地向信息科技靠拢,餐饮业也不例外下面,餐饮传统的点菜方式是纯人工操作,由服务员记录顾客点的菜,其单据一式四联。第一联:送到吧台,用于为顾客准备酒水。顾客用完餐后,用于统计顾客的总消费。第二联:送厨房传菜员,用于为顾客送菜,送一道菜后,在该项上画勾第三联:送厨房配菜员,用于配菜第四联:顾客保留。服务员上完一道菜后,在该项上画一对勾以免发生错菜漏菜的情况。同时可以方便用户检查结算结果是否正确上述管理方式虽然很严谨但仍存在一些弊端,如人工传递浪费时间,效率低下,直接影响了翻台率;经营大规模菜系时单据多、信息量大,而分单、传菜等环节经过的人越多越容易出问题。因而直接影响了服务质量;统计营业额时只能采用手工的方式,财务无法保证有效的监督管理机制。在具体工作中还容易出现以下问题:手写单据字迹潦草从而导致上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐。处理特殊口味有遗漏和偏差、客人催菜遗忘现象较频繁、计算账单易出错、不方便人员管理等等。这些问题虽说都不是很大,但却或多或少地限制了各餐饮企业的进一步壮大和发展。正因如此,无线点餐模式应运而生。它不仅可以有效地提高餐饮业的工作效率,更可以规范服务体系,提高整体服务质量和管理水平,并为规模化经营提供了坚实的技术基础。1.2课题可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。系统的可行性分析主要包括经济上的可行性,技术上的可行性,操作上的可行性和法律上的可行性。1.经济可行性该款基于android系统 的无线点餐系统,点餐过程无需工作人员干涉,可为顾客提供一 种宽松的点餐环境,同时可为餐厅节约人力成本,实现点餐的 流程化。与传统的点菜方式相比,基于android平台的点餐系统有许多的优势。具体表现在如下几个方面:(1)降低运营成本:整个点菜过程不需要服务员的参与,可由客户自行完成,餐厅可根据需求适当缩减工作人员规模,从而有助于降低餐厅的运营成本。(2)提高工作效率:数据统计,通过app点菜付钱,每位客人店内平均少停留15分钟左右。”优先点菜副总裁许文杰告诉记者,对于消费者,这样点菜环节更透明化,等待排队的时间也不会那么难熬;对于餐厅,这能提高翻桌率;(3)降低出错率:传统方式均由客户点菜,服务员进行记录再传送到前台进行下单,该过程极其容易出错,经常出现点菜错误的情况,而基于android平台的点餐系统的点菜过程为顾客选择,服务员下单,基本不会出现点菜错误的清况。(4)可满足客户的各种需求,有助于提高餐厅的品牌形象:基于android平台的点餐系统可满足不同客户的需求,对于不愿意进行自助点餐的客户,服务员可通过在自己手机上安装点餐系统来协助客户完成点餐。同时基于android平台的点餐系统的应用,会吸引更多的年轻客户来餐厅进行消费。目标系统开发经济需求的比较低,加上具有成熟的android平台以及十分普及手机设备,所以在软硬件的支出上十分有限。而且,目标系统并是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发成后,通过测试和、试运行和实际应用后,将很大程度上提高手机管理软件系统的科学性和高效性,在为人们带来便利的同时,也为系统的进一步推广、创新创造了条件,这带来的经济回报将远超过支出,并且最重要的一点是通过该系统的开发,可以使我们进一步理解软件工程思想和软件开发流程,为从事软件开发工作打下很好的基础,从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。2.技术可行性本系统使用android技术进行开发,发展到现在,android已经算是一个较成熟的平台了,现在有越来越多的企业及技术人员选择它作为开发平台。因此,在技术上是完全可以胜任这个平台的开发。android开发平台是由谷歌与开放手机联盟合作开发的一个开放、自由的移动终端平台,它由操作系统、中间件、应用软件三部分组成。该平台备有完善的程序开发环境,包括模拟器、除错工具、程序执行所耗用存储器、性能评介等功能。3.操作可行性本系统用户只要有一台android手机,就可以使用了,系统是由的操作都是用户熟悉的选择框或者按钮等等。所有的操作通过手机就可以完成,用户不需培训,只要稍微提示一下即可。因此,在操作使用上,本系统简单、方便,易于使用户接受,因而是十分可行的。4.法律可行性由于本系统是在相关法律法规下实施完成的,所以不存在任何法律问题,在法律上是完全可行的。综合考虑经济、技术、操作和法律等方面的因素,该手机软件管理系统可以开始进行。1.3论文框架安排本文详细介绍了基于android点餐系统的设计实现全过程。从开始到程序设计的实现,将在一下的几章中予以介绍:第1章 绪论,这一章主要是对本次毕业设计所开发的系统进行问题的定义,通过问题的定义明白需要做些什么,并且对开发内容简单的介绍了一下;同时本章还对课题的研究背景与研究意义进行分析,对开发本系统的可行性分析还有对论文各章内容的简要介绍。第2章 开发语言介绍,对涉及到的理论知识和用到的开发工具做相关阐述。第3章 搭建android开发环境,包括客户端和服务器端开发环境搭建。第4章 点餐系统需求分析,对点餐功能进行了需求分析,包括点餐流程,和需要的功能模块。第5章 系统概要设计,先分析了系统的物理架构,主要介绍了本系统的整个设计过程、设计思路。第6章 点餐系统详细设计,主要介绍了本系统客户端和服务器端功能模块的详细设计。第7章 系统实现与测试,主要对系统功能进行了软件测试,同时也介绍了测试在软件开发环节中的重要性和给出本系统的测试过程与结论。第8章 总结与展望,总结了近两三个月的做毕业设计过程中的一些心得和体会,最后做了展望。最后:致谢、参考文献。51计算机信息工程学院毕业设计说明书第2章 开发语言及框架介绍第2章 开发语言及框架介绍本章主要介绍了本系统的开发环境和用到的一些工具,并且对android操作系统进行了结构化分析。2.1 开发工具及环境1.eclipseeclipse是一个开放源代码的、基于java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标准的插件集,包括java开发工具(java development kit,jdk)。eclipse是著名的跨平台的自由集成开发环境(ide)。最初主要用来java开发,通过安装不同的插件eclipse可以支持不同的计算机语言,比如c+和python等开发工具。eclipse的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性。许多软件开发商以eclipse为框架开发自己的ide。2.myeclipsemyeclipse,是在eclipse基础上 加上自己的插件。myeclipse企业级工作平台,是对eclipseide的扩展,利用它我们可以在数据库及javaee的开发、发布以及应用程序服务器整合方面极大的提高工作效率。它是功能丰富的javaee集成开发环境,包括完备的编码、调试、测试和发布功能,完整支持html,jsp,struts,css,javascript,sql,spring,hibernate。myeclipse 是一个十分优秀的用于开发java、j2ee的 eclipse 插件集合,myeclipse的功能非常强大,支持十分广泛,尤其是对各种开源产品的支持十分不错。myeclipse目前支持java servlet, jsf,ajax, jsp, struts,spring, ejb3,hibernate,jdbc数据库链接工具等多项功能。可以说myeclipse几乎是囊括了目前所有主流开源产品专属的eclipse开发工具。3. mysqlmysql是一个关系型数据库管理系统,由瑞典mysqlab公司开发,目前属于oracle公司。mysql是最流行的关系型数据库管理系统,在web应用方面mysql是最好的rdbms(relational database management system:关系数据库管理系统)应用软件之一。mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。mysql所使用的sql语言是用于访问数据库的最常用标准化语言。mysql软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择mysql作为网站数据库。由于其社区版的性能卓越,搭配php和apache可组成良好的开发环境。4 .adt目前android开发所用的开发工具是eclipse,在eclipse编译ide环境中,安装adt,为android开发提供开发工具的升级或者变更,简单理解为在eclipse下开发工具的升级下载工具。5. android sdksdk:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,android sdk 指的既是android专属的软件开发工具包。6. tomcattomcat 服务器是一个免费的开放源代码的web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。7.jsonjson(javascript object notation) 是一种轻量级的数据交换格式。它基于javascript(standard ecma-262 3rd edition - december 1999)的一个子集。 json采用完全独立于语言的文本格式,但是也使用了类似于c语言家族的习惯(包括c, c+, c#, java, javascript, perl, python等)。这些特性使json成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。8.hibernatehibernate是个开发源代码的对象关系映射框架,对jdbc进行了非常轻量级的对象封装,可以让程序员非常方便的操纵数据库。hibernate可以应用在任何使用jdbc的场合,既可以在java的客户端程序实用,也可以在servlet/jsp的web应用中使用,最具革命意义的是,hibernate可以在应用ejb的j2ee架构中取代cmp,完成数据持久化的重任。优点:a. hibernate 使用 java 反射机制 而不是字节码增强程序来实现透明性。b.hibernate 的性能非常好,因为它是个轻量级框架。 映射的灵活性很出色。c. 它支持各种关系数据库,从一对一到多对多的各种复杂关系。缺点:a.它限制您所使用的对象模型。(例如,一个持久性类不能映射到多个表)其独有的界面和可怜的市场份额也让人不安,尽管如此,hibernate 还是以其强大的发展动力减轻了这些风险。其他的开源持久性框架也有一些,不过都没有 hibernate 这样有市场冲击力9.jdk1.7jdk是java语言的软件工具开发包,jdk包含的基本组件包括:(1).javac 编译器,可以将源程序转成字节码(2).jar 打包工具,可以将相关的类文件打包成一个文件(3).javadoc 文档生成器,可从源码注释中提取文档(4).jdb debugger,一个查错工具(5).java 运行编译后的java程序(以.class后缀的)(6).appletviewer:程序浏览器,执行html文件上的java小程序的java浏览器。(7).javah:产生的可以调用java过程的c过程,或者建立能被java程序调用的c过程的头文件。(8).javap:java的反汇编器,显示编译类文件中的可访问功能和数据,也可显示字节代码含义。(9).jconsole: java进行系统调试及监控的工具2.2 android系统android一词的本义指“robot”,同时也是google于2007年11月5日宣布的基于linux平台的开源手机操作系统的别名,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为了移动终端打造的真正开放和完整的移动软件。 android是基于linux内核的软件平台和操作系统早期由google开发在华注册商标名为“安致”,后由开放手机联盟open handset alliance开发。采用了软件堆层software stack,又名以软件叠层的架构,大致分为三部分。低层以linux内核工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以java作为编写程序的一部分。另外为了推广此技术,google和其它几十个手机公司建立了开放手机联盟。android在未公开之前常被传闻为google电话或gphone。大多传闻认为google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,google开始发表自家品牌手机电话的nexus one,目前最新sdk版本为android 4.0.3。 android的系统架构和其操作系统一样,采用了分层的架构。图2-1 系统结构图从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux内核层。1.应用程序android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,sms短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用java语言编写的。2.应用程序框架开发人员也可以完全访问核心应用程序所使用的api框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;丰富而又可扩展的视图(views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。内容提供器(content providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据资源管理器(resource manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(layout files )。通知管理器 (notification manager) 使得应用程序 可以在状态栏中显示自定义的提示信息。活动管理器( activity manager) 用来管理应用程序生命周期并提供常用的导航回退功能。系统运行库android 包含一些c/c+库,这些库能被android系统中不同的组件使用。它们通过 android 应用程序框架为开发者提供服务。以下是一些核心库:* 系统 c 库 - 一个从bsd继承来的标准c系统函数库 libc ), 它是专门为基于embedded linux的设备定制的。2.3应用框架hibernate是一个开放源代码对象关系的映射框架,它对jdbc进行了非常轻量级的对象封装,这样java程序员可以随心所欲的使用对象编程思维来操纵数据库。hibernate的核心接口总共有6个,分别为:session、sessionfactory、query、transaction、criteria和configuration。这6个核心接口在任何开发中都会用到。通过这些接口,既可以对持久化对象进行存取,又能够进行事务控制。计算机信息工程学院毕业设计说明书第3章 开发环境搭建第3章 开发环境搭建3.1 搭建android开发环境任何事物要运行,都要有它的环境,android也有它的环境才能够运行,下面介绍android的开发环境配置。搭建开发环境需要的软件:1) 操作系统:window xp或linux2) 软件包:android sdk(software development kit java development kit) 、adt(android develoopment tool)3) ide环境:eclipse ide+adt eclipse3.3以上4) jdk:java runtime environment虚拟机 、(jdk)java development kit安装步骤如下:第一步:安装java虚拟机sun-java6-jdk版本。第二步:安装eclipse工具,到官网/downloads/,选择版本下载后进行安装。eclipse工具的版本如图3-1所示:图3-1 eclipse工具的版本图第三步:安装android sdk:首先要下载sdk,可以在这个网址下载http:/developer.a/sdk ,选择相应的系统进行安装。sdk下载的地址图如图3-2所示:图3-2 sdk下载的地址图第四步:安装android adt插件。运行eclipse,选择help-install new software 选择add,将会弹出一个【add site】对话框。【add site】对话框如图3-3:图3-3 【add site】对话框图点击ok,选择要安装的软件,占next,然后选择接受协议,直到安装成功,重启eclipse软件,设置android sdk home,window-refrence。设置android sdk home界面如图3-4所示:图3-4 设置android sdk home界面图在sdk location中输入sdk tools路d:androidsoftwareandroid-sdk-windows 点击ok,这样android环境就已经搭建成功了。3.2 jsp 开发环境搭建jsp开发环境是您用来开发、测试和运行jsp程序的地方。具体包括以下几个步骤。1.配置java开发工具(jdk)这一步涉及java sdk的下载和path环境变量的配置。可以从oracle公司的java页面中下载sdk。java sdk下载完后,请按照给定的指示来安装和配置sdk。最后,通过设置path和java_home环境变量来指明包括java和javac的文件夹路径,通常是java_install_dir/bin和java_install_dir。假如您用的是windows系统并且sdk的安装目录为c:jdk1.5.0_20,那么您就需要在 c:autoexec.bat 文件中添加以下两行: set path=c:jdk1.5.0_20bin;%path%set java_home=c:jdk1.5.0_20或者,在windows nt/2000/xp下,您可以直接右击我的电脑图标,选择属性,然后高级,然后环境变量,接下来您就可以很方便地设置path变量并且确定退出就行了。在linux/unix系统下,如果sdk的安装目录为/usr/local/jdk1.5.0_20并且使用的是c shell,那么您就需要在.cshrc文件中添加以下两行: setenv path /usr/local/jdk1.5.0_20/bin:$pathsetenv java_home /usr/local/jdk1.5.0_20或者,假如您正在使用类似于borland jbuilder、eclipse、intellij idea和sun one studio这样的集成开发环境,可以试着编译并运行一个简单的程序来确定ide(集成开发环境)是否已经知道 sdk的安装目录。环境测试:图3-5 jdk安装测试图2.设置web服务器:tomcat目前,市场上有很多支持jsp和servlets开发的web服务器。他们中的一些可以免费下载和使用,tomcat就是其中之一。apache tomcat是一个开源软件,可作为独立的服务器来运行jsp和servlets,也可以集成在 apache web server中。以下是tomcat的配置方法:下载最新版本的tomcat:/。下载完安装文件后,将压缩文件解压到一个方便的地方,比如windows下的c:apache-tomcat-5.5.29目录或者linux/unix下的/usr/local/apache-tomcat-5.5.29目录,然后创建catalina_home环境变量指向这些目录。在windows机器下,tomcat可以通过执行以下命令来启动:%catalina_home%binstartup.bat,或者c:apache-tomcat-5.5.29binstartup.bat。在linux/unix机器下,tomcat可以通过执行以下命令来启动:$catalina_home/bin/startup.sh或者 /usr/local/apache-tomcat-5.5.29/bin/startup.sh成功启动tomcat后,通过访问http:/localhost:8080/便可以使用tomcat自带的一些web应用了。假如一切顺利的话,您应该能够看到以下的页面:图3-6 tomcat登录界面设置classpath环境变量由于servlets不是java se的一部分,所以您必须标示出servlet类的编译器。假如您用的是windows机器,您需要在c:autoexec.bat文件中添加以下两行: set catalina=c:apache-tomcat-5.5.29 set classpath=%catalina%commonlibjsp-api.jar;%classpath%或者,在windows nt/2000/xp下,您只要右击我的电脑,选择属性,然后点击高级,然后点击环境变量,接下来便可以设置classpath变量并且确定退出即可。在linux/unix机器下,假如您使用的是c shell,那么您就需要在.cshrc文件中添加以下两行: setenv catalina=/usr/local/apache-tomcat-5.5.29setenv classpath $catalina/common/lib/jsp-api.jar:$classpath注意:如果您的开发路径是c:jspdev (windows)或者 /usr/jspdev (linux/unix),那么您就需要将这些路径添加进classpath变量中。第4章 系统需求分析第4章 系统需求分析本章主要分析了系统要实现的功能和相关模块,采用了一些用例图,活动图和流程图来说明。系统分析中明确了要做什么,怎么去做。4.1 功能需求分析点餐系统的功能分析,先从用例分析入手,找出客户和管理员,然后根据管理员和客户出发,分析系统的业务流程和系统模块。4.1.1用例分析在本点餐系统中划分了两个角色,顾客和服务员,顾客操作客户端部分服务员负责操作后台管理端。顾客拥有客户端功能模块的相关权限,服务员有后台管理端的相关权限,具体权限参照功能模块分析。下面给出客户端和管理端用例图。1.客户端图4-1 客户端用例图2. 服务器端图4-2 服务器端用例图4.1.2点餐业务流程: 用户要先安装该app点餐软件,没有注册的要先注册,注册成功后登录,输入账号和密码进入菜单列表,点击菜品详情进入选座位,然后下单,查看菜单。点餐活动图如图4-3所示,图4-3 客户端点餐活动图4.1.3点餐系统模块: (1)客户端功能模块:1. 会员注册登录模块:用户使用系统时需要先登录,没有账号的话可以注册,然后登录使用。2. 点餐界面:点餐界面有菜品图文列表。3.菜品搜索:用户可以输入关键字查询想要的菜品。4.查看菜品详情:用户点击菜单列表即可查看菜品详情,并点菜。5.餐桌查询:用户可以查询剩余餐桌,选择餐桌6.菜单修改:修改购物车中的已选菜品,7.修改密码8.退出(2)服务器端功能模块介绍1.管理员登陆2.菜单界面展示及修改(增加,删除修改)3.用户信息管理4.订单管理5.餐桌管理6.退出计算机信息工程学院毕业设计说明书第5章 系统概要设计第5章 系统概要设计本章将介绍android点餐系统客户端和服务器端的模块分析,先分析了系统的物理架构,接着分析系统的工作流程和功能模块。5.1结构设计整个程序分为客户端和服务端两部分,客户端基于android系统,服务端采用servlet提供服务,后台使用mysql数据库。在整个系统中,客户端负责采集数据和显示的工作,对于客户的输入,输入端会将信息发送至服务端的servlet上,servlet接收信息之后,会对数据库进行相关的操作,并将结果发送回客户端,客户端再进行处理,从中得到结果。android在线点餐系统,系统采用c/s模式,采用c/s架构,即客户端/服务器模式。要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行。系统的数据交换流程图为:用户客户端服务器端数据库操作 请求数据 提供数据 显示界面返回数据 数据更新 json 图5-1 数据交换图5.1.1客户端结构设计客户端点餐流程图,如图5-2所示 图5-2 客户端业务流程图客户端一方面与用户交互,提供良好的用户界面,另一方面与服务器端进行数据交换。服务器端向客户端提供数据下载、数据上传接口以交换数据。管理员可对数据进行删除、添加、控制等操作。客户端与服务器端通过http协议进行json数据交换。android客户端通过http协议网络编程访问数据库,后台通过jdbc访问数据库这里涉及android客户端的数据和服务器端数据同步问题。客户端和服务器端的数据交换流图如图5-3所示图5-3 客户端和服务器端数据交换流图客户端包图设计:左边是客户端界面activity,右边为工具包 图5-4 客户端包图客户端类图设计dishes类,图5-5 dishes类图订单类orders图5-6 orders类图5.1.2 服务器端结构设计本系统服务端模块包含两个功能,第一个是为客户端提供数据服务接口,客户端调用服务端的接口来获取数据库当中的菜谱、订单等各类信息,然后显示在客户端界面上。服务端还有另外一个功能就是实现数据的动态维护,包括菜谱信息维护、用户信息维护、订单信息维护和菜谱类型信息维护,例如管理员可在服务端根据实际情况添加一个菜式信息、修改一个菜式信息等操作.服务器端模块有登录模块,菜单管理模块(增、删、改),用户信息管理模块(删、改),订单管理模块,餐桌管理模块,退出。服务器端包含的功能模块如图5-7所示:修改座位搜索座位修改分组删除分组增加分组搜索分组增加菜品删除菜品修改菜品修改信息删除信息修改订单删除订单搜索订单搜索管理端菜单管理用户信息管理订单管理分组管理餐桌管理图5-7服务器端功能模块图管理员数日用户名和密码,登陆后跳转到系统管理界面,可以在菜单模块对数据库进行增、删、改、查,用户信息管理模块是删、改、查,订单管理模块删、改、查,分组管理是增、删、改、查,餐桌管理是改、查,各种操作都是对数据库的操作。服务器端管理员的操作时序图如下图所示:图5-8 管理员操作时序图5.2服务端数据库设计本系统需要一个服务端来为客户端提供数据接口服务,服务端采用mysql数据库来存放数据, mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 根据本点餐系统的模块需求分析,本系统共用到6个数据库表,管理员表admins,菜单表dishes,订单表orders,座位表orders,菜品类型表types,用户表users。每个表的详细设计结构:1.管理员表由管理员id,管理员登陆账号loginid,管理员密码password组成,如表5-1所示。表5-1 admins表序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment2loginidvarchar255是3passwordsvarchar255是2.菜单列表dishes由菜品id,标题title,类型typeid,typename,菜品详情intro,图片路径img_url,价格price,数量amount组成,如表5-2所示。表5-2 dishes表序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment2titletext是标题3typeidint11是类型id4typenametext是类型名称5introtext是详细介绍6img_urlvarchar255是图片7pricedouble11是价格8amountdouble11是数量3. 订单表用于保存用户的订单信息,有订单id,用户信息(userid、username),座位信息seat,完成状态status,菜品id(dishesid),价格price,数量amount,订单生成时间createtime组成,如表5-3所示。表5-3 orders表序号列名数据类型标识主键允许空说明1idint是是否auto_increment2useridint是3usernametext是4seattext是5statusint是6dishesidint是7pricedouble是8amountdouble是9createtimevarchar是4. 座位表由座位id,座位号no,座位状态state(1表示无座,0表示有座位)组成,如表5-4所示。表5-4 seats表序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment2noint11是3stateint11是座位5. 菜品类型表由类型id,类型名称typename组成,如表5-5所示。表5-5 types表序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment2typenametext是类型

温馨提示

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

评论

0/150

提交评论