点餐管理系统设计与实现(Java+SpringBoot+MySql)

news2024/11/23 13:34:42

          

目录

第1章 绪论

1.1选题动因

1.2目的和意义

1.3论文结构安排

第2章 开发环境与技术

2.1 MySQL数据库

2.2 Tomcat 介绍

2.3 vue技术

2.4 SpringBoot框架

第3章 系统分析

3.1可行性分析

3.1.1操作可行性分析

3.1.2经济可行性分析

3.1.3技术可行性分析

3.2系统流程分析

3.3系统性能分析

第4章 系统设计

4.1界面设计原则

4.2整体结构设计

4.3功能结构设计

4.4数据库设计

4.4.1 数据库物理设计

4.4.2 数据库物理设计

第5章 系统实现

5.1用户信息管理

5.2 商品信息管理

5.3广告信息管理

5.1资讯管理

第6章 系统测试

6.1 系统测试方法

6.2 功能测试

6.3 测试结果分析

结  论

参考文献

致  谢

1 绪论

...

1.3论文结构安排

本文总共分为6个章节,每个章节都对本系统描述了不同的内容。接下来就对本文的研究内容进行阐述。

第1章:这个章节是论文的绪论部分。从选题的背景和意义的角度阐述即将开发的系统。

第2章:这个章节是技术介绍部分。从本系统需要运用的技术知识的角度阐述系统。

第3章:这个章节是系统分析部分。从分析系统可行性,分析系统功能和性能等角度阐述系统。

第4章:这个章节是系统设计部分。从系统功能结构的角度和数据库设计的角度阐述系统。

第5章:这个章节是系统实现部分。从系统功能模块运行效果的角度阐述系统。

第6章:这个章节是系统测试部分。从测试系统功能,系统测试方法的角度阐述系统。


2 开发环境与技术

开发点餐管理系统需要搭建编程的环境,也需要通过调查,对各个相关技术进行分析,选取适合本系统开发的技术与工具。

2.1 MySQL数据库

题目确定了是一个应用程序之后,就开始按部就班的进行设计与分析。本课题是需要数据库作为数据管理工具以及数据载体,从程序功能分析到数据分析,选择合适的关系型数据库是当下所选择的重要环节。关系型数据库可选择余地不多,本身甲骨文公司的两个,微软的两个,IBM的一个,也就是这五个了,功能和差异都不影响数据库的选择,因为这些数据库都能实现应用程序功能所需的,那么只能从其他的方面来综合考虑哪种数据库更合适。作为开发使用的电脑硬件上来讲,还是大一的时候买的,当初并没有太多的钱买好一点的电脑,只是作为学习用的,所以经过这么几年的使用,电脑老化了,性能下降也比较厉害,还有好多需要用的学习资料,本身面临毕业,选择学校机房也不是一个长久的打算,选择一个数据库适合自己的老旧笔记本电脑作为学习开发当前的应用,是最重要的。综合考虑的结果就是选用MySQL数据库作为应用数据库,因为MySQL数据库体积小,占用内存小,不影响电脑上其他用的软件运行,并且不需要因为安装维护MySQL数据库而重装系统,最终选择的数据库就是MySQL数据库。

2.2 Tomcat 介绍

刚开始学习Java语言的时候,是不知道还有Tomcat这些东西的,各种语法各种输出在控制台进行输出结果,当Java网站开发的时候就不可避免的学习到了Tomcat服务器。Tomcat准确的来讲不算是服务器,可以说是vue引擎或者一个容器,这些都是学术上或者原理上都比较贴切的,但是实际工作中Tomcat就是作为一个web服务器来用的,因为可以实现网站的发布和运行。因为工作原理的原因,Tomcat一般作为中小型企业和并发量并不突出的一种轻量级的服务器存在的,比如某些行业的应用系统,本身客户端就不多,需要的连接也不多,一般都用Tomcat的。Tomcat里面可以配置多个网站,配置文件后缀是config的文档,类似于XML的结构,比较清晰明了。每当Java发布新的版本的时候,Tomcat也会为了匹配Java的版本进行升级,目前Tomcat版本已经到版本10了。Tomcat标识是一只有点发黄的小猫咪,当Tomcat配置成功一般测试的时候能看到这个小猫咪就算是成功的,才能进行下一步的配置。Tomcat服务器在Java网站开发中还是挺合适的。

