计算机毕业设计-基于Java的在线点餐系统-开题-程序-论文


本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私我


计算机毕业设计-基于Java的在线点餐系统-开题报告-任务书程序编码-文档

摘 要

 由于信息科技以及时代的进步,越来越多使生活便捷的软件随着科技的发展层出不穷,所以许多行业与互联网相结合就成为了他们最有利的手段。随着上班族以及年轻人们的用餐需求的提高,订餐软件也就应运而生。本次设计的订餐软件为那些在大城市工作的上班族提供了更多的选择,同时也为许多商户提供了更多的销路。这些订餐系统逐步发展成熟,实现了可以足不出户就能点到自己想吃的食物。为那些忙碌在办公室的人们提供了便捷省时的就餐渠道。人们还可以根据店铺的评分和范围选择自己最心仪的食物。正因为时代的迅速发展,使得订餐软件将逐渐成为一种被人们所喜爱的普遍的就餐方式,所以这次设计了一款订餐管理系统。

  本次订餐系统设计的实现是基于Java的在线点餐系统,并结合JSP开发技术,采用MySQL关系型数据库,来完成最后的设计与实现。该设计基于为各类用户提供满意的服务,完成了餐品管理,在线点餐,菜谱上架,用户注册,购买等功能模块。

关键词:外卖,购物,JSP,Java,线上

ABSTRACT

Due to the progress of information technology and the times, more and more software that make life convenient emerge in endlessly with the development of science and technology, so the combination of many industries and the Internet has become their most favorable means. With the increasing demand of office workers and young people, the ordering software has emerged. The design of the ordering software for those who work in big cities to provide more choices, but also for many businesses to provide more sales. These ordering systems have gradually developed and become mature. They can order the food they want to eat at home. It provides a convenient and time-saving dining channel for those who are busy in the office. People can also choose their favorite food according to the score and range of the store. Because of the rapid development of the times, the ordering software will gradually become a popular way of dining, so this design of a ordering management system.

The design and implementation of the ordering system is based on java online ordering system, combined with JSP development technology, using MySQL relational database to complete the final design and implementation. The design is based on providing satisfactory services for all kinds of users, completing the functional modules of meal management, online ordering, menu listing, user registration, purchase and so on.

Keywords: cosmetics, shopping, JSP, Java, online

 

第1章 绪论

1.1课题的来源及意义

在进入二十一世纪以后,网络科技的热潮迎面而来,在此环境下,就需要很多行业做好准备,并且抓住机遇,经过长期坚持以及不懈的的探索来寻求适合自身企业的发展道路。具体来看网络电子商务代表的是通过互联网信息技术的平台,来使得企业公司,销售商户以及消费者用户能够实现网上购物、网上交易和实现线上电子支付,这种与传统购物模式截然不同的的新型线上购物方式逐渐变得深入人心。它的主要核心功能是将信息,物流和资金流进行系统化和一体化。使人做到足不出户即可游览天下的美食和各种生活所需品,方便了人们的生活。到目前2021年为止 电子商务已经覆盖了整个世界,全世界约有13亿人使用电子商务网购。2010年中国人网购花了10万亿,这庞大的消费群体和消费总额这足以说明现在网购是一种趋势。现在的网络购物的受众面由之前的年轻人逐渐演变成全民接受的一种特别广泛的趋势,所以这种这种购物模式成了最普遍的。由于商品的种类众多,所以利用后台数据将合适的商品推荐给合适的消费者就变得尤为重要。所以为了商品的销售行业的发展,设计了这个销售系统。

