快送在线订餐系统是一款集美食分类、美食信息、订单管理等功能于一体的智能化软件工具。该系统旨在为用户提供便捷、高效的餐饮服务,同时也为餐饮企业提供了一种全新的营销渠道和管理模式。通过使用快送在线订餐系统,用户可以方便地获取到周边餐厅的信息;同时还可以在线下单、支付。快送在线订餐系统是一款有助于推动餐饮业现代化进程的软件工具,具有广泛的应用前景。
通过本系统能够将在线订餐的数据管理工作规范化、简单化,从而提高管理工作的效率。在windows的系统环境下,采用的java编程语言和jsp技术 ,将mysql作为后台数据库来实现快送在线订餐流程中的各种需求。
关键词:在线订餐;java;mysql数据库;
Fast delivery online ordering system is an intelligent software tool integrating food classification, food information, order management and other functions. The system aims to provide users with convenient and efficient catering services, and also provides a brand new marketing channel and management model for catering enterprises. By using Express online ordering system, users can easily get the information of surrounding restaurants; You can also place orders and pay online. Fast delivery online ordering system is a software tool that helps to promote the modernization of catering industry and has a wide application prospect.
Through this system can standardize and simplify the data management of online meal ordering, so as to improve the efficiency of management. In the windows system environment, the java programming language and jsp technology are adopted, and mysql is used as the background database to achieve various needs in the online ordering process.
Key words: online ordering; java; mysql database;
目 录
1.1研究背景与意义
快送在线订餐系统的研究背景与意义紧密联系着现代社会生活方式的变迁、餐饮业的发展需求以及互联网技术的革新。随着都市生活节奏的加快,人们对于餐饮服务的要求越来越高,不仅追求美食的品质和多样性,还希望能够享受到便捷、快速的用餐体验。传统的电话订餐或到店点餐方式已经无法满足现代人的需求,而互联网技术的普及和发展则为餐饮业提供了新的服务模式和经营思路。
快送在线订餐系统正是在这样的背景下应运而生的。该系统通过整合餐厅美食分类、美食信息、订单管理等功能模块,实现了对整个餐饮服务流程的优化和升级。对于用户来说,通过使用快送在线订餐系统可以方便快捷地获取到周边餐厅的信息、浏览菜品、下单支付。
快送在线订餐系统还具有重要的社会意义。为消费者提供了更加便捷、高效的餐饮服务方式,满足了现代人对于生活品质的追求;也为餐饮企业提供了一种全新的营销渠道和管理模式,有助于推动餐饮业的现代化进程和转型升级。
1.2国内外研究现状
在国外,这一领域的研究起步较早,许多发达国家已经建立起完善的在线订餐平台和配送体系,美国的Uber Eats、Grubhub、英国的Just Eat等。这些平台不仅实现了对各类餐饮服务的全覆盖,还通过集成先进的技术手段如大数据分析、人工智能等提升了用户体验和服务效率。国际学术界也在积极探索相关课题,消费者行为分析、配送路径优化等,以推动在线订餐系统的创新发展。
在国内,随着互联网技术的普及和发展以及人们生活方式的变化,快送在线订餐系统也得到了快速发展。国内研究者在借鉴国外经验的基础上,结合中国的国情和餐饮市场的特点,探索出一系列适合国内消费者的在线订餐模式和技术方案。目前市场上已经出现了一些具有影响力的在线订餐平台如美团外卖、饿了么等;也有许多创新型企业和高校在积极开展相关课题研究和技术攻关。
1.3全文组织结构
本文共分为七章,文章结构及各章内容简介如下:
第1章 介绍及探讨论文研究的背景和意义,以及系统国内外的研究现状。最后,给出本文的整体组织结构。
第2章 主要介绍了系统开发时所用到的相关技术,如java、MySQL数据库、ssm框架等。
第3章 主要介绍了系统的可行性分析,以及系统的业务流程和功能性需求分析。
第4章主要介绍系统的总体功能,数据库分析,以及数据库的概念模型设计、逻辑模型设计和数据库表结构设计。
第5章 主要介绍系统功能模块的实现包括截图,以及主要的控制类和数据类。
第6章 主要介绍系统的系统测试原则、测试过程以及测试结果。
第7章 主要介绍快送在线订餐系统的总结和展望。
第2章 技术介绍
在这一章中,主要是罗列出实现系统将采用的技术框架并对其做简单介绍。本论文中的快送在线订餐系统使用当下主流的JAVA开发。系统前端的业务逻辑以及数据展示使用JAVA Web框架技术来实现,系统的底层数据库选用了关系型数据库MySQL。
2.1JAVA语言介绍
Java是一种广泛使用的编程语言,以其简单易学而受到许多初学者的欢迎。它采用了C++的语法风格,同时剔除了一些复杂的概念,如指针和运算符的重载,使得学习曲线较为平缓。作为一种静态面向对象编程语言,Java充分体现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。主要包含以下几大特点:
(1)简单易学:Java语言的语法简洁明了,易于理解和学习。它摒弃了C++中复杂的指针操作和内存管理,使得程序员可以更加专注于解决问题而不是处理底层细节。
(2)跨平台性:Java语言具有“一次编写,到处运行”的特性,即编写的Java程序可以在任何支持Java虚拟机(JVM)的设备上运行,无需针对特定平台进行重新编译。
(3)面向对象:Java是一种纯粹的面向对象编程语言,它支持封装、继承和多态等面向对象的基本特性。这使得Java程序具有良好的可维护性和可扩展性。
(4)强大的生态系统:Java拥有丰富的类库和框架,如Spring、Hibernate、MyBatis等,这些工具可以帮助开发者快速构建高质量的应用程序。此外,Java还拥有活跃的开源社区,为开发者提供了丰富的资源和支持。
(5)安全性:Java语言在设计时就充分考虑了安全性问题,它提供了严格的访问控制机制和异常处理机制,可以有效防止恶意代码对系统造成破坏。同时,Java还支持数字签名和安全套接字层(SSL)等安全技术,确保数据在传输过程中的安全性。
(5)多线程支持:Java语言内置了对多线程的支持,开发者可以轻松地创建和管理多个线程,实现并发编程。这有助于提高程序的执行效率和响应速度。
2.2JSP技术
JSP是一种基于Java Servlet技术的Web开发技术,它允许在HTML页面中嵌入Java代码。JSP技术主要用于动态网页开发,通过在HTML页面中嵌入Java代码,可以实现对用户请求的动态响应和数据展示。JSP技术具有跨平台性、易于维护和扩展等优点,广泛应用于企业级Web应用开发。JSP技术的核心是JSP标签库和Java Servlet编程模型。JSP标签库提供了一组预定义的标签,用于简化HTML页面中的Java代码编写。Java Servlet编程模型则负责处理用户请求和生成响应。在JSP页面中,开发者可以通过编写Java代码或使用JSP标签来实现业务逻辑和数据处理。总之,JSP技术为Web开发提供了一个简单、灵活且高效的解决方案,使得开发者可以轻松地开发出功能强大、交互友好的动态网站。
2.3MySQL数据库简介
MySQL是一个开源的关系型数据库管理系统,它使用结构化查询语言(SQL)作为访问和管理数据的主要方式。MySQL最初由瑞典MySQL AB公司开发,后来被甲骨文公司收购。MySQL广泛应用于各种规模的应用程序,包括Web应用、用户级应用和嵌入式系统等。MySQL具有高性能、稳定性强、易于使用和灵活的特点。它支持多种操作系统,如Windows、Linux和Mac OS等。MySQL提供了丰富的功能,如事务处理、存储过程、触发器、视图等,以满足不同应用场景的需求。MySQL还具有良好的扩展性,可以通过插件或自定义开发来增强其功能。MySQL是一个功能强大、性能优越的数据库管理系统,适用于各种规模的应用程序。通过学习和掌握MySQL,开发者可以更好地构建和维护高质量的数据库应用。
2.4B/S架构
B/S架构:B/S架构(Browser/Server,浏览器/服务器)是一种网络应用程序架构模式,它将客户端与服务器端进行了分离。在这种架构中,用户通过浏览器访问服务器上的应用程序,而服务器负责处理用户的请求并返回相应的数据。这种架构使得客户端无需安装专门的软件,只需一个浏览器即可访问应用程序,降低了系统的维护成本和升级难度。
B/S架构的优点包括:
(1)跨平台性:B/S架构具有良好的跨平台性,因为应用程序运行在服务器端,用户通过浏览器访问。这意味着无论用户使用何种操作系统、设备或浏览器,只要能够支持浏览器访问,就可以使用该应用程序。这大大简化了应用程序的部署和维护工作,提高了系统的可用性。
(2)简化部署和维护:由于B/S架构将应用程序部署在服务器端,用户只需通过浏览器访问,因此部署和维护工作相对简单。当需要对应用程序进行升级或维护时,只需在服务器端进行操作,而不会影响到客户端。B/S架构还支持分布式部署,可以将应用程序部署在不同的服务器上,提高系统的可用性和负载能力。
(3)高度可扩展:B/S架构具有良好的可扩展性,可以根据业务需求轻松地增加或减少服务器资源。当系统负载增加时,可以增加服务器数量来分担负载;当系统负载降低时,可以减少服务器数量以节省资源。B/S架构还支持水平扩展和垂直扩展,可以根据实际需求灵活调整系统性能。
(4)安全性简化开发:B/S架构将安全性问题集中在服务器端进行处理,客户端只需关注与服务器的通信。这使得开发人员可以专注于业务逻辑的开发,而不需要过多关注安全问题。B/S架构还可以利用成熟的安全技术和标准(如SSL/TLS加密、身份验证等)来保护数据的安全传输和存储,降低开发过程中的安全风险。
2.5SSM框架
SSM框架,即Spring、SpringMVC和MyBatis的集成框架,是目前Java开发中广泛使用的一种技术架构。它以Spring为核心,通过IoC和AOP实现依赖注入和面向切面编程,提高了代码的可重用性和可维护性。SpringMVC作为Web层的框架,负责处理用户请求和响应,实现了前后端的数据交互和页面跳转。而MyBatis则作为数据持久层的框架,负责与数据库进行交互,提供了简单易用的SQL映射和事务管理功能。在SSM框架中,Spring负责管理整个应用程序的生命周期,包括对象的创建、销毁和依赖关系的管理。通过配置文件或注解的方式,可以很方便地完成对象的注入和属性的赋值。SpringMVC则负责接收用户的请求,解析请求参数,调用业务逻辑层的方法,并将结果返回给前端页面。它采用了MVC设计模式,将业务逻辑、数据访问和用户界面分离开来,使得代码结构清晰,易于维护。MyBatis作为数据持久层的框架,通过XML或注解的方式,将SQL语句与Java对象进行映射,实现了数据的增删改查操作。它还提供了一级缓存和二级缓存机制,提高了查询效率。MyBatis还支持事务管理,可以通过配置来实现事务的提交和回滚。
SSM框架是一种功能强大、易于使用的Java开发技术架构。它通过整合Spring、SpringMVC和MyBatis三个框架的优势,提供了一套完整的解决方案,帮助开发者快速构建稳定、高效的应用程序。
2.6本章小结
在本章中,详细介绍了本论文中实现的快送在线订餐系统所采用的技术,描述了对mysql数据库,java语言和jsp技术的介绍。对上述技术的研究和应用,可以为程序后续的顺利开发提供帮助,在简化程序开发的同时提高开发效率和质量。
第3章 系统需求分析
3.1系统可行性分析
1.技术可行性
本平台设计采用Java语言和jsp技术,使用到大学中熟练掌握的HTML和CSS技术。数据库则使用简单易操作的MySQL作为后台数据库,使用Mybitis技术完成前台与后端数据库的连接。服务器端则采用Oracle提供的开源服务器Tomcat。因为大学课程中有关以上的软件使用和开发语言课程都学习完毕,再应用文献中的相关研究,个人有能力完成本平台的开发。故在技术上是可行的。
2.经济可行性
系统采用的是java技术来实现相应的功能的开发,综合就是一个比较基础的系统开发设计,所以所用到的有开源的开发环境所构成。而且可以利用现有的设备,不用进行另外的硬件设备购买。
用户通过使用快送在线订餐系统,很大程度减小了人员成本,极大提高了管理的效率。目前得由人员管理的方式存在很多不足,首先是人工成本大,并且工作效率比较低,然后是存在着很多现金流失的问题。结合快送在线订餐系统的特点,还有一些记录和统计,快送在线订餐系统杜绝了以上的问题,提高了快送在线订餐的安全性。
经济可行性是主要计算项目的开发成本,还有项目成功后可能带来的有效收益。很多的项目只有开发成本能控制在企业有可能接受的范围内的情况下,这样的项目才会被批准开发。然而本次系统的开发在上述所有的问题的情况下,是可以完成相关的系统设计。
3.操作可行性
本平台开发综合考虑了用户体验、活动工作流程及用户计算机操作水平等方面,尽可能提供更具人性化以及更直观简单的界面来满足用户的需求,并且提供详细的用户操作手册,遇到问题可进行相关操作的查询。
3.2系统用例分析
在设计系统的过程中,用例图是系统设计过程中必不可少的模型,用例图可以更为细致的,结合系统中人员的有关分配,能够从细节上描绘出系统中有关功能所完成的具体事件,确切的反映出某个操作以及它们相互之间的内部联系。
其中参与者就是和系统能够发生交互的外在实体,一般可以指系统的某个用户。一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。
系统用例图如下所示:
(1)管理员可以对首页、个人中心、用户管理、美食分类管理、美食信息管理、系统管理、订单管理等进行基本的信息管理。其用例分析如图3-1所示。
图3-1管理员用例图
(2)用户可以对我的订单、我的地址、我的收藏等进行操作,用户用例分析如图3-2所示。
图3-2用户用例图
3.3系统流程分析
流程图就是用它已经特定的图形符号以及相应的线条,用来展现出系统在执行中的整个的过程。由于这种图形能够很方便的描绘系统的一系列流程,所以它的所有的图形符号是比较关键的,基本都是一个图形符号就能表示某个过程的一个单独的步骤。流程图不只是提供出比较完整、全面的执行过程,而且在整个团队的协作设计过程中,还可以发现其中有可能存在的缺陷以及不足,便于在后续的过程中能够及时的纠正和完善系统。
通过流程图可以对系统的需求和相关过程进行分析,能够详细的细分到每个部分的设计。对于设计者来说在开发过程中能够使用流程图作为基础,可以快速提高自身的逻辑思想,并且还能在后续的操作中能够有章可循,在系统的设计中最重要的就是程序的设计,然后才是程序的具体编写,流程图便是在设计过程中重要的工具,以下就是部分流程图设计。
注册模块流程图如图3-3所示。
个人中心管理流程如图3-4所示:
图3-4个人中心管理流程
系统操作流程如图3-5所示:
图3-5系统操作流程图
4.1系统功能设计
根据前期调研和分析,本系统分为管理员模块和用户模块。管理员具有对用户信息的增加、更改、查询、删除等功能。系统功能结构图如图4-1所示:
图4-1 系统功能结构图
4.2系统数据库分析
在系统设计之初,首先要以客户需求、客户的业务领域和客户的工作情况为出发点来设计系统,要充分了到以上三点,在满足客户一切需求的基础上进行系统设计,继而实现数据库的设计。
经过分析和总结,首先定义客户群体;接下来明确客户群体要用该系统做什么工作。
在明确了客户群体以及工作内容后,本系统可以设计系统数据库,按照传统数据库设计方式,分为三步走:概念模型→逻辑模型→物理模型。
系统需要建立的主要数据表。
系统主要包括的功能:首页、个人中心、用户管理、美食分类管理、美食信息管理、系统管理、订单管理等。
4.3数据库概念模型设计
概念模型是通过E-R图来实现的,根据以上数据表和功能可以知道系统有哪些实体,实体之间的关系是怎样的。
数据库的概念模型即系统的E-R实体—关系模型。根据对具体的功能需求进行分析,从而得到E-R实体-关系模型,本系统将“收藏、美食资讯、美食信息评论、购物车、用户、地址”等作为实体,它们的局部E-R图,如图4-2所示:
图4-2局部E-R图
4.4数据库表的设计
在系统开发中,数据库的功能是用于存储和处理数据,设计数据库模型时必须考虑模型功能的长期稳定性,尽量做到“以不变应万变”,即当用户的需求发生改变时,即使数据库设计总框架不更改,也可以适应用户的功能需求。
根据调研,分析系统需求,设计若干数据表用于存储系统的基本信息。本系统数据表如下表所示。
表4-1:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-2:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-3:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-4:订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
orderid | varchar | 200 | 订单编号 | ||
tablename | varchar | 200 | 商品表名 | meishixinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 商品图片 | ||
buynumber | int | 购买数量 | |||
price | double | 价格 | 0 | ||
total | double | 总价格 | 0 | ||
type | int | 支付类型 | 1 | ||
status | varchar | 200 | 状态 | ||
address | varchar | 200 | 地址 | ||
tel | varchar | 200 | 电话 | ||
consignee | varchar | 200 | 收货人 | ||
logistics | longtext | 4294967295 | 物流 | ||
remark | varchar | 200 | 备注 | ||
goodtype | varchar | 200 | 商品类型 |
表4-5:美食资讯
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-6:美食信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinbianhao | varchar | 200 | 商品编号 | ||
mingcheng | varchar | 200 | 名称 | ||
tupian | longtext | 4294967295 | 图片 | ||
meishifenlei | varchar | 200 | 美食分类 | ||
faburiqi | date | 发布日期 | |||
onelimittimes | int | 单限 | |||
alllimittimes | int | 库存 | |||
jianjie | longtext | 4294967295 | 简介 | ||
xiangqing | longtext | 4294967295 | 详情 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
price | double | 价格 |
表4-7:美食分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
meishifenlei | varchar | 200 | 美食分类 |
表4-8:美食信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-9:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表4-10:购物车表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tablename | varchar | 200 | 商品表名 | meishixinxi | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 图片 | ||
buynumber | int | 购买数量 | |||
price | double | 单价 | |||
goodtype | varchar | 200 | 商品类型 |
表4-11:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
xingbie | varchar | 200 | 性别 | ||
nianling | int | 年龄 | |||
shouji | varchar | 200 | 手机 | ||
dizhi | varchar | 200 | 地址 | ||
money | double | 余额 | 0 |
表4-12:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
在上一章中,已经本论文中的快送在线订餐系统进行了全面的设计。接下来第五章对本快送在线订餐系统的实现过程进行说明,包括对该快送在线订餐系统所需的开发环境、运行环境的说明以及对上一章中提到的各种内容的实现。
5.1前台功能实现
5.1.1系统首页页面
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在jsp前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:
图5-2系统注册页面
美食资讯:在美食资讯页面的输入栏中输入标题进行搜索,可以查看到美食资讯详细信息,并进行收藏操作;美食资讯页面如图5-3所示:
图5-3美食资讯详细页面
购物车模块在jsp前端允许用户选择并添加商品到他们的购物车。这些信息通过HTTP请求发送到Java后端,后端处理这些请求并在MySQL数据库中更新用户的购物车内容。用户可以删除商品。最后,在结账时,用户提交订单,后端验证支付信息并处理订单,同时更新数据库中的库存状态。这个过程实现了一个从选择商品到完成购买的完整交易流程。 购物车页面如图5-4所示:
图5-4购物车详细页面
5.1.2个人中心
个人中心:在个人中心页面可以对我的订单、我的地址、我的收藏进行详细操作;如图5-5所示:
图5-5个人中心界面
5.2管理员模块实现
在登录流程中,用户首先在jsp前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-6所示。
图5-6管理员登录界面
管理员进入主页面,主要功能包括对首页、个人中心、用户管理、美食分类管理、美食信息管理、系统管理、订单管理等进行操作。管理员主页面如图5-7所示:
图5-7 管理员主界面
用户管理功能在视图层(view层)进行交互,比如点击“查询、添加或批量删除”按钮或填写用户管理信息表单。这些用户管理信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户管理功能可以看到最新的信息或相应的操作反馈。如图5-8所示:
图5-8用户管理界面
美食分类管理功能在视图层(view层)进行交互,比如点击“查询、添加或批量删除”按钮或填写美食分类管理信息表单。这些美食分类管理信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如修改或删除美食分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便美食分类管理功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9美食分类管理界面
美食信息管理功能在视图层(view层)进行交互,比如点击“查询、添加或批量删除”按钮或填写美食信息表单。这些美食信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除美食信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便美食信息管理功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10美食信息管理界面
5.3本章小结
在本章中对系统的开发和应用环境进行说明,这些内容为下一章测试时的环境搭建提供依据。本章还通过文字说明和截图的方式对系统应用的界面做了简要介绍。
6.1测试目的
软件测试就是要用更高的效率寻找出软件中存在的各种错误和缺陷。软件测试对于不同的操作者,存在着不同的意义。软件开发者则希望通过软件测试来表明该软件产品能够满足用户需求且不存在错误和缺陷,以此来使用户购买和使用该软件。
6.2测试过程
6.2.1功能测试
功能测试指的是系统能否按照设计的要求完成相应的功能。第一,测试系统的菜单中是否拥有用户所应该具有的功能菜单,而且是否能够相应的连接到正确的页面。第二,对功能界面的操作正确性进行相关测试。功能测试要进行集中的测试,即对系统进行功能的连接测试,例如登录测试、页面操作测试等一些相关的其他测试。本次计划使用黑盒测试法对快送在线订餐系统进行系统功能测试。系统各功能测试如下表所示。
1.系统登录功能测试
表6-1 系统登录注册功能测试
测试内容 | 测试操作 | 系统响应 | 测试结果 |
管理员登录 | 输入正确的账号密码后,点击登录 | 登录成功,显示后台界面 | 管理员登录通过测试 |
用户注册 | 用户输入相关合法信息后提交注册 | 注册成功,跳转到用户登录页面 | 用户注册功能通过测试 |
用户登录 | 输入账号和注册密码,点击登录 | 登录成功,显示首页 | 用户登录通过测试 |
2.管理员管理功能测试
表6-2 管理员管理功能测试
测试内容 | 测试操作 | 系统响应 | 测试结果 |
管理用户 | 查询修改用户信息 | 系统成功查询出信息并修改成功 | 系统通过用户管理功能测试 |
管理甜品类型信息 | 新增订餐类型信息 | 系统成功新增订餐类型信息,并删除 | 系统通过订餐类型信息管理功能测试 |
6.2.2可用性测试
可用性测试则是针对系统的可操作性、可理解性、可应用性等方面内容进行检测。具体测试方面如表6-3所示。
表6-3系统可用性测试
测试项 | 测试人员的评价 |
窗口移动、大小改变、关闭等操作是否正常 | 是 |
操作模块是否友好 | 是 |
模块、提示内容等文字描述是否正确 | 是 |
模块布局是否协调、合理 | 是 |
模块的状态是否正确(对选中项能否发生对应切换) | 是 |
鼠标、键盘操作是否支持 | 是 |
所需数据项是否正确显示 | 是 |
操作流程是否合理 | 是 |
是否提供帮助信息 | 是 |
6.3测试结果
系统测试结果表明,本文设计开发的快送在线订餐系统在系统功能上已经达到了设计的整体要求。本平台在进行相关操作时界面能够及时的响应,而且在响应和处理的速度上系统性能均处在正常范围内,但在大量数据的处理和操作上有时会出现一定程度的延迟,不过不影响正常操作和使用。
7.1总结
随着时代的发展,快送在线订餐系统行业也爆发出了强大的潜力,人们对于快捷高效的追求愈演愈烈,而传统电话联系的形式显然不再适用快节奏的今天,用户迫切希望出现一个合适的管理平台来帮助管理自己的信息,本文系统性的论述了快送在线订餐系统的研究与设计的过程,其主要的内容如下所示:
1.系统性的分析了快送在线订餐系统的研究背景和国内外的研究现状,简单性的介绍了该系统的理论意义和实践意义;
2.简单介绍了实现的相关技术,包括:mysql,java等技术;
3.从系统的功能性和非功能性方面上面进行了需求的分析,并且对系统的框架进行了阐述;
4.论文较详细的设计了系统的管理员模块和用户模块的各个功能的介绍,主要包含的功能有:首页、个人中心、用户管理、美食分类管理、美食信息管理、系统管理、订单管理等,最后对各个模块的界面进行详细的介绍。
7.2展望
本文描述的快送在线订餐系统,能够满足用户对于高效便捷的需求,可以成为用户的好助手,因此具备非常可观的发展空间。
由于第一进行较全面的系统开发,且期间还有面临考研复试、毕业实习等等因素耽误时间,在本身能力就不够的情况下,系统的基本功能虽然能够正常运行,但是仍然需要进一步更改和优化:
1.发送短信提醒的功能,由于接口和权限的问题,本阶段并没有实现,希望在以后经验积累的情况下,能够完成;
2.系统的安全性改善,保证系统用户的信息的安全;
3.系统的界面设计方面还需要加强。
参考文献
[1]黄丽萍.基于 Java 的 Web 软件程序框架分层设计探讨[J]. 信息记录材料,2022,23(07):74-76.
[2]吴锋珍.基于主从同步的MySQL负载均衡设计与部署[J].湖南邮电职业技术学院学报,2022,21(02):40-43.
[3]周志明. 深入理解 Java 虚拟机: JVM 高级特性与最佳实践[M]. 北京: 机械工业出版社, 2020: 214-233.
[4]郭晶晶,刘学博.基于Java的参数设置管理系统的设计与应用[J].山西电子技术,2023,(04):54-56+60.
[5] 张猛. MySQL融合式空间数据库扩展研究与应用[D].中国地质大学(北京),2021.
[6]李君.巧用Jsp和Java连接Mysql数据库[J].现代商贸工业,2023,36(07):94-95.
[7]邱小群,邓丽艳,陈海潮.基于B/S的信息管理系统设计和实现[J].信息与电脑(理论版),2022,34(20):146-148.
[8]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[9]焦宇,李民,王欢,余开朝.基于MySQL性能调优的推荐系统优化设计[J].软件导刊,2022,21(09):108-112.
[10] Oliver Linton. Editorial for the special issue on financial engineering and risk management for JoE[J]. Journal of Econometrics, 2018, 19(4):2210-2214.
[11] Ignacio Nuez, Javier Osorio. Calculation of tourist sector electricity consumption and its cost in subsidised insular electrical systems: The case of the Canary Islands, Spain[J]. Energy Policy, 2019, 132(11):4058-4061.
致 谢
饱含艰辛与美好的几个月马上就要过去了,快送在线订餐系统的基本功能已经实现。这个系统是我毕业之际最后的成果,也是我大学学习的总结。四年前那个懵懂的孩子早已变得更加的成熟和完善,所以在即将离开校园之际,我想郑重的对所有曾经帮助我找到正确人生道路的人表示最真诚的感谢!
四年寒窗,所收获的不仅仅是渊博的知识,更重要的是在阅读、实践中所培养的思维模式、表达方式和开阔视野。很荣幸这四年来有如此多的良师益友陪伴我成长,无论在学习中、生活上,都给予了我无私的帮助和热心的照顾,让我在一个温馨的校园中度过了四年的大学时光。感恩之情溢于言表,谨以最真诚的话语致以最真挚的感谢。
首先,感谢所有兢兢业业的老师们,本次论文从选题到完成,每一步都是在老师的悉心指导下完成的,倾注了老师超多的心血。在写论文的过程中,遇到了很多的问题,在老师的耐心指导下,问题都得以解决。所以在此,对老师道一声:老师,感谢您!
其次,感谢我的父母对我不求丝毫回报的付出,他们培养和指导我,让我成长为一个越来越努力的人。养育之恩,无以回报!
第三,“立鸿鹄志,做奋斗者”,感谢我的同学们,大家相伴了四年,大家的情谊早已深入骨血,愿大家都能奋斗出一个美好的前途,大家的友谊地久天长。
“人生的道路虽然漫长,但紧要处常常只有几步,特别是当人年轻的时候”这是柳青的一句话,就用这句话作为这篇论文的一个结尾,也是给大学四年画上一个圆满的句号。