php基于PHP的网上订餐系统的设计与开发

摘 要

快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,通过线上管理订餐也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方便,可以快速锁定他们需要的订餐管理方式。基于这种情况,我们需要这样一个界面简单大方、功能齐全的系统来解决用户问题,满足用户需求。

课题主要分为两大模块:即管理员模块和用户模块,主要功能包括个人中心、用户管理、菜品类型管理、菜品信息管理、留言反馈、在线交流、系统管理、订单管理等;

关键词:订餐;简洁方便直观;

Abstract

In the rapidly developing society, people's living standards are improving, and the pace of life is gradually accelerating. In order to save time and improve work efficiency, more and more people choose to use the Internet to do all kinds of business online, through online management ordering has emerged. At the same time, people began to accept convenient lifestyles. Not only do they want the page to be simple, but they also want it to be easy to use, so that they can quickly lock in the way they need to order food. Based on this situation, we need such a simple and elegant interface, functional system to solve user problems, to meet user needs.

The topic is mainly divided into two modules: administrator module and user module, the main functions include personal center, user management, dishes type management, dishes information management, message feedback, online communication, system management, order management, etc.

Key words: ordering food; Simple, convenient and intuitive;

目录

摘 要 1

Abstract 2

目录 1

1绪论 3

1.1 研究背景 3

1.2国内外研究现状 3

1.2.1国内研究现状 3

1.2.2国外研究现状 3

1.3研究的目的和意义 3

1.3.1研究目的 3

1.3.2 研究意义 4

1.4 论文的内容和结构 4

2系统相关技术概述 5

2.1 PHP开发语言 5

2.2 PHP Web开发框架 5

2.3 Mysql数据库 5

2.4 B/S结构 6

3系统需求分析 7

3.1需求分析概述 7

3.2系统可行性分析 7

3.2.1技术可行性 7

3.2.2经济可行性 7

3.2.3运营可行性 7

3.2.4法律可行性 8

3.3系统功能需求分析 8

3.3.1系统功能概述 8

3.3.2前台用户管理模块 8

3.4系统其他需求分析 9

3.4.1性能要求 9

3.4.2安全要求 9

3.4.3作业环境要求 9

3.5系统流程分析 10

3.6本章概述 12

4 系统设计 13

4.1系统结构图 13

4.2数据库设计 13

4.2.1数据库设计原则 13

4.2.2数据库的概念设计 13

4.2.3数据库表设计 15

5系统的实现 21

5.1系统功能实现 21

5.2管理员功能实现 23

6系统测试 28

6.1系统测试的重要性 28

6.2性能测试 28

6.3用户模块测试 28

6.4菜品信息模块测试 29

6.5菜品资讯模块测试 29

6.6本章小结 29

结 论 30

参考文献 31

致 谢 32

1绪论

对于当今社会的人们来说,网上订餐系统是必不可少的,随着经济和技术的不断发展,计算机已经深入到各个领域。网上订餐系统将人们的时间需求与计算机技术结合起来,架起一座桥梁,使订餐管理更加方便快捷。网上订餐系统主要为人们提供系统化、个性化、专业化的服务,以提高人们的愉悦感。

1.1 研究背景

网络发展的越来越迅速,它深刻的影响着每一个人生活的各个方面。每一种新型事务的兴起都是为了使人们的生活更加方便。网上订餐系统是一种低成本、更加高效的电子商务方式,它已慢慢的成为一种全新的管理模式。人们不再满足于在互联网上浏览、发布信息和人与人之间的聊天,而是希望互联网能为人们的生活带来更多便利。伴随着网络的崛起,订餐管理开始变得越来越普遍。

1.2国内外研究现状

1.2.1国内研究现状

在现实生活中,根据传统做法,有些人选择通过电话或短信进行交流。这种方法比较单一,在有些方面效率不高,需要大量人力和财力,已经接近淘汰。另一种方法是使用系统,但有些系统对计算机和用户的要求很高,使用起来非常复杂,无法快速锁定他们满意的信息。用户也将束手无策。目前,市场上很少有类似的系统能够真正满足用户的需求,帮助用户完成各项事务。

1.2.2国外研究现状