2.3 vue技术

vue技术可以让初学者尽快上手进行编写动态网站,不需要变成高级的Java编程人员才可以书写代码,从学习的效率还有编写的效率上都有很大的提升。让着重于网页开发者与着重于后台逻辑开发进行分离合作开发变成了一种可能,降低了学习成本,不需要考虑程序运行解释编译阶段的话,vue网页本身就可以理解成一个普通的Servlet。vue结构上面,主要分为两个方面,一个是专属的vue引擎,通俗的讲就是可以实现vue编译后运行解释的一个东西,另一个就是web服务器。vue运行编译需要vue引擎和web服务器进行配合以及相互协作,当然他们的分工也是很明确的,这样才可以真正的运行起来。vue容器和引擎有Tomcat,这个Tomcat其实也还有Apache静态解释代码的部分,虽然看起来运行效果差不多,但是其实是两个截然不同的工具,在文件系统里目录也是不一样的,当然如果有特殊需求也是可以进行特殊的配置的,配置上面还是比较灵活的。虽然Tomcat部署了网站之后就可以运行网页让客户访问,但是Tomcat也只是vue引擎而非web服务器。比如JRUN和Resin都算是vue引擎,而web服务器的职责比较单一,就是处理客户端请求还有返回给客户显示请求处理后的数据而已。vue引擎则可以运行纯HTML编写的网站,也可以运行vue编写的动态网站,在效率上也只是比单纯的web服务器而已,但是从纯web服务器无法运行动态网站上来讲,vue引擎在功能上还是强大了很多,提升一点点效率反而算不了什么,对于必须实现的功能这些要素上,选择了vue技术。

2.4 SpringBoot框架

java一直被人诟病的一点就是臃肿、麻烦。当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其原因注意是两点:复杂的配置,项目各种配置其实是开发时的损耗, 因为在思考 Spring 特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用程序逻辑的时间。一个是混乱的依赖管理。项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这难题实在太棘手。并且,依赖管理也是一种损耗,添加依赖不是写应用程序代码。一旦选错了依赖的版本,随之而来的不兼容问题毫无疑问会是生产力杀手。而SpringBoot让这一切成为过去!Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置(提供默认设置,存放默认配置的包就是启动器),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。我们可以使用SpringBoot创建java应用,并使用java –jar 启动它,就能得到一个生产级别的web工程。

3 系统分析

用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料,分析人员可以根据这些信息确定出本系统具备的功能,分析出本系统具备的性能等内容。

3.1可行性分析

尽管系统是根据用户的要求进行制作,但是在确定制作前,有必要分析其可行性。

3.1.1操作可行性分析

...

3.2.1管理员需求分析

管理员后台系统分为若干个功能模块,在管理员登录成功后,才可以进行管理和修改。可以帮助管理员进行快速查询想要查看的信息。主要功能模块如下图所示。

图3.2 管理员系统功能模块用例图

3.2.2商家用例需求分析

系统商家通过系统登录后可以进行自己商品信息多的维护、比如上传商品信息和订单信息处理等,以及查看资讯和维护个人信息等操作。

图3.2 管理员系统功能模块用例图

3.2.3用户用例分析

用户通过系统首页,可以查看商品信息、对喜欢的商品进行收藏、评论以及资讯和购物车下单等操作。

图3.1 用户系统功能模块用例图

3.2系统流程分析

本系统在处理数据时,其内部的操作逻辑也需要使用相应的工具进行展示。

在本系统的数据录入页面,对于操作者提供的每条数据都有相应的检验规则,比如数据信息不能有非法字符,或者本来应该是汉字的数据,不能用字母代替,还有对数据内容的长度等进行规范,这样的可以确保数据准确性的检验规则,在编码时,就提前编写好了。数据添加的流程见下图。如果数据已经保存进入数据库,则说明操作者提供的数据内容和格式都是符合要求的。

图3.1 添加信息流程图

很多时候,面对系统中的大量数据,难免会发现一些错误,因此需要及时纠正错误,本系统也提供数据后期的修改功能,其流程见下图。但是更新的数据也需要通过数据有效性检验。能够最终写入数据库则说明修改的数据是符合要求的。

图3.2 修改信息流程图