在近几年网购平台的发展下,各种购物优惠活动层出不穷,而且频率高范围广持续周期长,线上的网购交易量逐渐超越了线下的交易额,线上的消费者也越来越多,各种保护消费者权益的条款也加深了消费者对于各种购物平台的信任度。各种购物活动对于商家和消费者或者网购平台来说,是互利互惠并且共赢的,所h以说网购现在逐渐成为消费者和商家都支持的消费方式。在这个系统里无论是哪个消费者都能够在上面选择合适的商品进行购买,商家还会附上运费险,防止到手的商品不符合预期,在整个购买的过程中,仅仅需要几分钟就可以完成购买。在此过程中并不需要等待付款或者坐车去商场,所以从便捷程度上来说,网购可以满足消费者在任何场合浏览、下单并且随着网购还衍生出许多新兴行业例如快递、物流等职业。况且现在的快递行业也是越来越发达,网购的商品都有快递员送货上门,给消费者带来了全方位的便利。所以说网络销售的成功是有情可原的,它能满足用户的基本需求与此同时还能节约时间和金钱。通过本次系统的设计,给人们带去真正的便利,让消费者买到想买的,让商家增添盈利。

1.2国内外研究现状

订餐服务最早兴起于西方经济发达的国家,在美国或者欧洲等国家最开始是采用电话订餐,提供自身的送货地址,随后由老板或者店员进行送餐,但是随着科技的发展,订餐服务逐渐变得系统化和便捷化,通过订餐平台就可以管理用用户的订餐信息,完成本次交易。后来随着互联网行业的发展,国外逐渐出Just Eat、Seamless、GrubHub 等外卖平台,所以说科技的进步推动了人们生活的发展。

国内成熟的外卖平台比国外出现的晚,国内的订餐平台主要是美团、饿了么两种,并且现在还在不断地发展完善改进中,与此同时通过这些软件的使用人数和成交额就可以看出互联网的发展对人们生活有着多么巨大的影响。据统计我国的网购成交额远远地超过了其他国家。近几年随着线上交易的普遍化,支付方式也越来越多,从最开始的网银扣款到后来的支付宝,现在又开始了刷脸支付,这都是线上各种各样的平台所带动发展起来的,他们同时也在推进着科技的发展和创新。线下店铺和菜品的的品种多样丰富,因此决定了传统意义的销售方式和线下商铺的售卖都有很强的局限性,所以设计一款订餐管理销售系统,让用户可以尽情的挑选自己喜欢的菜品。

1.3本文研究内容

本系统主要研究内容为在线购物网站,在线购物网站的实现以及管理,本系统主要通过java的语言开发,通过MVC架构思想设计,在整个系统设计过程中,前期主要进行消费者对于“已有的在线点餐的平台已有系统的优缺点分析”的问卷调查和需求调研,中期要对该设计系统所应用的信息技术进行适当的可行性测试分析,然后通过梳理整个设计系统的流程,对数据库模型以及ER图进行设计,为满足此系统的用户需求和功能需求,通过对餐品的管理,餐品下单等进行实现。

 

第2章 相关技术简介

2.1Java介绍

Java的特性比较简单,java主要是基于C++的底层进行开发的,java的主要特点在于,封装、继承、多态,基于java的三大优势,可以对Java的跨平台的开发进行设计,Java有8大基本类型,而String不属于其中的一种,这个是特性,java本身是自带多并发的,在这个追求高并发的时代,多线程,多并发就会有很高的优势。

2.2前端语言介绍

Jsp是Java的特属前端语言,Jsp里面可以嵌套很多的语言技术,例如Javascript、Vue,Node等,Jsp,可以通过标签的方式对样式进行设置,同时通过嵌套语言对数据进行动态的请求与更改,可以对标签进行动态的操作,同时可以设置请求的同步和异步。

Mysql:Mysql作为最常用的关系型数据库,可以对数据进行格式化存储,mysql可以里面内包含一些已经封装的函数,保证了sql的正常调用以及快速查询搜索,mysql的特点在于可以对中小型数据量的数据进行快速的检索,且可以通过index索引对数据进行内部的关联设定,mysql的底层检索原理也为二叉树形式进行数据标签关联存储,mysql的数据格式与java的格式基本一致,因此在开发者选择中也会首先选择mybatis与之搭配开发,mysql无需一些用户权限角色的关联直接便于开发者上手进行查询。

