网上订餐系统

网上订餐系统

摘要

二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着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 64K 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 项目报表 日订餐统计报表

表 3.3-1 菜品报表

客户信息报表 表 3.3-3

2.3.4

表 3.3-2

员工

发送订单

餐厅客服人员 发送员工订单到厨房 图3.5-2 餐厅客服人员用例

餐厅窗口服务员

送菜到员工

图3.5-3 食堂窗口服务员用例图

餐厅厨房人员 送菜给窗口服务人员 图3.5-4 餐厅厨房人员用例图

2.3.5用例文档: 员工登录网上订餐系统 表3.6-1

食堂客服人员获取和发送订单

表3.6-2 食堂窗口服务员获取菜单和给员工送菜

表3.6-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”, 具体代码如下:

>

dispatcher

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

/WEB-INF/config/web-application-config.xml

1

springmvc

*.do//设置页面请求路径格式

第二步:修改web-application-config.xml 文件,该文件将数据源的注入,bean 对象的自动生成及视图处理器处理请求转发分两个配置文件管理,分别是

data-access-config.xml 文件和webmvc-config.xml 文件,第一个文件是处理数据源,第二个是管理bean 对象及视图转发,具体代码如下:

//data-access-config.xml文件下

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

value="jdbc:mysql://localhost:3306/bookmanager?useUnicode=true&characterEncoding=UTF-8" />//获取数据源

class="org.mybatis.spring.SqlSessionFactoryBean">

value="classpath:com/book/mybatis/mappers/*Mapper.xml" />

//将数据源注入到sqlSessionFactory 类中,使其与mapper 接口关联

//webmvc-config.xml文件下

//注解版的mvc 配置 开启MVC 注解,支持Spring MVC

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

value="org.springframework.web.servlet.view.JstlView"/>

//视图转发处理

第三步:创建java 类,因为使用了分层思想,所以该项目可分为三层dao 层、

service 层以及核心controller 层,dao 层处理数据库数据,service 层处理业务逻辑,controller 层负责前后台的数据交换[11],三层的java 类写好后,即可在实体类entity 文件夹下创建与dao 层对应*Mapper.xml文件,通过该文件可以处理sql 语句,完成对数据库的增删改查,部分代码如下:

//id即为dao 中对应的方法

select * from booktype

