java毕业设计——基于java+JSP+MyEclipse的网上订餐系统设计与实现(毕业论文+程序源码)——网上订餐系统

基于java+JSP+MyEclipse的网上订餐系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于java+JSP+MyEclipse的网上订餐系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 网上订餐系统开发的过程中使用的开发平台是当今比较流行的平台MyEclipse,使用的服务器也是人们普遍使用的Tomcat服务器,主要编程语言采用的是jsp语言和java语言,在设计开发网上订餐系统的同时,充分考虑了系统的可扩展性和兼容性,可维护性,所开发出的网上订餐系统可以满足人们对于日常订餐的需要。
  2. 网上订餐系统将系统的主要使用操作人员设置分成网上订餐系统的后台管理员和普通用户两大类,系统所具有的主要功能模块为:查看菜品的信息模块,查询菜品信息的模块,注册成为系统会员模块,我的购物车模块,我的订单模块,系统留言板模块,系统后台管理模块。本文首先介绍了课题的背景与意义,之后从系统分析,数据库的设计,系统的功能与实现,系统测试这些方面来对系统进行分析测试。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:32088个字71页
包含内容:整套源码+完整毕业论文+辅导视频+运行截图


3、关键词:

网上订餐,JSP,MyEclipse,B/S结构

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

第一章 绪论
1.1课题背景与意义
省略

1.2开发工具及技术
1.2.1开发工具
本课题开发主要使用MyEclipse和汤姆猫后台服务器结合开发,开发阶段主界面前端主要使用JSP技术进行开发,下面对以上列出的几种技术进行简单介绍与分析。

1.2.1.1 MyEclipse
MyEclipse是一个IDE环境下比较常用的开发软件,广泛用于J2EE和Java的开封。其功能十分强悍,可以对开发软件进行调试,提高调试或开发效率。其可以直接地翻译源文件,十分省心省力,并且对各类源文件都基本支持,具有健壮性,可兼容性等优势,可以轻松的进行JAVA WEB开发,具有可视化编辑器和快捷操作栏,同时还可以优化JAVAEE开发,方便的找到关键技术的解决方案,同时MyEclipse也全面支持各种插件,支持个性定制和扩展化,个性化功能。对于本系统关键技术采用JSP的网上订餐系统来说,MyEclipse无疑是最适合的,开发最便捷的开发平台。

1.2.1.2 Tomcat
Tomcat是一个主要由Apache、Sun公司共同努力,开发的服务器,同时它是一个开源的,免费给社会大众使用的服务器,它是开发JSP应用程序,应用于MyEclipse平台的最佳服务器,十分适合个人开发以及中小型企业以及用户比较零散的情况下使用,可以这样理解,汤姆猫服务器就像一个中介,通过使用它来对HTML页面进行响应,汤姆猫服务器是阿帕奇服务器的一个延伸扩展软件,当前最新版的汤姆猫服务器版本为9.0.0,本系统主要采用汤姆猫服务器部署已经开发好的网上订餐系统。

1.2.2 JSP技术
JSP最早是由SunMicrosystems公司提出的,经过其推广,很多的计算机和软件公司逐渐共同参与开发。其主要是通过在HTML文件(.htm,.html)中嵌入Scriptlet和JSP标签来实现的。这样,内嵌的Java程序就可以生效,对数据库做出请求、或者启用E-mail等。JSP大概出现上世纪末,SunMicrosystems公司希望利用它来建立动态性的网站,并利用其兼容性和扩展性,来扩大平台应用。从实际效果来看,JSP技术的出现使Web的建设和设计创新不断。其特点大概有以下几点:

依托JSP技术,工程技术人员可利用XML或HTML标识来对web等页面进行修改或推翻设计。这些页面上的内容也可以依托JSP来设计或实现。另外,网站服务器中的内容将被储存在Servlet和JavaBean中,同时还体现在脚本中。如此一来,利用JSP编程语言设计的服务器,其内容发送的信息和要求都可以通过JSP索引来解释,或者根据其脚本来设计或建立。当然,这些最终的内容也会通过HTML或XML形式反馈到浏览器中。通过这样的方式,能够使源代码的编写者维护自己的专利和权益,也可以保证web页面的兼容性和可拓展性。
一般来说,单独的JSP页面不发生复杂的数据分析和处理,其一般用于爬虫或索引提炼攫取数据。

JSP是基于Java编程语言的,其内部具有tags和scriptlets,可以用于储存动态页面运作需要的一套程序方式。另外,JSP将动态页面运作需要的一套程序方式与静态的网页设计分离,这样的模块分块使JSP具有兼容和扩展性,开发性更高。说到底,JSP技术能实现动态的页面控制,并且可以让页面运作程序与静态的页面分离。