面对数据库里面大量数据,在系统的前台,要想快速获取需要的信息,就需要使用查询功能。其流程见下图。该功能需要操作者提前输入关键词,当系统的后台数据库保存了与关键词匹配的数据时,就会及时显示出来,整个过程耗时很短。

图3.3 查询信息流程图

3.3系统性能分析

分析点餐管理系统对于性能的需求主要还是从下面的5个角度来分析,它们分别是系统的实用性,系统的适应性,系统的易操作性,系统的安全性和系统的易维护性。

性能需求一:系统的实用性,本系统主要是让管理人员集中处理相关信息,可以提供方便快捷的信息添加,信息编辑等操作。在提高信息管理人员的工作效率的同时,也可以降低管理成本,并大大减少管理人员日常繁琐的工作量。

性能需求二:系统的适应性,本系统对于运行环境的要求并不高,可以被广泛运用在生活中。因为使用者只要在日常使用的计算机,或者是随身携带的笔记本上搭建运行环境都能运行本系统,另外系统提供的基础功能包括添加,修改等都能随时操作。

性能需求三:系统的易操作性,本系统提供的功能跟同类型系统一样,也具备简单的增删改操作,操作流程的逻辑也符合广大使用者的使用需求,使用者使用本系统管理数据会非常顺手。

性能需求四:系统的安全性,本系统在数据保存与管理上安全系数要达标,在设计与编码阶段,通过对用户进行权限分配,把系统的功能依照不同用户的角色进行分配,在首次进入系统时,通过编写安全验证的代码模块,引导不同用户进入不同的操作界面。还可以对用户基础信息包括登录的账号密码等进行加密保存,可以利用当下常用的技术成熟的MD5加密技术实现。

性能需求五:系统的易维护性,本系统在后期运行中,会根据使用者的操作,产生许多数据信息,为了便于维护,就要求这些数据可以通过工具从数据库中导出来,对于一些阶段性数据,可以进行批量删除,以此达到轻负荷处理数据的目标,让本系统可以变得更加轻盈。

4 系统设计

市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。

4.1界面设计原则

一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。

第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。

第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。

第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。

第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。

作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。

4.2整体结构设计

本课程评分系统利用Spring Boot框架进行搭建,使用Windows+MySQL+IntelliJ IDEA环境开发。MySQL数据库使用其特有的查询方法,使得数据能够访问服务,成为连接前台与后台的桥梁,该平台由公共配置组件、日志组件、业务逻辑组件、JDBC组件构成,通过使用框架内部Tomcat服务器,windows操作系统和相关软件,将前台页面展现在浏览器中[6]。整体软件架构图如下图3-1所示。

图4-2 整体软件架构图

4.3功能结构设计

为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,设计的系统功能结构见下图。

4.4数据库设计

一般来说,对用户进行调查,了解其需求,主要还是完成功能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据进行保存,因此,也可以说数据库就是程序相关数据的集合。为了保证程序的高质量,数据库提供的数据存储服务也需要快速响应,同时数据信息也要安全合法可靠,所以设计一个数据库这样的任务也需要高度重视,并花时间和精力去努力完成。毕竟这影响到后期程序的开发和使用。试想而知,假设设计一个不好的数据库,遇到的问题将会有:第一,面对信息处理,会有着繁琐的业务逻辑,延长事务处理时间。第二:程序编码期间,将会产生更多的代码去完成数据处理的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。

4.4.1 数据库物理设计

...

4.4.2 数据库物理设计

作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。

表4.1购物车表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_id

Integer

所属用户

3

shangpin_id

Integer

商品

4

buy_number

Integer

购买数量

5

create_time

Date

添加时间

6

update_time

Date

更新时间

7

insert_time

Date

创建时间

表4.2字典表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.3论坛表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

forum_name

String

帖子标题

3

yonghu_id

Integer

用户

4

shangjia_id

Integer

店家

5

users_id

Integer

管理员

6

forum_content

String

发布内容

7

super_ids

Integer

父id

8

forum_state_types

Integer

帖子状态

9

insert_time

Date

发帖时间

10

update_time

Date

修改时间

11

create_time

Date

创建时间

表4.4广告表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

shangjia_id

Integer

店家

3

guanggao_name

String

广告标题

4

guanggao_photo

String

广告照片

5

guanggao_types

Integer

广告类型

6

guanggao_clicknum

Integer

广告热度

7

