基于springboot 大学校园拼够系统设计与实现

摘  要

     大学校园拼购系统是为了方便用户能够在网站上查看校园拼购、公告信息等,于是开发了基于springboot框架设计与实现了一款简洁、轻便的大学校园拼购系统。本系统解决了大学校园拼购管理事务中的主要问题,包括以下多个功能模块:商家、用户、商品分类、校园拼购、订单等管理。

  本系统采用了JAVA语言、springboot框架,采用了B/S设计模式,前端采用Vue技术,页面简洁美观。凭借ORM技术将相关数据映射到数据库中,数据采用MySQL数据库进行存储,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足大学校园拼购管理的相关工作。

关键词:大学校园拼购系统JAVA语言springboot框架;MySQL数据库

Abstract

The college campus shopping system is to facilitate users to view campus shopping and announcement information on the website, so a simple and lightweight college campus shopping system is designed and implemented based on springboot framework. This system solves the main problems in the management of campus shopping, including the following functional modules: business, user, commodity classification, campus shopping, order management.

This system uses JAVA language, springboot framework, B/S design pattern, front-end using Vue technology, the page is simple and beautiful. With ORM technology, the relevant data is mapped to the database, and the data is stored in the MySQL database. The interface operation is easy to get started. The system has good ease of use and security, the system has complete functions, and can meet the related work of college campus purchase management.

Key words: college campus purchase system; JAVA language; springboot framework; MySQL database;

1 绪  论

1.1课题的背景和意义

      1. 课题的背景

随着科学技术的不断发展,计算机现在已经成为了社会的必需品,人们通过因特网可以获得海量的信息,这些信息可以和各行各业进行关联,大学校园拼购系统也不例外[1]

传统线下方式管理的起源可以追溯到20世纪60年代末期。当时的计算机技术已经步入了实用技术阶段,由于各行业的工作大部分为高重复度的手工查找,这些工作耗费了大量人力资源又很容易出现细小的差错。这些问题恰恰可以通过计算机来解决,只是碍于技术条件限制,所以信息管理系统的发展比较迟缓。

直到20世纪90年代末信息管理系统迎来了革命性变革,由于计算机技术的高速发展和数据库技术、客户\服务器技术和因特网也都趋于成熟稳定。这为实现大学校园拼购系统提供了强有力的基础。这次变革使大学校园拼购系统的重心转移到计算机技术的角度上,用关系型数据库处理几乎所有与大学校园拼购系统有关的数据。设计界面化、报表工具生成和信息分析工具的信息共享使得管理者脱离了日常许多繁琐与重复的工作,有更多精力长远规划大学校园拼购系统发展和系统维护[2]

1.1.2开发课题的意义及作用

面对高重复性机械性的工作,工作者不可避免的会出现失误,而改正失误的成本也相当高。特别是近年来,互联网的来临,无论是对人类社会,还是对政治、经济等多方面领域影响深远,也给新时代的信息管理和信息系统带来新的机遇和挑战。网络电脑化越深入,影响越大,社会就越进入互联网时代大学校园拼购系统作为计算机应用,适合做单一重复的操作,对高速发展的技术有着更强的适应性,只需要维护更新得当,大大的降低了人力成本[3]。大学校园拼购系统有以下几个特性:

(1)高自由度:大学校园拼购系统是一种人性化设计的系统,可以根据用户的需要来添加不同功能的组件和界面,让大学校园拼购系统更加的符合操作者的使用习惯,提供更多的便利功能。

(2)高检索率:传统管理模式信息检索也需要系统的支持,不过纸质载体的体积大,占地面积广,复原困难等问题,就算检索到了位置,也会出现找不到资源的情况,大学校园拼购系统可以不受物理空间的限制,能储存的资料也没有空间的限制,即搜即看,大大的提高了资源搜索效率。

(3)针对性该系统是根据设计需求为导向来开发大学校园拼购系统的设计,所以针对性较强

(4)实用性该设计能够满足大学校园拼购系统的实际的功能需求,能够在实际中让用户真正使用到,具有实际的应用价值这将会及广大使用者,更快、更好地满足了他们的需求,为现代信息管理系统的建设提供了软件支持[4]

    1. 论文的结构