JSP页面由两部分组成,分别为HTML和Java代码。一般来说,上游的服务器如果收到来自外部请求或信息,会对Java代码进行分析或运算处理,从而以HTML的方式回馈到网页浏览器中。Java Servlet是其基础,规模较大的JSP项目开发一般依托Java Servlet和JSP这两者。在技术上,JSP具有了Java特有的容易理解、容易上手、适用性广,不挑平台、安全性高等特点。这些优势保证了其在整个因特网中广为使用。在上世纪末出现后,如今不少公司都使用其服务器,如比较有名的IBM、Oracle、Bea,其逐渐成为电子商务软件开发的“宠儿”。

具体来看,JSP有如下的显而易见的优势:
(1)可以多次的复用。可在各类系统内嵌套使用,而不需要重新编写代码。这是其优于PHP之处。
(2)另外,其兼容性比较好。基本不挑平台,常见的平台都能兼容和开发、应用、扩展。这刚好与PHP的不可拓展性互补。
(3)适用性广。无论是war小文件或多层次的平台以及服务器,其都能兼容和运行。对各类规模不一的平台都能进行数据分析、处理,反馈,其展现出极强的适应能力。
(4)可依托种类丰富、功能优异的工具。经过接近20年的发展,JSP如今已拥有了很多开发工具,这些工具功能强大,几乎覆盖了程序开发和设计方方面面,并且几乎不需耗费金钱即可得到,为开发人员提供了便利性。

1.2.3 B/S模式分析
C/S模式是由Client、Server和middleware构成的。其中Client主要用于客户与标准组件进行信息的交互和传递。Server主要是集中对数据库资源进行管理,当有多个请求同时需要某资源时,可以进行优化和分配。Middleware是在用户与服务器之间起到第三者的连通作用,通过其连接,可以让请求和信息在用户与服务器之间顺畅流通。

B/S与C/S模式最大的不同是用户端。从外在使用上看,B/S一般无须在计算机上安装专用的客户端,不需要通过专用的程序与服务器发生连接。其连接一般通过标准化设定的浏览器即可实现。这样可以避免安装客户端的繁琐,可以释放用户的硬盘空间,让用户电脑界面更加美观清晰,使用效果更佳。

从操作体验上来说,在C/S模式下,用户想要熟悉地操作,与服务器发生请求和信息交互,那么需要对安装的用户端有一定掌握,对其界面和基本操作要比较熟悉。而对于B/S模式来说,由于浏览器的界面是经标准化的,操作方式和按钮大同小异,用户无须耗费太多的时间成本即可轻松上手。从系统安全和日常维护来说,B/S无疑更省事。

从目前的发展来看,B/S已经具备了网上公开信息功能,这是在MIS上拓展而来的。而C/S暂时实现不了这一功能。在预约挂号软件的应用中,运用这种网上公告和发布功能,可以减少医院纸质材料的打印和派发,也使其运营效率提升。
从以上B/S与C/S的比对,可以发现在MIS平台中,B/S具有不可比拟的优势。因此本课题设计中选用了B/S架构。B/S架构图如下图1.1所示:
在这里插入图片描述

图1.1 B/S架构图
1.3软硬件需求
硬件需求:
CPU:Pentium以上计算机
内存: 512M以上
软件需求:
操作系统版本:Windows XP /vista/Win7
开发工具:MyEclipse 6.5
后台服务器:Apache Tomcat 6.0
开发语言:Java
浏览器:IE6.0

开发过程中使用的机器配置:
CPU:intel酷睿i5
内存: 8G
软件需求:
操作系统版本:Win7
开发工具:MyEclipse 6.5
后台服务器:Apache Tomcat 6.0
开发语言:Java
浏览器:360浏览器

第二章 系统分析
2.1可行性分析
省略

2.1.1技术可行性
在进行系统开发的第一步,便是对本系统进行技术可行性的分析,本系统的所采用的开发平台是MyEclipse,本系统所采用的开发数据库是MySQL,主要采用JAVA语言和JSP语言来完成系统的绝大多数功能,在太原理工大学学习期间,我们学习了WEB-JSP技,JAVA技术,数据库系统概论,了解了MYSQL数据库的使用原理和操作规范,由此分析,技术可行性分析通过。

2.1.2经济可行性
省略

2.1.3操作可行性
省略

2.1.4法律可行性
省略

2.2用户的需求分析
用户的需求分析对于网上订餐系统的开发是十分重要的,清楚明确的需求分析对于条理地开发系统起到至关重要的作用。