guanggao_content

String

广告详情

8

guanggao_delete

Integer

逻辑删除

9

insert_time

Date

录入时间

10

create_time

Date

创建时间

表4.5资讯表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

news_name

String

资讯标题

3

news_types

Integer

资讯类型

4

news_photo

String

资讯图片

5

insert_time

Date

添加时间

6

news_content

String

资讯详情

7

create_time

Date

创建时间

表4.6店家表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

shangjia_name

String

店家名称

3

shangjia_phone

String

联系方式

4

shangjia_email

String

邮箱

5

shangjia_photo

String

营业执照展示

6

shangjia_types

Integer

店家类型

7

new_money

BigDecimal

现有余额

8

shangjia_content

String

店家介绍

9

shangjia_delete

Integer

逻辑删除

10

create_time

Date

创建时间

表4.7商品表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

shangjia_id

Integer

店家

3

shangpin_name

String

商品名称

4

shangpin_uuid_number

String

商品编号

5

shangpin_photo

String

商品照片

6

shangpin_types

Integer

商品类型

7

shangpin_kucun_number

Integer

商品库存

8

shangpin_old_money

BigDecimal

商品原价

9

shangpin_new_money

BigDecimal

现价

10

shangpin_clicknum

Integer

商品热度

11

zan_number

Integer

12

cai_number

Integer

13

shangpin_content

String

商品介绍

14

shangxia_types

Integer

是否上架

15

shangpin_delete

Integer

逻辑删除

16

insert_time

Date

录入时间

17

create_time

Date

创建时间     homeMain

表4.8商品收藏表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

shangpin_id

Integer

商品

3

yonghu_id

Integer

用户

4

shangpin_collection_types

Integer

类型

5

insert_time

Date

收藏时间

6

create_time

Date

创建时间

表4.9商品评价表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

shangpin_id

Integer

商品

3

yonghu_id

Integer

用户

4

shangpin_commentback_text

String

评价内容

5

insert_time

Date

评价时间

6

reply_text

String

回复内容

7

update_time

Date

回复时间

8

create_time

Date

创建时间

表4.10商品订单表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

shangpin_order_uuid_number

String

订单号

3

shangpin_id

Integer

商品

4

yonghu_id

Integer

用户

5

buy_number

Integer

购买数量

6

shangpin_order_true_price

BigDecimal

实付价格

7

shangpin_order_types

Integer

订单类型

8

shangpin_order_payment_types

Integer

支付类型

9

insert_time

Date

订单创建时间

10

create_time

Date

创建时间

表4.11用户表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_name

String

用户姓名

3

yonghu_phone

String

联系方式

4

yonghu_id_number

String

身份证号

5

yonghu_photo

String

用户头像

6

yonghu_email

String

电子邮箱

7

new_money

BigDecimal

余额

8

create_time

Date

创建时间

表4.12管理员表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

用户名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间

5 系统实现

这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。

5.1 管理员模块的实现

5.1用户信息管理

如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,

还进行了对用户名称的模糊查询的条件

图5.1 用户信息管理页面

关键代码如下:

  /**

     * 后端用户列表

     */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> map,YonghuEntity yonghu,

HttpServletRequest request){

        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();

PageUtils page = yonghuService.queryPage(map, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), map), map));

       //返回分页查询的用户数据给前端

        return R.ok().put("data", page);

    }

5.2商品信息管理

如图5.2显示的就是信息管理页面,此页面提供给管理员的功能有:查看已发布的信息数据,修改商品信息,商品信息作废,即可删除,还进行了对商品信息名称的模糊查询 商品信息信息的类型查询等等一些条件。

图5.2 商品信息管理页面

关键代码如下:

     /**

     * 商品信息列表数据+模糊搜索

     */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,ShangpinxixinEntity Shangpinxinxi,

HttpServletRequest request){

        EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();

//这里可以进行模糊搜索商品信息、进行名称进行模糊搜索

PageUtils page = zuopingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

       //返回分页查询的data商品信息数据给前端展示

        return R.ok().put("data", page);

    }

5.3信息管理

如图5.3显示的就是广告信息管理页面,此页面提供给管理员的功能有:根据广告信息进行条件查询,还可以对广告信息进行新增、修改、查询操作等等。

图5.3 信息管理页面