在当今社会,由于国外经济的高度发达,对于服务于人们生活的网上订餐系统,国外花费了大量的人力、物力和财力来开发这类系统。所以,国外的这种系统较为发达。另一个重要原因是,国外更开放,更容易接受新事物,对他们享受的服务更挑剔,因此,网上订餐系统一开始可以被更多的人接受,更多的人提出更多的要求,使网上订餐系统更加完善。经过多年的发展,该系统具有很高的艺术性,非常规范和完整。

1.3研究的目的和意义

1.3.1研究目的

互联网发展的越来越快了,在当下社会节点,人们也开始越来越喜爱网上订餐管理。通过互联网可以对图片、描述、动画等方式全面加强产品宣传,极大地满足订餐在现代管理中的要求。如果想实现简单快捷方便的订餐管理,即时生效,无需重新打印。这时仅仅需要在背景中单击鼠标,它将立刻更新点击处一整行的所有内容。网上订餐系统使用了B/S模式,并且不需要安装第三方插件,他们甚至能直接在手机上随机随地实现订餐管理,还能实现更加准确的提供订餐信息。现社会无论各行各业都应尽量摒弃传递错误信息,尤其是口头传输信息。而网络却并不会像电话那样一次只能传输一次,效率低下还间连不断,每当处于高峰时段,用网络来处理信息也就会更加的容易。我们甚至可以通过宣传让更多的潜在用户知道。不需要发送传单来节省宣传和人力成本。订餐管理的方式得到了更好的改进。从而提高了整体业务量。

这样做的目的是节省时间,提高工作效率,享受当今社会最便捷、最周到的服务。

1.3.2 研究意义

系统给线上管理订餐提供了良好的发展空间,随着人们生活质量的提高,人们对服务质量的要求越来越严格。人们希望拥有更好的订餐管理体验。而且,订餐管理服务有着使用常规电话交流比不了的便捷高效简单等优势。网上订餐系统就是为广大劳动人民提供这样一个方便的系统,以满足人们的需求。

1.4 论文的内容和结构

本文一共把内容主要分为六个大部分,采用传统面向对象的方法进行划分并描述和分析每个部分的需求:

第一章是前言部分,该部分主要是拓展了方案的背景,对此系统的意义做了思考,对价值做了评估。

第二章是概述系统的相关技术,详细的介绍了系统所使用的相关语言和开发结构。

第三章是对系统的需求进行分析,对可行性需求,功能需求和流程等做相关分析。

第四章主要对程序的功能做分析,并描述了数据库等相关内容的设计。

第五章主要是将网上订餐系统划分成后台管理界面和前台页面,以及各部分相关功能页面。

第六章主要是进行系统功能测试。

2系统相关技术概述

2.1 PHP开发语言

超文本预处理器,简称PHP;属于一种开放源码的,如果有需要,可以到PHP官方站点进行自由下载,完全免费; 他完全遵守 GNU公共许可(GPL),由于这一许可,诞生了许多流行的软件诸如Linux和Emacs。可以方便的获得源码还不会受到限制,甚至还可以根据自己的需求加入一些特色的源码。PHP在GUN/Linux,微软Windows平台上都可以运行。

应用PHP有许多优点,比如:邮件列表很受青睐,除非正在运行像Yahoo!或Amazon这样的的站点,不易感觉出PHP的速度和其它的技术有明显的不同。但也有许多弊端在于PHP是开放源码,没有商业支持,并且会带来的执行速度慢的缺点(在PHP4出现后已有了明显的改善)。所以选择PHP技术也是明智之举。

2.2 PHP Web开发框架

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将"约束(constraints)"应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。

2.3 Mysql数据库

数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(oracle,db2,sql server,mysql )为代表的关系型数据库和以(nosql、mongedb)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。ims也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:oracle、db2、microsoft sql server、microsoft access、mysql、sqlite。小型关系型数据库:microsoft access,sqlite;中型关系型数据库:sql server,mysql;大型关系型数据库:oracle,db2。

大家常用的其他关系形数据库系统大多是mysql ab公司开发的,其中mysql也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用c和c++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的api函数针对不同的语言(c,c++,java等)来处理不同数据;为了更好地支持多cpu多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;mysql采用双重许可,不管是从mysql ab公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用mysql软件都是被允许的。

mysql作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,my sql具有开放性,多线程支持多种api,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,mysql是一个开放的、快速的、多线程的、多用户的数据库服务器。

选用mysql作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于tcp/ip、odbc和jdbc等途径;但是没有东西是完美无缺的,即便mysql也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用mysql作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,mysql是作为本系统数据库的最优选择。