Visual Basic6.0:作为Visual studio60的一员发布,证明微软正在改变Visual basic的产品定位,他想让Visual basic成为企业级快速开发的利器。 Visual basic6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能。数据环境和新的报表功能也让数据开发有了全新的体验。 Visual basic借助 COM/COM强大的功能,可以开发具有N层结构的分布式应用程序。同时, Visual Basic还可以在IIS上开发性能超群的Web应用程序。Visual basic60在语言方面和IDE方面的改进都不大,但是许多新增的组件成为 Visual basic开发人员于中的利器,如File System Object等。新的字符串函数 Split和 Replace等也给Visual basic的程序员带来很大方便。

总之 Visual Basic6.0已经是非常成熟稳定的开发系统,能让企业快速建立多层的系统以及Web应用程序,成为当前 Windows上最流行Visual Basic版本

2.3SSM框架介绍

SSM架构的主要组成部分为Spring、SpringMVC、Mybatis,通过三个框架的集成,实现整体的SSM架构,在架构中Spring作为底层的容器框架,提供了很多的组件,可以通过它的切面编程和反向生成动态代理类来实现注解注入类,通过一些注解的标签来达到启动时对类的自动生成,而Springmvc是基于MVC三层架构的,通过对url进行动态拆分,基于Rest风格进行设计,从Url中可以获取到参数定义,且可以对method进行方法级别拦截,Mybatis主要作用为对底层数据的sql执行,mybatis的出现将sql语句放到xml中,从而与代码进行分离,达到动态的分离效果,通过mapper与xml的映射达到匹配指向。

目前为容器主流框架,spring的作用非常强大,spring的出现直接让很多代码由繁琐变的简单,spring两大特性为控制反转、切面编程,通过对注入的对象通过注解或者是bean定义进行逆向生成,通过建立动态临时对象,在对象调用时直接使用,无需再每次调用时生成,代码变为单例模式,化解了程序的繁琐,在切面编程方面作用更大,切面编程主要作用于日志以及事务处理,在日志管理时,只要加入注解就可以对方法进行拦截,可以对方法内容操心进行处理,在事务方法,可以对方法新增、编辑、删除进行拦截,确保方法的整体性,同时可以对登陆进行拦截业务操作,可以判断每次操作时是否为登陆模式。

Springmvc主要是通控制层框架,在最初框架为servlet后来慢慢变成struts框架,springmvc相对于struts来说,form表单填充前端页面的数据匹配更为简单,可以直接将页面参数填充到对象类中,springmvc可以自定义请求路径Url,主要为前端请求提交后进行中转处理。可以对method进行方法定义,例如更新为PUT,数据新增提交为POST,获取查询数据为GET,springmvc中可以通过interceptor对登陆或者是每次url请求时进行拦截业务操作,springmvc主要为在web.xml中的dispatcherservlet进行分请求处理,提升servlet的请求处理效率以及框架拦截能力。

    Mybatis框架介绍:Mybatis主要为dao层的业务层框架,通过与service跟数据库交互,通过JDBC建立连接,通过c3p0等数据库连接池进行数据库连接,通过mapper与xml中的name进行匹配,通过xml中的标签进行sql拼接,可以通过if或者是null等作为判断,mybatis通过拼接片段建立完整sql,简化了sql语句,可以通过这种动态的结合建立各自模式匹配,自动化自定义sql,mybatis相对于hibernate更为简单,且与mysql这种数据库配置,更加轻便,mybatis在建立中小型数据库中较为明显,而hibernate在大型项目通过hql查询更快,mybatis可以自写sql,且可以通过mapper动态逆向生成对象供调用,作用更为明显。

图2-1 SSM框架关系图

2.4Mysql介绍

Mysql数据库主要为数据存储,可以对网站的数据进行格式化处理,可以依据业务或者是功能模块对数据进行分类,然后对数据进行查询和计算,数据通过表的格式进行存储,也可以通过视图或者是函数进行业务处理,在数据表中可以通过索引对数据进行快速查询,不过在建立索引时便意味着每次插入和编辑数据时效率变慢,每张表中可以建立主键作为唯一标识,表字段数据都有所属类型,主要分为,varchar、int、char、double等,可以对数据类型进行设置,数据字段都有长度和大小,可以根据数据业务类型进行设置,mysql核心为数据存储和数据处理,且查询简单,操作方便,可以通过limit进行分页处理,且对时间字段的格式化处理也很简单,mysql适用于数据为几十万的项目,但比如涉及到权限比较复杂且数据量比较大比如银行或者是火车等这种大数据时,mysql变显得力不从心,而oracle的作用就可以直观体现,因此mysql在中小型项目中数据处理效果更好。