关键代码如下:

     /**

     * 信息列表数据+模糊搜索

     */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,GuanggaoEntity Guanggao,

HttpServletRequest request){

        EntityWrapper<GuanggaoEntity> ew = new EntityWrapper<GuanggaoEntity>();

//这里可以进行模糊搜索广告信息、进行名称进行模糊搜索

PageUtils page = GuanggaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, Guanggao), params), params));

       //返回分页查询的data广告信息数据给前端展示

        return R.ok().put("data", page);

    }

5.4资讯管理

如图5.4显示的就是资讯管理页面,此页面提供给管理员的功能有:根据资讯进行新增、修改、查询操作等等。

图5.4 资讯管理页面

关键代码如下:

     /**

     * 资讯列表数据+模糊搜索

     */

    @RequestMapping("/page")

    public R page(@RequestParam Map<String, Object> params,CaipinzixunEntity Caipinzixun,

HttpServletRequest request){

        EntityWrapper<CaipinzixunEntity> ew = new EntityWrapper<CaipinzixunEntity>();

//这里可以进行模糊搜索资讯信息、进行名称进行模糊搜索

PageUtils page = CaipinzixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, Caipinzixun), params), params));

       //返回分页查询的data资讯数据给前端展示

        return R.ok().put("data", page);

    }

5.2 用户模块的实现

5.2.1前台用户首页

登录后,用户能够查看信息。页面如图所示:系统软件主页是点餐管理系统取得成功启动时的主页。那样能够看见系统软件前台接待主页的规划和实现。关键是头顶部选用vue外键约束,顶端DIV选用EL关系式渲染系统。{{this.$project.projectName}}、引入router 路由器的router-static