综合分析本系统所面向的受众群体,具体的对用户的需求分析如下:
对于系统普通用户:
系统普通用户希望系统具有良好的界面,简洁的操作,并且系统响应时间短,可以简单快速的注册成为系统会员,对所选中的商品进行下订单,购买等操作。并且可以在下订单之后清楚地看到订单的明细信息,而且还可以与系统后台管理员进行留言互动。

对于系统后台管理员:
系统后台管理员希望系统具有良好的后台界面,操作简单,可维护性好,并且可以兼容不同的平台和浏览器,系统响应时间短,具有健壮性和稳定性,可以快速,方便地对菜品信息,会员信息,留言信息等等系统数据库信息进行管理和对整个系统进行维护。

2.3系统的功能模块图
系统的功能模块图可以清楚的在宏观上看清整个系统的功能,了解系统的大致功能模块,功能模块图可以描绘如图2.3所展示:
网上订餐系统主要的操作人员模块划分可以主要划分为用户的模块和管理员的模块两大模块。

对于用户模块,用户可以进行网上点餐,或是注册成为会员。
对于系统管理员,网上订餐系统的后台管理人员可以进行对已经买单的用户进行信用的评价,对交易完成后的订单进行操作和查看。例如增加或删除或编辑等;还可以对菜品信息管理,例如增加或删除或编辑等。还可以对用户信息管理,例如增加或编辑或删除用户的信息;还可以对菜品类别管理,例如增加或编辑或删除菜品类别的信息,具体的用用系统功能模块图进行表述,可以描述成为以下图2.3样式:
在对上述总体的系统功能模块进行分析之后,我们进行进一步的细化,细化用户点餐功能。用户点餐功能又可以进一步分为菜品查询,查看购物车,查看订单,进行留几大功能模块,具体的功能模块图如下2.1所展示:
在这里插入图片描述

图2.1系统功能模块图
在对上述总体的系统功能模块进行分析之后,我们进行进一步的细化,细化用户点餐功能。用户点餐功能又可以进一步分为菜品查询,查看购物车,查看订单,进行留言几大功能模块,具体的功能模块图如下图2.2所示:
在这里插入图片描述

图2.2系统功能模块图

2.4功能模块分析
接下来便开始对系统进行总体的功能模块模块分析,根据以上的对各个可行性的各个方面都综合进行的深入详细分析,该系统在功能模块上可以划分为以下几个宏观的功能模块系统。
(1)用户信息管理
该模块主要的功能由系统的管理员完成,管理员进入到系统的后台对在前台进行会员注册的用户进行删除,查看用户信息两大功能模块进行操作,具体的可采用例图进行表述,可以描述成为以下图2.3样式:
在这里插入图片描述

图2.3用户信息管理的用例图

(2)订单信息管理功能
该模块主要的功能由系统的管理员完成,管理员进入到系统的后台对已经在前台下单的用户的订单进行查看,对已经在前台下单的用户的订单进行受理,对已经在前台下单的用户的订单进行删除,具体的用用例图进行表述,可以描述成为以下图2.4样式:
在这里插入图片描述

图2.4订单信息管理功能用例图

(3)菜品信息管理功能
该模块主要的功能由餐馆用户完成,餐馆用户进入到系统的后台,对本店想要新增的新菜品进行手动的添加,对已经存在的菜品信息进行查看审阅,对已经存在的菜品信息进行删除,具体的用用例图进行表述,可以描述成为以下图2.5样式:
菜品信息管理功能主义包括查看菜品的信息,添加菜品的信息,删除菜品的信息、
在这里插入图片描述

图2.5菜品信息管理功能用例图

(4)用户订餐功能
用户订餐功能的主要操作对象是普通用户(注册会员),普通用户进入系统前台,即系统主页进行查看已经拥有的菜品的菜品信息,或是满意后购买想购买的菜品,具体的用用例图进行表述,可以描述成为以下图2.6样式:
在这里插入图片描述

图2.6订餐功能用例图

2.5设计的基本思想
设计思想遵循以下几点:
1.网上订餐系统的开发过程中使用的并非是app形式,而是B/S结构模式,这种设计模式的特色是前台和后台处理层次十分分明,在适用用户方面,适用于当前时代下大部分会上网,熟悉上网操作的普通用户和管理人员。

2.本系统开发完成后,最大的特点就是采用了面向对象的原则,我们之所以使用面向对象技术来开发系统,就是因为我们开发系统时对系统准确的掌握,以及精准的抽象,通过良好的抽象可以在总的架构上更清楚的对系统进行架构,从而使系统更加稳定,效率更高化。

3.本系统在开发过程中使用模块化的功能设计与分析。模块化设计的核心思想是讲系统的整体功能不断细化求精,细化成为最小的单位——模块。