2.4 B/S结构

浏览器/服务器(B/S)是一种比它的前身更简单的体系结构。它使用Web服务器来完成数据的传输和通信。只要把浏览器作为客户端下载下来,你就可以简化你的工作,所以你不必担心安装软件的问题。

3系统需求分析

3.1需求分析概述

网上订餐系统主要是为了提高用户的工作效率,满足用户对更方便、更快、更好地存储所有信息和数据检索功能的要求。通过对多个相关网站的合理分析,确定了网上订餐系统的各个模块。考虑到用户的可操作性,经过深入调查研究,遵循系统优化和开发的原则。

为了实现当前网络的分析功能和便利性,网上订餐系统使管理员和用户能够在平台上直接查看他们需要的数据信息,不仅可以节省管理时间,还可以改变传统的管理模式。如果用户想要交换信息,他们需要满足双方交换信息的需要。由于时间有限,很难亲自会面和沟通,因此很难满足用户的需求。因此,迫切需要开发一个网上订餐系统,以满足用户的需求,提高用户的使用率。网上订餐系统必须更快、更有效地向用户或潜在用户提供信息。为网上订餐系统建立更好的沟通平台,提高用户信息交流的服务效率。该系统可以满足大多数用户提出的问题,用户可以根据自己的需要获得相应的服务,为网上订餐系统提供了一条快捷的途径。

3.2系统可行性分析

网上订餐系统研发出来可以为广大人民群众解决订餐管理的问题,大大降低人民时间成本,不需要将无谓的时间浪费在道路上,并且订餐管理可以更大化的将信息展露在人们的眼前供其选择。它是一款多用户使用的系统,比较符合业务逻辑,是通过互联网解决复杂和单调问题的典型案例。

3.2.1技术可行性

技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,在 MVC 在这种设计模式下能够真正的实现数据层和表示层的分离,以及前端页面是否可以做到美观实用,是否吸引眼球。网站是否足够稳定,后端管理页面是否足够方便管理,数据库的构建是否可以符合系统要求,是否需要搭建集群等等。

3.2.2经济可行性

通过结合以上对系统的技术和可行性分析来判断对系统经济状况的预算是否大于系统开发资金的比例。因此,通过分析系统的业务模式和开发者模式,不会浪费大量资金,系统的使用价值大于资本价值。

3.2.3运营可行性

可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。PHP 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说PHP的可移植性很强,那么系统的价值越高,可行性也就越强。

3.2.4法律可行性

该网上订餐系统是面向大众开源化和不收取任何费用的。它的主要目的是帮助人们解决订餐问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制和商品价格解释。

3.3系统功能需求分析

在功能方面,不需要用户在指定场所进行订餐管理,要保证可以在很大程度上满足用户解决订餐问题,满足用户需求,改善人们生活。

3.3.1系统功能概述

前台页面:若进入本网站,需要注册自己的账号和密码,输入正确的账号和密码,用户才可以进入网上订餐系统主页面进行操作,进入订餐管理页面后,用户可以在搜索栏中对自己想要的订餐信息进行查看或收藏,在个人中心用户可以修改自己的个人详细信息。

后台管理页面:主要是管理员登录本系统。管理员输入用户名和密码后,校验无误后方可进入后台管理主界面,对用户使用的权限管理,设置用户等管理以及对系统信息进行管理。

3.3.2前台用户管理模块

此模块允许用户登录。用户可以在这里对其信息注册登录。用户管理模块如表3-1所示,用户用例如

表3-1 用户管理模块表

用例条目 描述

用例名称

主要参与者

描述

前置条件

后置条件

触发条件

基本流程

替代流程

结束

待解决问题 后台登录

管理员和用户、

登录后台管理页面才能进行各种功能的操作;

实现用户注册的相关功能

注册并登录后才能进行管理员的管理功能

实现登录功能

(1)登陆用户输入身份信息和密码

(2)系统后台验证登陆用户的身份和密码

(3)返回验证登陆结果

(4)若登录成功,模块管理

(1)用户输入登录名称及密码错误显示登录失败

(2)登录成功并跳转到系统界面

(3)登录失败并跳转到登录界面

登录成功

3.4系统其他需求分析

3.4.1性能要求

