网上斗牛

2016届优秀毕业论文(五)

作者: 时间:2018-09-12 点击数:

在线订餐系统的设计与实现

计算机科学与技术   201210401   安书山

指导老师   陈永(副教授)

 本设计开发使用JAVA语言和JSP技术,采用B/S结构和MVC开发模式将系统进行划分,方便系统的开发、管理和维护。设计利用软件工程方法进行开发,首先对在线订餐系统进行了需求分析和可行性分析,然后根据需求进行了概要设计、详细设计及实现。该系统实现了登录和注册、餐厅和菜品搜索、购物车、订单管理等基本功能外,还实现了在线支付、邮箱验证、以图搜图和餐厅分享等特色功能。设计采用易邮服务器来实现邮箱验证的功能;以图搜图设计时采用一维灰度直方图算法进行处理,实现了订餐时利用相似图片搜索菜品的功能;采用易宝支付的第三方平台来实现在线支付功能;此外通过Mob官网提供的ShareSDK实现分享功能,能够轻松的分享到新浪微博、QQ空间等社交软件上。

关键词: 在线订餐以图搜索分享邮箱验证,在线支付

1 概述

随着电子商务的发展,人们的生活和工作方式受到了改变,需求也在发生着变化,从原来的到店就餐逐渐转变为订餐到户、随时随地的就餐。特别是上班族和广大的高校学生,他们对互联网比较熟悉,很多的信息都是在互联网上获取到,经常在网上进行购物等。而在线订餐平台整体依旧处在起步阶段,它可以给实体餐厅增加一种新式的宣传途径,同时可以获取更大的经济利润。

因此综合用户和店家的需求,本文设计并开发了一个在线订餐系统。该系统中餐厅能够自主管理自己菜品和订单处理;用户能够自主选择餐厅和菜品进行订购。

2  系统设计与实现

2.1  概要设计

系统采用B/S模式分为前段和后台两部分。为了使软件具有结构性,便于开发、管理和维护,采用MVC的设计模式,将不同功能模块独立,在需要修改时只需要修改其中某一模块,而不需要修改其他模块,方便代码的重用。采用的是J2斗牛斗牛的经典三层架构,如图1所示。

1  Web经典三层架构图

根据需求分析确定的系统功能,系统分为用户模块、店家模块和后台管理模块三大子系统户模块包括注册/登录模块、餐厅/菜品搜索模块、餐厅收藏模块、菜品分享模块、购物车模块、订单及支付模块,餐厅/菜品浏览模块;店家模块主要包括店家注册/登录模块、信息管理模块、菜品管理模块(添加菜品,查询菜品,删除菜品)、订单管理模块等;后台管理模块主要是管理用户和店家,包括店家的审核模块、用户和店家的显示模块等。系统的功能架构如图2所示

2  系统功能模块图

2.2  用户模块的功能实现

2.2.1  邮箱验证

在注册的过程中,本系统使用易邮邮箱服务器进行激活邮件的发送,其发送邮件的流程主要有一下三步:

1)首先要创建一个Properties对象,然后将易邮邮箱服务器使用的协议、主机名、是否开启权限设置、是否打印发送信息;

2)然后使用Session对象创建程序到服务器之间的一次会话,使用MImeMessage获取邮件对象,通过邮件对象的setSubjectsetText来设置目标对象和邮件的内容;

3)最后通过邮递员进行邮寄。

用户通过收到激活邮件之后点击激活链接地址就能够进行激活用户。激活邮件内容如图3所示。

3  激活邮件内容

2.2.2  在线支付

易宝支付接口交互的过程是用户通过浏览器form表单提交支付请求时,系统将请求的表单数据提交给服务器。当支付完成后,服务器会以http请求的方式回调,方式有两种,一种是浏览器重定向,是不可靠的方式;另一种是服务器点对点通信的应答机制,是可靠的方式。支付流程如图4所示

4  易宝支付流程图

系统设计时采用易宝支付公司提供的免费测试账户,信息配置放置merchantInfo.properties文件中,然后放在项目的路径下。当用户发出支付请求时系统处理用户提交的支付表单信息,获取支付接入的必要参数信息,商户编号,商户订单号、支付金额、商品名称、送货地址银行支付通道编码等。支付完成后通过回调的方式调用CallBackServlet更改订单状态信息。

2.2.3  以图搜索

系统使用一维灰度直方图的算法进行相似图像的处理,其算法的流程主要包括两部分:

1)直方图计算

首先使用BufferedImage类将图片实例化,然后使用getHeightgetWidth计算出图像的像素,每个颜色的值的范围是0255之间的,划分成16等份,遍历所有像素点的对应直方图索引值,其中索引值计算方式是:

                                                        (2.1)

2)巴氏系数计算

计算公式如下:

                                                            (2.2)

其中 分别代表的是源图像和候选图像直方图数据,对每个相同i位置的数据乘积开平方以后求和得到的结果就是两张图像的相似度(巴氏系数因子值),范围是01之间。

2.2.4  分享

系统采用Mob官网提供的ShareSDK轻松地接入微博、QQ空间和微信等社交软件。系统设计时针对每个餐厅的菜品都设置分享按钮,用户能够将对应餐厅分享到对应的平台上。

2.3  店家模块的功能实现

2.3.1  MD5算法加密

为了保证系统的安全性,用户注册信息进行加密之后再存储到数据库中。系统设计时使用的是MD5加密算法,实现账户信息安全的需求。

2.3.2  菜品图片上传

系统使用ServletFileUpload文件上传核心类对象处理菜品图片的上传。前端页面中我们使用类型为multipart/form-data的表单提交数据信息到后台服务器中,然后对请求进行解析,最后针对解析得到的集合分类处理,文件对象使用IO进行存储处理,普通对象直接封装。

3  系统测试

系统测试是在一个系统或者软件正式投入使用前,对系统的功能和质量进行测试,它是系统开发进行到后期的一个重要的阶段,能够通过测试来提高系统的质量,减少维护的成本等。软件测试的方法主要有白盒测试(结构测试)和黑盒测试(功能测试)等。

3.1  分享功能

测试用例:进入网站的主页,登录用户然后进入“陕西凉皮”餐厅并分享该餐厅。

测试结果:分享内容编辑页面如图5所示。

5  分享内容界面图

分享成功之后,可以在用户相关平台中看到分享的内容,如图6所示。

6  成功分享效果图

3.2  以图搜索功能

测试用例:选择本地的一张图片进行搜索,如图7所示。

7  目标搜索图片

测试结果:成功搜索得到的相关菜品信息如图8所示。

8  登录系统用户账号的合法性校验

4  结论

通过文献检索和自主学习等途径,设计并实现了在线订餐系统。同时重点实现了邮件激活、餐厅分享在线支付以及以图搜索等功能系统经过测试后,具有良好可靠性和稳定性。

参考文献

[1] Y.Daniel Liang.Java语言程序设计基础篇[M].北京:机械工业出版社,2011.

[2] 周磊.网络订餐系统及智能搜索算法应用研究[D].湖南:湖南大学,2013.

[3] 秦晴.网上订餐系统的设计与实现[D].四川:电子科技大学,2014.

[4] ()Adam Freeman.谢廷晟,牛化成,刘美英译.HTML5权威指南[M].北京:人民邮电出版社,2014.

[5] ()Jeremy Keith,()Jeffery Sambells.杨涛等译.JavaScript DOM编程艺术[M].2.北京:人民邮电出版社,2011.

Design and Implementation of Online Reservation System

Computer Science and Technology   201210401  Anshushan

Supervisor   Chenyong(Associate professor)

Abstract: This design in development uses the JAVA language and JSP technology. It well divides the system by using the structure mode of B/S and the development mode of MVC, so its convenient to develop, manage and maintain the system. Software engineering methods have been used to develop in this design. This paper first carried on the demand analysis and the feasibility analysis, and then according to the demand it carried on the outline design, the detailed design and the realization. In addition to the basic functions of login and registration, searching the restaurants and menus, shopping cart and order management have been realized, the system also achieved the special functions of the online payment, mailbox verification, share, searching by image and sharing restaurant.

The system realized the function of mailbox verification by using the Y-Mail server. Searching by image uses the 1-D gray level histogram in this design and it well achieved the function of searching dishes by similar images when users order. This design uses YeePay a third-party platform to achieve online payment. In addition, it realized the share function by using the ShareSDK provided by the Mob website, so that users can easily share to the Sina Micro-Blog, QQ Zone and other social software.

Keywords: Online ReservationSearching by ImageShareMailbox VerificationOnline Payment

Copyright ? 2017   Powered by    兰州交通大学网上斗牛   All Rightseserved.

地址:兰州交通大学电信学院办公楼    邮编:730070