4.本系统在开发过程中,在界面设计上设计的十分简洁,界面设计时遵循了在太原理工学习时所学习的界面简洁性,友好性,可交互性等一系列特征,可供初次使用本系统的人轻松的使用本系统,不会有任何操作障碍。

5.本系统设计与实现的漫长过程中,始终遵循在太原理工软件需求工程的基本原理这门课程中所学到的速度优先准则,结合pert图和甘特图计划了设计系统的大体生命周期,在设计开发网上订餐系统中,尽量做到速度优先,同时尽可能的减少资源的占用和使用。

6.网上订餐系统开发过程阶段,开发阶段尽量做到即突出攻破重点的项目和内容,又要分析细节,重基础同时也不丢失细节,在遵循这些原则的基础上同时一定要符合设计的要求,符合设计的主题,同时注重可扩展性,可以更多的兼容平台与操作系统,可以方便的扩充功能。

2.6性能需求
2.6.1系统的安全性
网上订餐系统采用的进入系统身份不同,所具有的权限也不相同,所具有的操作也不同,相应的在可以使用的系统功能上也有很大差别。因而要将二者严格地区别开来,具体的来说:
若是想登陆系统后台对各种信息进行管理,必须要拥有管理员权限,没有取得管理员权限的普通用户不能进入系统后台对各种数据进行修改,从而在这一点上保证了系统关键核心数据的安全性和隐私性,使得数据不会丢失或是被他人修改。

2.6.2数据的完整性
1.各种记录信息的完整性,信息记录内容不能为空
2.各种数据间相互联系的正确性
3.相同数据在不同记录中的一致性

2.7界面需求
省略

具体的用户操作界面如图2.7所展示:
在这里插入图片描述

图2.7网上订餐系统的用户界面
结合以上分析,下面给出网上订餐系统的初始化操作界面(系统管理员端),可以清楚的看到后台系统修改的各个功能,操作简单,同时输出数据在视图上也十分简单,减少了错误的数据输出的可能性,具体的用户操作界面如图2.8所展示:
在这里插入图片描述

图2.8网上订餐系统的管理员界面

第三章 数据库设计
3.1数据库的分析与设计
省略

3.1.1数据库的概念结构设计
省略

这里根据上述介绍以及对网上订餐系统的深入分析,所描绘出的ER图(实体-联系图)如下所展示:

(1)管理员信息E-R图
管理员的属性主要包括以下几个方面:编号ID,登录账号,登录密码。
在这里插入图片描述

     图3.1 管理员信息实体E-R图

(2)用户信息的E-R(实体—联系图)图。
用户信息主要的属性主要包括,用户ID,账号,密码,姓名几个属性。
在这里插入图片描述

               图3.2用户信息E-R图

(3)菜品信息实体E-R图。
菜品信息主要的属性包括菜品ID,编号,名称,介绍,图片,价格几个属性。
在这里插入图片描述

         图3.3 菜品信息实体E-R图

(4)订单信息E-R图
订单信息主要包括订单ID(订单由系统生成的数字ID),订单编号,送货地址,付款方式,金额,用户ID,状态,订单编号等几个属性。
在这里插入图片描述

          图3.4 订单信息实体E-R图

(5)购物车信息E-R图
购物车实体主要包括购物车ID,菜品ID,订单ID,数量几个属性。
在这里插入图片描述

        图3.5 购物车信息实体E-R图

(6)评价信息E-R图
评价实体主要包括评价属性,内容,用户ID,评价时间几个属性。
在这里插入图片描述

                图3.6 评价信息实体E-R图

(7)系统总体ER图:
系统总体ER图主要从顾客,菜品,管理员三大实体的角度切入分析,描绘出的ER图,具体的ER图如下3.7所展示:
在这里插入图片描述

图3.7 系统总体E-R图

3.1.2数据库的逻辑结构设计
结合本系统,对数据库进行逻辑结构的设计后可以建立各种表如下所展示:
(1)系统管理员的信息表主要内容是记录系统管理员注册时所填写的一系列信息 表的结构以及内容分布如表3.1所展示的一样。
表3.1管理员信息表(t_admin)
在这里插入图片描述

(2)用户的信息表主要记录普通用户注册成为会员时所必须填写的一系列信息,表的结构以及内容分布如表3.2所展示的一样。
表3.2用户信息表(t_user)
在这里插入图片描述

(3)留言信息表的功能是用来保存顾客在订餐完成后对系统的留言,ID是主码(key word),表的结构以及内容分布如表3.3所展示的一样。
表3.3留言信息表(t_liuyan)
在这里插入图片描述