在开发了一个功能较为良好系统之后,首要考虑的就是它的性能要求,比如当用户使用它进行点击或提交功能时,它会产生多久的延迟,系统响应速度快不快,如果短时间同时有较多用户访问网站是否会产生系统崩溃,是否采用高并发接口,另外,存储功能进行中的代码量是否满足算法和数据结构,以及是否占用较大内存等:

(1)系统应具备快速的反映时间,对于并发特征得到解决。

(2)系统对用户密码是否进行了加密并进行大量安全处理。

(3)系统代码量是否简洁,不会占用计算机太多内存。

3.4.2安全要求

对于安全要求要进行可靠性分析,可靠性分析有利于可实现安全性、可靠 性设计与系统功能设计在数据源上的统一。就本系统的安全性能而言,数据的账户和密码需要以明文形式显示,并严格加密。更改密码、修改个人数据、添加信息需要相应权限。

3.4.3作业环境要求

(1)系统:Windows系统足够,兼容性强

(2)Web服务器:内置tomcat,无需安装、运行和使用

(3)数据库服务器:MySQL 5.5及以上,图形界面为SQLYG

(4)浏览器:谷歌或Firefox开发者浏览器

(5)JDK1.8及以上,内置插件maven等。

3.5系统流程分析

(1)个人信息流程图

用户在成功进入系统以后,可以获得姓名,性别,年龄等个人信息。获得个人信息的流程见图3-1所示。

图3-1个人信息流程图流程图

用户进行登录操作的流程图如图3-2。

图3-2 登录界面流程图

用户进行注册操作的流程图如图3-3。

图3-3 用户注册流程图

3.6本章概述

本章主要介绍网上订餐系统的使用案例和系统的相关可行性要求。我已经从技术、经济、法律和运营四个方面确认了该系统可以在线运行

4 系统设计

4.1系统结构图

网上订餐系统分为两个部分,即管理员管理和用户管理。该系统是根据用户的实际需求开发的,贴近生活。从管理员处获得的指定账号和密码可用于进入系统和使用相关的系统应用程序。管理员拥有最大的权限,其次是用户。管理员一般负责整个系统的运行维护和总体协调。

系统结构如图4-1所示。

图4-1系统结构图

4.2数据库设计

所有的系统设计但凡有数据都离不开数据库,数据库是所有项目想实现如数据获取,数据传输等功能的基石。只有合理化的数据库设计才能满足商业化的要求,数据库的主键外键连接方式特别的重要,尽量避免多对多的复杂性,字段名合理规范,且通俗易懂等,字段应根据业务进行设定,不允许操作多字段而对系统产生占用多余的内存[12]。

4.2.1数据库设计原则

设计原则自然就是要符合范式的要求,多表之间的关系要合理,理应符合系统的实际情况。

4.2.2数据库的概念设计

概念模型用于对信息世界建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合于数据库管理系统的数据库模型。人们倾向于将现实世界抽象为信息世界,再把信息世界变成机器世界。也就是说,将现实世界的目标抽象成独立于专用计算机软件和专用数据库管理系统的信息结构的数据模型,然后将物理模型转化为适合电子计算机的数据库管理系统。事实上,数据模型是从真实世界到机器世界的中间层。

信息世界的基本要素包括实体和关联。现实存在且彼此可区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。以下是对部分主要的关键实体如下:

(1) 菜品信息实体属性图如下图4-2所示。

图4-2菜品信息实体属性图

(2) 购物车实体属性图如下图4-3所示。

图4-3购物车实体属性图

(3) 菜品资讯实体属性图如下图4-4所示。

图4-4菜品资讯实体属性图

(4) 订单实体属性图如下图4-5所示。

图4-5订单实体属性图

4.2.3数据库表设计

数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。

表4-1:订单

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

orderid varchar 200 订单编号

tablename varchar 200 商品表名 caipinxinxi

userid bigint 用户id

goodid bigint 商品id

goodname varchar 200 商品名称

picture longtext 4294967295 商品图片

buynumber int 购买数量

price double 价格 0

discountprice double 折扣价格 0

total double 总价格 0

discounttotal double 折扣总价格 0

type int 支付类型 1

status varchar 200 状态

address varchar 200 地址

tel varchar 200 电话

consignee varchar 200 收货人

remark varchar 200 备注

logistics longtext 4294967295 物流

goodtype varchar 200 商品类型

表4-2:菜品资讯

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

title varchar 200 标题

introduction longtext 4294967295 简介

picture longtext 4294967295 图片

