当前位置:文档之家› 网上订餐系统毕业论文

网上订餐系统毕业论文

超级小二订餐系统

摘要

二十一世纪是以网络为核心的社会。随着Internet的飞速发展,使得网络的应用日益广泛。如电子商务﹑电子政务﹑网上医疗﹑网上娱乐﹑网络游戏﹑网络教学等。本次毕业设计超级小二订餐系统将餐饮业和计算机网络结合起来,改变了传统的商业交易模式。

论文详细地阐述了超级小二订餐系统的开发过程。从菜品管理,菜品分类和查询,到用户订单处理,再到系统管理。实现了网上订餐的功能流程,使顾客能够快速了解商家信息,方便顾客订餐。系统界面简单直观,交互性强,易于操作和使用。

经过分析,我使用 SUN公司的JSP开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。

关键词:网上订餐,JSP,JavaBeans,MYSQL

Super second order systems

Abstract

21st century is based on the network society. With the Internet 's rapid development, making the network widely. Such as e-commerce, e-Government, online medical, online entertainment, online game, online teaching. Online ordering system for the graduation design to combine catering and computer network , has changed the traditional pattern of business transactions.

Papers detail a super small II reservation system development process. Food management , food categories and queries , order processing to the user, and system management. Realizes the function of online ordering process, so that customers are able to quickly understand business information , facilitate customer orders. Interface is simple and intuitive, interactive , easy to navigate and use.

After analysis , I use SUN 's JSP development tools , providing a variety of object-oriented development tools , especially the data window can be easy and simple to manipulate database of smart objects , first build system application prototype in a short time , and then ,Needs an initial prototype system with iterative , constantly revised and improved , until you achieve the satisfaction of a viable system.

Keywords: online ordering,JSP,JavaBeans,MYSQL

II

目录

第一章绪论 (1)

1.1选题背景 (1)

1.2项目建设目标 (1)

1.3目的和意义 (1)

1.4开发设计思想 (2)

第二章系统分析 (2)

2.1系统的可行性 (2)

2.2系统的需求分析 (3)

2.2.1系统的主要功能 (3)

2.2.2系统的性能 (3)

2.3开发工具和环境简介 (3)

2.3.1JSP技术简介 (3)

2.3.2JSP工作原理 (4)

2.3.3JSP体系结构 (4)

2.3.4JSP的特点 (4)

2.3.5数据库 (5)

2.3.6系统硬件平台 (6)

2.3.7系统软件平台和开发工具 (6)

第三章网上订餐系统的设计与实现 (6)

3.1用户购买餐品流程 (6)

3.2管理员功能模块 (7)

3.3购物车管理 (8)

3.4用户提交订单页面 (9)

3.5用户订单管理页面 (9)

- III -

3.6管理员菜品类别和菜品管理 (10)

3.7管理员订单管理 (13)

3.8管理员公告管理 (14)

3.9管理员会员管理 (15)

第四章系统测试 (16)

4.1测试目的 (16)

4.2测试内容 (16)

4.3测试结果 (17)

第五章结论和展望 (17)

5.1总结 (17)

5.2展望 (18)

参考文献 (19)

- IV -

第一章绪论

1.1选题背景

当今社会生活节奏越来越快,人们对餐饮的要求也越来越高,不仅要求色香味俱全,而且对于就餐的时间和方式也有了更高的要求,许多顾客由于工作繁忙无法抽出时间来享受美餐,或者是很多的年轻的白领们在城市奋斗目前还是单身一个人生活,一个人也不太喜欢自己做饭,更倾向于在外吃快餐,但同时又不想到餐馆里面吃,他们更喜欢在办公室里面享受美餐,这样就产生了快捷订餐的要求,最快的方式莫过于利用计算机网络,将餐饮业和计算机网络结合起来,就形成了网上订餐系统。这不仅可以提高餐饮业的服务质量,扩大知名度,也为用户提供方便快捷的食品服务。

在国内,中国的信息产业快速发展,电子信息产业的规模居世界前列,网络事业也得到逐步提高,互联网产业正在逐步形成。互联网在中国正在改变着人们的工作和生活方式,在促进经济发展,推动社会进步和提高人民生活质量方面,发挥着越来越重要的作用。基于我国互联网的新形势,我们要抓住机遇,适应互联网的新发展,积极应用新技术,努力开发新业务,满足网民的网络需求。

