网上订餐系统
摘要
二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着Internet的飞速发展,使得网络的应用日益的广泛。如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等。本次毕业设计的题目就是网上订餐系统。
本论文就毕业设计的内容,系统地阐述了整个网上订餐系统的功能及实现。实现了从菜品管理,菜品分类和查询,到订餐车实现,用户订单处理,再到系统管理。基本上实现了网上购物的功能流程,能够实现用户与商家在网上进行订餐交易。本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。
经过分析,我们使用 SUN公司的JSP开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。 关键词:网上订餐;JSP;信息时代
- 1 -
The online ordering system Abstract
The 21st century is a collection digitization, the network, the informationization, take network as core society. When Qian Tian taught without charge gives sends out the first email in September 14, 1986 in Beijing computer applied technology research institute introversion Germany Karlsruhe University “to pass through the Great Wall, moved toward the world” time, perhaps he did not know that he has opened China information age front door; on April 20, 1994, the Chinese Academy of Science computer center entered Internet through the American Sprint Corporation company the K international special line clear, has realized internet's entire function binding, henceforth China entered into the Internet information age. The Internet had 10 remaining years of life development in a moment in China, China's web cams understands fully “enjoys a trip to between the world, the network does not have carefree which the limit” brings. Along with the Internet swift development, causes the network application day-by-day widespread. If electronic commerce, E-government, on-line medical service, on-line entertainment, network game, network teaching and so on.
This graduation project's topic is on-line books management system management system.
The present paper on graduation project's content, elaborated systematically the entire on-line books management system management system's function and realizes. Has realized from the merchandise control, the classification of goods and the inquiry, realizes to the
shopping cart, user order form processing, arrives at the chatroom again, the manager system. Basically has realized the electronic commerce function flow, can realize the user and the business on-line carries on the commodity exchange. This system contact surface simple direct-viewing, simplify operation and use, interactive is strong, completely based on the Internet network.
Keywords: On-line purchase books system , JSP, Information ag
1 绪 论
1.1毕业设计主要任务
本系统的设计目的是为了能够满足顾客方便快捷地在网上订餐,同时在订餐的同时可以在网上浏览菜样菜式等等,还有顾客的网上评价等等相关的信息。同时对于企业来讲,要能够满足企业快速高效地处理订单,从而可以真正的满足顾客方便快捷的需要,而且通过系统企业可以更好的与顾客进行交互,及时处理顾客用餐意见及关于口味菜样菜式等等方面的建议。企业可以进行菜品管理,原料采购、菜品信息更新等,尽可能提高企业效率,减少企业的运营成本,达到企业关键性能指标如成本、效益、质量和速度等方面有较大的提高。能够吸引更多客户,为客户提供满意的服务。 1.2 网上订系统存在的问题
(1)很多普通消费者,还是认为网上订餐、网上订票等都是新鲜人类的事情。不能很好的接受网络消费,因此首先要做好消费者的定位;
(2)不够方便,还要先注册、填写一大推信息等等,对于不需要频繁订餐的消费者是个累赘;
(3)送餐速度常常被质疑,“请提前1小时订餐”; (4)送餐范围很有限;
(5)快餐的卫生和质量没有保障。 1.3 课题意义
网上购物的优势在于选择面大、价格便宜、交易方便、节省时间和精力等。整个菜品市场一片繁荣。在中国,网上购物有发展的必要,也有发展的基础,发展网上购物的各方面条件也日趋成熟,但是还存在一些问题,只有把问题解决好了,才能保证网上购物的蓬勃发展。 1.4 论文的工作和安排
本次毕业设计的任务,是去开发一个网上订餐系统。借助该系统,管理员可以快捷地管理操作数据库,管理餐馆资料信息,设置角色权限,达到提高网上订餐工作效率的目标。
论文设计和实现了网上订餐系统,可根据用户角色权限,对数据库里面的各类信息进行增加、删除、编辑、查询等操作。此次论文可分为五大部分:
第一章即本章绪论,简述网上订餐系统的开发背景、主要目的以及课题意义。 第二章为需求分析,本章中阐述了该系统需要实现的功能,分析了系统的用例,并介绍了开发这个系统所需要用到的硬软件支持。
第三章是总体设计,描述了数据库的主要设计思想,具体设计到数据库表,并且分析了总体的设计架构、绘出了总体模块设计图。
第四章为详细设计,一是去分析了该系统的所使用的框架,以及搭建框架时编写的配置文件及详细代码,二是,将系统的具体功能描述以及实现的界面展现出来。
第五章是软件测试,对该系统进行单元、集成及验收测试,完善系统不足。 第六章为结束语,总结本次毕业设计,写出具体的工作成果以及心得体会。
2 网上订餐系统需求分析
2.1 可行性分析
采取最新的技术开发了这个计算机管理系统,软硬件要求低,具有运行效率高,操作页面简单等特点,具体的可行性分析如下: 2.1.1 技术可行性
网上订餐系统的开发是一项复杂的系统工程。为了保证系统开发成功,必须采用工程化的系统开发方法,并研究出一些符合工程化标准的开发方法。这些方法旨在指导开发者进行工程化的系统开发,从而加快系统开发的速度,保证质量以及降低开发成本。工程化的系统开发方法确实在开发实践中取得了一定的效果。此次开发使用JSP作为开发语言,采用Servlet技术,Tomcat6.0作为Web服务器。
2.1.2 经济可行性
由于本项目的特殊性,无需投入额外的设备购买及人员培训费用。同时,系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,而且网上订餐方便快捷,节省了员工的时间和精力,也避免了餐馆食物的浪费,因此订餐系统在经济上是完全可行的。 2.1.3运行可行性分析
随着计算机知识的普及和推广,越来越多的人掌握了计算机的基本使用方法和技能。随着Internet的发展,用户对于网络、WINDOWS等环境下的软件使用比较熟悉,对于新鲜事物,用户表现出极大的兴趣和热情。 2.1.4法律可行性
本系统没有侵犯个人隐私和个人责任方面的问题,使用本系统不会引起法律方面的纠纷问题,所以开发本系统具有法律可行性。
综上所述,本系统的开发是符合现在的实际情况的,并具有一定的实用意义。在技术、经济、运行、法律上都可以看到此系统的可行性,并且很具有其实现的必要。
2.2 网上订餐系统需求概述 2.2.1 系统目标
该系统是一个基于B/S模式的管理系统,实现客户端与浏览器之间的交互工作,员工到餐厅用餐,在路途和排队上浪费很多时间,并且去晚了经常会吃不到想吃的食物;员工对餐厅的满意度不高,有时餐厅更无法准确预测员工需求,经常会出现有些食物因为没有卖出去只好倒掉,而员工需要的一些食物却已卖完的现象等问题,找到了解决这些问题的方案,开发了此系统,该系统的实现可以节省员工的时间和精力,避免员工在餐厅排队等很多时间,同时也减少食堂食物的浪费,并提高服务质量以及员工对餐厅的满意度。 2.2.2 用户类和用户特性
首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的订餐网站注册成会员来了解其具备的功能。 2.2.1.从用户角度来看:
用户通过在线注册成为网站的用户,可以获得以下功能:菜品浏览,购买菜品,找回密码,修改密码,修改个人信息,菜品简介、订餐车、留言板等。 2.2.2.从网站的角度看:
(1)网站应该包含菜品搜索功能:按菜品名(模糊)查询。 (2)订单处理功能,确认订单方式: (3)管理员管理:
查看用户信息,并根据用户信息和用户订单对菜品进行发派。 (4)菜品浏览
2.3 网上订餐系统需求模型
2.3.1 功能描述
该系统在性能功能应达到如下要求:
3.1.1 操作简单,界面友好:完全空间式的页面布局,使得菜品、咨询等信息录入的工作更简单:另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见类似的网站的管理的各个方面:基本信息录入、浏览、删除、修改、
搜索等方面都大体实现,用户对菜品的预定以及支付方式;
3.1.2 即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在首页的对应栏目显示出来,达到“即时发布,即时见效”的功能 3.1.3 系统运行应该快速、稳定、高效和可靠;
3.1.4 在结构上应该具有很好的可扩展性,便于将来功能的扩展和维护。 2.3.2 项目活动图
本模块通过购物车,可以一次性批量购买多个商品。并且通过购物车,您无需记下订单即可在您的电脑上随时保存或查看您想要购买的商品。购物车为广大的用户带来更大的便捷。
员工在线订餐能够实现在线订购功能,同时也是通过购物车功能实现的,员工在网上浏览菜单,这其中包括菜品的介绍,价格等方面的菜品信息,然后点菜把所选的菜品放入购物车中,如果不满意可以到购物车中退菜,或修改数量,以下就是用户在线下订单的活动图
图3.2-1 订餐活动图
2.3.3 项目报表 日订餐统计报表
日期 就餐 数 订总餐数 1餐 就餐数 订餐数 2餐 就餐数 订餐数 3餐 就餐数 餐数 …… 订就餐数 表 3.3-1 菜品报表
编号 客户信息报表 姓名 订餐次数 就餐总次数 表 3.3-3
2.3.4 系统用例图
菜名 单价 制作窗口 月点餐次数 用户评价等级 表 3.3-2
就餐频率(按月) 信用度 登录网上订餐系统 生成订单 员工 确认订单
发送订单 图3.5-1 员工用例图
获取员工订单 餐厅客服人员 发送员工订单到厨房 图3.5-2 餐厅客服人员用例
获取窗口订餐员工菜单 发送菜单到餐厅厨房
餐厅窗口服务员 获取厨房做好的菜
送菜到员工
图3.5-3 食堂窗口服务员用例图
获取员工最终订单 做菜
餐厅厨房人员 送菜给窗口服务人员 图3.5-4 餐厅厨房人员用例图
2.3.5用例文档: 员工登录网上订餐系统 用例名称 用例编号 用例概述 员工 1 员工必须登录网上订餐系统才可进行订餐。 前置条件 后置条件 事件流 员工已登录 发送订餐信息成功 1:登录网上订餐系统 2:生成订单 3:发送订单 表3.6-1
食堂客服人员获取和发送订单 用例名称 用例编号 用例概述 食堂客服人员 2 获取员工的订单,并生成订单,送给厨房服务人员 前置条件 后置条件 事件流 员工发送了订单 厨房服务人员接收订单成功 1:获取员工的订单 2:打印订单 3:送给厨房人员 表3.6-2 食堂窗口服务员获取菜单和给员工送菜 用例名称 用例编号 用例概述 食堂窗口服务员 3 获取在窗口订餐的员工的菜单,并把菜单发送给厨房服务人员。 前置条件 后置条件 员工在窗口订餐 把在窗口订餐的员工的菜单递交厨房 事件流 1:获取在窗口订餐员工的订单 2:发送订单到厨房 3:送菜给员工 表3.6-3
餐厅厨房人员获取订单并,做菜并把菜送给窗口服务人员 用例名称 用例编号 用例概述 餐厅厨房人员 4 餐厅厨房人员获取订单并,做菜并把菜送给窗口服务人员
前置条件 窗口服务员已获得订单或客服人员已获得订单 后置条件 事件流 把菜送给窗口服务人员 1:获取窗口服务员已获得订单或客服人员已获得订单 2:做菜 3:把菜送给窗口服务人员 表 3.6-4 3 总体设计 3.1 数据库设计 3.1.1 数据库设计概述
数据库其实就是一个大型的数据管理系统,它将所有的数据按照表名的不同分别存放在不同的列表中,它好比一个硬盘一样,可以保证数据的完整性、安全性、可靠性,还可以帮助人们去管理和控制与这些数据相关联的事物。
该系统系统所包括的信息有菜品菜品表, 用户注册表, 管理员表, 菜品类型表, 评论表, 订餐车表, 新闻表,定单表,定单详细信息表。 3.1.2数据库表设计:
本系统的数据库其中包括九个表,分别为菜品菜品表book, 用户注册表member, 管理员表admin, 菜品类型表booktype, 评论表commont, 订餐车表gouwuche, 新闻表news,定单表num,定单详细信息表orderbook。详情请见下面的数据库表: 1、菜品菜品表booK
2、管理员表admin
3、菜品类型表booktype
4、用户注册表member
5、定单详细信息表orderbook
3.2 系统总体结构设计
该系统在Windows7环境下,主要采用Spring+MyBatis框架,利用JSP开发工具,模式是注解版Spring-MVC,MySQL数据库来设计,开发过程及成果应符合开发过程与成果GB/T 11457-1995软件工程术语,GB/T 8567-1988计算机软件产品开发文件编制指南等。
3.2.1网上订餐系统总体结构设计
密信用户注册 用户登录 菜品浏览 菜品查询修改个人找回密码 修改个人留言板 公告 管理员 网络订餐系统 根据系统要求可以将该系统分为以下几个模块:系统用户功能模块、管理员功能模块。
3.2.2 系统用户功能模块
1.用户注册:在这里我们可以注册我们的基本信息,其中电话和Email是比较重要的,因为我们需要对这些信息进行处理,以方便用户的付款和邮购。
2.用户登陆:为了方便用户的付款,邮购和管理,我们需要变成会员后才可以进行消费。
3.菜品浏览:成功登陆后的用户可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。
4.订购菜品:成功登陆的用户可以在该页面定购菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。
5.查看订单:成功登陆的用户可以在该页修改已经订购的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。
6.修改订单:成功登陆的用户可以在该页修改或删除已经订购的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。
7.菜品查询:成功登陆的用户可以在该页查找自己需要的菜品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。
8.修改密码:成功登陆的用户可以在该页修改自己的密码。如果用户还没
有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。
9.修改个人信息:成功登陆的用户可以在该页修改自己当初注册时的信息。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登陆页面”。
10.商城公告:发布各种菜品信息或者新闻。 3.2.3 管理员模块功能
查看用户订单, 查看用户信息, 对菜品进行发派。 4 详细设计
4.1 开发平台与工具
4.1.1 J2EE平台和Maven编译工具
该系统使用MyEclipse8.6进行开发,它是一个不同于传统编程软件的工具,里面包含许多的组件,可以极大简化web工程的编译和部署。然而我用的开发方式比较传统,编译工具用了Maven,没有使用MyEclipse自带的编译插件,该工程不是一个简单的web工程,它在Maven下的新建的工程,该工程有自带的pom.xml文件,通过该文件读取指定目录下的jar包,将其加载进工程里,已达到编译效果[7],之后需要手动去将编译后的.class工程文件部署到tomcat的webapp下,达到部署的目的。 4.1.2 WEB服务器和数据库
本系统web服务器用的是tomcat,tomcat是个比较传统实用的服务器,效率较高,再加上本系统的开发方式比较传统,需手动部署,这样就更提高了tomcat的运行效率[8]。
本系统的数据库用的是MySQL,它是一个小型的关系数据库管理软件,他里面的组件较少,但是处理速度较快,成本低,正好适合开发我们所写的这种中小型管理软件,开发效率极高。
所用的系统工具如下表4.1所示:
工具 JDK 1.7.0_11 MyEclipse MySQL 5.1 Tomcat 7.0.6
Spring+MyBatis
用途
软件开发工具包 J2EE集成开发环境 小型数据库管理软件 Web服务器 开发实用的流行框架
4.2 编码设计 4.2.1 编码设计概述
该系统采用了当下最流行的Spring+MyBatis框架开发,采用注解版的Spring MVC模式,服务器用的是tomcat,数据库用的是mysql,编译工具用的是maven,下面详细介绍下整个编码的设计思想和步骤。
首先在MyEclipse上创建一个maven工程,编辑项目下的pom.xml文件[9],在该文件中可以编辑存放.class文件的文件夹,同时需要修改maven下的settings.xml文件,设置jar包存放的路径,环境变量等一系列基本工作做完之后,开始搭建Spring+MyBatis框架。
搭建该框架要分以下四步去完成: 第一步:修改WEB-INF下的
web.xml
文件,用于查找
web-application-config.xml文件,同时可以在该段配置中修改后续的查找路径,例如“*.do”,具体代码如下:
>
第二步:修改web-application-config.xml文件,该文件将数据源的注入,bean对象的自动生成及视图处理器处理请求转发分两个配置文件管理,分别是
data-access-config.xml文件和webmvc-config.xml文件,第一个文件是处理数据源,第二个是管理bean对象及视图转发,具体代码如下:
//data-access-config.xml文件下
//webmvc-config.xml文件下
第三步:创建java类,因为使用了分层思想,所以该项目可分为三层dao层、
service层以及核心controller层,dao层处理数据库数据,service层处理业务逻辑,controller层负责前后台的数据交换[11],三层的java类写好后,即可在实体类entity文件夹下创建与dao层对应*Mapper.xml文件,通过该文件可以处理sql语句,完成对数据库的增删改查,部分代码如下:
//查询语句 delete from booktype where bookTypeValue=#{bookTypeValue} insert into booktype values(#{bookTypeValue},#{bookTypeName}) update booktype set bookTypeName=#{bookTypeName} where bookTypeValue=#{bookTypeValue}
第四步:由于该系统采取的是全注解版的Spring-MVC模式,所以需要在dao、service、
Controller三层类下加上注解表示,dao层需加@Repository标识,service层需加@Service标识,Controller层需加@Controller标识,所有注解添加完成之后,即可在Controller类里面写前后台传值的方法,当然方法也得用@RequestMapping标识,之后便可通过该方法知道到对应的jsp页面,部分代码如下:
@Controller
@RequestMapping(\"/book\") public class BookController {
@Autowired
private BookService bookService;
@RequestMapping(\"/bookType\")//即请求路径 public String getBookType(Map List return \"booksType\";//对应返回的booksType.jsp页面 } } 4.2.2 登录模块程序设计 1.用户注册模块 用户注册是为第一次登录网站的用户所设计的。在用户成为本站用户之前一定要注册才可以访问我网站的其它网页。 ①用户注册包括:登录名称,真实姓名,设置密码,电子邮件等。 ②注册成功后,才可以访问本站的其他页面。 2.用户登录模块 ①用户登录包括:登录名称,输入密码。 ②当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和订购。 4.菜品浏览模块 菜品浏览:成功登陆后的用户可以分页浏览菜品,并将想要的菜品提交到填写订单页面。 5.订餐车模块 6.修改密码及信息模块 修改密码:成功登陆的用户可以在该页修改自己的密码及信息。 5 软件测试 5.1 软件测试的方法与步骤 生产软件的最终目的是为了满足客户的需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷的具体含义包括以下几个方面: (1)软件未达到客户需求的功能和性能 (2)软件超出客户需求的范围 (3)软件出现错误 (4)软件的使用未能符合客户的习惯和工作环境 5.2测试内容 主要对系统进行了功能测试和数据测试。 (1)功能测试 功能测试首先要测试系统的所有的功能页面,确保每一个功能都能够实现预期的功能。例如用户购买餐品提交订单是否能够购买成功,管理员是否能够接到订单。餐品的添加、删除或修改是否能够成功,餐品信息是否能够同步更新等等。 (2)数据测试 网上订餐系统作为一个电子商务网站其数据的正确性是非常重要的。主要对系统进行数据边缘性测试。例如用户注册时用户信息的有效性测试,搜索功能的测试是否能够达到预期效果,以及用户提交的订单和管理员收到的订单是否一致等等。 5.3数据测试结果 主要对搜索餐品结果、销售统计的起止时间进行测试。 5.3.1餐品查询测试 餐品查询是按照餐品的餐品名进行查询,并且支持模糊搜索,测试结果如表所示。 餐品查询测试表 测试对象 序号 1 餐品搜索 2 3 4 测试数据 空 肉 小烧肉 可乐 测试结果 显示所有餐品信息 显示餐品名中带肉的所有餐品信息 显示小炒肉的餐品信息 无符合条件的数据 测试结论 正确 正确 正确 正确 5.3.2销售统计查询测试 销售统计通过输入查询时间来产看某时间段内的所有餐品的销售情况,其测试结果如表所示。 销售统计查询测试表 测试对象 起始时间和终止时间 序号 1 2 3 测试数据 起始时间 空 2011-10-30 2011-11-01 测试数据 终止时间 空 2011-10-30 2011-11-01 测试结果 测试结论 提示:起始时间或终止时间不能为空 正确 提示起始时间不能大于终止时间 显示该时间段内餐品的销售统计 正确 正确 6.1 工作成果 在MyEclipse下开发,采用Spring+MyBatis框架,tomcat服务器以及MySQL数据库,并且使用纯注解版的Spring-MVC模式[13],完成了这个书库管理系统,具体实现功能如下: (1)实现了权限的划分与设置 (2)实现了对餐厅基本信息的基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式 (3)实现了对客户预定餐饮信息的处理 6.2 改进意见 该系统采用的编译工具时Maven,每次编译都得手动部署,过程太繁琐,没有采用MyEclipse提供的编译插件,要改进的话首要目的就是将其变为一个传统的web工程,采用自带的编译工具,减少操作过程。 其次,软件功能方面也有待改进,现如今都是网络时代,所以最好能将资料和名称联系起来,点开名称可联网查询该信息,同时还应该再加一个功能链接, 点链接可以上网查看更优惠的食物。 6.3 收获体会 在这次毕业设计过程中,我设计和实现了用户注册,用户登录,修改密码,留言板,菜品浏览等五个模块的全部功能,以及这几个模块的数据库设计。 通过这次毕业设计,我掌握了MYSQL 这种大型数据库的编程方法,掌握了JAVA语言和JSP技术。了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、菜品本上学到的知识和理论。同时,通过编写毕业设计论文,我还基本掌握了软件文档的菜品写方法和菜品写格式。 本系统的缺陷也是明显的,如安全性,效率问题等等。由于时间,能力,国内JAVA,JSP技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难。 通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术。以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,去菜品店查询资料,扩大了自己的知识面。 总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务