content longtext 4294967295 内容

表4-3:留言反馈

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

userid bigint 留言人id

username varchar 200 用户名

avatarurl longtext 4294967295 头像

content longtext 4294967295 留言内容

cpicture longtext 4294967295 留言图片

reply longtext 4294967295 回复内容

rpicture longtext 4294967295 回复图片

表4-4:在线交流

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

title varchar 200 帖子标题

content longtext 4294967295 帖子内容

parentid bigint 父节点id

userid bigint 用户id

username varchar 200 用户名

avatarurl longtext 4294967295 头像

isdone varchar 200 状态

表4-5:菜品信息评论表

字段名称 类型 长度 字段说明 主键 默认值

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-6:配置文件

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

name varchar 100 配置参数名称

value varchar 100 配置参数值

表4-7:购物车表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

tablename varchar 200 商品表名 caipinxinxi

userid bigint 用户id

goodid bigint 商品id

goodname varchar 200 商品名称

picture longtext 4294967295 图片

buynumber int 购买数量

price double 单价

discountprice double 会员价

goodtype varchar 200 商品类型

表4-8:菜品信息

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

caipinmingcheng varchar 200 菜品名称

caipinleixing varchar 200 菜品类型

tupian longtext 4294967295 图片

kouwei varchar 200 口味

caipinjieshao longtext 4294967295 菜品介绍

onelimittimes int 单限

alllimittimes int 库存

clicktime datetime 最近点击时间

price double 价格

vipprice double 会员价 -1

表4-9:用户

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

yonghuming varchar 200 用户名

mima varchar 200 密码

xingming varchar 200 姓名

xingbie varchar 200 性别

touxiang longtext 4294967295 头像

youxiang varchar 200 邮箱

shouji varchar 200 手机

money double 余额 0

vip varchar 200 是否会员 否

表4-10:菜品类型

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

caipinleixing varchar 200 菜品类型

表4-11:用户表

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

username varchar 100 用户名

password varchar 100 密码

role varchar 100 角色 管理员

addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-12:地址

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

userid bigint 用户id

address varchar 200 地址

name varchar 200 收货人

phone varchar 200 电话

isdefault varchar 200 是否默认地址[是/否]

表4-13:收藏表

字段名称 类型 长度 字段说明 主键 默认值

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:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1

inteltype varchar 200 推荐类型

remark varchar 200 备注

表4-14:关于我们

字段名称 类型 长度 字段说明 主键 默认值

id bigint 主键 主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP

title varchar 200 标题

subtitle varchar 200 副标题

content longtext 4294967295 内容

picture1 longtext 4294967295 图片1

picture2 longtext 4294967295 图片2

picture3 longtext 4294967295 图片3

5系统的实现

5.1系统功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:

图5-1 系统首页界面

系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:

图5-2系统注册页面

菜品信息:在菜品信息页面的输入栏中输入菜品名称、口味、价格和选择菜品类型进行查询,可以查看到菜品详细信息,并根据需要进行添加到购物车、立即购买、评论或收藏操作;菜品信息页面如图5-3所示:

图5-3菜品信息详细页面

留言板:在留言板页面通过输入留言内容,上传图片并立即提交进行在线留言,还可以对留言内容进行回复操作;留言板页面如图5-4所示:

图5-4留言板详细页面

购物车:在购物车页面可以查看到商品名称、图片、价格、数量、总价等详细信息,并进行点击购买或删除操作;购物车页面如图5-5所示:

图5-5购物车详细页面

个人中心:在个人中心页面可以对个人中心、我的发布、我的订单、我的地址和我的收藏进行详细操作;

我的订单:在我的订单页面可以对未支付、已支付、已发货、已完成、已退款和已取消订单进行详细操作;如图5-6所示:

图5-6我的订单界面

5.2管理员功能实现

管理员登录,在登录页面正确输入用户名和密码后,点击登录进入操作系统进行操作;如图5-7所示。

图5-7 管理员登录界面

管理员进入主页面,主要功能包括对个人中心、用户管理、菜品类型管理、菜品信息管理、留言反馈、在线交流、系统管理、订单管理等进行操作。管理员主页面如图5-8所示:

图5-8管理员主界面

管理员点击用户管理。在用户页面输入用户名和姓名进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-9所示:

图5-9用户管理界面