1.2项目建设目标

能够满足顾客方便快捷地在网上订餐,同时在订餐时可以在网上浏览菜样菜式等等,还有顾客的网上评价等等相关的信息。同时对于企业来讲,要能够满足企业快速高效地处理订单,从而可以真正的满足顾客方便快捷的需要,而且通过系统企业可以更好的与顾客进行交互,及时处理顾客用餐意见及关于口味菜样菜式等等方面的建议。企业可以进行菜品管理,原料采购、菜品信息更新等,尽可能提高企业效率,减少企业的运营成本,达到企业关键性能指标如成本、效益、质量和速度等方面有较大的提高。能够吸引更多客户,为客提供满意的服务。

1.3目的和意义

近几年类似于淘宝网这种大型的网上购物网站的飞速发展,网上购物已成为一种时尚。为了方便在校那些学习工作紧张的学生、老师饮食方便,提供新的一种便捷快速的订餐方

式。

本系统的设计目的是为了满足消费者只要通过互联网就可以足不出户的订购自己喜欢的菜品,改变传统商业交易,在互联网上进行交易,实现网上购买菜品。

本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。

1.4开发设计思想

本系统用JSP语言来编写网络订餐系统,数据库用 MYSQL 来连接系统,通过编写JavaBeans来进行后台业务逻辑控制,即JSP +JavaBeans + MYSQL 三层模式完成整个设计工作。本系统全部基于Internet网络,以JSP语言对网站进行开发,注重用户与网站的交互性。因此在这样的背景下,针对当前Internet网络发展趋势来看网络订餐系统将成为了当今应用软件的首选体系结构。

第二章系统分析

2.1系统的可行性

可行性研究:是指在调查的基础上,通过技术分析、财务分析和社会背景分析,对本项目的技术可行性与经济合理性进行的综合评价。

(1)经济可行性:由于本项目的特殊性,无需投入额外的设备购买及人员培训费用,所以在经济上本系统的开发是可行的。此外系统对开发的需求以及软硬件要求都不是很高,所以在软硬件的支出上十分有限。因此,本系统在任何一台连接Internet的机器上都可以运行,有很高的经济可行性。

按上述两方面进行可行性分析、研究后,该项目在技术和经济上都是可行的,所以完全可以进行开发。

(2)法律可行性:本系统没有侵犯个人隐私和个人责任方面的问题,使用本系统不会引起法律方面的纠纷问题,所以开发本系统具有法律可行性。

综上所述,本系统的开发是符合实际情况的,并具有一定的实用意义。在技术、经济、操作上,法律上都可以看到此系统的可行性,并且很具有其实现的必要。

2.2系统的需求分析

2.2.1系统的主要功能

(1)顾客登录网上订餐系统进行菜单的浏览,选择或者注册为会员。

(2)会员可以对自己的个人信息进行更改,以会员形式登陆的顾客享受订餐服务。

(3)如果会员觉得菜单应该有所改变则可对已选的菜单进行选择、更改、删除等功能。

(4)当会员确定订餐完毕后,会员可以将其提交至订餐厅后台系统,并生成订单。

(5)顾客可以对系统或者餐厅菜样,品类进行意见或者建议的留言。

(6)管理员登录后台管理系统。

(7)管理员可以管理会员信息,可以回复会员的留言,评论,以及权限的设置。

(8)管理员可以对订单进行管理,删除,总结。

(9)管理员对于菜单的更新,新菜品的上架,打折优惠活动,价格等进行管理操

作。

2.2.2系统的性能

(1)操作简单,界面友好:完全空间式的页面布局,使得菜品、咨询等信息录入的工作更简单,另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的管理:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,用户对菜品的预定以及支付方式;

(2)即使可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在首页的对应栏目显示出来,达到“即时发布,即时见效”的功能;

(3)系统运行应该快速、稳定、高效和可靠;

(4)在结构上应该具有很好的可扩展性,便于将来功能的扩展和维护。本系统的主要功能是以用户以及管理员而扩展开来;

2.3开发工具和环境简介

2.3.1JSP技术简介

JSP(Java Server Page服务器网页)【3】是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java 体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的

方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。

2.3.2JSP工作原理

JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。

2.3.3JSP体系结构

JSP网站开发标准给出了两种使用JSP的技术【2】,可以归纳为模式一、模式二。