//查询语句

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 map){

List listBookType = bookService.getBookType(); map.put("bookType", listBookType);

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餐品查询测试

餐品查询是按照餐品的餐品名进行查询,并且支持模糊搜索,测试结果如表所示。

餐品查询测试表

5.3.2销售统计查询测试

销售统计通过输入查询时间来产看某时间段内的所有餐品的销售情况,其测试结果如表所示。

销售统计查询测试表

6.1 工作成果

在MyEclipse 下开发,采用Spring+MyBatis框架,tomcat 服务器以及MySQL 数据库,并且使用纯注解版的Spring-MVC 模式[13],完成了这个书库管理系统,具体实现功能如下:

(1)实现了权限的划分与设置

(2)实现了对餐厅基本信息的基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式

(3)实现了对客户预定餐饮信息的处理

6.2 改进意见

该系统采用的编译工具时Maven ,每次编译都得手动部署,过程太繁琐,没有采用MyEclipse 提供的编译插件,要改进的话首要目的就是将其变为一个传统的web 工程,采用自带的编译工具,减少操作过程。

其次,软件功能方面也有待改进,现如今都是网络时代,所以最好能将资料和名称联系起来,点开名称可联网查询该信息,同时还应该再加一个功能链接,

点链接可以上网查看更优惠的食物。

6.3 收获体会

在这次毕业设计过程中,我独立设计和实现了用户注册,用户登录,修改密码,留言板,菜品浏览等五个模块的全部功能,以及这几个模块的数据库设计。

通过这次毕业设计,我掌握了MYSQL 这种大型数据库的编程方法,掌握了JA V A 语言和JSP 技术。了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、菜品本上学到的知识和理论。同时,通过编写毕业设计论文,我还基本掌握了软件文档的菜品写方法和菜品写格式。

本系统的缺陷也是明显的,如安全性,效率问题等等。由于时间,能力,国内JA V A ,JSP 技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难。

通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术。以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,去菜品店查询资料,扩大了自己的知识面。

总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。

网上订餐系统

摘要

二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。中国的网民充分领略到“畅游天地间,网络无极限” 所带来的畅快。随着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 64K 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 项目报表 日订餐统计报表

表 3.3-1 菜品报表

客户信息报表 表 3.3-3

2.3.4

表 3.3-2

员工

发送订单

餐厅客服人员 发送员工订单到厨房 图3.5-2 餐厅客服人员用例

餐厅窗口服务员

送菜到员工

图3.5-3 食堂窗口服务员用例图

餐厅厨房人员 送菜给窗口服务人员 图3.5-4 餐厅厨房人员用例图

2.3.5用例文档: 员工登录网上订餐系统 表3.6-1

食堂客服人员获取和发送订单

表3.6-2 食堂窗口服务员获取菜单和给员工送菜

表3.6-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”, 具体代码如下:

>

dispatcher

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

/WEB-INF/config/web-application-config.xml

1

springmvc

*.do//设置页面请求路径格式

第二步:修改web-application-config.xml 文件,该文件将数据源的注入,bean 对象的自动生成及视图处理器处理请求转发分两个配置文件管理,分别是

data-access-config.xml 文件和webmvc-config.xml 文件,第一个文件是处理数据源,第二个是管理bean 对象及视图转发,具体代码如下:

//data-access-config.xml文件下

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

value="jdbc:mysql://localhost:3306/bookmanager?useUnicode=true&characterEncoding=UTF-8" />//获取数据源

class="org.mybatis.spring.SqlSessionFactoryBean">

value="classpath:com/book/mybatis/mappers/*Mapper.xml" />

//将数据源注入到sqlSessionFactory 类中,使其与mapper 接口关联

//webmvc-config.xml文件下

//注解版的mvc 配置 开启MVC 注解,支持Spring MVC

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

value="org.springframework.web.servlet.view.JstlView"/>

//视图转发处理

第三步:创建java 类,因为使用了分层思想,所以该项目可分为三层dao 层、

service 层以及核心controller 层,dao 层处理数据库数据,service 层处理业务逻辑,controller 层负责前后台的数据交换[11],三层的java 类写好后,即可在实体类entity 文件夹下创建与dao 层对应*Mapper.xml文件,通过该文件可以处理sql 语句,完成对数据库的增删改查,部分代码如下:

//id即为dao 中对应的方法

select * from booktype

//查询语句

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 map){

List listBookType = bookService.getBookType(); map.put("bookType", listBookType);

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餐品查询测试

餐品查询是按照餐品的餐品名进行查询,并且支持模糊搜索,测试结果如表所示。

餐品查询测试表

5.3.2销售统计查询测试

销售统计通过输入查询时间来产看某时间段内的所有餐品的销售情况,其测试结果如表所示。

销售统计查询测试表

6.1 工作成果

在MyEclipse 下开发,采用Spring+MyBatis框架,tomcat 服务器以及MySQL 数据库,并且使用纯注解版的Spring-MVC 模式[13],完成了这个书库管理系统,具体实现功能如下:

(1)实现了权限的划分与设置

(2)实现了对餐厅基本信息的基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式

(3)实现了对客户预定餐饮信息的处理

6.2 改进意见

该系统采用的编译工具时Maven ,每次编译都得手动部署,过程太繁琐,没有采用MyEclipse 提供的编译插件,要改进的话首要目的就是将其变为一个传统的web 工程,采用自带的编译工具,减少操作过程。

其次,软件功能方面也有待改进,现如今都是网络时代,所以最好能将资料和名称联系起来,点开名称可联网查询该信息,同时还应该再加一个功能链接,

点链接可以上网查看更优惠的食物。

6.3 收获体会

在这次毕业设计过程中,我独立设计和实现了用户注册,用户登录,修改密码,留言板,菜品浏览等五个模块的全部功能,以及这几个模块的数据库设计。

通过这次毕业设计,我掌握了MYSQL 这种大型数据库的编程方法,掌握了JA V A 语言和JSP 技术。了解到电子商务的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、菜品本上学到的知识和理论。同时,通过编写毕业设计论文,我还基本掌握了软件文档的菜品写方法和菜品写格式。

本系统的缺陷也是明显的,如安全性,效率问题等等。由于时间,能力,国内JA V A ,JSP 技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让我充分认识到了软件开发的困难。

通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术。以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,去菜品店查询资料,扩大了自己的知识面。

总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。


相关内容

  • 订餐系统前景
  • 中国地质大学信息工程学院 B2C 在线订餐系统 版本 修订文档历史记录 目录 1. 简介 1.1 参考资料 2. 定位 2.1 商机 2.2 问题描述 2.2.1 问题1 2.3 产品定位说明 3. 涉众和用户说明 3.1 消费者统计数据 3.2 涉众概要 3.3 用户概要 3.4 用户环境 3.5 ...

  • 厚积才能薄发
  • 期货知识 19世纪的时候,有一个靠在火车上卖报纸和雪茄为生的男孩.虽然他的工作卑微,但是他对证券投资非常感兴趣,只要车上有旅客谈论有关投资方面的事情,他都会全神贯注倾听.为了实现成为一名可以预测未来的交易商的梦想,长大后他整天躲在狭小的地下室,把美国证券市场有史以来的K 线走势图全部收集.整理,在那 ...

  • 网上银行技术架构及安全建模
  • 网上银行技术架构及安全建模(2009)(2012-11-11 21:37:14)转载▼标签: 杂谈 分类: 技术文摘 摘要:近年来网上银行系统迅速发展,如何管理和控制网上银行业务由于其业务特点带来的风险成了银行和银行监管机构的关注重点之一.本文针对网上银行业务系统的技术架构.网上银行数据安全建模.网 ...

  • 天津市按比例安排残疾人就业年审
  • 天津市按比例安排残疾人就业年审 网上申报系统需求 目前全市有12万余家用人单位,按照<天津市实施〈中华人民共和国残疾人保障法〉办法>.<天津市按比例安排残疾人就业办法>(天津市人民政府第81号令)和<关于代征残疾人就业保障金有关问题的通知>的规定,每年的1月1日至 ...

  • 网上订餐系统需求文档
  • 需求文档 专 业 班 级 组长姓名 组员名单 日 期 目录 1. 引言................................................................................................................... ...

  • 课题_网络订餐平台现状分析及问题研究
  • 毕业设计(论文)任务书 学院(系) 专 业班 级学 号 姓 名 指导教师(签名) 2015年11月16 日 教研室主任(签名) 2015年11月16日 摘要 . ..................................................................... ...

  • 县效能监察工作总结
  • 一、系统建设情况及成效xx年3月10日,在全县上下的共同努力下,作为福州市八县(市)中首套上网运行的网上审批及效能监察系统,我县正式开通试运行;xx年7月1日系统开始正式运行。截止xx年12月31日,已上网审批的县级审批部门、服务单位和乡镇便民服务中心共51个,行政审批事项467项,安装视频监控的县 ...

  • 餐饮管理系统毕业论文毕业设计
  • 毕业设计(论文) 基于三层架构的餐饮管理系统 设计与实现 学 号: [1**********]4 学生姓名: 肖子敏 系 部: 工业设计系 专 业: 软件技术 班 级: 高软件1001 指导教师: 李春奇 株洲职业技术学院教务处制 株洲职业技术学院毕业设计论文 目 录 摘要„„„„„„„„„„„„„ ...

  • 网上订餐开题报告
  • 毕业设计(论文) 题告开报 1选题的背景和意义 1.1选题的背景 随着人类社会的不断发展和进步,Internet 应用的普及,电子商务也很快地发展起来了.电子商务是在Internet 开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物.商户之间的网上交易和在线电子支付的一种新型的商业 ...