管理员点击菜品信息管理。在菜品信息页面输入菜品名称、口味、价格和选择菜品类型进行查询、新增或删除菜品信息列表,并根据需要对菜品详情信息进行详情、修改、查看评论或删除操作;如图5-10所示:

图5-10菜品信息管理界面

管理员点击留言反馈。在留言反馈页面输入用户名进行查询或删除留言反馈列表,并根据需要对留言反馈详情信息进行详情、回复或删除操作;如图5-11所示:

图5-11留言反馈管理界面

管理员点击在线交流。在在线交流页面输入帖子标题进行查询或删除在线交流列表,并根据需要对在线交流详情信息进行详情、修改、查看评论或删除操作;如图5-12所示:

图5-12在线交流管理界面

管理员点击系统管理,在菜品资讯页面输入标题进行查询、新增或删除菜品资讯列表,并根据需要对菜品资讯详情信息进行详情、修改或删除操作;还可以对轮播图管理和关于我们进行详细操作;如图5-13所示:

图5-13系统管理界面

管理员点击订单管理。在已支付订单页面输入订单编号和商品名称进行查询或删除已支付订单列表,并根据需要对已支付订单详细信息进行详情、发货或删除操作,还可以对已取消订单、已退款订单、未支付订单、已发货订单和已完成订单进行详细操作。如图5-14所示:

图5-14订单管理界面

6系统测试

在系统开发上市前都需要经过严格的系统测试。主要测试访问请求的延迟时间,对于一些未知和危险的问题,需要严格的测试和解决方案。

6.1系统测试的重要性

对于程序来说,系统测试应该根据程序的指定业务、程序的承载能力、程序代码的效率、数据库服务器的存储和设计进行测试。

6.2性能测试

若同时有大量用户和大量请求进入是看服务器是否响应延迟时间来比较性能的。我们可以从代码,程序逻辑,接口使用,数据库优化等方面逐个做仿真测试。

为了保证测试的有效性和程序的安全性,我们主要从两个方面进行测试:一是系统功能节点测试,二是接口业务逻辑测试。

经过第一和第二两个部分的测试后,我们判定项目没有风险。

6.3用户模块测试

测试编号:a。

目的:测试登录模块,测试系统能否对正确进行登录放行,拦截错误数据进行页面返回。

前提:未登录的用户进行登录,用户名为"aaaa",初始密码为"00000"。

方法:实地测试。

测试用例表,如表6-1所示。

表6-1登录模块测试用例表

6.4菜品信息模块测试

测试编号:2。

目的:单元测试菜品信息,测试菜品信息页面能否正常显示,能否增删改操作。

前提:进入菜品信息管理页面。

方法:实地测试。

测试用例表,

如表6-2所示。

表6-2菜品信息测试用例表

序号 输入 预期结果 实际结果 测试结果

a

b 添加菜品信息A,并填写全部菜品信息

添加菜品信息B,未填写全部菜品信息 提示添加成功

提示添加失败 提示添加成功

提示添加失败 通过

通过

6.5菜品资讯模块测试

测试编号:3。

目的:测试页面功能能否正常运行

前提:能进入后台管理页面。

方法:手动测试。

测试用例表,如表6-3所示。

表6-3菜品资讯模块测试用例表

序号 输入 预期结果 实际结果 测试结果

1

2 填写资讯名称及内容

填写资讯名称及内容 查看是否能上传资讯内容

上传后能否显示在首页 可以上传资讯内容

可以显示在首页 通过

通过

6.6本章小结

本章主要采用黑盒测试对各模块进行了完整的测试,经过分析测试过程和比较测试结果显示,系统各部分功能运行无异常。

结 论

为了保证系统的稳定性,这次采用的是一个比较常用的PHP语言开发。在学期末完成发展计划。本系统分为管理员和用户两部分。这两个部分紧密相连,有着独特的关系。最终成为网上订餐系统的设计与实现。

在做需求分析,代码实现和功能测试的过程中遇到了很多自己解决不了的难题,比如,代码不明白,我查了CSDN,问了辅导老师,比如中英文不懂,我挨个去百度翻译查。这段时光虽然很苦很累,但也是我的精神最富有的一段时光。我真的理解先痛苦后幸福的含义。当我看到代码行和程序的雏形时,前面的痛苦仿佛一扫而光。通过这让我知道,无论发生什么,坚持最重要。有了这些经验,我将来会越来越好,在每一次实践中都会提高自己。

参考文献