(4)菜品信息表主要记录的是系统已上架的菜品的详细信息。其中ID是主码(key word),表的结构以及内容分布如表3.4所展示的一样。
表3.4菜品信息表(t_goods)
在这里插入图片描述

(5)订单的信息表的主要部分是记录已下的订单的详细信息,其中订单ID是是主码(key word),表的结构以及内容分布如表3.5所展示的一样。
表3.5订单信息表(t_order)
在这里插入图片描述

(6)购物车的信息表的主体内容是记录了购物车内已经购买的菜品的一系列信息 ,其中购物车ID是主码(key word),表的结构以及内容分布如表3.6所展示的一样。
表3.6订单项信息表(t_orderitem)
在这里插入图片描述

(7)评价信息表的主体内容是保存系统后台管理员对前台用户的评价信息,其中评价ID是主码(key word)表的结构以及内容分布如表3.7所展示的一样。
表3.7信用评价表(t_xinyong)
在这里插入图片描述

(8)菜品分类表主要存储诸如凉拌菜,热炒菜等等的菜品类别的信息,其中ID是主码(key word)表的结构以及内容分布如表3.8所展示的一样。
表3.8菜品分类表(t_catelog)
在这里插入图片描述

3.1.3数据库的连接原理
网上订餐系统数据库连接也是开发该系统的关键环节,主要采用JDBC方式,这些知识在太原理工大学开设的JSP课程中有所学习,具体的操作步骤如下图3.8所
在这里插入图片描述

图3.8数据库连接步骤图

网上订餐系统连接数据库的程序采用DAO(数据访问对象)模式来对数据库进行处理操作,具体思想如下类图3.9所展示:

在这里插入图片描述

图3.9 DAO模式类图
网上订餐系统在开发过程中,为了连接数据库,编写了一个DB.java文件,具体的部分代码如下所展示:

public class DB
{
	private Connection con;
	private PreparedStatement pstm;//PreparedStatement对象pstm 
	private String user = "root";
	private String password = "8888";
	private String className = "com.mysql.jdbc.Driver";//驱动程序对象
...}

3.2中文乱码问题处理
在开发过程中,我们遇到了中文乱码问题,手动在各个页面设置十分复杂麻烦,并且十分占用开销。
在web.xml中配置代码如下所展示:

