职场文秘网

首页 > 领导讲话 > 金融讲话 / 正文

莲峰美食餐饮平台的设计与开发

2020-12-23 10:47:16

 **美食餐饮平台的设计与开发

 摘要

 随着现在互联网的不断普及,众多的行业与互联网进行融合的发展,网上订餐的模式在高校的学生群体里应用的更加广泛,就拿现在的比较主流的一些外卖点餐平台举例,饿了么、美团、百度外卖都是深受当下大学生欢迎的外卖点餐软件,这些外卖点餐软件也给学生提供了便捷,方便学生随时随地点餐,免去了许多不必要浪费的时间,但是同时我们也可以看到,在当下的一些外卖的制作过程中可能存在的制作环境恶劣、卫生条件不合格、食材来源不明确等问题,还有相关的一些外卖平台对制作外卖商家缺乏一定的监管,这些都将会导致制作出来的外卖不卫生等问题,严重的会危害到我们的身体健康,不利于大学生的成长,而现在的大学生普遍喜欢高效便捷的点餐模式,为了迎合当下互联网发展的趋势与学生的需求,我们迫切需要在校内开发一个网上的订餐系统,并将该订餐系统与学校的各大食堂进行合作,由系统对订餐、配送进行管理,食堂负责制作餐品,通过这个系统的使用以后,即迎合了当下大学生的点餐的习惯,又保证了大学生用餐的安全,提高了食堂的用餐率,为学校营造更好的用餐氛围,为师生们的用餐提供便捷。

  现如今网络点餐平台在高校炙手可热,在长春大学校园中有这样一伙人,他们制作了一个高校点餐平台移动食堂,为高校食堂提供网络订餐系统,致力于为在校大学生提供安全、价廉及快捷的食堂订餐服务。

  **美食餐饮平台的设计开发是基于C/S结构,开发过程利用MVC开发模式,层次分明。成功实现了一个基本的外卖点餐系统的功能,采用java程序设计语言及MYSQL数据库进行开发;**美食餐饮平台的设计开发包括了前端和后端管理的需求,前端主要包括的功能是:用户登录注册、食堂信息、菜品购买、订单信息等,后台主要的功能是:订单管理、菜品管理、用户管理,希望能利用先进的计算机技术和网络技术来改变目前的食堂的管理、服务水平,为校内食堂的经营提供一个更好更大的平台,为师生用餐提供更多的便利,顺应当下时代的发展,同时使**美食餐饮平台的设计的信息管理可以便于操作,易于信息管理,满足管理人员的管理需求,为学校后勤的管理提供辅助。

  关键字:餐饮,外卖,校内餐饮

 Design and Development of Lianfeng gourmet dining platform

 ABSTRACT

 With the continuous popularity of the Internet and the development of the integration of many industries and the Internet, the online ordering model is more widely used in College students. Take some of the more mainstream take-out platforms for example, hungry, beauty troupe, Baidu take-out are popular take-out software for college students. These take-out software also give students a lesson. Students provide convenience and convenience for students to eat anywhere and anytime, eliminating a lot of unnecessary waste of time. But at the same time, we can also see that there may be some problems in the production process of takeout, such as poor production environment, unqualified sanitary conditions, unclear sources of food materials, and some related takeout platforms lack certain supervision on the manufacturers. These will lead to unsanitary takeout problems, which will seriously endanger our health and the growth of College students. Now college students generally like efficient and convenient ordering mode. In order to meet the current trend of Internet development and the needs of students, we urgently need to develop an online ordering system in school, and make the ordering system with the Internet. The major canteens of the school cooperate with each other and manage the ordering and distribution by the system. The canteen is responsible for making meals. After using this system, it caters to the current college students'habit of ordering meals, ensures the safety of college students' meals, improves the dining rate of the canteen, creates a better dining atmosphere for the school, and provides convenience for teachers and students'meals.

 The design and development of Lianfeng Food and Beverage Platform is based on C/S structure, and the development process uses MVC development mode, with clear hierarchy. The design and development of Lianfeng Food and Beverage Platform includes the requirements of front-end and back-end management. The front-end mainly includes the functions of user registration, canteen information, food purchase, order information, etc. The main functions of the back-end are order management, dish management,

  etc. Quality management and user management, hope to use advanced computer technology and network technology to change the management and service level of the canteen, provide a better and larger platform for the operation of the canteen, provide more convenience for teachers and students to eat, and adapt to the development of the current era, at the same time, make the information management of the design of Lianfeng Food and Beverage Platform easy to operate and easy to believe. Information management, to meet the management needs of managers, to provide support for the management of school logistics.

 Key words:Catering, takeout, in-school catering

 目录

 第1章绪论 1

 1.1开发背景与意义 1

 1.2开发方法 2

 1.3论文结构 2

 1.4分工情况 4

 1.5本章小结 4

 第2章系统开发技术的介绍 5

 2.1 Android简介 5

 2.2 开发工具简介 5

 2.3 java语言介绍 6

 2.4 Web技术 7

 2.5本章小结 8

 第3章系统分析 9

 3.1功能需求分析 9

 3.2业务流程分析 10

 3.3数据流程分析 12

 3.4本章小结 15

 第4章系统设计 16

 4.1系统网络架构设计 16

 4.2系统总体设计 16

 4.2.1前端模块设计 16

 4.2.2后台模块设计 16

 4.3数据库设计 17

 4.3.1概念模型设计 17

 4.3.2数据库表设计 18

 4.4本章小结 22

 第5章系统的实现 23

 5.1用户登录 23

 5.2食堂信息 24

 5.3菜品购买 25

 5.4订单信息 26

 5.5订单管理 27

 5.6菜品管理 28

 5.7用户管理 29

 5.8本章小结 29

 第6章系统测试 30

 6.1系统测试 30

 6.2 测试目的 30

 6.3 测试项目 30

 6.4 系统功能测试 30

 6.5本章小结 31

 总结 32

 致谢 34

 参考文献 35

 图目录

 图3.1.1 前端用例图 9

 图3.1.2 后端用例图 10

 图3.2 总体业务流程图 11

 图3.2.1 用户注册业务流程图 11

 图3.2.2用户登录业务流程图 12

 图3.2.3管理员管理业务流程图 12

 图3.3.1第0层数据流图 13

 图3.3.2第1层数据流图 13

 图3.3.3第2层数据流图(用户) 14

 图3.3.4第2层数据流图(管理员) 14

 图4.2.2.1**美食餐饮平台的系统功能结构图 17

 图4.3.1.1**美食餐饮平台的系统总体E-R图 18

 表 目录

 表 4.1

 菜品种类表 18

 表 4.2

 留言评论表 19

 表 4.3

 菜品表 19

 表 4.4关联表 20

 表 4.5订座表 20

 表 4.6客户评价表 20

 表 4.7桌号表 21

 表 4.8食堂表 21

 表 4.9订单表 21

 表 6.1测试结果表 30

 第1章绪论

 1.1开发背景与意义

 众所周知,目前随着各大外卖平台的兴起,在中国的大学生高校中学生到食堂用餐,在路途和排队上浪费很多时间,并且去晚了经常会吃不到想吃的食物;这样便会导致学生对食堂的满意度不高,近期我们发现有很多的学生选择了网上订餐或者是叫外卖。在这种情况下,学生的生活健康的不到保证,食堂更是无法准确预测学生需求,因此食堂经常会出现有些食物因为没有卖出去而浪费掉,而学生需要的一些食物却已售罄的现象。据了解全校现有师生20000余人,4个饭堂(餐厅),学生宿舍27幢,分属5大片区15个值班点。近年来,随着社会上美团外卖、饿了吗等网上订餐以及校园周边饮食摊档急剧发展,学生订外卖的现象越来越多,校外饮食进入校园既无法保证食品安全,又给校园管理带来诸多问题。为了减少此类问题,学校餐厅逐步推出盒饭(套餐)的移动订餐服务。为此我们准备开发一个类似美团、饿了么的校内**美食平台app,希望通过这个系统的开发以后,能够使学生更多地选择食堂进行点餐与就餐,提高食堂的销量。

  在科学技术高速发展的今天,移动手机端技术的发展尤为迅速。现在几乎所有菜品、服务、旅游、娱乐等人类所需服务都可以在移动端得到实现,例如:天猫、淘宝、去哪儿等移动端软件都很好的给我们提供了我们所需的服务,由此可见手机移动端的软件在未来将起到至关重要的作用。同时现在我们校园的食堂也存在着一些内忧外患,一方面是各大的互联网外卖平台的兴起,冲击了校内食堂的用餐人数,同时现在的大学生普遍追求一种高效便捷的用餐模式,不愿意高峰期在食堂进行排队用餐,另一方面我们的校内也缺乏这样一种校内的网络订餐平台,使许多的学生如果想进行校内订餐也缺乏这样的途径,为此我们应该拥有一个校内的网络点餐系统,与食堂进行合作,这样将会改变当下存在这一些校外食品安全的问题与校园内部秩序管理的问题,提高校园管理水平。

  目前,已有很多关于美食订餐的“小助手”APP,但是多数APP功能太多复杂以至于根本就找不到或者说很难找到所需要的功能,这对用户来说显然是不方便的。因为我们开发的项目主要是面对校内学生这个群体,学生在点餐的过程中可能追求的是界面的美观与简洁实用性,因为学生下课阶段都是用餐的高峰期,这时候学生通过网上点餐平台都希望尽快浏览菜品下单付款,为此我们的点餐系统应该追求高效与快捷方便我们师生点餐。另外校内预定时间到饭堂取也是我们系统的一个亮点,可以通过在平台上预定好,食堂接到订单后备好菜品,学生下课以后便可以顺路到食堂取外卖

 ,也节省了等待外卖送达的时间,增加了吸引力。更有甚者有些APP的功能根本就用不到或者很少用到,这也给用户带来了大大的不便。为此,我们决定开发的这款APP以简单实用为主,力主在涉及到美食订餐的常用功能的简化,主打与校外外卖平台的不同,突出优势,APP的操作以方便用户使用,让校内的点餐平台更具有吸引力,吸引更多学生到校内的**美食平台进行点餐。

  1.2开发方法

 **美食平台的设计与开发采用android+MYSQL实现,前期主要运用所学相关知识参考当下一些比较热门的外卖点餐平台了解平台所具有的基本功能、了解有关目前学生选择网上点餐的原因、学习其他当下比较热门的点餐平台开发方法,结合相关要求写出需求分析,需求包括了前端的用户注册登录、菜品浏览、购买、订单信息、评论留言功能,后台的功能主要包括了:用户管理、菜品管理、订单管理等;后期,进行**美食平台的的设计与开发。**美食平台页面主要采用web技术进行设计,通过对数据库的查询搜索来实现菜品的搜索功能,对表单以及数据的校验保证用户登录与注册功能,以及控制页面的正确显示和对用户类型的权限设计。采用MYSQL数据库,实现**美食平台的操作。在整个设计过程中以需求分析为基础,分析出**美食平台所需要具有的基本功能与一些亮点,写出**美食平台实现流程及相关问题的实现方法。

  1.3论文结构

 (1)绪论

 **美食平台开发的的背景、意义、以及该美食平台系统的在以后校内的发展状况,详细描述了**美食平台的主要的功能模块与基本的流程,与**美食平台针对的主要的群体与以后的一些应用拓展的方向,然后对本章的内容进行进行总结。

  (2)系统分析

 对有关于当下网上美食订餐平台的基本概述、调研校内师生用户对于**美食平台需求与他们所期望能够实现的一些更好更符合他们的需求的功能、对**美食平台的系统业务流程分析,包括了从用户注册、点餐、提交订单、餐后评论的整个流程的分析,**

 美食平台的运行的主要数据组成、对于本章的小结。

  (3)系统设计

 **美食平台系统的网络结构设计、系统总体设计、系统功能模块的划分、系统功能模块的需求,数据库设计概述、数据库概述结构设计、数据库逻辑结构设计。

  (4)系统开发环境介绍

 **美食餐饮平台的设计开发是基于C/S结构,开发过程利用MVC开发模式,采用java程序设计语言及MYSQL数据库进行开发。

 (5)系统的实现

 **美食平台的设计主要模块包括了:用户登录注册模块的实现、食堂信息模块设计、菜品购买模块的实现、订单信息模块的实现、订单管理模块的实现、用户管理模块的实现、菜品管理模块的实现。

  (6)系统测试

 **美食平台的系统编码实现后,需要对系统的所有功能进行测试,测试前台后台数据是否能够实现传输,数据的存取是否存在问题,程序的测试测试包括黑盒测试和白盒测试,**美食平台系统主要采用黑盒测试,通过针对不同的功能模块,包括了:用户登录注册、食堂信息、菜品购买、订单信息、订单管理、菜品管理、用户管理等模块输入不同组的测试数据进行测试的功能模块测试,测试用户登录注册能否成功、菜品信息能否正常显示、订单提交支付是否能完成、后台管理系统能否接到来自用户的订单信息等基本的功能,并进行多次的测试,保证前端数据显示的准确性,后台的管理有效性。

  1.4分工情况

 序号

 模块名称

 主要功能描述

 主要完成人

 1

 后端管理界面原型、

 项目的编码实现、数据库设计和实现

 包括登陆界面、注册界面、后台管理界面框架的设计制作,及其界面原型、界面效果图的设计制作,后台主体CSS样式的定义,根据需求分析的要求,进行项目的结构分析、模块划分、编码实现,根据需求分析的要求,进行实体关系的分析,进行数据库表的设计和实现。

  沈艺杰

 高翔

 2

 前端显示界面原型

 需求分析文档的撰写

 界面优化

 划定在和最普通用户的交流的前端显示的信息,页面的布局、风格的设计和制作,界面原型、界面效果图的制作,前端主体CSS样式的定义。

  需求分析文档的撰写

 温文锐

 3

 需求分析

 数据库设计说明书、用户使用手册的撰写

 分析用户需求,确定功能需求

 毕业论文开题报告及毕业论文的书写

 软件测试

 高翔

 1.5本章小结

 本章主要对**美食平台的的选题背景与意义:当下的外卖平台对于校内用餐秩序的影响与当下互联网点餐对于校内食堂的冲击,同时过多的一些校外人员配送外卖也影响校内安全管理难度,通过校内点餐平台的上线运行,既能够保证校内师生用餐的安全,也给学生们的用餐提供更多的实惠与便利,促进学校对于学生的管理与帮助,为后勤管理提供有效的参考数据。**美食平台的设计与开发采用android+MYSQL实现,论文的结构分为绪论、系统分析、系统设计、系统开发环境介绍、系统实现、系统测试等6大部分,同时对小组分工情况进行说明。

  第2章系统开发技术的介绍

 2.1 Android简介

 鉴于安卓平台具有以下的四大优势,所以我们决定在安卓平台上开发**美食餐饮系统。

  1.平台的开放性:开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。

  2.硬件的丰富性:由于安卓的开放性,众多厂商会推出各具功能特色的多种产品,同时更具人性化。

  3.平台稳定性:Android平台的研发队伍阵容强大,包括Google、HTC(宏达电)、PHILIPS、T-Mobile、高通、魅族、摩托罗拉、三星、LG以及中国移动在内的34家企业都将基于该平台开发手机的新型业务,应用之间的通用性和互联性将在最大程度上得到保持。

  4.前景广阔性:Android在中国的前景十分广阔,首先是有成熟的消费者,在国内,Android社区十分红火比如androidin.net,这些社区为android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了android阵营,包括魅族,中国移动,中国联通,华为通讯,联想等大企业。

  2.2 开发工具简介

 Eclipse是我们一直使用的一款开发工具,它具有:1.从编写、查错、编译、帮助等等各方面为Java语言贴身定做。 2.可无限扩展的强大插件功能。 3.众多公司、厂商、组织的鼎立支持。 4.开放,自由,免费。以上优点,所以,在此次开发过程中,我们依旧选择该开发工具。

  我们选择MySQL因为有如下优点:

  1.它使用的核心线程是完全多线程,支持多处理器。

  2.有多种列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM类型。 

 3.它通过一个高度优化的类库实现SQL函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。 

 4.全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查询中混来自不同数据库的表。 

 5.支持ANSI SQL的LEFT 0UTER JOIN和ODBC。 

 6.所有列都有缺省值。你可以用INSERT插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。 

 7.MySQL可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。 

 2.3 java语言介绍

 我们在开发**美食餐饮平台的过程中,主要使用了JAVA语言。因为与其他语言在开发过程中相比,具有以下几点优势:

  1. 简单

 Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。

  2. 面向对象

 Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的

 方法,实现了代码的复用。

  3. 安全性

 用于网络、分布环境下的Java必须防止病毒的入侵。Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生

 的错误。

  4. 体系结构中立

 Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意处理器上运行。这些字节码指令对应于Java虚拟机中的表示,

 Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。

  5. 可移植性

 与平台无关的特性使Java程序可以方便地移植到网络上的不同机器。同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C语言实现,这使得Java系统本身也具有可移植性。

  6. 多线程

 多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为。

  2.4 Web技术

 网络的出现改变了人类传统的生活方式,有了网络之后人们可以通过网络搜索大量的信息,从而找到他们想要的部分; 无论何时何地可以与朋友通过网络联系,亦能识别来自世界各地的陌生人,还可以访问网上银行或购物,家里可以购物。

  网络的快速是大家有所体会的,短短几秒钟的就可把一封邮件从我国传递到海外国家。这种快速的信息交换服务更加人性化。 

 网络是非常自由的,网络中人人平等,每个人都有表达自己的观点的权力。 

 网络的另一大特性即使它的创新性。任意技术的发展都不能离开创新独自存在,网络技术亦不例外。正是因为不断的创新网络才可一直保持旺盛生命力,当然也正因为如此人们才可随时接受当下的流行观念,学习着新技术,并引导人们更好地去提升自己,并为社会发展尽一份自己的力量。

  Web技术提供了如下的优点:

  1.Web应用程序提供了极其丰富的视觉上的盛宴,同时亦不会将人注意力分散掉;它注重美学,使用设计模式且亦不失易用性,这种设计模式和本地应用体验到的一样。 

 2.Web应用并不是仅仅让他们搜索网页,用户的交互、参与及任务的完成也被特别注重。即用户完成任务亦无需跳转到其他站点或是应用,原因是它是自包含的。

  JSP是一种开放动态网站的编程语言,它能嵌入在html中使用,也能单独使用,同时具有多种有优点,可以说,JSP已经成为Web脚本技术的先驱。JSP 新版本的发布,标志着一个全新的JSP时代的到来,它最大的特点就是引入了面向对象的全部机制,并保留了向下的兼容性。综上所述,使用JSP,可以自由的选择操作系统、Web服务器以及合适的数据库管理系统。同时,还可以在开发时选择使用面向过程和面向对象,或者两者混合的方式开发。相对于微软的ASP与SUN公司的JSP 等相比,LAMP是目前最流行的Web开发组合。

  2.5本章小结

 本章主要论述此次开发**美食餐饮平台所用到的一些开发技术与工具,对当下的这些工具的情况作了一个基本的介绍,同时也说明了采用这些开发平台、开发语言的优势。我们系统所使用的开发语言也是主要是java,java语言的优势是简单好用在后端的开发中尤为重要,前端的页面主要用的是web的技术来保证了前台的美观与实用性,后期针对ios的平台也同样可以进行开发,让**美食餐饮平台能够同步在苹果手机上运行,让**美食平台能够吸引到、方便到更多的师生,为高校内部网络点餐平台提供典范,为食堂的管理提供大数据的支持。

  第3章系统分析

 3.1功能需求分析

 **美食餐饮平台分为前端和后端两大模块。前端模块如图3.1.1所示。

  图3.1.1 前端用例图

 图3.1.1展示了**美食餐饮平台前端模块,主要包括了:用户登录注册、食堂信息、菜品信息、菜品购买、订单信息、留言信息、个人中心。

  **美食餐饮平台的后端模块用例图如图3.1.2所示:

  图3.1.2

 后端用例图

 图3.1.2展示了**美食餐饮平台的后端模块,主要包括了系统用户管理、订单管理、菜品管理、留言信息、食堂管理管理等功能模块。

  3.2业务流程分析

 **美食餐饮平台的业务流程设计主要包括总体业务流程设计、用户注册业务流程设计、用户登录业务流程设计、管理员登录业务流程设计和管理员管理业务流程设计,为了使系统业务流程直观易懂,设计如下的系统业务流程图:

  1.总体业务流程:首先在**美食餐饮平台的前台,学生用户可以经过账号注册,管理员审核通过后,用账号密码登录**美食餐饮平台的前台,查看最新资讯、菜品信息等栏目信息,进行在线留言和管理员管理,菜品收藏,在前台用户可以通过标题和类别进行前台信息的搜索,学生用户可以登录个人中心进行个人资料管理、收藏信息等功能。后

 台主要由管理员使用,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统用户管理、菜品管理、留言信息管理等功能操作。具体如下图所示:

  图3.2总体业务流程图

 2.用户注册业务流程:用户根据注册页面,认真填写相应的信息,确认无误后,点击注册,用户注册信息资料都插入到数据库中了。然后用户就可以根据自己的账号信息进入到**美食餐饮平台。具体如下图所示:

  图3.2.1用户注册业务流程图

 3.用户登录业务流程:用户将自己的用户名以及密码正确的填写到登录界面上相应位置,点击登录后,系统会将用户输入的信息进行身份验证,如果验证无误的话,那么会显示登录成功,并跳转到相应的页面。具体如下图所示:

  图3.2.2用户登录业务流程图

 4.管理员管理业务流程:管理员管理系统用户(系统用户录入、删除、修改、登录密码修改)、菜品管理(企业类型录入、删除、修改)、留言管理(删除、修改)。具体如下图所示:

  图3.2.3管理员管理业务流程图

 3.3数据流程分析

 本系统根据上节所设计的各个业务流程图,采用逐层细化的方法,画的每一部分各层的数据流图如下:

  1.第0层数据流图

 注册用户和管理员都可以通过登录系统的界面来进入系统,如下图所示:

  图3.3.1第0层数据流图

 首先系统用户使用账号和密码等数据就行登录,此时数据流由界面输入流向数

 据库进行逻辑验证,如果找到该数据记录则进行页面跳转,根据用户身份信息,跳转至相应的功能页面,系统用户在系统内进行数据操作,此时数据流的有效数据流流向数据库中心执行相应的数据sql语句,完成增删改查等操作,最后数据流由数据库中心流向系统界面,进行结果显示。

  2.第1层数据流图

 第1层为系统的详细数据流图,普通用户即客户和管理员可以通过登录进行访问的过程。如下图所示:

  图3.3.2第1层数据流图

 第1层数据流图中,数据实体包括普通用户和客户,普通用户数据流程包括收藏信息,菜品信息;管理员数据流程包括菜品管理,订单管理;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等,数据表包括用户与管理员功能所涉及的表。

  3.第2层数据流图

 第2层为用户和管理员数据流图,他们可以分别通过添加、修改和删除来对系统进行管理,如下图所示:

  图3.3.3第2层数据流图(用户)

 图3.3.4第2层数据流图(管理员)

 第2层数据流图中,数据流实体主要是用户和管理员,数据流程包括用户资料管理、菜品管理,留言管理,用户管理;数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息;数据表包括这些数据存在的表。

  3.4本章小结

 本章主要论述了对用户和管理员的需求调研,对**美食餐饮主要的功能需求进行明析,对**美食餐饮平台进行业务流程分析包括:总体业务流程分析、用户注册业务流程分析、用户登录业务流程分析、管理员管理业务流程分析等,数据流程分析则从**美食餐饮平台的第0层、第1层、第2层数据流程进行分析,并绘制出数据的流程图,使数据传输的流程更加清晰,有利于程序的开发,其中数据的组成包括**美食餐饮平台的前台和后台的详细数据组成分类,将前台后台数据进行明确的划分,保证了数据传输与管理的准确性。

  第4章系统设计

 4.1系统网络架构设计

 Client/Server把一些频繁与用户打交道的任务交给前端较简单的计算机—客户机。通过这种方式,将任务合理分配到客户端和服务器端,既充分利用了两端硬件环境的优势,又实现了网络上信息资源的共享。由于这种结构比较适于局域网运行环境,因此逐渐得到了广泛的应用。

  在Client/Server结构的系统中,应用程序分为客户端和服务器端两大部分。客户端部分为每个用户所专有,而服务器端部分则由多个用户共享其信息与功能。客户端部分通常负责执行前台功能,如管理用户接口、数据处理和报告请求等;而服务器端部分执行后台服务,如管理共享外设、控制对共享数据库的操作等。这种体系结构由多台计算机构成,它们有机地结合在一起,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。

  4.2系统总体设计

 根据前面的各项设计分析,按照系统开发的基本理念对**美食餐饮平台进行分解,从模块上主要可分为点餐系统的前端模块和后台管理员模块。

  4.2.1前端模块设计

 前台模块只要是让普通用户和游客用户使用,包括首页的主要食堂显示、主要菜品展示、用户注册、用户登录等主要功能模块的设计与开发,主要采用了web的技术对前台模块进行设计与处理

 4.2.2后台模块设计

 后台包括系统用户管理(系统用户录入、删除、修改、登录密码修改)、菜品管理(企业类型录入、删除、修改)、留言管理(专业信息录入、删除、修改),食堂可以通过后台可以对数据进行添加、删除、修改及查询等操作,来根据不同的时间段与季节,修改供应的菜品满足师生的需求。

  系统总体功能结构图如下图所示。

  图4.2.2.1**美食餐饮平台的系统功能结构图

 4.3数据库设计

 4.3.1概念模型设计

 **美食餐饮平台开发建立数据库之前,要对系统的数据进行概念模型设计,包括了用户、管理、菜品信息、回复、订单信息查询等设计实体包含哪些属性进行分析与了解,各功能模块和功能模块之间的关系也进行互相之间分析,建立联系,根据前期**美食餐饮平台所分析出来的主要的模块根据概念设计,得到**美食餐饮平台系统总体ER图,并根据**美食餐饮平台各个模块之间关系将系统的总体ER图绘制出来,如下所示:

  图4.3.1.1**美食餐饮平台系统总体ER图

 关于**美食餐饮平台系统E-R图的关系说明如下:管理员可以对菜品信息、订单信息进行管理,同时可以执行查询的操作,可以对用户的留言进行回复,用户可以对菜品进行购买,同时可以查询订单的信息,对所购买的菜品进行留言的操作。

  4.3.2数据库表设计

 概念设计是在**美食餐饮平台分析数据的基础上建立了系统的分析和数据库设计,然后从前面分析的角度,将设计的观点整合在一起,最终完成了**美食餐饮平台系统的结构分析和优化设计,保证系统的稳定性。

  一般的数据库结构的概念,是一个实体和属性的关系模型。E-R模型一般拥有实体、属性和联系等多方面的信息,E-R模型采用的是E-R图来表示,需要提示用户工作中所以需要用到的事物,属性则是对实体信息的表述。

  概念设计的目标是需要反映出系统所要求的数据库概念的结构,也就是概念模型。概念模式是独立于数据库的逻辑结构的,并且是一个独立的DBMS,不需要去依赖计算机系统的。

  以下为**美食餐饮平台所使用的数据库表信息;

 表4.1:菜品种类表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 title

 varchar

 500

 是

 内容

 3

 ownid

 varchar

 10

 是

 Null

 4

 sid

 int

 11

 是

 食堂id

 5

 shop

 varchar

 255

 是

 食堂

 表4.2:留言评论表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 title

 varchar

 100

 是

 内容

 3

 note

 varchar

 500

 是

 备注

 4

 state

 varchar

 50

 是

 状态

 5

 username

 varchar

 50

 是

 用户名

 6

 ndate

 varchar

 50

 是

 留言时间

 表4.3:菜品表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 gname

 varchar

 100

 是

 菜名

 3

 price

 varchar

 10

 是

 价格

 4

 jifen

 varchar

 10

 是

 菜品评分

 5

 note

 varchar

 500

 是

 备注

 6

 type

 varchar

 50

 是

 菜品类型

 7

 img

 varchar

 500

 是

 图片

 8

 count

 int

 11

 是

 数量

 9

 typeid

 varchar

 10

 是

 菜品类型id

 10

 xiaoliang

 int

 11

 是

 销量

 11

 ownid

 varchar

 10

 是

 Null

 12

 sid

 varchar

 10

 是

 食堂id

 13

 shop

 varchar

 50

 是

 食堂

 14

 mcount

 varchar

 50

 是

 Null

 15

 saleType

 varchar

 50

 是

 Null

 16

 sale

 varchar

 20

 是

 Null

 17

 shouye

 int

 11

 是

 Null

 18

 zan

 int

 11

 是

 Null

 表4.4:关联表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 bid

 int

 11

 是

 订单id

 3

 uid

 int

 11

 是

 用户id

 表4.5:订座表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 title

 varchar

 50

 是

 Null

 3

 note

 varchar

 500

 是

 Null

 4

 ndate

 varchar

 50

 是

 Null

 5

 type

 varchar

 50

 是

 Null

 6

 img

 varchar

 200

 是

 Null

 表4.6:客户评价表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 pid

 varchar

 10

 是

 Null

 3

 note

 varchar

 500

 是

 Null

 4

 uid

 varchar

 10

 是

 Null

 5

 username

 varchar

 200

 是

 Null

 6

 ndate

 varchar

 50

 是

 Null

 7

 sid

 int

 11

 是

 Null

 8

 shop

 varchar

 255

 是

 Null

 表4.7:桌号表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 title

 varchar

 100

 是

 内容

 3

 note

 varchar

 500

 是

 备注

 4

 state

 varchar

 50

 是

 状态

 5

 sid

 int

 11

 是

 食堂id

 6

 shop

 varchar

 255

 是

 食堂

 表4.8:食堂表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 sname

 varchar

 100

 是

 食堂名称

 3

 img

 varchar

 500

 是

 食堂图片

 4

 note

 varchar

 500

 是

 食堂介绍

 5

 address

 varchar

 500

 是

 食堂地址

 6

 longitude

 varchar

 100

 是

 经度

 7

 latitude

 varchar

 100

 是

 纬度

 8

 tel

 varchar

 100

 是

 食堂电话

 9

 ownid

 varchar

 10

 是

 Null

 10

 passwd

 varchar

 50

 是

 密码

 11

 cid

 varchar

 50

 是

 城市id

 12

 city

 varchar

 50

 是

 城市

 表4.9:订单表

 序号

 列名

 数据类型

 长度

 小数位

 标识

 主键

 外键

 允许空

 默认值

 说明

 1

 id

 int

 11

 是

 是

 否

 Id

 2

 openid

 varchar

 200

 是

 Null

 3

 username

 varchar

 200

 是

 用户名

 4

 renshu

 varchar

 20

 是

 人数

 5

 xingming

 varchar

 200

 是

 姓名

 6

 shouji

 varchar

 200

 是

 手机

 7

 shijian

 varchar

 200

 是

 时间

 8

 todate

 varchar

 200

 是

 创建时间

 9

 beizhu

 varchar

 600

 是

 备注

 10

 shopid

 varchar

 200

 是

 食堂id

 11

 shopname

 varchar

 200

 是

 食堂名字

 12

 ndate

 varchar

 200

 是

 更新时间

 13

 type

 int

 11

 是

 菜品种类

 14

 sid

 int

 11

 是

 食堂id

 15

 shop

 varchar

 255

 是

 食堂

 16

 zhuohao

 varchar

 255

 是

 桌号

 17

 statecn

 varchar

 255

 是

 Nul

 4.4本章小结

 本章主要论述了开发**美食餐饮平台时对系统进行的总体设计,包括网络设计采用结构为Client/Server结构,把**美食餐饮应用程序分为前端和后端两大部分,前端主要针对给客户提供点餐的可视化平台,后端则是食堂进行使用,对用户进行管理与订单的管理,然后对**美食餐饮平台的前台和后台分别进行功能模块的设计:最后对系统的各个模块进行划分,包括了**美食餐饮平台的概念模型设计与数据库的设计,并详细介绍如何设计**美食餐饮平台的整个流程步骤,理顺了对于餐饮平台开发的思路,提高程序开发的效率。

  第5章系统的实现

 5.1用户登录

 当用户打开**美食餐饮平台首页时,首先需要登录或者注册才能进行相关的操作。点击登录链接之后,出现登录窗口,用户输入用户名和密码之后,当输入用户名和密码后,点击登录按钮,页面的js脚本首先会检查你的用户名和密码有没有都填同时检验数据是否合法,当用户没有填写用户名或者密码时,就会弹出提示框,提示输入你的用户名和密码。输入完成之后,提交数据到服务器,由服务器判断用户名和密码是否输入正确。当输入正确的用户名和密码时,页面跳转到用户登录成功之后的美食平台首页首页。当输入的用户不存在时或者密码错误时,会弹出提示框用户名或者密码不正确。登录页面如图5-1所示。

  图5-1登录界面

 var userinfo = null;

 function login(uinfo){

 var fdata = uinfo || serializeObject($(“#loginform“));

 if($.trim(fdata.username)==““ || $.trim(fdata.passwd) == ““){

 showLoader(“请输入用户名或密码!“,true);

 return;

 }

 ajaxCallback(“login“,fdata,function(data){

 if(data.info && data.info==“fail“){

 showLoader(“用户名或密码错误“,true);

 changePage(“loginpage“);

 }else{

 showLoader(“登录成功!“,true);

 userinfo = data;

 if(fdata.remember == “1“){

 localStorage[“userinfo“] = JSON.stringify(data);

 }else{

 localStorage[“userinfo“] = ““;

  }

  if(userinfo.roletype==2){

 toMain();

 }else{

 ajaxCallback(“getShop“,{id:userinfo.sid},function(data){

 focushop = data;

 toMyBill();

 startBillListLoop();

  });

  }

  }

 });

 }

 5.2食堂信息

 用户登录**美食平台的系统后可以查看食堂信息,点击食堂管理,页面跳转到食堂信息列表,学生用户可以登录系统可以进行分类查看食堂信息,根据自己的喜好选择不同的食堂点餐,信息分类可以检索查看,从下面图中我们可以知道,想要获取食堂信息需要从食堂表中获取这个表中,我们可以从该接口传入参数获取返回值。

  接下来我们针对这食堂信息来进行代码的编写:

  传入参数这里我们可以看到是数据库建立的类型表信息:每个字段都是string类型。所以传入参数获取数据。这里我们是编写接口,供客户端调用,至于客户端怎么将这些参数传递过来,那是客户端里面说明。

  返回值这里使用了taotaoresult来包装了下,因为我们提交参数成功后,返回的是数据list信息,我们需要将类型信息遍历后返回给前端。

  下面看下服务接口的service层的实现:

  service层的主要实现是将类型信息添加到数据库中,即接收controller传递过来的对象,然后补全页面没有的字段,insert数据库,这是信息添加时才会做的操作,如图所示。

  食堂信息界面

 function toShops(){

 changePage(“shopspage“);

 listShop();

 ajaxCallback(“listCity“,{},function(data){

 $(“#cityid“).refreshShowSelectMenu(data,“选择地区“,“id“,“title“);

 });

 }

 function listShop(){

 ajaxCallback(“listShop“,{},function(data){

 shoplist = data;

 $(“#shops“).refreshShowListView(data);

 5.3菜品购买

 用户登陆**美食平台的系统后,可以选择不同饭堂进入,进入不同饭堂以后,饭堂所供应的菜品也是有差异的,满足学生个性化用餐需求,同时也提供了菜品推荐与搜索功能,提供学生点餐效率,学生在选择好想吃的菜品后,可以查看购物车信息,对选择好的菜品可以加入购物车等待用户选择好菜品后进入结算界面,先创建订单信息,然后再进行付款,完成了购买操作,这个菜品购买的流程结构也是非常简洁清晰,方便学生的使用,我们所设计**美食餐饮平台的界面图如图所示。

  购物车界面

 var p3 = {};

 p3.tpl='<li>'+

 '<a href=“#“ onclick=“toGood(%s);“>'+

 '<img class=“previewimg“ src=“'+fileurl+'%s“>'+

 '<h2 style=““>%s</h2>'+

 '<p style=“color: red;“>%s 元</p>'+

 '</a>'+

 '<div class=“countopreadiv“>'+

 '<a onclick=“countFoodCar(%s,1);“><imgsrc=“images/add.png“></a>'+

 '<input id=“foodcar%s“ data-role=“none“ type=“text“ value=“%s“>'+

 '<a onclick=“countFoodCar(%s,-1);“><imgsrc=“images/jian.png“></a>'+

 '</div>'+

 '</li>';

 p3.colums = [“id“,“img“,“gname“,“price“,“id“,“id“,“count“,“id“];

 $(“#cars“).data(“property“,JSON.stringify(p3));

 5.4订单信息

 用户登录**美食餐饮平台系统后可以查看订单信息,包括了刚刚生成的订单与历史订单的查询,订单信息显示用户已经创建过的订单,用户可以在此进行付款操作,付款的方式也是非常多样,因为此程序主要面对的是校内的师生,支付方式除了微信、支付宝支付方式以外,还能支持到现场刷校园卡、现金付款进行支付,同时此页面还包括待收货的订单记录和交易完成的订单信息,其界面展示如图所示。

  订单信息界面

 var p4 = {};

 p4.tpl = '<li><a href=“#“ onclick=“billDetail(%s);“>'+

 '<h2>%s</h2>'+

 '<p>%s</p>'+

 '<p style=“color: red;“>总价:%s</p>'+

 '<p>食堂:%s</p>'+

 //'<p style=“color: red;“>状态:%s</p>'+

 '</a></li>';

 p4.colums = [“id“,“ndate“,“gnames“,“total“,“shop“];

 $(“#bills“).data(“property“,JSON.stringify(p4));

 5.5订单管理

 管理员登录系统后可以对前台用户所提交的订单来查看订单信息,并接受订单进行处理,以便于食堂进行制作餐品,高效与便捷地为学生服务,同时在系统上也能够实时对订单状态进行更改包括已接单、制作中、配送中,实时对订单的状态进行发布,同时联系校内的学生的兼职配送员进行配送,**美食餐饮平台的订单管理界面如图所示。

  订单管理界面

 public void getList(){

 String billname = request.getParameter(“sgname“);

 String sid = request.getParameter(“sid“);

 String sort = request.getParameter(“sort“);

 String order = request.getParameter(“order“);

 Page page = new Page();

 Map paramsMap = new HashMap();

 String roletype = (String) session.get(“roletype“);

 paramsMap.put(“sid“,sid);

  paramsMap.put(“billname“, billname);

 paramsMap.put(“sort“, “order by “+sort+““+order);

 String pageNo = (String) this.request.getParameter(“page“);

 String pageSizes = (String) this.request.getParameter(“rows“);

 if (pageNo == null) {

  page.setPageSize(10);

  page.setPageNo(1);

 } else {

  page.setPageSize(Integer.parseInt(pageSizes));

  page.setPageNo(Integer.parseInt(pageNo));

 }

 page = billService.findByPage(page, paramsMap);

 Gson json = new Gson();

 Map<String, Object> map = new HashMap<String, Object>();

 map.put(“total“, page.getTotal());

 map.put(“rows“, page.getList());

 render(json.toJson(map));

  }

 5.6菜品管理

 管理员登陆系统后可以新增菜品信息,点击菜品管理,系统先回去菜品表中查询菜品信息,后台获取返回值后将返回值进行遍历返回到页面,管理员可以查看到历史菜品信息,点击新增菜品信息,页面跳转到新增页面,在此页面管理员输入菜品信息,然后提交表单,表单数据传入后台进行解析,通过每个字段的获取将菜品信息解析后生成sql语句,在dao层对数据库做添加操作,如图所示

 菜品管理界面

 $('#grid1').datagrid({

 title: '菜品列表',

 nowrap: false,

 striped: true,

 fit: true,

 url: “<%=__APP__%>/Good!getList“,

 idField: 'id',

 pagination: true,

 rownumbers: true,

 pageSize: 10,

 pageNumber: 1,

 singleSelect: true,

 fitColumns: true,

 pageList: [10, 20, 50, 100, 200, 300, 500, 1000],

 sortName: 'id',

 sortOrder: 'desc',

 columns: [

 [

 //{field: 'ck', checkbox: true},

 {title: 'id', width: 100, field: 'id', sortable: true},

 {title: '名称', width: 100, field: 'gname', sortable: true},

 {title: '价格(¥)', width: 100, field: 'price',sortable: true}

 ]

 ], toolbar: [

 {

 text: '新增',

 id: “tooladd“,

 disabled: false,

 iconCls: 'icon-add',

 handler: function () {

 $(“#action“).val(“add“);

 $(“#managerDialog“).dialog('open');

 managForm.reset();

 }

 },

 '-',

 {

  text: '修改',

 id: 'tooledit',

 disabled: false,

 iconCls: 'icon-edit',

 handler: function () {

 $(“#action“).val(“edit“);

 var selected = $('#grid1').datagrid('getSelected');

 if (selected) {

 edit(selected);

  } else {

 $.messager.alert(“提示“, “请选择一条记录进行操作“);

 }

 }

 },

 '-',

 {

 text: '删除',

 id: 'tooldel',

 disabled: false,

 iconCls: 'icon-remove',

 handler: function () {

 var rows = $('#grid1').datagrid('getSelections');

 if (rows.length) {

 var ids = ““;

 for (var i = 0; i<rows.length; i++) {

 ids += rows[i].id + “,“;

 }

 ids = ids.substr(0, (ids.length - 1));

 $.messager.confirm('提示', '确定要删除吗?', function (r) {

 if (r) {

 deleteItem(ids);

 }

 });

 } else {

 $.messager.alert(“提示“, “请选择一条记录进行操作“);

 }

 }

 }

 ]

 });

 5.7用户管理

 管理员登陆系统后可以查看用户信息列表,可以查看到注册用户的各类信息,便于对用户信息进行操作与管理,能够对用户的一些异常行为进行管理,查看用户的订单信息,对用户的资料进行审核,其界面如图所示

 用户管理界面

 $(function () {

 $('#grid1').datagrid({

 title: '用户信息列表',

 nowrap: false,

 striped: true,

 fit: true,

 url: “<%=__APP__%>/User!getList“,

 idField: 'uuid',

 pagination: true,

 rownumbers: true,

 pageSize: 10,

 pageNumber: 1,

 singleSelect: true,

 fitColumns: true,

 sortName: 'id',

 sortOrder: 'desc',

 columns: [

 [

 {title: 'id', field: 'id', width: 100, hidden: false},

 {title: '用户名', field: 'username', width: 100, sortable: true},

 {title: '密码', width: 100, field: 'passwd'},

 {title:'用户权限',width:100,field:'roletype'}

 ]

 ],

 toolbar: [

 {

 text: '新增',

 iconCls: 'icon-add',

 handler: function () {

 $(“#action“).val(“add“);

 $(“#managerDialog“).dialog('open');

 $('.validatebox-tip').hide();

 }

 },

 '-',

 {

 text: '修改',

 id: 'commit',

 iconCls: 'icon-edit',

 handler: function () {

 $(“#action“).val(“edit“);

 var selected = $('#grid1').datagrid('getSelected');

 if (selected) {

 edit(selected);

 var index = $('#grid1').datagrid('getRowIndex', selected);

 } else {

 $.messager.alert(“提示“, “请选择一条记录进行操作“);

 }

 }

 },

 '-',

 {

 text: '删除',

 id: 'commit',

 iconCls: 'icon-remove',

 handler: function () {

  var rows = $('#grid1').datagrid('getSelected');

 if (rows) {

 var rowId = rows.id;

 $.messager.confirm('提示', '确定要删除吗?', function (r) {

  if (r) {

 deleteItem(rowId);

 }

 });

 } else {

 $.messager.alert(“提示“, “请选择一条记录进行操作“);

 }

 }

 }

 ]

 });

 });

 5.8本章小结

 本章节主要论述了模块的实现效果截图,以及各个模块的功能说明,包括了用户登录注册模块、食堂信息模块、菜品购买模块、订单信息模块、菜单管理模块、用户管理模块,分析出每个模块的实际应用的功能与说明并将该模块功能实现的技术进行说明,让**美食餐饮平台的程序在开发过程中更加的清晰,也有利于让程序的使用者更好的了解与使用该美食平台,对于各个模块主要功能的实现的步骤也进行了说明,将整个**美食餐饮平台的功能实现的技术与步骤进行详细的论述,为软件的后期开发提供有效性的参考。

  第6章系统测试

 6.1系统测试

 对于**美食餐饮平台的测试方法:我们主要采用黑盒测试方法。在完全不考虑程序内部结构和处理过程的情况下,我们仅依据程序功能的需求规范考虑,针对不同功能模块所需实现的功能制定不同的测试案例与数据,以此来确定测试用例和推断测试结果的正确性,站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行测试。

  6.2 测试目的

 对**美食餐饮平台进行测试的目的即让缺陷和不足尽早的被发现,通过测试来了解到我们在项目的开发过程中存在的缺点及不足,并对测试过程中所发现程序存在的问题进行有针对性的解决,保证程序的稳定性,为校内师生的点餐提供便利,将系统分析和实现的功能作为测试的前提,保证了程序的主体功能的完善。

  6.3 测试项目

 本基于**美食平台一共有2个需要测试的模块,即:

  (1)用户登录注册模块

 (2)食堂信息浏览模块

 (3)菜品购买模块测试

 (4)订单信息模块

 (5)管理员登录模块

 (6)订单管理模块

 (7)菜品管理模块

 (8)用户管理模块

 (9)用户评论模块

 6.4 系统功能测试

 下表是对**美食餐饮平台的系统功能测试,测试结果如表6-1所示。

  流程测试

 测试案例

 案例预计结果

 测试结果

 管理员登录

 用户名:admin

 密码:admin

 成功登录

 测试通过

 用户登录

 用户名:st20190108

 密码:1234

 提示用户名或密码错误请重新输入

 测试通过

 食堂信息浏览

 用户成功登录后能否在首页展示

 显示学校内四大食堂

 测试通过

 菜品购买

 添加水煮鱼菜品进入购物车

 成功添加

 测试通过

 订单信息

 用户下单水煮鱼

 后台系统显示用户订单

 测试通过

 订单管理模块

 对订单状态进行处理

 订单状态成功进行修改

 测试通过

 菜品管理模块

 后台系统添加糖醋排骨菜品,删除叉烧滑蛋菜品

 菜品成功添加或删除

 测试通过

 用户管理模块

 管理员后台修改st20190108密码为123456

 成功修改用户密码

 测试通过

 用户评论模块

 用户波仔评论菜品水煮鱼很好吃

 菜品水煮鱼的评论显示很好吃

 测试通过

 表6.1 测试结果表

 6.5本章小结

 本章主要论述了**美食餐饮平台系统开发结束后,我们要对**美食餐饮平台系统进行各方面的测试,测试的主要模块包括:用户登录、食堂信息、菜品购买、订单信息、管理员登录、订单管理、菜品管理、用户管理、用户评论、管理员评论回复等,介绍了**美食平台系统的在测试过程中需要注意的一些要点,测试的方法的分析。由于**

 美食餐饮平台属于小型的系统,所以我们小组只对系统进行黑盒测试,采用一些单独的测试数据对系统进行输入输出的结果判断,看输出的结果是否与我们的预期相符合,对测试的结果进行记录,对测试中存在的问题进行解决,最后对测试结果进行总结反思。

  第7章总结与展望

 7.1总结

 本文为了满足当下在校大学生校园内网络订餐的需求,提高食堂的用餐率,保证师生用餐的安全与便捷,为学校后勤管理提供辅助分析作用,根据项目的流程,本文完成了以下几个方面的工作:

  1.用户、管理员登录功能的实现

 2.食堂信息显示的功能实现

 3.用户菜品购买功能的实现

 4.管理员对用户订单处理功能的实现

 5.管理员对菜品修改功能的实现

 6.管理员对用户管理功能的实现

 7.2展望

 鉴于目前的时间和技术方面还是有点限制与不足,为此在接下来有空的时候我们团队可以对**美食餐饮平台进行功能的优化,通过向校内的学生进行一个调研,了解下他们所想拥有的一些更加便利与在校大学生生活与交流的功能与模块,目前我们的想法是把**美食餐饮平台打造成一个校内的生态圈,而不仅仅是一个单一的点餐系统,因为只有把整个平台打造成一个校园生活的生态圈,才能够让这个程序在校园内获得更多的用户量,方便更多的学生。目前我们可以想到的功能主要是在我们**美食平台上可以增加一些在线约饭的功能,因为据了解目前的许多大学生都宅在宿舍吃外卖,而很少进行社交或者没有合适的平台供他们进行社交,如果校内**美食餐饮平台实现了这样一种功能,能够大大提高软件吸引力,也促进了学生的成长,为以后步如社会打下铺垫,同时可以在app上经常举办一些美食活动,邀请来自不同地方的同学制作家乡美食,让更多的在校生能够足不出校便可以品尝到来自不同地方的美食,丰富大学生校园的生活,为学生们的大小生活留下浓墨重彩的一笔。

  致谢

 借此论文之际,向所有帮助、关心、支持我们的老师、朋友、同学及在网上结识的技术大牛,表达我最真诚的谢意。

  首先感谢指导老师周艳明老师。毕设论文与**美食餐饮平台的设计与开发是在周艳明老师耐心指导下多次修改完成的。周艳明老师从开题报告,中期检查,论文定稿、程序的技术支持方面都给予了我们团队的悉心指导,让我们在整个的开发过程中能够顺利完成。在此,我们对他的耐心指导和帮助向周艳明老师致敬,感谢周老师在这几个月来对我们的指导。在这段时间里,我们从周老师身上,不仅学到了许多的专业知识,更感受到了他工作中的兢兢业业,生活中的平易近人的精神。此外,他的严谨治学态度和忘我的工作精神也非常值得我去学习。在此,请允许我说一声:“老师,您辛苦了!”再次感谢他。

  同时非常感谢我们的同学。当我们在毕业设计过程中遇到问题和困难时,是他们给我指出了不少错误和不当操作,并给出了不少意见和建议,是他们的技术支持与精神鼓励为我提供了不竭的动力。同时,感谢大学以来所有传授我们知识的老师们,感谢网络上热心的技术大神,感谢所有关心、帮助过我们的人。同时感谢我们的大学,我们不会忘记你们。总之,在以后的学习、工作、生活中我们将更加努力,用自己的努力实现更大的人生价值。也希望通过这次的毕业设计能够提升自己在以后工作上的一些实际操作能力。在以后的职业道路上不断地取得更大的进展。

  参考文献

 [1] 关东升.Android 开发案例驱动教程[M].北京:机械工业出版社,2011.

 [2] 李刚.疯狂的Android讲义[M].北京:电子工业出版社,2011.

 [3] 熊刚.基于Android的智能手机的设计与实现[D].武汉:武汉理工大学,2010.

 [4] 董兰芳,刘振安. UML课程设计[M]. 北京:机械工业出版社,2005.

 [5] 盖索林.Android开发入门指南[M].北京:人民邮电出版社,2009.

 [6] 谭浩强.Java语言程序设计(第三版)[M].北京:清华大学出版社,2008.

 [7] 杨丰盛.Android应用开发秘籍[M].北京:机械工业出版社,2010.

 [8] 王克锋.基于Android的信息推送管理系统的设计和实现[M].大连:大连理工大学出版社,2012.

 [9] 陈轶,姚晓昆.Java程序设计实验指导[M].北京:清华大学出版社,2006.

 [10] 丁振凡.Java语言实用教程[M].北京:北京邮电大学出版社,2005.

 [11] 米内特.Android 传感器高级编程[M].北京:清华大学出版社,2013.

 [12]

 Bruce Eckel.Java编程思想(第四版)[M].北京:机械工业出版社,2007.

 [13] 李波,史江萍.Android 4.X从入门到精通[M].北京:清华大学出版社,

 2012.

 [14] 欧立齐,朱梅.Java程序员面试宝典[M].北京:电子工业出版社,2007.

 [15] 黄俊.Java程序设计与应用开发[M].第二版.机械工业出版社.2014.

 [16] 陈宏国,李珊娜.高校餐饮信息服务系统的研究与设计[M].北京:机械工业出版社,2013.

 [17] 李力东.餐饮美食网站的设计[J].科技与企业出版社,2012.

Tags: 餐饮   美食   开发  

搜索
网站分类
标签列表