模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。

模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI 功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。

从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。

2.3.4JSP的特点

(1)简化的页面生成技术。

JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。

(2)与Java平台有机集成。

JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。

(3)硬件平台和服务器无关性。

JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。

(4)功能可扩展性。

如同的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean 和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。

JSP可以通过JDBC,与诸如Oracle、MYSQL这样的大型关系数据库进行连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。

2.3.5数据库

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:

(1)真正的客户机/服务器体系结构。

(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。

(3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

(4)SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。

(5)具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

(6)对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。

(7)SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

2.3.6系统硬件平台

(1)服务器

主要功能:处理网上订餐系统的用户请求,集中存储和管理数据库的数据。

主要特点:要求具有较高的数据处理能力、CPU和内存容量。

配置要求:CPU 2个以上﹑内存 4G 以上﹑硬盘150G 以上。

(2)客户机

主要功能:用户通过客户端访问网上订餐系统并向服务器发送请求,完成各项操作。

主要特点:任务简单,仅需要一般的数据处理能力。

配置要求:内存256MB以上﹑硬盘空间4GB以上。

2.3.7系统软件平台和开发工具

(1)系统软件平台

数据库:SQL Server2005

操作系统:Windows XP、Windows7

(2)开发工具

开发语言:JSP

开发工具:MyEclipse8.5

第三章网上订餐系统的设计与实现

3.1用户购买餐品流程

如图3-1为用户购买餐品流程图,用户登录后可以选购餐品并放入购物车,用户可以修该餐品数量、删除某一餐品或清空购物车,购买完成后用户可以看看购物车继续购买或提交订单结束购买。

如图3-2管理模块又可分为几个小模块,对于餐品菜样的管理模块,可以增加删减菜品种类更改,菜品图案,修改菜品名称,价格,分类。

开始

选购餐品放入购物车

删除餐品?

将该餐品从购物车中删除修改餐品数量

修改餐品数量

继续购买?

查看购物车

提交订单

结束

Y

Y

N

N

Y N

图3-1用户购买

3.2管理员功能模块

图3-2管理员功能模块 管理员模块

系 订

理 用户管理 菜系管理 菜单管理 公告管理

查阅菜单

删除菜单 添加菜单 查阅菜系 删除菜系

3.3购物车管理

如图3-3所示为用户购物车管理页面,用户购买餐品时可以将餐品加入购物车完成购买餐品操作。用户可以进入购物车管理页面进行修改餐品的购买数量或者是删除某餐品,或清空购物车。用户可以继续订餐或去收银台结账,提交订单。

图3-3购物车管理页面

添加购物车的关键代码为:

Vector cart=(Vector)session.getAttribute("cart");//获取会话对象中cart的值if(cart==null){

cart=new Vector();//若为空即表示购物车为空,则新建一个自动增减数组

}else{

for(int i=0;i

foodcart foodbuynew=(foodcart)cart.elementAt(i);//刚加入购物车的餐品,foodcart是一个存放餐品价格、ID和购买数量的一个类。

if(foodbuynew.foodid.equals(foodbuy.foodid)){

//如果刚加入购物车的餐品和购物车中已存在的餐品ID相同,则购物车数组的长度不会变,仅是将该餐品的购买数量加1。防止多次买相同餐品时,在购物车中多次添加该餐品,添加一次既可只是购买数量不断累加。

foodbuynew.number++;

cart.setElementAt(foodbuynew,i);

Flag=false;

}

}

}

if(Flag)cart.addElement(foodbuy);//如果新购餐品和已购餐品不同,则将新购//餐品加入购物车数组

session.setAttribute("cart",cart);//设置会话对象值

3.4用户提交订单页面

图3-4用户提交订单页面

3.5用户订单管理页面

如图3-5-1为用户订单管理页面。用户购买完餐品后系统会自动生成一个订单号。用户可以通过订单管理页面查看到用户历史所有订单信息包括订单号、品种数、订单时间和订单状态等,同时还可以看到自己历史总消费额。用户也可以取消订单使用退餐功能,。退餐后用户的消费总额和用户等级信息都会随之更新。用户在收到餐品后可以对店家进行评价。

图3-5-1订单查询页面

图3-5-2用户评价页面

如图3-4-2所示为用户评价页面。用户可以对店家进行好评、差评、和中评,以及文字评价。其评价结果和会出现在主页上。

3.6管理员菜品类别和菜品管理

如图3-6-1所示为管理员管理菜品类别的jsp页面,管理员可以添加菜品类别和删除菜品类别。

图 3-6-1 管理员菜品类别管理

图3-6-2 管理员管理菜品

图3-6-3 管理员添加菜品

如下图3-6-4所示为管理对特价菜的管理jsp页面,管理员可以添加特价菜,对已有特价菜进行修改和删除等功能。

图3-6-4 管理特价菜管理

主要的代码如下:

类别管理主要代码:

Struts的配置代码:

/admin/catelog/catelogMana.jsp

Action类的实现代码:

public String catelogMana()

{

String sql="from TCatelog where catelogDel='no'";

List cateLogList=catelogDAO.getHibernateTemplate().find(sql);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("cateLogList", cateLogList);

return ActionSupport.SUCCESS;

}

菜品管理的主要代码:

Struts的主要配置代码:

name="success">/admin/goods/goodsManaNoTejia.jsp

Action类的实现代码:

public String goodsManaNoTejia()

{

String sql="from TGoods where goodsDel='no' and goodsIsnottejia='no' order by goodsCatelogId";

List goodsList=goodsDAO.getHibernateTemplate().find(sql);

for(int i=0;i

{

TGoods goods=(TGoods)goodsList.get(i);

System.out.println(goods.getGoodsCatelogId());

goods.setGoodsCatelogName(catelogDAO.findById(goods.getGoodsCatelogId()).ge tCatelogName());

}

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("goodsList", goodsList);

return ActionSupport.SUCCESS;

}

3.7管理员订单管理

如下图3-7所示为管理员对订单管理的jsp页面,管理员可以查看订明细,对产生的订单受理和删除订单的功能等。

图3-7 管理员订单管理

主要的代码如下:

Struts的配置代码:

/admin/order/orderMana.jsp

Action类的实现代码:

public String orderMana()

{

String sql="from TOrder order by orderUserId";

List orderList=orderDAO.getHibernateTemplate().find(sql);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("orderList", orderList);

return ActionSupport.SUCCESS;

}

3.8管理员公告管理

如下图3-8所示为管理对网站的公告管理jsp页面,管理员可以查看已有的公告,同时可以删除已有的公告,并添加网站的新公告。

图3-8 管理员公告管理

主要代码如下:

Struts的配置代码:

/admin/gonggao/gonggaoMana.jsp

Action类的实现代码:

public String gonggaoMana()

{

List gonggaoList =gonggaoDAO.findAll();

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("gonggaoList", gonggaoList);

return ActionSupport.SUCCESS;

}

3.9管理员会员管理

如下图3-9所示为管理员对会员的管理jsp页面,管理员可以删除会员等功能。

主要功能代码:

Struts的配置代码:

图3-9 管理员会员管理

/admin/user/userMana.jsp

Action类的实现代码:

public String userMana()

{

List userList=userDAO.findAll();

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("userList", userList);

return ActionSupport.SUCCESS;

}

第四章系统测试

测试是软件开发的时期的最后一个阶段,也是软件质量保证的中至关重要的一个环节,程序测试是为了发现错误而执行程序的过程。让几个有效等价类公式用一个测试用例,可以减少测试次数,有利无弊;但若几个无效的等价类合用一个测试用例,就可能使错误遗漏。

4.1测试目的

生产软件的最终目的是为了满足客户的需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷的具体含义包括以下几个方面:

(1)软件未达到客户需求的功能和性能

(2)软件超出客户需求的范围

(3)软件出现错误

(4)软件的使用未能符合客户的习惯和工作环境

4.2测试内容

主要对系统进行了功能测试和数据测试。

(1)功能测试

功能测试首先要测试系统的所有的功能页面,确保每一个功能都能够实现预期的功能。例如用户购买餐品提交订单是否能够购买成功,管理员是否能够接到订单。餐品的添加、删除或修改是否能够成功,餐品信息是否能够同步更新等等。

(2)数据测试

网上订餐系统作为一个电子商务网站其数据的正确性是非常重要的。主要对系统进行数据边缘性测试。例如用户注册时用户信息的有效性测试,搜索功能的测试是否能够达到预期效果,以及用户提交的订单和管理员收到的订单是否一致等等。

相关主题
文本预览
相关文档 最新文档