[1] 徐明华,邱加永. PHP基础与案例开发详解. 北京:清华大学出版社,2019.

[2] 李振捷,陈雄. PHP网站开发典型模块与实例精讲.北京:电子工业出版社,2020.

[3] 邓子云,燕锋. PHP网络编程从基础到实践(第二版).北京:电子工业出版社,2021.

[4] 张银鹤,刘治国. PHP动态网站开发实践教程. 北京:清华大学出版社,2018.

[5] 陶宏才.数据库原理及设计(第二版).北京:清华大学出版社,2020.

[6] 柯海丰,侯宏仑. PHP+Oracle网络应用系统开发与实例.人民邮电出版社,2021.

[7] Drozdek, Adam.Data Structures and Algorithms in Java,Course Technology,2018.

[8] 史济民,顾春华. 软件工程-原理方法与应用(第二版) .北京:高等教育出版社,2018.

[9] 刁成嘉. 面向对象技术导论-系统分析与设计. 四川:机械工业出版社,2021.

[10] 萨师煊,王珊. 数据库系统概论(第三版). 北京:高等教育出版社,2020.

[11] 赛奎春,白伟明,赵玉君,李南南. PHP信息系统开发实例精选.四川:机械工业出版社,2019.

[12] 周绪,管丽娜. SQL Server2000入门与提高(中文版).北京:清华大学出版社,2019.

[13] 卢翰.PHP项目开发案例全程实录(第2版).北京:清华大学出版社,2021.

[14] 林信良.Servlet&PHP学习笔记. 北京:清华大学出版社,2018.

[15] 郭珍,王国辉. PHP程序设计教程(第2版).北京:人民邮电出版社2019.

[16] Hong Jun Cao;Pei Zhang;Zhi Qiang Zhou. Design and Implementation of Recruitment Information Retrieval System Based on Low-Carbon Online Recruitment. Advanced Materials Research.2021,Vol.403-408:1883-1887.

[17] Jeffrey M Ferranti;William Gilbert;Jonathan McCall;Howard Shang;Tanya Barros;Monica M Horvath. FOCUS on clinical research informatics: The design and implementation of an open-source, data-driven cohort recruitment system: the Duke Integrated Subject Cohort and Enrollment Research Network (DISCERN) . J Am Med Inform Assoc.2020,Vol.19 (Especial 1):e68-e75.

[18] Jun Luo;Wen Xuan Gu. Establishment of Network Platform of Virtuai Teaching Laboratories in Colleges and Universities Based on PHP Technology. Advanced Engineering Forum.2018,Vol.4:189-192.

[19] Jing Ying Zhao;Hai Guo. Development of the PHP Basic Knowledge Learning Software. Advanced Materials Research.2019,Vol.831:481-485.

[20] Zeichick, Alan. J2EE 1.4 brings Web services to EJBs, adds language to PHP. Software Development Times.2020,No.70:6.

致 谢

经过几个月的努力,毕业设计终于完成了,这不仅提高了我的实践能力,也丰富了我的知识领域。在整个毕业设计过程中,他对我们非常友好,关心我们每个学生的选题,帮助我们分析哪些学生适合该学科,分析该学科的难度,并教我们如何处理可能出现的问题;在整个设计过程中,老师耐心地指导我,分析我的问题,帮助我找到解决方案。 同时,在设计过程中,也得到了同学和室友的大力支持。 他们帮助我查找信息并节省了宝贵的时间。

其次,我还要感谢在编程过程中帮助过我的同学们。 正是他们孜孜不倦的回答,才使网上订餐系统的顺利建成。 我还要感谢我的学校为我们提供了一个学习的地方和一个舒适的学习和生活环境。 我要感谢我的导师对我的论文的客观评价。 学校老师不遗余力地给我们上课和指导,让我们更好地掌握知识,提高处理实际问题的能力。 因为老师的建议和指导对我的论文完成起了至关重要的作用。

相关推荐
老秦包你会几秒前
Qt第三课 ----------容器类控件
开发语言·qt
凤枭香3 分钟前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv
ULTRA??7 分钟前
C加加中的结构化绑定(解包,折叠展开)
开发语言·c++
远望清一色23 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself33 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
XiaoLeisj44 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man1 小时前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家1 小时前
go语言中package详解
开发语言·golang·xcode
llllinuuu1 小时前
Go语言结构体、方法与接口
开发语言·后端·golang