1、I学 士 学 位 论 文THESIS OF BACHELOR(20102014 年)基于 android 的校园易点餐系统的设计与实现-商家模块II摘 要在校园传统的外卖模式下,依靠电话订餐是高校目前最主要的订餐方式。这样的外卖订餐方式给店家和顾客都带来了极大的不便,已经不能适应广大师生对外卖的需求。我们希望使用方便快捷的网上订餐的方式极大地提高外卖交易的效率,将订餐的功能移植到我们随身携带的手机上。在这种情况下,基于android 的校园易点餐系统应运而生。我们以 Java EE 作为开发平台,利用 UML 工具对系统进行建模,运用 MVC模式开发思想,采用 Struts2 框架技术实现系统
2、整体的框架,借助 JSON 的数据传输方式实现客户端与服务器之间的请求响应实现了该系统。作者主要完成系统的需求获取及分析、数据库的设计、系统框架的搭建以及商家模块代码的编写。本文对系统开发背景、实现目标及系统开发框架及工具进行了简单的介绍;使用功能结构图及用例图对系统需求进行分析;详细阐述了数据建模的过程并给出了类图的设计;最后对商家模块以及系统部分关键技术的实现做了详细的说明。关键词:Android;MVC;Struts2;SQL Server;订餐商家客户端AbstractIIIAbstractIn the campus, the traditional delivery mode rel
3、ying on telephone reservation is the main order way. This mode may cause big inconvenience for merchants and customers, and cant satisfy the needs of fast speed, high efficiency from students and teachers, also cant catch up the demand for merchants to earn more. So we want the delivery order tradin
4、g become more convenient, quicker and transplant the function of the online order on the phone, the campus ordering system arises at this moment based on android. We had completed this system by using Java EE as a development platform, UML tools for system modeling and the MVC pattern as the develop
5、ment of ideas. The whole system was realized by using the Struts2 framework and was based on JSON data transmission, so as to realize request response between the client and the server. In this system, the author mainly completed the requirement acquisition and the analysis for system, the database
6、design, the construction of the system framework and the businessman module code to write.This paper introduces the development background of the system and the goal of achievement, also mentions the development framework and tools which were carried on in the system. Meanwhile, it uses a function s
7、tructure diagram and case diagrams to analyze system requirements, describes the process of data modeling and presents the class diagram design in detail. At last, this paper ends up with explaining the business module and system implementation of some key technology.keywords:Android, MVC, Struts2,
8、SQL Server, Reservation Business Client目 录IV目 录第 1 章 绪论 .11.1 课题研究的背景和现状 .11.2 课题研究的意义 .21.3 本人的主要工作 .21.4 本文组织 .3第 2 章 系统开发及相关技术概述 .42.1 Java 技 术 .42.2 Android 操作系统及其应用程序开发技术 .42.3 Struts2 框架结构及工作原理 .62.4 JDBC 数据库编程 .72.5 JSON .8第 3 章 系统需求分析 .93.1 系统目标 .93.2 系统的功能需求分析概述 .93.2.1 商家帐户管理 .103.2.2 商家订单
9、管理 .113.2.3 商家菜谱管理 .123.2.4 商家账务管理 .133.3 系统用例图分析 .143.3.1 商家端功能用例设计 .14第 4 章 系统设计 .224.1 系统的架构设计 .224.2 系统数据库设计 .224.2.1 数据库概念设计 .224.2.2 数据库逻辑及物理结构的设计 .244.3 系统类图的设计 .26目 录V4.3.1 商家账户管理类图的设计 .264.3.2 商家订单管理类图的设计 .274.3.3 商家菜谱管理类图的设计 .294.3.4 商家账务管理类图的设计 .30第 5 章 系统实现 .325.1 商家账户管理功能实现 .325.2 商家订单管
10、理功能实现 .355.3 商家菜谱管理功能实现 .375.4 商家账务管理功能实现 .38第 6 章 系统关键技术实现 .406.1 订单提醒功能 .406.2 手机端图片的上传功能 .42第 7 章 总结与展望 .497.1 系统总结 .497.2 工作总结与展望 .49参考文献 .50致 谢 .51第 1 章 绪论 1第 1 章 绪论1.1 课题研究的背景和现状进入 21 世纪以来,餐饮行业以年均 20%的增长速度,成为国民经济中的发展最快的行业之一。随着人们生活水平的不断提高,人们甚至想要不出门就能吃到可口的饭菜这就是外卖。在我国高校内餐饮行业外卖行业更是发展最快的一个行业,在作者所在学
11、校每年都有几间新的外卖店的产生。外卖订餐已经成为高校学生生活中不可缺的一部分,而订餐的方式也随着学生们的要求提高,不断地多样化和呈现成熟化的趋势。依靠电话订餐是高校目前最主要的订餐方式,此种订餐方式有不少的缺陷,比如:时效问题、打电话的成本等等。目前高校外卖订餐行业的现状分析如下:(1)外卖店数量众多,各店竞争较大;(2)外卖店多数实行人工方式订餐,即打电话订餐登记。这种订餐方式造成订餐很不方便特别在订餐高峰期,经常出现打电话打不通的现象;(3)外卖店多数没有实行市场分析,一些菜式在顶峰期出现缺菜现象,而一些菜式却出现积累现象,造成了资源的浪费和经济损失;(4)外卖店没有对外卖进行财务管理,造
12、成对店内资金管理不明确和店员滥用资金的可能。由此无法为店内管理层提供准确的决策信息,掌握及时的市场消息。通过分析高校的外卖行业的现状,不难发现国内高校的外卖店大多数都是依靠手工的管理方式,没有实行外卖订餐管理的信息化,所以造成了不少问题。Android 操作系统平台的出现为手机设备注入了活力,也为整个 3G 时代增添了光彩。在这 3G 时代带来的变革中,随着校园内智能手机的广泛应用,大家有目共睹,它在改变着人们的工作和生活方式。作者所在学校一直没有开发出较好的校园订餐系统,学校的广大师生和店家都希望能有一个系统能够为他们提供高效便利的订餐管理服务。基于这种迫切的需求,我们通过对校园外卖行业的初
13、步了解,从系统结构的组织、功能的实现、技术要求以及可行性等多方面进行考虑,认为本课题是一个值得研究的课题。我们希望通过本课研究,开发一个适应本校外卖订餐需求的管理系统。该系统将在校园里搭建一个方便店家和广大师生进行外卖交易的平台,店家和第 1 章 绪论 2师生只需在智能手机上安装相应的客户端,即可进行方便快捷的订餐交易。1.2 课题研究的意义校园易点餐系统是基于 android 平台的校内外卖订餐应用软件,旨在于建立一个移动的快餐服务应用系统方便校内食堂各商家和校内大学生之间外卖交易平台。在这个平台下,对于商家来说,通过手机端接收订单,不必通过纸和笔的传统方式记录订单,同时也可以省去在小店里安
14、装台式电脑及安装宽带的费用,利用手机里的 android 程序,消耗很小的上网流量就能做到与广大师生网络在线联系,快速响应学生的订单需求,在预订高峰期能将订单没有遗漏地接收,为小店增加盈利。对于订餐者来说,无须额外的话费,就能在程序中浏览各小店的美食,准确的提交订单并节省了话费,省去了记录各种餐饮小店的外卖电话的繁琐过程,通过这个平台就能方便快速地享受到校园内的各种美食。Android 已经荣升智能机老大的地位,拥有众多的校内大学生客户群体,也使得该软件可以应用广泛。而且该软件的成熟应用能够吸引餐馆在该软件的投入,也能带来众多校内用户群体,软件开发成本可控,效益可观。本系统应用现在比较新颖主流
15、的 Android 开发技术,在手机端开发Android 的客户端软件,开发该系统不会有多大的技术屏障,手机端主要是 UI界面的绘制和数据业务处理,以及数据与网络的交互处理。采用 C/S 架构来控制数据与客户端的交互,采用小巧强大的 SQL 数据库作为服务器端的数据存储,采用现在广泛流行的网络协议来达到即时通信的应用。1.3 本人的主要工作作者在“校园易点餐系统”中主要完成系统的需求获取及分析、数据库的设计、系统框架的搭建,以及毕业论文的撰写。 “易点餐校园订餐系统”中完成商家模块的代码编写,该模块包括 4 个子模块:1.店铺信息管理子模块:提供商家注册入口,进行商家注册信息的验证,提供登录入
16、口,进行账号及密码的验证登录,提供修改密码的功能。店铺信息管理子模块即对商家店铺的信息进行管理,包括商家可以填写店铺的信息,进行信息修改,浏览信息等。2.店铺订单管理子模块:第 1 章 绪论 3即对本店的订单信息进行管理,包括接受顾客的订单,浏览订单信息,并根据菜品的制作过程实时修改订单的状态,删除订单等。3.店铺菜品管理子模块:即对本店的菜系,菜品等进行管理,可以添加店铺所有的菜系,按菜系分类将店铺的菜品加入相应的菜系系列下供顾客选择,在店铺更新菜品时可将旧的菜品进行下架处理。4.店铺财务管理子模块:即对外卖的订单中的收入进行系统的管理,让商家能够对店铺的外卖收入有清楚的了解,提供订单账目的
17、查询,包括当天订单收入和历史订单收入等。1.4 本文组织第 1 章 引言、简述了系统的开发背景、发展现状及意义。介绍了本人在系统开发中的主要工作;第 2 章 介绍了系统的开发平台及开发工具;第 3 章 使用功能结构图对商家模块的需求进行了详细的分析;第 4 章 详细阐述了商家模块设计的全过程;第 5 章 详细介绍了商家模块功能的实现;第 6 章 介绍了系统关键技术的实现;第 7 章 总结了全文的主要思想,分析了今后继续努力的方向。第 1 章 绪论 4第 2 章 系统开发技术及相关技术概述 5第 2 章 系统开发及相关技术概述 在对系统进行分析之后,我们确认了系统的功能。鉴于我们的目标是开发出一
18、个基于 android 的校园点餐系统,我们决定在 android 平台下开发我们的应用软件,而服务器端的请求响应机制仍采用 J2EE 下的框架,通信协议采用HTTP 协议,数据传输解析采用 JavaScript 中的轻量级的数据交换格式 JSON。2.1 Java 技 术Java【1-3】 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由Sun Microsystems 公司于 1995 年 5 月推出。它由 Java 程序设计语言和 Java 平台组成,期中 Java 平台分为 Java SE、Java EE、Java ME 三个 体系。Java 技术因为其具有卓越的通用性、高效性
19、、平台移植性和安全性而受到开发人员的青睐,广泛运用于 PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网中,目前 Java 具备了显著的优势和广阔的前景。Java 由四方面组成:Java 编程语言、Java 类文件格式、Java 虚拟机和 Java应用程序接口(Java API)。 Java 应用程序编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在开发此系统时,我们应用的是 J2EE 体系。J2EE 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE 使用多层
20、的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。J2EE 典型的四层结构:运行在客户端机器上的客户层组件、运行在J2EE 服务器上的 Web 层组件、运行在 J2EE 服务器上的业务逻辑层组件、运行在 EIS 服务器上的企业信息系统(Enterprise information system)层软件。J2EE这样的结构为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。2.2 Android操作系统及其应用程序开发技术Android【4-6 】 操作系统是 Google 于 2007 年发布的一个基于 Linux 平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用程序组成。Android 的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统