Mysql是一个多用户、多线程的服务器,采用SQL的数据库,数据库管理系统是基于SQL的客户以及服务器模式的关系,它的优点有强大的功能、操作简单、管理方便、可靠安全、运行较快、多线程、跨平台性、完全网络化、稳定性等,非常适合Web站点或者其他应用软件,在数据库后端的开发。此外,利用许多语言,会员可以编写和访问Mysql数据库的程序。Mysql数据库也是开放源代码的,开发者越来越喜欢使用Mysql关系数据库,应用范围也被推而广之。这是由于速度快和易用性, Web站点或应用软件的数据库后端的开发也都在使用它。

mysql 数据库它有很多的优点,例如它在操作上能够让人通俗易懂、功能强大、信息储存量高等优点。所以被人们广泛应用,对于mysql数据库来说它一般主要是对数据进行编码和查询,而且在很多的设计当中都应用到了该数据库,在此过程当中我们可以对常规的数据进行查询和组合,所以我们在进行使用mysql数据库的时候只要对编写一小段的数据就能实现相应的功能。数据库,就是数据存储的储藏室,只不过数据是存储在计算机上的,而不是现实中的储藏室,数据的存放是按固定格式,而不是无序的,则定义就是 :长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要包括数据表的建立,数据存储、修改和增加数据,为了使数据库系统能够正常运行,相关人员进行的管理工作。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。

3章系统分析与总体设计

3.1系统可行性分析

1、技术可行性:在当前开发框架下,技术得到飞速发展, Java技术更加盛行,通过Java中的后台SSM框架,利用控制层中的restful风格进行URL定义,在mybatis中通过mapper与XML的匹配定义,建立动态机制,通过SQL拼接完成半自动化数据处理。

2、市场可行性:当下网络购物已有超越实体购物的趋势,足不出户在网上购物已成为一种新的消费形式,当前更有直播带货行业盛行,更加证明了网络购物已成为主流销售渠道,通过建立第三方网络购物平台,形成新的B2C消费模式,乘着当前网络购物热潮,可以顺势增加系统推广和数据访问数量,提高流量,在平台上也可以指定一些促销机制,提高网络销售能力。

3、操作可行性:系统开发前期,只需要几台服务器,通过Java技术以及跨平台部署,仅仅需要几名运维人员对流量数据进行监控,对可能存在的待机情况或者是数据爆发情况进行监控,极大减少了人力成本,依靠技术来实现销售量的提升。

3.2系统功需求分析

1.外卖管理功能

管理员端可以对外卖依据种类以及成分和功效等进行新增,可以对外卖进行编辑,对库存进行维护。在管理中可以对外卖的库存或者是外卖的图片进行更换,可以对商品进行下架。

2.外卖活动促销功能

可以依据一些节假日或者是类似双十一等电商的活动对外卖进行促销,可以设置活动机制以及折扣的金额进行优惠设置。可以设置满减的活动,或者是打折优惠,可以针对每个外卖进行活动的绑定,然后根据商品关联活动信息进行活动的优惠。

3.用户注册登录功能

用户进入平台后,若无账号,则可以输入自己的基本信息进行注册,注册校验通过完成后可以进行登录。可以通过手机号或者是常用的邮箱进行中注册。

4.购物车功能

用户可以挑选自己需要的外卖添加到购物车,可以查看自己的购物车清单,可以对购物车信息进行编辑。

3.3系统功能设计

外卖销售系统功能模块主要分为前台用户端和后台管理端,前台和后台主要通过商品信息和订单进行关联。