静态资源文件信息规划布局框架的应用,主页将采取 if(this.$storage.get('Token){方式分辨用户是不是登录,登录后用户能够进行一定的点餐管理系统有关作用实际操作。

图5.5 摄影作品收藏界面

5.2.2 商品信息

用户登录后可以查看商品信息。界面如下图所示:

图5.6 信息界面


6 系统测试

尽管系统在编码过程中,程序的编制人员也会对编程的功能模块进行逐个测试,但还是避免不了已经组合完成的系统整体没有错误。很多时候,面对功能繁多,逻辑复杂的系统时,系统的测试就需要不同人来测试,并设计一些故障来检验系统的应对能力,以及发现很多系统内部的潜在问题。并通过寻求解决办法去完善系统,确保系统质量。

6.1 系统测试方法

根据系统的测试流程,划分的系统测试方法有单元测试,集成测试,系统测试,验收测试。接下来就开始描述这些内容。

单元测试:这个测试环节在编码中用得最多,主要是编程人员进行的,通常对编码实现的各个子模块当成一个单元完成测试,主要基于代码的层面去发现问题,所以它也是白盒测试中的一种。

集成测试:这个环节进行的前提是,已经把系统的各个子模块进行了组合,然后把组合的完整系统进行测试,检验组成目标系统的各个子模块是否具备兼容性,还有目标系统是否根据预期目标正常运行。

系统测试:这个环节用到了黑盒测试,主要是检验系统的功能。并确定目标系统的各个功能是否运行正常。

验收测试:这个环节需要用户参与,让用户在系统操作界面上通过对不同数据的输入,检测系统的输出结果,以此检验目标系统与用户需求之间存在的差异程度。存在的差异越小,就代表着越符合用户的期望。

6.2 功能测试

点餐管理系统的目标用户最终面向的是系统的功能,所以检验本系统的功能也是一项重要任务,只有该系统的功能都能保证正常使用,才会吸引更多的用户来使用。

本系统在编码时,提前在登录模块编写了安全验证规则,通过判断访问者提供的数据,引导符合要求的用户进入指定页面。测试表如下。错误的数据输入,在本系统中会得到及时的反馈提示。

表6.1 登录功能测试表

功能

录入的数据

预期结果

实际结果

结论

管理员登录

用户名:空  

 密码:空   

提示请填写用户名

提示请填写用户名

通过测试

管理员登录

用户名:guanliyuan 

密码:空  

提示请填写密码

提示请填写密码

通过测试

管理员登录

用户名:guanliyuan

 密码:gly 

提示用户名密码不匹配

提示用户名密码不匹配

通过测试

管理员登录

用户名:guanliyuan

 密码:guanliyuan

提示登录成功,并跳转到功能操作区

提示登录成功,并跳转到功能操作区

通过测试

......

=======================================================

⭐  项目下载  ⭐

=======================================================

查看关注【个人简介】,
免费 获取 Java、Springboot、数据库项目相关 【 工具软件 】 和  【 项目调试 】 讲解视频

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2246035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

特征交叉-MaskNet文章总结代码实现

MaskNet 这个模型是微博21年提出的&#xff0c;23年twitter(X)开源的推荐系统排序模块使用的backbone结构。 核心思想是认为DNN为主的特征交叉是addictive&#xff0c;交叉效率不高&#xff1b;所以设计了一种multiplicatvie的特征交叉 如何设计muliplicative特征交叉呢&#x…

(7) 探索Python函数的无限可能:从递归到Lambda的奇妙之旅

欢迎进入Python编程的奇幻世界!在这个课程中,我们将一起探索编程的乐趣,通过生动有趣的方式,培养编程的逻辑思维和创造力,该课程适合有一定基础的中学及以上学生及成年人。 以下是我们课程的大纲: 【Python:趣味编程,探索未来】 目录 1. 前言2. 认识我们的“魔法咒语”…

算法日记 32 day 动态规划(完全背包)

同样是背包问题&#xff0c;但01背包和完全背包是两个类型的问题。 完全背包&#xff1a; 完全背包与01背包的区别在于物品的个数是否是无限的。除此之外&#xff0c;在解决01背包的时候dp的背包遍历的顺利是倒序&#xff0c;为的是保证物品只被添加一次&#xff0c;而完全背包…

实用功能,觊觎(Edge)浏览器的内置截(长)图功能

Edge浏览器内置截图功能 近年来&#xff0c;Edge浏览器不断更新和完善&#xff0c;也提供了长截图功能。在Edge中&#xff0c;只需点击右上角的“...”&#xff0c;然后选择“网页捕获”->“捕获整页”&#xff0c;即可实现长截图。这一功能的简单易用&#xff0c;使其成为…

计算机网络:应用层知识点概述及习题

网课资源&#xff1a; 湖科大教书匠 1、概述 习题1 1 在计算机网络体系结构中&#xff0c;应用层的主要功能是 A. 实现进程之间基于网络的通信 B. 通过进程之间的交互来实现特定网络应用 C. 实现分组在多个网络上传输 D. 透明传输比特流 2 以下不属于TCP/IP体系结构应用层范畴…

【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感

本文将介绍如何使用LSTM训练一个能够创作诗歌的模型。为了训练出效果优秀的模型&#xff0c;我整理了来自网络的4万首诗歌数据集。我们的模型可以直接使用预先训练好的参数&#xff0c;这意味着您无需从头开始训练&#xff0c;即可在自己的电脑上体验AI作诗的乐趣。我已经为您准…

鸿蒙网络编程系列50-仓颉版TCP回声服务器示例

1. TCP服务端简介 TCP服务端是基于TCP协议构建的一种网络服务模式&#xff0c;它为HTTP&#xff08;超文本传输协议&#xff09;、SMTP&#xff08;简单邮件传输协议&#xff09;等高层协议的应用程序提供了可靠的底层支持。在TCP服务端中&#xff0c;服务器启动后会监听一个或…

基于 SpringBoot 的作业管理系统【附源码】

基于 SpringBoot 的作业管理系统 效果如下&#xff1a; 系统注册页面 学生管理页面 作业管理页面 作业提交页面 系统管理员主页面 研究背景 随着社会的快速发展&#xff0c;信息技术的广泛应用已经渗透到各个行业。在教育领域&#xff0c;课程作业管理是学校教学活动中的重要…

怎么只提取视频中的声音?从视频中提取纯音频技巧

在数字媒体的广泛应用中&#xff0c;提取视频中的声音已成为一项常见且重要的操作。无论是为了学习、娱乐、创作还是法律用途&#xff0c;提取声音都能为我们带来诸多便利。怎么只提取视频中的声音&#xff1f;本文将详细介绍提取声音的原因、工具、方法以及注意事项。 一、为什…

Java多态的优势和弊端

1. public class text {public static void main(String[] args) {animal dnew dog();d.eat();// dog a (dog) d;//类似强制转换//a.lookhome();/* if(d instanceof dog){dog a(dog)d;a.lookhome();}else if(d instanceof cat){cat c(cat) d;c.work();}else{System.out.print…

FPGA 14 ,硬件开发板分类详解,FPGA开发板与普通开发板烧录的区别

目录 前言 在嵌入式系统开发中&#xff0c;硬件开发板是工程师常用的工具之一。不同类型的开发板有不同的特点和用途&#xff0c;其中最常见的两大类是普通开发板和FPGA开发板。这里分享记录&#xff0c;这两类开发板的分类&#xff0c;并深入探讨它们在烧录过程中的具体区别…

冲破AI 浪潮冲击下的 迷茫与焦虑

在这个科技日新月异的时代&#xff0c;人工智能如汹涌浪潮般席卷而来&#xff0c;不断改变我们的生活。你是否对 AI 充满好奇&#xff0c;却不知它将如何改变你的工作与生活&#xff1f;又是否会在 AI 浪潮的冲击下陷入迷茫与焦虑&#xff1f;《AI 时代&#xff1a;弯道超车新思…

时序论文23|ICML24谷歌开源零样本时序大模型TimesFM

论文标题&#xff1a;A DECODER - ONLY FOUNDATION MODEL FOR TIME - SERIES FORECASTING 论文链接&#xff1a;https://arxiv.org/abs/2310.10688 论文链接&#xff1a;https://github.com/google-research/timesfm 前言 谷歌这篇时间序列大模型很早之前就在关注&#xff…

Redis的基本使用命令(GET,SET,KEYS,EXISTS,DEL,EXPIRE,TTL,TYPE)

目录 SET GET KEYS EXISTS DEL EXPIRE TTL redis中的过期策略是怎么实现的&#xff08;面试&#xff09; 上文介绍reids的安装以及基本概念&#xff0c;本章节主要介绍 Redis的基本使用命令的使用 Redis 是一个基于键值对&#xff08;KEY - VALUE&#xff09;存储的…

大疆上云api开发

目前很多公司希望使用上云api开发自己的无人机平台,但是官网资料不是特别全,下面浅谈一下本人开发过程中遇到的一系列问题。 本人使用机场为大疆机场2&#xff0c;飞机为M3TD&#xff0c;纯内网使用 部署 链接: 上云api代码. 首先从github上面拉去代码 上云api代码github. 后…

实现管易云到金蝶云星空的数据无缝集成

管易云数据集成到金蝶云星空&#xff1a;案例分享 在企业信息化系统中&#xff0c;数据的高效流动和准确对接是业务顺利运行的关键。本文将聚焦于一个具体的系统对接集成案例——通过轻易云数据集成平台实现管易云数据到金蝶云星空的无缝迁移&#xff0c;方案名称为“wk_店铺_…

Ubuntu上安装MySQL并且实现远程登录

目录 下载网络工具 查看网络连接 更新系统软件包&#xff1b; 安装mysql数据库 查看mysql数据库状态 以数字ip形式显示mysql的监听状态。&#xff08;默认监听端口是3306&#xff09; 查看安装mysql数据库时系统创建的目录信息。 根据查询到的系统用户名以及随机密码&a…

卷积神经网络各层介绍

目录 1 卷积层 2 BN层 3 激活层 3.1 ReLU&#xff08;Rectified Linear Unit&#xff09; 3.2 sigmoid 3.3 tanh&#xff08;双曲正切&#xff09; 3.4 Softmax 4 池化层 5 全连接层 6 模型例子 1 卷积层 卷积是使用一个卷积核&#xff08;滤波器&#xff09;对矩阵进…

LVS

一、 lvs简介 LVS:Linux Virtual Server &#xff0c;负载调度器&#xff0c;内核集成&#xff0c;章文嵩&#xff0c;阿里的四层 SLB(Server LoadBalance) 是基 于 LVSkeepalived 实现 LVS 官网 : http://www.linuxvirtualserver.org/ LVS 相关术语 VS: Virtual Serve…

使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变

作者&#xff1a;来自 Elastic Greg Crist Elasticsearch 推出了一项新功能&#xff1a;Elastic AI Assistant for Search。你可以将其视为 Elasticsearch 和 Kibana 开发人员的内置指南&#xff0c;旨在回答问题、引导你了解功能并让你的生活更轻松。在 Microsoft AI Services…