<filter>
    <filter-name>SetChartEncoding</filter-name>
    <filter-class>com.util.EncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name> 
      <param-value>UTF-8</param-value>  <!--设置你想用的字符集,UTF-8-->
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>SetChartEncoding</filter-name> 
    <url-pattern>/*</url-pattern>  
  </filter-mapping>
与此相对应的EncodingFilter.java文件中:
public void init(FilterConfig filterConfig) throws ServletException {
		this.filterConfig = filterConfig;
		this.encoding = filterConfig.getInitParameter("encoding");
	}

为了进一步的处理中文乱码,我们采用如下的方式来处理:

public class EncodingFilter implements Filter {
	protected String encoding = null;

	protected FilterConfig filterConfig = null;

	public void destroy() {
		this.encoding = null;
		this.filterConfig = null;
	}
//采用encodingfilter统一处理字符集
public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {		
		String encoding = selectEncoding(request);
		if (encoding != null) { // 对请求进行编码设置
			request.setCharacterEncoding(encoding);
			response.setCharacterEncoding(encoding);
		}

3.3数据流程图
数据流图主要由以下几个模块组成:
在这里插入图片描述

图3.10数据流程图例

根据以上对原有网上订餐的系统流程图的描述,我们从系统的多个方面进行了分析,希望使系统的管理更加合理,在使用中更具有可行性,由顶层开始向下对网上订餐系统逐步分层,逐步细化。下面给出系统的顶层图。

3.3.1系统顶层图
系统顶层图,也叫顶层数据流图,是用来描绘整个系统各个用户或者系统对于该系统的输入和输出,具体的,针对本系统来说,网上订餐系统的外部系统或人员有顾客和管理员两大部分,系统顶层图反映了外部对系统的输入数据流以及系统经过一系列处理后的输出数据流,从系统顶层图上可以清晰的看出系统的数据流向,便于开发人员和用户方更加深入的了解系统,具体地如图3.11所示:
在这里插入图片描述

图3.11网上订餐系统顶层图数据流图

3.3.2系统0层图
根据模块功能不同,把系统分为系统后台管理员登录模块,注册会员登录模块,菜品查询模块,管理购物车模块,管理订单模块,留言管理模块,信息管理模块几个大的模块作为系统的零层。各个模块独立,但各个模块之间又可以相互调用数据,进而完成数据的综合存储,一起实现系统的预期功能。网上订餐系统的0层图如图3.12所示:
在这里插入图片描述

图3.12网上订餐系统的0层图
3.4时序图
时序图,是用来表述系统各个行为的先后顺序的一种图形,它使得初次接触网上订餐系统的用户能够清楚地了解该系统各个动作的先后顺序,协作顺序,时序图的最顶端的矩形框表示系统的各个参与者,实线表示传递的消息或者行为,虚线表示返回的消息或者行为。以下是该系统的时序协作流程:
用户订餐时序流程:

  1. 登录主页。
  2. 查看网上订餐系统主页的各种菜品信息,查询想要购买的菜品的信息。
  3. 选择自己想要购买的菜品,点击菜品的图片,添加菜品进入购物车。
  4. 确定菜品无误后,购买该菜品,
  5. 订单的内容发送到各个餐厅
  6. 餐厅经理通知送餐人员进行送餐,同时向管理员反馈自己的送餐情况
  7. 管理人员更改后台的订单里面的菜品的状态,改为送餐状态,同时通知送餐人员向顾客送餐
    下面展示的是订餐的时序图,如下图3.13所展示的一样:
    在这里插入图片描述

图3.13订餐的时序图
3.5 数据字典
3.5.1 数据结构
数据结构表达了数据与数据之间的构成组合关系,对于网上订餐系统来说,数据结构条目如下:
在这里插入图片描述
在这里插入图片描述

3.5.3 数据流
网上订餐系统的数据流如下所示:
表3.13数据流表
在这里插入图片描述

3.5.4数据存储
从数据存储可以看出数据的去向来源头,对于一个系统的数据流分析十分重要,以下是数据存储的具体说明。
在这里插入图片描述

第四章 系统功能的设计与实现
在网上订餐系统开发的历程中,由前文对网上订餐系统进行需求分析和系统分析之后,便进入最重要的环节之一详细设计,下文将对系统的主要功能用户处理的模块,后台管理员处理模块这两大模块进行分析,具体的又可以划分成为用户的注册与登录,留言内容的管理,用户信息的管理,菜品信息的管理,用户订餐功能来对系统的详细设计进行进一步的阐述。

省略

4.1用户注册与登录
网上订餐系统的用户注册与登录模块,是本系统的关键模块,这一模块的具体设计十分关键,因为该模块会影响用户对本系统的体验。普通游客进行注册成为系统会员,在进行注册时,游客用户在注册时需要填写账号,密码,姓名。密码设置时不能为空,并且,账号设置时也不能为空,输入数据通过check1()来衡量是否可以录入。 具体的用户注册与登录界面如下图4.1和4.2所展示。
在这里插入图片描述

图4.1用户注册页面设计
在这里插入图片描述

图4.2用户登陆页面设计
以上的登录过程的关键技术实现:在操作人员在页面输入账号密码尝试进行登录后
系统会自动跳转到已经编写好的登录service中,登录service的主要功能就是对登录系统的身份进行判断,usertype1为会员登录,usertype0为管理员登录,判断身份后将相应的属性进行设置,还可以对管理员密码进行编辑修改等等功能
登录service loginservice核心部分的代码编写如下所展示:

try 
{
	  ResultSet rs=mydb.getRs();
	  boolean mark=(rs==null||!rs.next()?false:true);									if(mark==false)
		{
			result="no";
		}
			else
			{
				result="yes";
				TAdmin admin=new TAdmin();
				admin.setUserId(rs.getInt("userId"));
				admin.setUserName(rs.getString("userName"));
				admin.setUserPw(rs.getString("userPw"));
				WebContext ctx = WebContextFactory.get(); //得到WebContext对象ctx
				HttpSession session=ctx.getSession(); 
				session.setAttribute("userType", 0);
		       session.setAttribute("admin", admin);
			}
rs.close();
 }	

4.2管理员首页
系统后台管理员页面也是该系统的关键部分,系统后台管理员的操作界面的界面设计如下图所展示,左边分栏为系统后台管理员可以完成的各种修改操作模块,右边为具体的操作界面, 系统后台管理员的登录页面具体的如下图4.3所展示。
在这里插入图片描述

图4.3管理员主页面

在各个页面设计的同时为了防止未注册成为会员的游客进行误操作,设计了普通游客非注册会员点击其他模块都会进行弹窗,请先登录的提示,具体的模块设计代码如下所展示的一样:

 <c:if test="${sessionScope.userType !=1}">
	alert("请先登录");
</c:if>

4.3管理员功能模块
4.3.1留言模块管理
具体的留言模块的设计,网上订餐系统后台管理员可以查看前台注册会员的留言,可以对留言进行删除和回复操作,具体的实现过程是在liuService.java先查询数据库获取各种信息,将结果放在结果集rs当中,然后发送到相应的admin的liuyanMana.jsp页面,向网上订餐系统后台管理员展示留言信息,管理员可以进行删除和回复操作。具体的界面如下图4.4所展示。
在这里插入图片描述

图4.4留言信息管理页面
4.3.2用户信息管理
网上订餐系统用户的信息向管理员展示的原理与上述留言向管理员展示的原理相同,这里便不再详细表述。向网上订餐系统后台管理员展示已经注册的会员的信息。系统设计过程中还设计了一个删除操作,可以把已注册会员的信息删除,具体的界面如下图4.5所展示
在这里插入图片描述

图4.5用户信息管理
4.3.3菜品信息管理
4.3.3.1菜品信息录入
网上订餐系统的菜品信息录入模块主要功能是系统后台管理员用来输入新菜品的信息,信息的内容包含菜品名称,菜品的介绍,菜品的价格等等。如果某一项信息缺失,系统会提示缺少的信息,通过check()函数来检查信息输入是否完整,具体的界面如图4.6所展示:
在这里插入图片描述

图4.6菜品信息录入

具体的,网上订餐系统的程序流程图如下图4.7所展示:
在这里插入图片描述

图4.7菜品信息录入流程图

4.3.3.2菜品信息管理
菜品信息输出的实现方式与留言输出的实现方式相同,这里便不再详细表达,主界面会显示菜品的遍号,菜品的名称,菜品的介绍,菜品的图片,菜品的价格,删除菜品的操作按钮,具体的主页面如下图4.8所展示。
在这里插入图片描述

图4.8菜品信息管理页面

4.3.4订单信息管理
网上订餐系统的订单信息的管理模块的具体实现过程也留言输出的过程相同,这里便不再详细表达,具体的订单信息呈现给系统管理员有订单的编号,订单的下单时间,订单的状态,订单的排队计时,订单的送货地址,订单的付款方式,订单的总金额,订单的具体明细,下该订单的注册会员的用户信息,可以删除该订单的操作,具体的界面
如下图4.9所展示。
在这里插入图片描述

图4.9订单信息管理

4.4用户订餐功能
用户订餐功能简而言之就是注册会员进入网上订餐系统的首页进行下单的过程,进入主页面后,可以映入眼帘地看到系统的主要功能,菜品的信息展示,进行会员的注册,查看已下单产品的购物车,查看我的订单,对网上订餐系统的后台管理员进行留言及查看回复。总价格的计算通过get totalprice()函数来实现,具体的主页面及操作过程如下图4.10,4.11 ,4.12所展示。

在这里插入图片描述

图4.10菜品信息页面

在这里插入图片描述

图4.11菜品详细信息页面
在这里插入图片描述

图4.12购物车页面
结合以上对点餐过程的分析,以下是点餐过程流程图,如图4.13所示
在这里插入图片描述

图4.13点餐过程的流程图
第五章 系统测试
5.1系统测试目的与意义
省略

5.1.1 网上订餐系统的测试目标
网上订餐系统系统最终应完成的测试目标:本文应着重于系统的功能测试,测试的对象分成管理员和注册会员两大部分,在实现了预定的系统功能及满足用户需求的前提条件下,尽可能地发现并完善系统中的漏洞与隐患,确保软件的实用性、安全性、可靠性、可扩展性以及经济性,为今后的网上订餐系统提供有力保障。

5.2测试过程
5.2.1主页面及系统后台的测试
系统登录模块测试:
测试流程: 1.打开系统首页,输入错误的登录信息
2.登录
3.输入正确的登录信息
4.登录
5.测试结果
修改密码模块测试:
测试流程: 1.打开修改密码界面,输入错误的密码
2.点击修改密码
3.输入正确的修改密码
4.点击修改密码
6.测试结果
菜品查询模块测试:
测试流程: 1.打开菜品查询界面,输入不存在的菜品
2.点击菜品查询
3.输入正确的菜品
4.点击菜品查询
7.测试结果

表5.1管理员登录测试用例表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.2测试模块及案例
注:此处有效等价类为正确输入账号密码,正确登录系统,无效等价类为未能按照正确标准输入账号密码
(1) 数据库管理员(Admin表)中的信息为:
在这里插入图片描述

图5.1 数据库管理员信息表

(2)管理员登录后台系统的测试

表5.9 管理员登录后台系统的测试等价类划分
在这里插入图片描述

表5.10管理员登录后台系统的测试用例
在这里插入图片描述

以下是测试过程部分截图:

在这里插入图片描述

用户名:null 密码:null

在这里插入图片描述

     图5.2用户名null密码null结果图

用户名:m1 密码:null
在这里插入图片描述
在这里插入图片描述

        图5.3用户名m1密码null结果图

用户名:a 密码:a

在这里插入图片描述
在这里插入图片描述

          图5.4用户名a密码a结果图

查询a
在这里插入图片描述
在这里插入图片描述

                           图5.5查询a结果图

查询糖醋排骨

在这里插入图片描述
在这里插入图片描述

                       图5.6查询糖醋排骨结果图

会员登录 输入账号bbb 密码 空
在这里插入图片描述

                   图5.7会员登录测试结果图

会员登录输入账号bbb 密码bbb
在这里插入图片描述
在这里插入图片描述

          图5.8会员登录测试结果图

会员登录输入账号a,密码a
在这里插入图片描述

          图5.9会员登录测试结果图

5.2.3系统性能测试
功能测试是为了某种的最基本需求,性能测试的目的是保证系统正常运转的关键一环。测试的具体内容如下表5.1所示:

表5.1 性能测试主要的内容
在这里插入图片描述

5.2.4缺陷分析
经过测试,该程序中没有严重影响系统运行的错误,没有功能缺陷,也没有不影响运行但必须修改的错误。
测试模块都具有较好的交互性,出现错误可以提示用户哪里出错,使用户可以及时修改。

5.3测试结果
测试完成后,分析之前我们所进行的一系列的分析,可以得出下列的结论:网上订餐系统可以完全满足用户方和开发方的需要,满足需求规格说明书,满足需要的功能,十分易于管理,后台管理人员可以很容易掌握,再加上系统具有很高的安全性、可靠性和扩展性,完全能够达到订餐系统所要求的各项指标,从而更加有效的提高了网上订餐系统的水平。

总结与展望
本文的主要书写方面包括以下几个方面:
(1)针对本文将要建设的系统,进行详细的背景和开发技术以及针对网上订餐系统的分析归纳,并介绍系统开发时将采纳的主要技术和技术难点。
(2)利用软件工程思想,对系统进行需求分析,包括功能性需求和非功能性需求;针对功能需求描绘出了系统的总体功能分析;然后针对上述内容,设计出系统的用例图ER图,程序流程图等;最后各个功能模块进行UML建模设计,描绘系统设计过程。
(3)本系统采用B/S架构构建本系统。
(4)在系统设计完成以后,对系统的性能进行相应的测试,测试过程中即使用了白盒测试法,也使用了黑盒测试法,同时包括兼容性测试,通过多种测试相结合的方式来确保系统的健壮性和信息安全性。

省略

参考文献
[1]熊杰. 宾馆住宿管理系统的设计[J]. 中国科技博览, 2015(29):77-77.
[2]孟小峰, 周龙骧, 王珊. 数据库技术发展趋势[J]. 软件学报, 2004, 15(12):1822-1836.
[3]吕浩音. JSP技术介绍[J]. 陇东学院学报:自然科学版, 2007(2):29-31.
[4]张良银. 浅论C/S和B/S体系结构[J]. 工程地质计算机应用, 2006(4):20-23.
[5]沈珏. MVC设计模式[J]. 科技广场, 2009, 2009(9):249-250.
[6]李福弟. 可行性研究内容介绍[J]. 西南金融, 1984(12):28.
[7]田敏, 金星. 技术档案数据库管理系统设计原则及方法初探[J]. 计算机与现代化, 2007(4):69-71.
[8]徐敬. J2EE架构下基于Web的信息管理系统框架研究[J]. 硅谷, 2015(1):84-85.
[9]王华. 探析Java数据库连接池运行原理[J]. 福建电脑, 2010, 26(8):92-93.
[10]陆璐, 王文莉. 浅谈软件测试技术[J]. 郑州铁路职业技术学院学报, 2007, 19(2):41-42.
[11]王萍. 软件测试的重要性[J]. 软件导刊, 2009(4):20-21.
[12]Jacob K. Hotel inventory management system and method: US, US20070075136[P]. 2007.
[13]Xia C. The realization of MyEclipse and database connection[J]. Journal of Wuhan Engineering Institute, 2013.
[14]Gray J. Notes on Data Base Operating Systems[C]// Operating Systems, An Advanced Course. Springer-Verlag, 1978:393-481.
[15]Xia X X, Xin B Y. Compare B/S mode with C/S mode[J]. Journal of Yanbian University, 2002.
[16]Roth R R. SOFTWARE TESTING: US, US 20080010539 A1[P]. 2008.

致  谢
省略

外文文献
省略

中文翻译
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于java+JSP+MyEclipse的网上订餐系统设计与实现(源码+文档)_tomcat_JSP_BS_网上订餐系统.zip
  • 14
    点赞
  • 205
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值