后台管理员可以在后台管理端将外卖根据品类、用途、功效及成分将商品进行归类,并将外卖的图片和价格上传,将符合规格的商品信息上传后,可以设置促销活动,可以设置满减或者打折等活动机制,然后将活动机制与外卖进行绑定,管理员可以在后台管理端进行用户查询、订单查询,可以上传发货信息。

消费者可以在前台用户端搜索商品信息,可以根据自己需要的产品种类或者功效或者品牌信息进行搜索,可以放大查看商品图片及商品详情,可以对感兴趣的商品进行收藏或者加入购物车,可以添加到购物车下单或者点击商品直接下单,可以对商品进行结算,可以查看发货信息,收货后可以对商品进行评价。

系统功能模块图如图3-2所示:

图3-2系统模块总图

3.4数据库设计

依据前期的功能梳理以及和各个模块之间的业务联系,绘制数据库图,主要是对各个表之间进行关联以及各个图表的属性进行详细划分,具体E-R图如图3-1所示

图3-1系统E-R总图

本系统采用MySQL数据库,通过对前期的数据量分析,以及对数据权限分析,对数据的关联查询和数据的业务存储进行选择,最后选择开源的mysql,此系统共包含7张表。

1.平台会员信息表(users)

表内主要存储外卖销售平台的注册的所有会员信息如表3-1所示。

表3-1会员信息表

属性

数据类型

存储最大

定义主键

备注

qkluserId

int

4

用户主键

qklUsername

varchar

45

用户登录名

qklPassword

varchar

100

密码加密

qklRegtime

Date

注册时间

qklEmail

varchar

80

注册邮箱号

qklephone

varchar

11

注册电话

2.平台外卖商品信息表(salegoods)

存储在平台的外卖的信息,如表3-2所示。

表3-2平台外卖商品表

属性

数据类型

存储最大

定义主键

备注

salegsId

Int

4

自增生成id

salegsName

varchar

100

外卖名称

salegPrice

Int

45

外卖价格

salegNum

Int

4

库存外卖

salegUpTime

Date

上架时间记录

salegtype

Int

4

一级所属

erjitype

Int

5

类型

salegDesc

varchar

50

外卖介绍

salegActid

Int

4

促销活动

salegPhoto

file

120

图片关联

3.后台业务员操作信息表(manager)

用于存储维护此平台数据的业务员如表3-3所示。

表3-3业务员信息表

属性

数据类型

存储最大

定义主键

备注

yewuId

Int

6

主键

业务员编号id

yewusuer

varchar

20

业务员登录名

yewupwd

varchar

40

登录密码

4.促销季打折活动信息表(active)

包含一些节假日的优惠活动存储信息,包含一些折扣和满减的数据等如表3-4所示。

表3-4促销折扣满减信息表

属性

数据类型

存储最大

定义主键

备注

cuxiaoId

Int

8

主键

促销id

cuxiaoname

varchar

90

活动力度名称

cuxiaodes

varchar

80

优惠介绍

discount

double

9

优惠满减数字

cuxiaofullPrice

Int

4

总消费够金额

cuxiaoreducePrce

Int

4

扣除打折金额

cuxiaofullNum

Int

6

优惠数量

cuxiaoreduceNum

Int

6

最大折扣数量

5.商品添加用户购物车(buycart)

包含用户添加到购物车存储的一些待购物信息如表3-5所示。

表3-5用户待下单购物车表

属性

数据类型

存储最大

定义主键

备注

goumairenid

Int

6

主键

所属编号

salegsid

Int

5

下单外卖

tianjiaDate

Date

购物车日期

salegNum

Int

4

下单数量

6.会员购买外卖下单表(orders)

存储会员购买外卖后的下单信息如表3-6所示。

表3-6会员下单信息表

属性

数据类型

存储最大

定义主键

备注

goumaiid

int

6

主键

生产编号

gouwucheid

Int

4

所属购物车

Salegsid

Int

7

    销售外卖

gouNum

Int

4

下单数量

7.用户购买外卖后评价表(pjcomment)

存储用户在购买和下单后的一些消费体验留言信息如表3-7所示。

表3-7评价表

属性

数据类型

存储最大

