欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    Android手机订餐系统计算机毕业设计论文.doc

    • 资源ID:2393578       资源大小:2.95MB        全文页数:82页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Android手机订餐系统计算机毕业设计论文.doc

    基于android的手机订餐系统的设计与实现摘 要随着科技的发展,二十一世纪成为了以网络化、信息化为核心的社会。网络商业化也成为了时下最热门的词汇,越来越多的宅男宅女们青睐于足不出户便可处理完生活琐事。传统的订餐方式已不能满足人们的需求,为了解决这种处在高速发展社会的就餐困难的问题,所以设计了本系统。本设计是一个基于Android手机的网上订餐系统,采用C/S模式,为客户提供网上选择、浏览菜品,在线下单服务,并为管理员提供一个服务平台实现用户信息、商家信息以及顾客订单的管理,从而提高了服务的质量。本文从系统需求、系统设计、测试等几个方面介绍了整个软件的开发过程,这个系统采用JAVA、MYSQL数据库,并利用MyEclipse、TOMCAT、Android SDK、ADT等开发环境并遵照MVC模式来进行开发。采用MVC模式,使用TOMCAT服务器,基于Eclipse的开发平台,运用JAVA和Android语言设计并完善了基于android的手机订餐系统,实现了它的网上订餐的主要功能,且此系统界面美观、操作便捷将会受到广大用户的青睐。关键词 Android;JAVA;手机订餐;C/S模式Design and implementation of mobile phone ordering system based on androidAbstractWith the development of technology,the twenty-first century has become to the network and the information society . Commercial networks has become the most popular words nowadays , more and more people are favored in the treatment of domestic chores can be completed without leaving home . The traditional ordering methods can not meet people's needs, in order to solve this difficult problem which dining out hard in the rapid development of society , so designed the system . This design is ordering system, using C / S mode, providing customers to view presentation of dishes, ordering services, and provide administrators with a service platform for user information and customer order management. This paper introduced the software development process from many aspects, system uses some development tools include JAVA, MYSQL database ,MyEclipse, TOMCAT, Android SDK, ADT,following the MVC pattern to develop.Using the MVC pattern, using TOMCAT server, Eclipse-based development platform, the use of JAVA and Android-based language design and improve the android phoneordering system, the main function of its online ordering, and this system is beautiful interface, easy operation will by the majority of users of all ages.Key words: Android;JAVA;Mobile phone ordering; C/S model目 录摘 要iAbstractii1 绪论11.1 课题研究背景和意义11.2 目前形势11.3 论文所研究的内容22 开发环境和相关技术简介32.1 Android技术介绍32.1.1 Android简介32.1.2 Android Features特性32.1.3 Android基本框架(Android Architecture)42.1.4 Android系统的四大组件42.2 Java技术介绍52.3 MySQL数据库62.3.1 MySQL概述62.3.2 MySQL的优势62.4 C/S模式介绍73 系统可行性分析以及需求93.1 系统设计目标93.1.1 系统安全性93.1.2 可维护性93.1.3 用户操作103.1.4 运行速度103.1.5 界面103.2 系统需求分析104 概要设计114.1 功能模块114.2 数据库设计144.2.1 数据库的设计原则144.2.2 权限控制技术154.2.3 系统中数据库表的详细设计结构165 详细设计185.1 Android环境搭建185.2 Android客户端设计205.2.1 登陆注册界面以及与服务器端的连接方式205.2.2 菜谱大全界面235.2.3 在线选择座位下单界面315.2.4 我的订单界面345.3 服务器端与数据库的链接355.4 Web Service服务器端设计395.4.1 登陆界面395.4.2 菜谱管理界面425.4.3 商家管理界面425.4.4 用户管理界面435.4.5 订单管理界面435.4.6 分组管理界面446 系统测试456.1 软件测试456.2 主要测试用例466.2.1 客户端测试用例466.2.2 服务器端测试486.3 测试总结496.3.1 功能性496.3.2 易用性506.3.3 可靠性506.3.4 兼容性506.3.5 安全性507 结论51参考文献52致谢53外文原文54中文翻译681 绪论1.1 课题研究背景和意义随着计算机、互联网和移动终端及其应用的快速发展,人们的工作方式、交流方式、学习方式以及生活的各个方面都发生了巨大的变化。在这样的社会背景下,移动电子商务应运而生,它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以更加方便的进行各种商贸活动,随时随地的购物与交易、在线电子支付以及各种交易活动、金融活动、商务活动和相关的综合服务活动等。而Android操作系统凭借着自己开放的平台允许任何移动终端厂商加入到Android联盟中,从而使得市场上越来越多的手机操作系统选择了Android。因此本系统选择设计基于Android平台的软件,这样毫无疑问能覆盖更多的群众。与此同时,当今社会的快节奏生活方式让人们困扰不已,而就餐与交通问题首当其冲。餐厅太过拥挤、客流高峰期就餐困难、点餐等待等问题层出不穷。为了解决人们对于订餐排队、就餐困难等问题,因此在Android平台的基础上设计了手机订餐系统,该系统可以让用户节约大量的时间,提高了生活效率,从而解决了就餐难的问题。1.2 目前形势在国外,多年前许多知名品牌都开始了网上订餐服务,如今提供网上订餐服务的商家数目正在急剧膨胀,人们只需一张信用卡和一台电脑,就可全天订座。即便你不是名流或者常客也不是厨师的朋友,你同样可以享受这种便捷的订餐方式。网上订餐往往是开通网上服务,让顾客在网上选择自己想点的美食和到店时间,就可以由商家按照顾客的需求在及时做好餐点,使顾客到店便可及时吃上美食,无需等待。网上订餐的方式已经被国外的许多家庭所认可。在国内,“网上订餐”是近几年出现的新兴行业,最早出现在2003年的非典时期。一时间全国冒出多家类似公司,但就目前情形来看,规模不是很大并且在市场上有影响力也不多。例如上海的订餐小秘书、北京有饭桶网等企业,还有电信的114生活百事通、中国移动的12580以及中国联通等都开始涉入该领域。但总体而言,该行业发展不是很好。经过几年的初步发展和互联网技术的不断进步,“网上订餐”行业又重新得到了社会的关注。因此,网络订餐市场被迅速激发,新的销售模式被逐渐认可,一批新兴的以网络订餐为核心业务的互联网企业涌现。以“订餐网”为关键词,在百度里检索到网页多达近万条。据不完全统计,2008年新上线订餐类网站近千家,大多数集中在经济较发达的大都市和一级城市,如北京、上海、广州、深圳、重庆、福州、厦门等,但是在二线及其以下的城市关注度与应用程度还不是很高,所以就二线以及以下城市进行此项目的开发还是很有必要的。1.3 论文所研究的内容为了顺应现实社会的发展方向,开发了基于Android的手机订餐系统,本系统针对所有用户,分别建立了客户端和服务器端,以方便不同用户的需求,从商家与客户两端同时处理,充分解决就餐难的问题。主要解决的问题包括:(1) 对于使用界面,需要人性化,能够给用户一种温馨的感觉;(2) 在后台根据登录人员的不同进行权限设置。(3) 通过接受客户端用户的订单,可以及时准确的为用户在规定时间内准备好餐点本系统开发的意义在于提供给用户方便快捷的订餐服务,满足用户的需求,解决传统订餐方式的不足,方便用户随时随地的订餐,商家随时更新查看订单并在规定时间能合理安排完成客户的需求,从根本上解决传统就餐方式中的漏洞。2 开发环境和相关技术简介2.1 Android技术介绍2.1.1 Android简介 Android是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One,目前最新SDK版本为Android 4.0.3。2.1.2 Android Features特性Android系统有如下的几大特性3: ·应用程序框架 支持组件的重用与替换 ·Dalvik虚拟机 专门为移动设备做了优化 ·内部集成浏览器 该浏览器基于开源的WebKit引擎 ·优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES ·SQLite 用作结构化的数据存储 · 多媒体支持 包括常见的音频、视频和静态印象文件格式(如MPEG4, MP3, AAC, AMR, JPG, PNG) ·GSM电话(依赖于硬件) ·蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件) ·照相机,GPS,指南针,和加速度计 (依赖于硬件) ·丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件。2.1.3 Android基本框架(Android Architecture)关于Android的基本框架如图2-1所示: 图2-1 Android Architecture2.1.4 Android系统的四大组件在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,其中有些是可见的,有些是不可见的,例如Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。下面分别介绍四大组件3:(1)Activity 简介在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。(2)Service 简介Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。一个定义好的Service必须在AndroidManifest.xml配置文件中注册,通过<service>元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service (3)Broadcast Receiver 简介Broadcast Receiver 是广播接收器,它和事件处理机制相似,但事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。我们可以使用Intent来启动一个程序组件进行消息的传递,我们也可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent (4)ContentProvider简介Content Provider 用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。它是跨应用程序共享数据的唯一方法。Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Content Provider。它们被定义在android.provider包下面。通过这样定义好的ContentProvider 我们可以方便的进行数据操作。当然我们必须拥有适当的权限。我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问。2.2 Java技术介绍Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术特点是通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件也可以使用。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 基于 Eclipse 的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础4。2.3 MySQL数据库2.3.1 MySQL概述MySQL是一个小型关系型数据库管理系统,它将关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度而且处理更灵活。MySQL使用的是SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,最重要的是MySQL具有开源的特性。2.3.2 MySQL的优势(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;(3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等; (4)既可以单独应用在客户端服务器网络环境中,也能嵌入到其他的软件中,并且提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift、JIS以用作数据表名和数据列名;(5)提供TCP/IP、ODBC和JDBC等多种数据库连接方式;(6)提供多种数据库操作的管理工具;(7)可以处理数以万计的数据。2.4 C/S模式介绍在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,Client/Server。在客户机/服务器网络中,服务器是核心,客户机是基础,客户机依靠服务器获得所需要的数据资源,而服务器为客户机提供必要的资源以及出具的逻辑处理。这里客户和服务器都是指通信过程中涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务更加合理的分配到 Client端和Server端来实现,这样就可以降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。C/S架构软件的优势和劣势:应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的设备,称为应用服务器。一旦服务器程序被启动,就会随时等待响应客户程序发来的请求并进行处理;客户的应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的逻辑进行处理,并且将结果发送给客户端。数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台主要用户从服务器端获取数据用于界面的显示也可以输入数据并将数据存储到后台的数据库中。而后面主要是为了向前台提供数据,并接受前台传来的数据将其进行一些必要的逻辑操作再存数的数据库中去。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。 3 系统可行性分析以及需求随着科技的发展,二十一世纪成为了以网络化、信息化为核心的社会。网络商业化也成为了时下最热门的词汇,越来越多的宅男宅女们青睐于足不出户便可以处理完成生活琐事。传统的订餐方式已不能满足人们的需求,为了顺应社会的发展与时代的需求,开发设计基于android的网上订餐系统,它独有的便捷性和直观性,将会得到了很多人的青睐。并且现在社会上安卓手机的覆盖范围已经超过了百分之八十的市场份额,采用安卓的平台来开发的手机应用系统将会极大可能的增加其应用范围以及受众人群。综上分析,决定利用Android设计系统的客户端,用JAVA和MySQL设计网上订餐系统的服务器端,使该系统可以更加方便的使用于不同需求的人群。3.1 系统设计目标为客户设计更加方便快捷的订餐系统,分别从客户和商户两端同时着手设计,从根本上解决就难高峰期的拥堵问题,客户在订餐是可以提交就餐时间用来方便商家接受订单是可以及时处理,合理安排餐点,从而达到用户到店便可及时就餐的问题。3.1.1 系统安全性对于不同的用户有不同的权限,系统对于他们有良好的区分度。同时保证了数据的安全性、可靠性。准确的数据、可恢复性的系统都是必须的。比如本系统将操作用户分成了三类:管理员、商户、用户,他们具有明确的区分。管理员登陆时可以为所有的商户合理分配账号和密码,管理所有的用户以及查看所有的订餐和菜品;商户登录时,只可以针对自己商户的订餐进行处理,查看自己商户的订单;用户只能在客户端,只可以进行查看菜品和下单的操作。这样通过菜单级的用户权限管理,增强了系统的安全性。3.1.2 可维护性在使用系统的过程中,会遇到很多新的要求,有时候还要有新的内容进行扩展,因此在设计系统时必须要考虑到,这样设计出来的系统才能满足实际的应用,并能随时进行功能的增加。管理员会不断对系统进行更新,如新功能的开发,数据的维护等。充分考虑到了代码的冗余问题,从而增加系统的可维护性。3.1.3 用户操作设计的目标中应该包含使用尽可能方便用户,操作简洁明了,以求更好的发挥系统的作用。本系统中对用户有明确的操作指示,在网页中可以浏览系统为用户提供给的任何服务,如查看菜单信息,个人信息以及密码的修改等操作在页面中都有清晰的显示。3.1.4 运行速度系统响应时间对于系统至关重要。考虑到每位用户都不喜欢传统的订餐时间长的方式,后台会不断完善系统的运行速度争取在第一时间满足用户的订餐需求。对于管理员,需要注意的是在提高响应时间的时候不能忘记系统的安全性。3.1.5 界面用户界面应该做到清晰简单一目了然,给人以舒适感,易于操作。3.2 系统需求分析本系统主要是实现网上浏览菜单、订餐、产生订单等功能的系统。需要实现菜品信息的动态提示、购物车管理、客户信息注册、登录管理、订单处理等模块。需要完成的主要任务如下:当客户进入网上订餐时,应该在订餐页面中分类显示最新的菜品信息,以供客户选择所需菜品,同时提供按菜品名称,快速查询所需菜品信息的功能。当客户选择预定某个菜品时,应该能够将对应菜品信息,如:价格、数量记录到对应的购物车中,此时客户可以选择选择其他菜品或是查看自己的购物车,最后,在购物车中填写相应的送餐信息,提交订餐订单后,自动清除已生成订单的购物车中的信息。餐厅服务人员根据订单信息,查看详细订单明细并根据实际情况处理订餐。4 概要设计4.1 功能模块随着3G时代的到来,手机应用越来越普遍,加之国民手机持有量更是爆炸式增长。为了方便Android手机用户能随时随地点到自己喜欢的菜品,提出一种操作简便,功能齐全,占用资源少,能为用户节约流量的的网上订餐应用。在此需求上提出本系统的主要界面与功能。需求界面如下:客户端:1、登陆、注册界面2、显示菜品界面3、搜索菜品界面(按菜品名称、种类、店铺名称进行搜索)4、购物车界面5、在线下单6、菜品详情界面服务器端:1、 登陆界面2、 菜单管理、商户管理、用户管理、订单管理、分组管理需求实现功能如下:客户端:1、实现客户端与服务器之间的连接2、实现登陆、注册功能3、实现登陆后能浏览到服务器数据,并对数据进行一系列的操作4、能把菜品加入到购物车,并结算生成订单5、把生成的订单信息传回服务器端服务器端:1、实现管理员登陆2、实现添加、删除、修改菜品信息3、实现添加、删除、修改商户信息4、实现对客户端传过来的订单进行处理5、实现添加、删除用户列表6、实现不同用户登陆的权限控制该系统的功能模块图如图4-1所示:图4-1 系统功能模块图4.1.1 功能模块与流程1、客户端的主要功能模块:客户端主要用在给客户浏览菜品以及点菜下单的功能,因此将客户端分为以下6个模块进行设计,每个模块的详细说明如表4-1所示,功能示意如图4-2所示:表4-1 客户端概要设计表客户端模块简要说明登录模块在连接上服务器的前提下登陆成功注册模块在链接上服务器的前提下注册成功浏览菜品模块从服务器中读取数据,并把数据封装显示在菜品列表中购物车用户定了菜品之后,所有的订餐信息都显示在这个模块中用户下单用户在菜品列表中找到自己所选的菜品进行下单商品搜索模块按照用户选择的条件从手机数据库中搜索数据图4-2 客户端示意图3、 服务器端的功能模块: 服务器端主要用于管理人员以及商户的登录,管理人员主要用于维护整个系统的内容以及安全性,为商户分配各自的账号和密码,管理所有的商户用户以及菜品。商户登录服务器端主要是为了维护自己的菜品,增加、修改和删除自己商铺的菜品,随时更新信息,方便用户在客户端进行查看,并且当用户提交订单后可以查看自己商铺的订单,并对其进行及时的处理。服务器端的功能模块详细说明如表4-2所示,功能示意如图4-3所示: 表4-2 服务器端概要设计表服务器端模块简要说明登录模块提供管理员与商户登陆菜单管理对要显示在客户端的菜品进行添加删除和修改操作商户管理对商户信息进行维护用户管理对用户信息进行维护订单管理显示现有的订单信息并给与处理按钮分组管理对菜品的热销程度进行管理图4-3 服务器端示意图4.2 数据库设计本系统需要一个服务端来为客户端提供数据接口服务,服务端采用MySQL数据库来存放数据, MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。之所以在本系统的开发中采用MySQL数据库来存储本系统的数据,首先是因为MySQL占用内存小,不会影响整个计算机的运行速度,其次是因为MySQL采用的语法的SQL的基本书写语法,便于操作,且又为关系型数据库,易于对数据进行管理。4.2.1 数据库的设计原则关于数据库表的设计是每个系统开发最开始也是最主要的步骤,数据库设计的好坏直接关联系统后期开发的难易程度以及后期的可维护性,大型的数据库的设计既要考虑到数据的存取速度又要考虑到系统的安全性。主要的原则有以下几点:1、数据库中的表最好与实体是一对一的关系,若是表与表之间的关联过多最好再写一张关系表,这样可以防止数据查询的时候速度过慢,否则为了加快数据的查询速度往往要增加索引,但是这样就会增加数据库的复杂程度,不利于后期的维护。2、基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是最好的设计。为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。3、一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的ER图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计。4、一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间。5、一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是要学会学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。6、发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分割该表,将原来的一个表分解为两个表。4.2.2 权限控制技术RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。最基本的数据库的权限控制便基于此。但是当用户的数量非常大的时候需要为没有用户分配权限那么这将是一件非常繁琐的事情,因此产生了“组”,每个用户组内有多个用户。除了可给用户授权外,还可以给用户组授权。这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。在此系统中我将复杂的权限控制问题分为了两种情况处理:操作级权限控制和菜单级权限控制。操作级权限控制是指将对整个系统的不同动作的按钮进行分配,将其分配给不同的用户,分配的方法是在数据库中建立一张表,将每个按钮设计对应的function,也就是说给每个按钮分别分配不同的ID与function,其中ID用于标注不同按钮的不同功能,将每一个功能写成数据库中的一条数据,之后在对应的关系表中为用户分配他所具有的功能的ID就好。菜单级权限控制是指在系统中的资源并不是对所有的用户都共享的,为了保护系统的安全性,就想资源进行的了分配,不用的用户所拥有的资源是不一样的。具体的事实方法是在数据库中建立一张表,表包括两个字段,第一个字段对应的是资源对应的ID,另一个字段对应的是资源的URL地址。在本系统中采用的就是这种菜单级权限控制。4.2.3 系统中数据库表的详细设计结构本系统中的信息表主要有7张数据表:管理员表、菜品表、操作菜单表、订单表、座位表、种类表、用户表 。每个表的详细设计结构如下:表4-3 admins表结构序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment2loginidvarchar255是账号3anamevarchar255是姓名4passwordsvarchar255是密码5longitudevarchar255是经度6latitudevarchar255是纬度表4-4 dishes表结构序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment2titletext是标题3typeidint11是类型ID4typenametext是类型名称5introtext是详细介绍6img_urlvarchar255是图片7pricedouble11是价格8amountdouble11是数量9merchantvarchar255是所属商户表4-5 orders表结构序号列名数据类型标识主键允许空说明1idint是是否auto_increment2useridint是用户ID3usernametext是用户名4seattext是座位5statusint是订单状态6dishesidint是菜品ID7pricedouble是价格8amountdouble是数量9createtimevarchar是订单的创建时间10anamevarchar是商户名11intimevarchar是预计到店时间表4-6 seats表结构序号列名数据类型长度标识主键允许空说明1idint11是是否auto_increment

    注意事项

    本文(Android手机订餐系统计算机毕业设计论文.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开