本文的主体结构如下:

第一章主要对当下的大学校园拼购系统的背景和开发意义进行了重点论述。

第二章重点介绍本大学校园拼购系统的相关的开发技术,并对软件的部署环境进行必要的说明。

第三章重点对大学校园拼购系统进行需求分析和可行性论述。

第四章主要对大学校园拼购系统各个模块总体的设计以文字加图表的形式进行说明。

第五章详细的对各个模块进行阐述。

第六章对大学校园拼购系统的测试方法进行说明及测试结果的展示[5]

1.3小结

    本章结合了大学校园拼购系统的历史和优势说明了开发大学校园拼购系统的必然性和重要性,结合实际的系统体验来阐述开发大学校园拼购系统的实际意义,粗略的介绍了此次系统的主要开发步骤和论文的安排。


2 相关技术简介及部署环境说明

2.1 Spring Boot框架

Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。

2.2 JAVA语言介绍

Java语言作为现在主流编程语言之一,就是因为它有很多自己的特点和优势。

Java语言具有以下几个特点:

(1)跨平台性

平时所说的一次编译,到处执行,指的就是这个跨平台性。Java的源代码编译后会生成字节码文件,这些文件可以被Java虚拟机执行,得到想要的结果。在设备上安装对应的虚拟机,Java的字节码文件就可以运行。

(2)面向对象

Java是一个面向对象的编程语言。面向对象是指把属性和方法进行封装,通过创建的对象调用里面的方法,实现一些功能。

(3)多线程

Java是支持多线程的,它允许在一个程序中同时开启多个线程,同时处理多个任务,这样可以提高它的效率。

Java语言对于开发工具要求不高,有专业的编程工具Eclipse会更顺利编程,但是,没有专业的编程软件,用记事本也能进行编辑

2.3 Tomcat服务器简介

Tomcat是Apache公司的研发并发布的产品。 Tomcat 是一个小型的轻量级应用服务器, 在中小型系统和并发访问 用户不是很多的场合下被普遍使用。它还具有很强的稳定性。Tomcat是嵌入式的,不需要进行war文件的部署。并且,它也同时简化了Maven的配置。简化了程序员的开发步骤。

2.4 MySQL数据库简介

MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。大学校园拼购系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。

2.5 B/S架构

B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。

B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:

(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。

(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。

2.6小结

本章详细的介绍了开发大学校园拼购系统所需要的技术与工具,工欲善其事必先利其器,对于技术和工具了解的越多越清晰,才会在开发过程中如鱼得水。

3 需求分析

                             

3.1大学校园拼购系统的可行性分析

大学校园拼购在社会中都广泛存在,大学校园拼购系统是本平台不可或缺的一部分,对大学校园拼购系统的可行性分析基于当下的互联网背景,从经济、市场、技术、法律和用户使用上进行了调查,从此验证次系统开发的可行性[6]。下面分别从以下几点进行分析:

  1. 经济可行性分析:由于开发本系统主要是为了测试自身的专业和设计能力,基本考虑经济效益和后来的发展方向,只注重自身水平和设计能力的提高,并且对自身经济的要求也不高,只要有一台普通电脑就可以了,所以不需要考虑经济问题[7]
  2. 市场可行性分析:大学校园拼购系统作为非盈利性的系统,其职能在方便人民群众。图书馆作为承载知识的载体,高校与社会都有不计其数的图书馆,而大学校园拼购系统需要平台的支撑,自然在市场上可行[8]
  3. 技术可行性分析:对系统进行分析,大学校园拼购系统的大部分功能都需要管理员完成,springboot框架只需要添加少量代码就可以很好适配管理员功能。也可以提高HTML文件的复用率,提高效率。在数据库方面,ORM简化了表的创建和使用,采用了Oracle旗下开源的关系型数据管理系统MySQL,多表存储的特点使数据更加规范化,增删改查更容易。综上所述,技术开发上并无太大的难点。
  4. 用户使用可行性分析:鉴于系统的使用用户为高校学生,有统一的学号和一定的知识水平,且系统无需用户有过多的操作,界面清晰简洁,用户使用可行性上无问题[9]
  5. 法律可行性分析:本应用的开发内容均在法律范围内得到支持,并已经通过备案。

3.2大学校园拼购系统的需求分析

需求分析在系统开发中有着十分重要的作用。软件项目凭借软件工程的思想和步骤可以大大的提高开发效率,缩短软件开发周期,保证了软件项目的质量。需求分析作为软件工程方法中的一步是至关重要的。软件需求工程是一门分析并记录软件需求的学科。需求分析简单的来说就是用户需要什么,系统需要什么,对此进行问题的列举,等级的排列,需要缜密的思分析和大量的调研[10]

大学校园拼购系统在国内有很多值得借鉴的例子,功能也都趋于完善,因此此次大学校园拼购系统将轻量化开发,要完成以下功能:

(1)要支持完整的用户注册,登录功能,账号的管理通过管理员来实现。

(2)大学校园拼购系统的首页界面简单明了,功能让用户快速上手,一目了然,不需要教程也能直接使用。

(3)为了用户能够方便修改个人信息,查看校园拼购、公告信息等功能。

(4)管理员通过后台系统来完成对所有信息的编辑,包括添加、删除等操作。

本课题要求实现一套大学校园拼购系统,系统主要包括管理员模块和用户、商家模块功能模块。

(1)管理员用例图如下所示:

         

图3-1管理员用例图

(2)商家用例图如下所示:

                        

 

图3-2商家用例图

3用户用例图如下所示:

                    

 

图3-3用户用例图

3.3系统流程设计

3.3.1 系统开发流程

大学校园拼购系统的设计和开发,首先要对用户的实际使用需求和具体情况进行细致的分析,分析出系统要完成的全部功能,然后再针对整个系统的工作流程和功能进行设计,力求每个模块都能够达到用户的要求,最后通过测试来解决问题,保证系统的稳定和正常的运转,本系统的开发流程如图3-4所示。

3-4系统开发流程图

3.3.2 用户登录流程

登录流程实现了管理员和其他用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-5所示。

3-5登录流程图

3.3.3 系统操作流程

系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。

同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-6所示。

3-6系统操作流程图

3.3.4 添加信息流程

系统的正常运行离不开数据的支撑,因此,在本系统中添加了数据插入功能数据库中数据的缺失,会直接影响到数据的查询结果,查询结果错误又会导致逻辑处理出现偏差,最终导致系统性错误或故障,所以在对系统进行数据添加操作时,必须要对数据进行合法性校验,确定此条数据是否有惟一的主关键字和字段是否允许为空等等,若数据库表中不允许某字段为空,而程序没有进行该字段非空逻辑校验,那么就会出现数据存储失败,可能因此造成严重系统后果。添加信息流程如图3-7所示。

3-7添加信息流程图

3.3.5 修改信息流程

因为使系统的使用者是人,所以难免会有疏忽,从而造成系统输入的信息有误。或者由于其他原因导致数据发生改变,使得必须对系统内的数据进行相应的调整,所以在程序运行中,数据的修改操作是不可缺少的重要环节。

在进行数据更新时,必须要有一个惟一的主关键字,以便数据库能够查询到相应的数据;另外,还必须遵守数据插入过程的操作规范,以确保数据的正确性。修改信息流程图如图3-8所示。

3-8修改信息流程图

3.3.6 删除信息流程

删除操作在系统中并非是必须的,可根据用户及系统的需要来决定是否添加删除功能,删除操作就是使用delete语句将数据库中的某一匹配数据删除,因为此操作会导致用户数据丢失,所以为了避免使用者误按删除键,应在用户点击删除按钮时添加一个提示确认弹窗,当用户确定要删除时,再进行数据库的操作,并且在删除操作完成后要对用户进行反馈。删除信息流程图如图3-9所示。

3-9 删除信息流程图

3.4小结

大学校园拼购系统旨在让用户能够轻松便捷的查询信息,让管理员的工作负担减轻。本章主要对大学校园拼购系统的经济、技术、用户使用、法律、市场可行性进行分析。确认可行后,对大学校园拼购系统进行了需求分析,从用户、商家和管理员角度思考了可能会有的需求,是后续论文和应用开发的基础指导[11]

4 系统总体设计

此次大学校园拼购系统通过springboot框架。springboot适合快速构建Web应用。springboot将B/S设计模式中的视图分成了View模块和Template模块两部分,将动态的逻辑处理交给View处理,页面通过Template来实现。Model和Template由View连在一起,如此划分后,程序中的每一部分只做一件事情,耦合度大大降低,便于开发者管理。为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该大学校园拼购系统的功能结构图如下所示:

4-1 系统总体结构图

4.1  数据库设计原则

数据库设计之后,根据数据库关系,可以更加清晰地了解到数据库结构,每一个数据表之间的关系,再创建数据表。快速更改和查询对应的信息,有了数据库就不用在程序和代码中寻找。

分析大学校园拼购系统的数据结构后,在E-R图中分析管理员登录时的模式,需要输入用户名与密码角色,管理员信息E-R如图4-2所示。

图4-2 管理员信息E-R

用户信息E-R图如图4-3所示。

图4-3用户信息E-R

商家信息E-R图如图4-4所示。

图4-4商家信息E-R

校园拼购E-R图如图4-5所示。

 图4-5校园拼购E-R

大学校园拼购系统总体E-R图如图4-6所示。

 图4-6大学校园拼购系统总体E-R

4.2模型的设计

在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成该系统中存在多个自定义模型,下面依次进行介绍。

4-1用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

touxiang

longtext

4294967295

头像

dianhuahaoma

varchar

200

电话号码

money

double

余额

0

4-2在线客服

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

adminid

bigint

管理员id

ask

longtext

4294967295

提问

reply

longtext

4294967295

回复

isreply

int

是否回复

4-3token表

字段名称

类型

长度

字段说明

主键

默认值

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-4校园拼购

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinbianhao

varchar

200

商品编号

shangpinmingcheng

varchar

200

商品名称

shangpinfenlei

varchar

200

商品分类

tupian

longtext

4294967295

图片

guige

varchar

200

规格

shangpinxiangqing

longtext

4294967295

商品详情

shangjiazhanghao

varchar

200

商家账号

shangjiaxingming

varchar

200

商家姓名

clicktime

datetime

最近点击时间

reversetime

datetime

倒计结束时间

clicknum

int

点击次数

0

discussnum

int

评论数

0

price

double

价格

groupprice

double

团购价

0

grouppeople

int

拼团人数

0

curpeople

int

当前人数

0

storeupnum

int

收藏数

0

4-5购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tablename

varchar

200

商品表名

xiaoyuanpingou

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

longtext

4294967295

图片

buynumber

int

购买数量

price

double

单价

shangjiazhanghao

varchar

200

商户名称

4-6系统简介

字段名称

类型

长度

字段说明

主键

默认值

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

4-7用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

4-8地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

address

varchar

200

地址

name

varchar

200

收货人

phone

varchar

200

电话

isdefault

varchar

200

是否默认地址[是/否]

4-9收藏表

字段名称

类型

长度

字段说明

主键

默认值

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-10关于我们

字段名称

类型

长度

字段说明

主键

默认值

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

4-11商品分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinfenlei

varchar

200

商品分类

4-12商家

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangjiaxingming

varchar

200

商家姓名

shangjiazhanghao

varchar

200

商家账号

mima

varchar

200

密码

xingbie

varchar

200

性别

touxiang

longtext

4294967295

营业执照

dianhuahaoma

varchar

200

电话号码

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

money

double

余额

0

4-13订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

xiaoyuanpingou

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

备注

shangjiazhanghao

varchar

200

商户名称

groupno

varchar

200

团购编号

sfsh

varchar

200

是否审核

shhf

longtext

4294967295

审核回复

role

varchar

200

用户角色

4-14公告信息分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

4-15公告信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

4294967295

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

4-16校园拼购评论表

字段名称

类型

长度

字段说明

主键

默认值

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

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

4.3

本章介绍了大学校园拼购系统各个模块以及之间的相互联系,从宏观角度上介绍了每一个模块的作用,而后通过表格的方式介绍了每一个模型的属性,最后通过多张ER图,说明了实体间的联系。

5 系统详细设计与实现

按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块进行说明如何设计和实现的。

5.1前台用户功能模块

用户打开系统的网址后,首先看到的就是首页界面在这里,用户能够看到大学校园拼购系统导航条显示系统主页、校园拼购、公告信息、购物车、在线客服、个人中心等。系统首页界面如图5-1所示:

图5-1系统首页界面

用户进入前台系统进行相关操作前必须注册登录在注册页面填写用户账号、密码信息前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示。

图5-2 用户注册界面

用户登录用户登录页面通过填写账号、密码完成登录,在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端生成一个令牌(如JWT)并返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图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管理员功能界面图

用户信息功能在视图层(view层)进行交互,比如点击“添加”按钮或填写用户信息表单。这些用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、添加、更新或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户信息功能可以看到最新的信息或相应的操作反馈。在用户信息页面的输入栏中输入用户账号、用户姓名进行查询,可以查看到用户详细信息,并根据需要进行修改或者删除等操作如图5-9所示:

图5-9用户界面

商家信息功能在视图层(view层)进行交互,比如点击“添加”按钮或填写商家信息表单。这些商家信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、添加、更新或删除商家信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便商家信息功能可以看到最新的信息或相应的操作反馈。在商家信息页面的输入栏中输入商家姓名、商家账号、是否通过进行查询,可以查看到商家详细信息,并根据需要进行审核、修改或者删除等操作如图5-10所示:

图5-10商家界面

管理员点击商品分类管理,在商品分类页面商品分类信息进行搜索、新增、或删除商品分类等操作。如图5-11所示。

图5-11商品分类界面

管理员点击校园拼购管理,在校园拼购页面商品编号、商品名称、商品分类、图片、规格、商家账号、商家姓名、点击次数、评论数、价格、团购价信息进行搜索或删除校园拼购等操作。如图5-12所示。

图5-12校园拼购界面

管理员点击系统管理,在系统管理页面,可以对公告信息、公告信息分类、在线客服、轮播图管理的模块进行详细操作。如图5-13所示:

图5-13系统管理界面

5.3后台商家功能模块

商家登录,通过登录页面填写用户名、密码,选择角色进行登录操作,如图5-14所示。

图5-14商家登录界

商家点击后台管理,然后页面跳转到系统后台商家主页面,主要包括对系统首页、校园拼购管理、订单管理、我的信息等功能进行操作。商家主页面如图5-15所示:

图5-15 商家主界面

商家点击订单管理,在订单管理页面,可以对已退款订单、已发货订单、未支付订单、已支付订单、已完成订单、已取消订单的模块进行搜索、修改、发货或删除等操作,如下图5-16所示。

图5-16 订单管理界面

5.4 小结

  本章介绍了大学校园拼购系统的各个模块和实现功能,注册和功能展示,对模块下的关键功能进行了介绍,并通过截图展示了实现效果,每个模块的编写都以用户为中心,方便用户为原则设计的。

6 系统测试

6.1软件测试的定义

  在软件测试的过程之中,为了保证软件测试的各项工作能够安全有序地进行,就要对整个测试过程进行有效的干预或管理[12]

我们要清楚的是,无论从理论上,还是从经验上,我们都无法发现软件系统中的所有错误,一个软件系统必定存在着缺陷,软件测试必然有一定的局限性。

6.2 系统测试的目的

任何人系统开发中也不能保证没有一点错误,在开发的过程中错误是不可避免的,所以在发现错误时要及时改正,不能让错误一直存在,否则会引发系统崩溃等不可小觑的后果,所以才需要系统测试来在一定程度上避免这些问题的发生。在测试中发现错误并及时改正才会让系统长久稳定的运行,虽然这是耗时耗力的,但为了系统能够长期使用,系统测试这一步骤也是十分重要的[13]

为实现系统中各个模块的功能,系统测试是必须的,这样才能判定系统是否能准确的实现预想的功能。在正式使用系统前必要的步骤就是针对系统进行测试,确保系统的准确性,以供使用。

6.3 系统测试方法

在测试中发现问题一定要立马寻找解决办法,不要妄图通过偶然的概率对错误不管不问,只有认真测试解决问题,才能保证大学校园拼购系统的质量,可以极大的缩短开发的时间。

测试时不要一错再错,同样的错误一起解决,这样才能提高系统的稳定性和安全性。

6.4注册、登录模块测试

  1. 注册用户时输入两次不同的密码,如果不通过为测试通过。注册用户时输入不符合规范的姓名,如果出现提示为测试通过。注册用户时输入非纯数字的学号,如果出现提示为测试通过。
  2. 登录用户输入多次不同的用户名、密码,如果不通过为测试通过。登录用户输入的用户名不正确,如果出现提示为测试通过。

6.5小结

本章采用的是动态测试和黑盒测试方法进行测试,查看程序在运行过程中发现可能的错误操作,用测试用例来检测应用的稳定性,安全性。并在测试过程严格按照测试标准进行测试,保证大学校园拼购系统能够安全运行,减少差错[14]
                             
       结 论

本次论文介绍了开发一款基于springboot的大学校园拼购系统的全部过程,该系统运用了java语言进行编写、MySQL数据库存储数据、B/S设计模式、搭建出了一款简洁方便的大学校园拼购系统于是看来我对整个软件的开发过程有了更全面的理解,其中也包括了整个操作过程。我对于系统的前后台如何协调进行深层次的了解。同时,通过使用不同的编程语言,也加深对不同的知识和学习方法的了解。

论文选题到具体每一步功能的实施,我都遇到了一个又一个的难点问题。因为我只是接触到编程的一点皮毛知识没有深入了解过,更没有能力去发展一个大型的系统。开始的时候,我对此一无所知。在意识到自己现有的能力和基础之后,我通过书籍和网络查找相关的信息来补充自己的不足去学习更多的知识有了一个比较完善的理论架构,我就有了一个比较明确的目标,然后我开始寻找大学校园拼购系统相关话题,找出一些基础的架构,并着手进行编写代码。在实际的编程过程中,我花了大量的时间来处理各种不同的逻辑问题。在编写该程序的过程中,我也遇到了很多以前从未遇到的BUG。我用百度,请教老师,和同学商量等方法在网上请教专业人士,让自己可以更好的明白自身问题并解决问题。

参考文献

  1.  王兆媛. 基于springboot框架的大学校园拼购系统的设计与实现[D]. 吉林大学2019.

[2] 刘红梅. 基于 UML 的大学校园拼购建模[J]. 计算机与现代化,2019.

[3] 肖旻, 陈行. 基于java技术编程特点及应用之探讨[J]. 电脑知识与技术, 2019(34):8177-8178.

[4] 郑岚. java访问MySQL数据库[J]. 电脑编程技巧与维护, 2020(6):59-61.

[5] 刘班.基于springboot快速开发Web应用[J].电脑知识与技术,2020,5(07):1616-1618.

[6] 周文豪.数字教学以及RFID在世界企业中的应用状况[J].中国电子商情(RFID技术与应用),2019(03):65-70.

[7] MARTELLI A, RAVENSCROFT A, ASCHER D. java cookbook[M]. CA:O’Reilly Media. Inc, 2019.

[8] 徐鑫. 中小型图书馆网站设计与实现[D].郑州大学,2021.

[9] 马卫.基springboot大学校园拼购系统的设计与实现[J].电脑知识与技术,2020, 08(18):4310-4311.

[10] 曹玉良. 软件开发项目中的需求分析探讨[J]. 科技展望, 2019, 27(3).

[11] 周仁平. 教育技术学术博客研究[J]. 软件导刊(教育技术), 2019(6):88-90.

[12] Li Z. Design and Implementation of the Software Testing Management System Based on springboot[J]. Applied Mechanics & Materials, 2020, 525:707-710.

[13] MOORE D, WILLIAM B R. Professional java frameworks:Web 2.0 programming with springboot and Turbogears[M].USA:Wiley Publishing, Inc. 2019

[14] 于园园. 软件测试技术与测试管理研究[J]. 江苏科技信息, 2020(7):66-68.

[15] 朱晓敏. 软件测试的相关技术应用研究[J].电子测试,2019(1):122-123.

致  谢

在如此特殊时间里,我能顺利将毕业设计和论文完成,这都要归功于xxx老师的无私的帮助,悉心的教导。为我指引方向,解答疑惑,每个问题都能得到专业的解释,让我在解惑的同时又能对语言和框架的理解更加深入。

通过这次毕业设计,我了解了怎样将理论联系到实际,收获到了许多书本上不曾有过的知识,也将知识融入自己的设计中进行了努力,拥有了成就感。

我也发觉了规划计划和查阅资料的重要性,规划计划让你每一步都有明确的目标,按照计划走能少走很多弯路,省去很多不必要的麻烦。Java是一门发展迅速,改动较大的语言,就需要在网络上不断寻找新的文章,合适的版本和技术逐渐完善程序,解决各种各样的小问题。

以上,毕业设计磨练了我的开发技术和理论知识,这为我以后的道路打下了坚实的基础,这段经历也会成为我人生中宝贵的财富。

最后,我要再次感谢xxx老师对我的帮助,和同学们在我设计过程中提出的意见和建议。

下载地址:https://download.csdn.net/download/qq_41221322/89538331

 其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

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

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

相关文章

Golang | Leetcode Golang题解之第229题多数元素II

题目: 题解: func majorityElement(nums []int) (ans []int) {cnt : map[int]int{}for _, v : range nums {cnt[v]}for v, c : range cnt {if c > len(nums)/3 {ans append(ans, v)}}return }

找到完美的横道图工具:2024年选择指南

国内外主流的10款项目进度横道图软件对比:PingCode、Worktile、灵动计划(Wolai)、飞书项目、Tapd、麦客CRM、Asana、Trello、Smartsheet、Basecamp。 在管理项目时,确保所有进度和任务都按计划进行是每个项目经理面临的一大挑战。…

WordPress:无法创建新文章?创建新帖子时候页面空白

wordPress中我们新建文章的时候,会遇到页面空白,这个问题是怎么导致呢?我们可以打开F12开发者模式看下报错信息,这是一个警告信息 Warning: Creating default object from empty value in /pub 到数据库 wp_posts中查看生成了很…

漏洞挖掘 | 记某证书站任意账号接管漏洞

下文中所述漏洞已修复 在前段时间的漏洞挖掘中,上了某证书站,打点的一处逻辑漏洞 访问某一站点,发现了一处登录页 点击登录按钮之后,发现该站点大概率是自写站点,存在逻辑漏洞的可能性大大增大,利用前期信…

CentOS7配置阿里云yum源

前提:确认机器可以连接互联网,且系统已经安装了wget软件 先进入到/etc/yum.repos.d目录下查看是否有原来的yum源配置文件,如果有,就将它们备份一下 用yum repolist命令测试,当前系统已经没有可用yum源 输入命令wget -…

Java二十三种设计模式-建造者模式(4/23)

建造者模式:构建复杂对象的专家 引言 建造者模式(Builder Pattern)是一种创建型设计模式,用于创建一个复杂的对象,同时允许用户只通过指定复杂对象的类型和内容就能构建它们,它将对象的构建和表示分离&am…

【机器学习】12.十大算法之一支持向量机(SVM - Support Vector Machine)算法原理讲解

【机器学习】12.十大算法之一支持向量机(SVM - Support Vector Machine)算法原理讲解 一摘要二个人简介三基本概念四支持向量与超平面4.1 超平面(Hyperplane)4.2 支持向量(Support Vectors)4.3 核技巧&…

【Django+Vue3 线上教育平台项目实战】构建课程详情页与集成视频播放功能

文章目录 前言一、课程列表页面a.后端代码b.前端代码 二、课程详情页面a. 视频播放功能的集成1.获取上传视频的链接地址2.集成在前端页面中1>使用vue-alipayer视频播放组件2>使用video标签 b. 页面主要内容展示1.后端代码1>分析表2>核心逻辑 2.前端代码3.效果图 前…

线程池-拒绝策略

线程池-拒绝策略 RejectedExecutionHandlerAbortPolicyCallerRunsPolicyDiscardPolicyDiscardOldestPolicy自定义拒绝策略 当核心线程已用尽 & 阻塞队列已满 & 超过最大线程数时,再向线程池提交任务,则会触发线程池的拒绝策略。 RejectedExecuti…

Python爬虫与文本到语音转换实战:获取并播报长沙天气

简介💕 在本文中,我们将通过一个简单的Python脚本,演示如何使用网络爬虫技术获取长沙的天气信息,并使用文本到语音技术将天气信息播报出来。我们将使用pyttsx3库进行语音播报,使用requests库来发起网络请求&#xff0…

自动驾驶-2D目标检测

yolo及yolo的变体 anchor boxes (锚框) intersection over union 并集交集 用于计算两个边界框的差异程度 bounding box predictions 边界框预测 non maximum suppression非极大值抑制 为了分离这些边界框并为每个对象获得单个边界框,我们使用IOU。这种获取单…

2024-07-15 Unity插件 Odin Inspector4 —— Collection Attributes

文章目录 1 说明2 集合相关特性2.1 DictionaryDrawerSettings2.2 ListDrawerSettings2.3 TableColumnWidth2.4 TableList2.5 TableMatrix 1 说明 ​ 本章介绍 Odin Inspector 插件中集合(Dictionary、List)相关特性的使用方法。 2 集合相关特性 2.1 D…

2-34 小波神经网络采用传统 BP 算法

小波神经网络采用传统 BP 算法,存在收敛速度慢和易陷入局部极小值两个突出弱点。建立了基于遗传算法的小波神经网络股票预测模型 GA-WNN。该模型结合了遗传算法的全局优化搜索能力以及小波神经网络良好的时频局部特性。运用 MATLAB 对拟合和预测过程进行仿真。结果表…

<数据集>绝缘子缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:2139张 标注数量(xml文件个数):2139 标注数量(txt文件个数):2139 标注类别数:8 标注类别名称:[insulator, broken disc, pollution-flashover, Two glass, Glassdirt…

李笑来思考框架的结晶《思考的真相》(2024 年新书)

点开文章的你肯定读过李笑来的书,比如讲认知的《财富自由之路》、讲管理自己的《把时间当做朋友》、讲财富底层逻辑的《财富的真相》、讲定投的《让时间陪你慢慢变富》等等。 李笑来的书不讲究华丽的文字,在意逻辑、论证的严谨,层层递进&…

数据结构之通过“ 队列 ”实现的“ 栈 ”功能。

🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:数据结构 前言 本节内容是利用“ 队列 ”先进先出的特点 实现 “ 栈 ” 先进后出。 一、题目 1.1 题目描述: 请你仅使用两个队列实现一个后入先出&…

成为CMake砖家(1): 在Windows上查看CMake文档

大家好,我是白鱼。 在使用 CMake 的过程中,想必有不少朋友像我一样, 想在本地查看 CMake 文档。 首先安装 CMake, Installer 版本: 安装后,从开始菜单输入 CMake, 选择结果中的 “CMake Documentation”…

如何在 Shell 脚本中使用函数 ?

函数是一个可重用的代码块。我们经常把重复的代码放入一个函数中,并从不同的地方调用该函数,库是函数的集合。我们可以在库中定义常用的函数,其他脚本可以使用它们而无需复制代码。 Calling function 在 Shell 中,调用函数和调用…

1.33、激活可视化卷积神经网络(matalb)

1、激活可视化卷积神经网络原理及流程 激活可视化(Activation Visualization)指的是通过可视化神经网络中激活函数的输出,来理解神经网络是如何学习并提取特征的过程。在卷积神经网络(CNN)中,我们可以通过…

tomcat的优化、动静分离

tomcat的优化 tomcat自身的优化 tomcat的并发处理能力不强,大项目不适应tomcat做为转发动态的中间件(k8s集群,pytnon rubby),小项目会使用(内部使用的)动静分离 默认配置不适合生产环境&…