定义主键

备注

tiayanid

int

4

主键

生成编号

huiyuanid

Int

6

当前评价人

salegid

Int

4

所属商品

dascore

Int

3

用户评分

pjneirong

Varchar

45

说明评价

pingjiatime

Date

记录时间

4章系统实现

4.1登录注册管理

系统在进入后可以通过浏览器可以进行访问可以通过对此平台进行注册,通过add方法对用户进行注册新增,通过insert到数据库用户表,可以通过type对用户进行分类,

图4-1 用户注册界面

4.2菜品管理

        在首页中,可以可以对用户的菜谱进行展示,可以通过调用菜谱select  *  from  goods进行展示,可以通过c标签对展示的菜谱进行循环,通过foreach进行循环的展示信息,

图4-3 商品展示界面

图4-4 商品详情界面

4.3购物车

     在商品点击添加到购物车时,通过出发添加购物车按钮事件,获取到商品的对于编号以及当前的时间,通过商品编号去后台校验是否库存充足,然后添加到购物车,同时在数据库中对当前用户的添加记录进行存储。如图4-5所示。

图4-5 购物车界面

4.4用户下单

在用户对购物车进行结算时,首先要分为两步,一步为对购物车的数据进行清除,另一部分为对数据进行存储到订单表,同时需要对订单金额以及下单时间和状态等进行存储,通过goodservice以及orderdao等类对数据进行持久化处理。用户下单时首先时要判断用户是否登录,以及用户的角色,用户的账号状态,为若未登录,则首先提醒登录,若账号异常则提示账号错误,在用户登录的情况下,通过session获取到userid,采作为存储用户基本信息编号使用。下单时将用户信息以及购物信息进行存储,如图4-3所示。

图4-6 订单结算

4.5下单评价

用户在收到货品后可以进行订单的完成操作,通过update订单表将状态进行更新,更新完成后,可以自动跳转到评价界面,可以选择评分以及评价描述,然后进行保存,通过dao层进行存储。在评价时对订单状态进行判断,订单状态为1的时候,证明时已收货才可以进行评价,通过调用pingjiacontroller将评价信息以及评分等进行service存储,后期可以根据订单号中的商品编号进行展示。

图4-9 订单评价界面

4.6菜谱管理

用户可以新增菜谱,通过输入菜谱界面信息进行填写,填写时可以对菜谱的类型以及对菜谱信息进行校验通过js对校验信息进行测试,通过add方法提交到后台,然后insert到菜谱表,。

图4-10 商品管理界面

5章系统测试

虽然在完成外卖管理管理系统的过程中遇到了很多困难,但经过不断的努力也都一一克服,完成了系统的各个功能模块,到了需要对系统进行最终测试的这个阶段,这是实验室管理管理系统需要完成的最后一步,同时也是至关重要的一步。在这一阶段,主要是需要测试已设计完成的各个功能模块能否实现,同时也要测试,检验系统中是否还存在一些问题,并且将找到的问题逐一解决。

1.外卖管理测试,如表5-1所示

表5-1外卖管理测试

测试

前置条件

预期输入

测试结果

外卖信息管理的测试

将外卖的品类描述以及金额添加提交

页面显示success,然后数据存储成功

页面显示success,然后数据存储成功

对销售的金额或者是种类未选择

页面显示error然后提升错误原因

页面显示error然后提升错误原因

2.外卖展示测试,通过在首页对外卖根据种类或者是平台测试通过如表5-3所示

表5-3外卖搜索测试

测试

前置条件

预期输入

测试结果

外卖首页展示测试

可以通过点击品牌或者是商品关键字进行搜

不同的品牌以及类型可以不同展示体现

不同的品牌以及类型可以不同展示体现

3.外卖下单测试,用户可以对喜欢的商品下单如表5-4所示

表5-4购买测试

测试

前置条件

预期输入

测试结果

下单测试

添加到购物车直接点击下单

直接进行金额结算跳转

直接进行金额结算跳转,结算成功

输入超大量数字进行购买

在弹出库存不足不能购买

页面提示外卖库存不足

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值