基于Android平台的智慧餐厅系统
基于Android平台的智慧餐厅系统[20191207151149]
摘 要
近些年餐饮行业蓬勃发展,规模也越渐增大。但由于餐饮企业的管理流程及信息化建设未跟进,导致经常出现顾客抱怨上菜速度慢,漏菜,丢单,漏单等情况,餐厅运营成本也很难控制等问题。
为了解决这些问题,本文研究基于Android平台的智慧餐厅管理系统。该系统由手机端子系统和Web端子系统组成。使用该系统,顾客可以通过手机端子系统完成自主点餐;餐饮企业员工使用该Web端子系统可以实现菜品管理、订单管理、会员管理等功能。
关键字:Android软件系统软件工程
目 录
第1章 引言 1
1.1 课题的背景和意义 1
1.2 课题研究的主要内容 1
1.3 本文的结构 2
第2章 相关技术概述 3
2.1 android的平台框架及特性 3
2.1.1 Android平台特性 3
2.1.2 Android平台架构 3
2.1.3 Android应用程序组件 4
2.2 J2EE架构 5
2.2.1 客户层组件 6
2.2.2 web 层组件 6
2.2.3 业务层组件 6
2.2.4 企业信息系统层 7
2.3 Ext 7
2.3.1 Ext的布局方式 8
2.3.2 Ext的应用 9
2.4 Hibernate 9
第3章 软件需求工程 11
3.1 问题定义 11
3.2 可行性研究 11
3.2.1 经济可行性 11
3.2.2 技术可行性 11
3.2.3 法律可行性 12
3.3 需求分析与建模 12
3.4 用例描述 14
3.5 非功能性需求 16
第4章 软件设计 17
4.1 软件体系结构设计 17
4.2 详细设计 18
4.2.1 软件模块设计 18
4.2.2 数据库设计 18
4.2.3 用户界面设计 21
第5章 软件实现 25
5.1 客户端界面设计与效果图 25
5.1.1 系统登录界面 25
5.1.2 系统的注册界面 27
5.1.3 购物车功能 28
5.1.4 个人信息界面 30
5.2 服务器端界面设计与效果图 31
5.2.1 服务器系统登陆界面 32
5.2.2 服务器主界面 34
5.2.3 订单管理界面 40
5.2.4 菜品界面 42
5.2.5 会员管理界面 49
第6章 总结与展望 54
参考文献 55
致谢 56
第1章 引言
1.1课题的背景和意义
正所谓“民以食为天”,所以不管在哪个城市,都会有各式各样的餐厅酒馆。现阶段随着信息化的延续,餐饮行业对无线点餐系统的需求也是种必然事件。传统的点餐过程都是人工服务来完成,一般化的过程是这样的:客人进入餐厅后,选好桌位开始点餐,服务员等待客人点餐完成,将客人的点餐单据送到厨房,由厨师下厨做菜。这种传统的模式以人脑计算为基础,如果是一个很小的餐厅来说是没有问题的,但是如果餐厅比较大的话或者客人比较多的话,就会出现工作量巨大,容易出错的现象。与此同时,在具体的工作中还容易出现以下的问题:因为手写单据字迹潦草使得上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐,不方便人员管理、客人催菜、菜单遗忘现象较频繁、计算账单易出错等等。鉴于这些问题,近几年随着IT技术的发展,也有一些各种新型的无线点餐系统出现,比如基于Zigbee网络的无线点餐系统,但这种系统需要布局Zigbee网络,并开发对应的手持终端,成本高而且不方便,因此大多数饭店仍然不愿意接受这种点餐方式。渐渐地,另一种无线点餐系统渐渐出现在人们的生活中,此类系统一般由无线终端(一般是一个PDA)、无线路由器和后台服组成。
PDA的使用率将大幅增加餐饮企业运营成本。鉴于Android手机已经得到了广泛应用,且Android手机设备价格相对低廉。鉴于此,我们开发基于Android的无线点餐系统。
1.2课题研究的主要内容
本文系统的介绍了无线点餐系统的开发过程。该开发过程遵循软件工程的方法,论文从需求分析、系统分析、概要设计、详细设计、以及测试与调试的各个功能模块都作了介绍。首先对于无线点餐系统的背景和意义作了个分析,从而得出设计本系统的思路和方法。接着将介绍实现系统开发的基于eclipse开发工具下的Android开发平台环境,数据库用SQL server实现,服务器用Tomcat实现。同时还简要介绍了一些其他涉及到的工具和开发技术。
本系统分成客户端操作设计和后台服务器管理操作设计。详细设计主要阐述了用户注册,用户登录,点菜管理,注销等功能的实现,后台主要实现订单的管理,会员的管理,以及对菜单的管理,并给出了系统的部分设计代码。
最后,对每个功能模块和整个系统进行了测试,测试结果表明:系统基本具备了的功能以及快速的响应速度。
1.3本文的结构
本论文包含6个章节的内容:第1章是引言,介绍了论文选题的背景和意义;第2章介绍了课题的开发环境以及相关技术;第3章是软件需求工程;第4章是介绍软件设计;第5章是整个软件的实现;第6章是小结;第6章小结。
第2章 相关技术概述
2.1 Android的平台框架及特性
Android平台采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java应用程序。
2.1.1 Android平台特性
Android平台有如下特性:
(1)应用程序框架支持组件的重用与替换。这在之前的手机操作系统当中是很难想象的。这意味着我们可以把系统中不喜欢的应用程序替换掉,安装我们自己喜欢的应用程序,例如,打电话应用程序、文件管理器等。
(2)Dalvik虚拟机专门为移动设备做了优化。Android应用程序将由Java编写、编译的类文件通过DX工具转换成一种后缀名为.dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于Java虚拟机速度要快很多。
(3)丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成开发环境插件。Google提供了Android开发包SDK,其中包含了大量的类库和开发工具。并且专门开了针对Eclipse的可视化开发插件ADT。
2.1.2 Android平台架构
图2-1 Android的系统结构
Android操作系统体系结构(如图2-1所示)分为4层,由上而下依次是应用程序、应用程序框架、核心类库和Linux内核。其中第三层包括Android运行时环境。
(1)应用程序:Android连同一个核心应用程序包一起发布,该应用程序包包括E-mail客户端、SMS短信息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的。
(2)应用程序框架:开发者完全可以访问核心应用程序所使用的API框架,该应用程序框架用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块,并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。
(3)Android程序库:Android包括一个被Android系统中各种不同组件所使用的C/C++库集。该库集通过Android应用程序框架为开发者提供服务。
(4)Android运行库:Android包括一个核心库,该核心库提供了Java编程语言核心库的大多数功能。
(5)Linux内核:Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈。
2.1.3 Android应用程序组件
Android应用程序没有统一的入口(例如main()方法),每个应用之间是相互独立的,并且运行在自己的进程当中。根据完成的功能不同,Android划分为四类核心的组件类:Activity、Service、Broadcast Receiver和ContentProvide。相同组件和不同组件之间的导航通过Internet来完成。Android还定义了View类来显示可视化界面,例如菜单,对话框、下拉列表等。
(1)Activity是Android组件中最基本同时也是最常用的一个组件,在一个Android应用中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且继承Activity这个基类。这个Activity类将会显示由几个Views控件组成的用户接口并对时间做出相应。大部分的应用都会包含几个屏幕。调用startActivity()方法可以从一个屏幕导航到另一个屏幕。
(2)一个Service是一个长生命周期的、没有用户界面的程序。
(3)Broadcast Receiver是为了实现系统广播而提供的一种组件。例如,我们可以发出一种广播来检测手机电量的变化,这时候就可以定义一个Broadcast Receiver来接受广播,当用户电量较低的时候提示用户。
(4)Android通过使用ContentProvide来实现不同组件之间数据的共享
(5)View是Android中图形用户界面的基类,提供了可视化界面的展示。Android的图形界面展示可以分为三层:底层是Activity;Activity上面是Window;Window上面是Views。View又可以分为View和ViewGroup。View是指基本的空间,例如按钮、单选框。多选框、菜单等;ViewGroup是指布局控件,即用来控制界面中的控件如何布局摆放的。
2.2 J2EE架构
J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。
目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端 担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议,通常是某种数据库 协议。它使得重用业务逻辑 和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:
摘 要
近些年餐饮行业蓬勃发展,规模也越渐增大。但由于餐饮企业的管理流程及信息化建设未跟进,导致经常出现顾客抱怨上菜速度慢,漏菜,丢单,漏单等情况,餐厅运营成本也很难控制等问题。
为了解决这些问题,本文研究基于Android平台的智慧餐厅管理系统。该系统由手机端子系统和Web端子系统组成。使用该系统,顾客可以通过手机端子系统完成自主点餐;餐饮企业员工使用该Web端子系统可以实现菜品管理、订单管理、会员管理等功能。
关键字:Android软件系统软件工程
目 录
第1章 引言 1
1.1 课题的背景和意义 1
1.2 课题研究的主要内容 1
1.3 本文的结构 2
第2章 相关技术概述 3
2.1 android的平台框架及特性 3
2.1.1 Android平台特性 3
2.1.2 Android平台架构 3
2.1.3 Android应用程序组件 4
2.2 J2EE架构 5
2.2.1 客户层组件 6
2.2.2 web 层组件 6
2.2.3 业务层组件 6
2.2.4 企业信息系统层 7
2.3 Ext 7
2.3.1 Ext的布局方式 8
2.3.2 Ext的应用 9
2.4 Hibernate 9
第3章 软件需求工程 11
3.1 问题定义 11
3.2 可行性研究 11
3.2.1 经济可行性 11
3.2.2 技术可行性 11
3.2.3 法律可行性 12
3.3 需求分析与建模 12
3.4 用例描述 14
3.5 非功能性需求 16
第4章 软件设计 17
4.1 软件体系结构设计 17
4.2 详细设计 18
4.2.1 软件模块设计 18
4.2.2 数据库设计 18
4.2.3 用户界面设计 21
第5章 软件实现 25
5.1 客户端界面设计与效果图 25
5.1.1 系统登录界面 25
5.1.2 系统的注册界面 27
5.1.3 购物车功能 28
5.1.4 个人信息界面 30
5.2 服务器端界面设计与效果图 31
5.2.1 服务器系统登陆界面 32
5.2.2 服务器主界面 34
5.2.3 订单管理界面 40
5.2.4 菜品界面 42
5.2.5 会员管理界面 49
第6章 总结与展望 54
参考文献 55
致谢 56
第1章 引言
1.1课题的背景和意义
正所谓“民以食为天”,所以不管在哪个城市,都会有各式各样的餐厅酒馆。现阶段随着信息化的延续,餐饮行业对无线点餐系统的需求也是种必然事件。传统的点餐过程都是人工服务来完成,一般化的过程是这样的:客人进入餐厅后,选好桌位开始点餐,服务员等待客人点餐完成,将客人的点餐单据送到厨房,由厨师下厨做菜。这种传统的模式以人脑计算为基础,如果是一个很小的餐厅来说是没有问题的,但是如果餐厅比较大的话或者客人比较多的话,就会出现工作量巨大,容易出错的现象。与此同时,在具体的工作中还容易出现以下的问题:因为手写单据字迹潦草使得上错菜、传菜分单出错现象严重、加菜和查账程序较繁琐,不方便人员管理、客人催菜、菜单遗忘现象较频繁、计算账单易出错等等。鉴于这些问题,近几年随着IT技术的发展,也有一些各种新型的无线点餐系统出现,比如基于Zigbee网络的无线点餐系统,但这种系统需要布局Zigbee网络,并开发对应的手持终端,成本高而且不方便,因此大多数饭店仍然不愿意接受这种点餐方式。渐渐地,另一种无线点餐系统渐渐出现在人们的生活中,此类系统一般由无线终端(一般是一个PDA)、无线路由器和后台服组成。
PDA的使用率将大幅增加餐饮企业运营成本。鉴于Android手机已经得到了广泛应用,且Android手机设备价格相对低廉。鉴于此,我们开发基于Android的无线点餐系统。
1.2课题研究的主要内容
本文系统的介绍了无线点餐系统的开发过程。该开发过程遵循软件工程的方法,论文从需求分析、系统分析、概要设计、详细设计、以及测试与调试的各个功能模块都作了介绍。首先对于无线点餐系统的背景和意义作了个分析,从而得出设计本系统的思路和方法。接着将介绍实现系统开发的基于eclipse开发工具下的Android开发平台环境,数据库用SQL server实现,服务器用Tomcat实现。同时还简要介绍了一些其他涉及到的工具和开发技术。
本系统分成客户端操作设计和后台服务器管理操作设计。详细设计主要阐述了用户注册,用户登录,点菜管理,注销等功能的实现,后台主要实现订单的管理,会员的管理,以及对菜单的管理,并给出了系统的部分设计代码。
最后,对每个功能模块和整个系统进行了测试,测试结果表明:系统基本具备了的功能以及快速的响应速度。
1.3本文的结构
本论文包含6个章节的内容:第1章是引言,介绍了论文选题的背景和意义;第2章介绍了课题的开发环境以及相关技术;第3章是软件需求工程;第4章是介绍软件设计;第5章是整个软件的实现;第6章是小结;第6章小结。
第2章 相关技术概述
2.1 Android的平台框架及特性
Android平台采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java应用程序。
2.1.1 Android平台特性
Android平台有如下特性:
(1)应用程序框架支持组件的重用与替换。这在之前的手机操作系统当中是很难想象的。这意味着我们可以把系统中不喜欢的应用程序替换掉,安装我们自己喜欢的应用程序,例如,打电话应用程序、文件管理器等。
(2)Dalvik虚拟机专门为移动设备做了优化。Android应用程序将由Java编写、编译的类文件通过DX工具转换成一种后缀名为.dex的文件来执行。Dalvik虚拟机是基于寄存器的,相对于Java虚拟机速度要快很多。
(3)丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成开发环境插件。Google提供了Android开发包SDK,其中包含了大量的类库和开发工具。并且专门开了针对Eclipse的可视化开发插件ADT。
2.1.2 Android平台架构
图2-1 Android的系统结构
Android操作系统体系结构(如图2-1所示)分为4层,由上而下依次是应用程序、应用程序框架、核心类库和Linux内核。其中第三层包括Android运行时环境。
(1)应用程序:Android连同一个核心应用程序包一起发布,该应用程序包包括E-mail客户端、SMS短信息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的。
(2)应用程序框架:开发者完全可以访问核心应用程序所使用的API框架,该应用程序框架用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块,并且任何其他的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。
(3)Android程序库:Android包括一个被Android系统中各种不同组件所使用的C/C++库集。该库集通过Android应用程序框架为开发者提供服务。
(4)Android运行库:Android包括一个核心库,该核心库提供了Java编程语言核心库的大多数功能。
(5)Linux内核:Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈。
2.1.3 Android应用程序组件
Android应用程序没有统一的入口(例如main()方法),每个应用之间是相互独立的,并且运行在自己的进程当中。根据完成的功能不同,Android划分为四类核心的组件类:Activity、Service、Broadcast Receiver和ContentProvide。相同组件和不同组件之间的导航通过Internet来完成。Android还定义了View类来显示可视化界面,例如菜单,对话框、下拉列表等。
(1)Activity是Android组件中最基本同时也是最常用的一个组件,在一个Android应用中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且继承Activity这个基类。这个Activity类将会显示由几个Views控件组成的用户接口并对时间做出相应。大部分的应用都会包含几个屏幕。调用startActivity()方法可以从一个屏幕导航到另一个屏幕。
(2)一个Service是一个长生命周期的、没有用户界面的程序。
(3)Broadcast Receiver是为了实现系统广播而提供的一种组件。例如,我们可以发出一种广播来检测手机电量的变化,这时候就可以定义一个Broadcast Receiver来接受广播,当用户电量较低的时候提示用户。
(4)Android通过使用ContentProvide来实现不同组件之间数据的共享
(5)View是Android中图形用户界面的基类,提供了可视化界面的展示。Android的图形界面展示可以分为三层:底层是Activity;Activity上面是Window;Window上面是Views。View又可以分为View和ViewGroup。View是指基本的空间,例如按钮、单选框。多选框、菜单等;ViewGroup是指布局控件,即用来控制界面中的控件如何布局摆放的。
2.2 J2EE架构
J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。
目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
J2EE使用多层的分布式应用模型,应用逻辑
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/qrs/187.html