Spring Boot技术:构建高效网上购物平台

第3章 系统分析
3.1 可行性分析
在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。
3.1.1 技术可行性
本基于Spring Boot的网上购物商城系统采用Java和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2 经济可行性
由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。
3.1.3 操作可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。本基于Spring Boot的网上购物商城系统本身具有操作可行性,其界面设计清晰、功能权限分配合理,操作简单,不同用户登录后可对进行相应功能模块的操作,具有极高的操作可行性。
3.1.4 时间可行性
从时间上看,在三个月的时间里学习相关知识,开发本基于Spring Boot的网上购物商城系统,时间上是有点紧,但是不是不可能实现,在做毕业设计的这几个月里,我通过努力使得功能应该基本可以实现。
综上所述,我们进行了四个方面的可行性研究,可以看出,该基于Spring Boot的网上购物商城系统的开发是没有问题的。
3.2 系统功能分析
本基于Spring Boot的网上购物商城系统主要满足三种用户的需求,这三种用户分别为管理员、商家和用户,下面将对这三种用户分别实现的功能进行详细的阐述。
(1)用户:用户在系统前台可查看系统信息,包括首页、商品信息等,注册登录后主要功能模块包括购物车、个人中心、我的地址、我的收藏管理以及订单管理,用例图如图3-1所示。
在这里插入图片描述

图3-1 用户用例图
(2)管理员:管理员登录后可对系统进行全面的管理,主要功能模块包括个人中心、用户管理、商家管理、商品分类管理、商品信息管理、我的收藏管理、系统管理以及订单管理。管理员用例图如图3-2所示。
在这里插入图片描述

图3-2 管理员用例图图
(3)商家:商家注册登录后主要功能模块包括个人中心、商品信息管理、我的收藏管理以及订单管理。商家用例图如图3-3所示。
在这里插入图片描述

图3-3 商家用例图
3.3 系统性能分析
(1)系统的存储性:因为是网上购物商城系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。
(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。
(4)系统稳定性:开发的基于Spring Boot的网上购物商城系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。
3.4 系统流程分析
3.4.1注册流程
未有账号的用户可进行注册操作,在注册时系统会判断用户名是否已存在,已存在的话,提示返回重新填写用户名,用户名不存在,填写其他注册信息,系统判断注册信息是否正确,正确则在数据库中添加用户信息,注册成功。用户注册流程图如图3-4所示。
在这里插入图片描述

图3-4注册流程图
3.4.2登录流程
登录模块主要满足了用户、商家以及管理员的权限登录,用户登录流程图如图3-5所示
在这里插入图片描述

图3-5登录流程图
3.4.3购买流程
用户在购买商品时需要登录系统,只要登录后才可支付购买商品,用户购买商品的流程分析如图3-6所示。
在这里插入图片描述

图3-6 购买流程图

第4章 系统设计
4.1 系统结构设计
系统结构设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统结构。
本基于Spring Boot的网上购物商城系统主要包括用户模块、商家模块和管理员模块,根据第三章中系统功能需求分析,可画出本基于Spring Boot的网上购物商城系统的结构图如图4-1所示:
在这里插入图片描述

图 4-1 系统结构图
4.2系统顺序图
4.2.1登录模块顺序图
用户、商家和管理员均可进行登录操作,登录模块的顺序图如图 4-2 所示。
在这里插入图片描述

图4-2用户登录顺序图
4.2.2添加信息模块顺序图
管理员、商家和用户登录后均可进行添加信息操作,添加信息顺序图如图4-3所示
在这里插入图片描述

图4-3添加信息顺序图
4.3 数据库设计
4.3.1 数据库E-R图设计
E-R图展现了数据的实体结构关系,为系统数据管理奠定了基础,也对数据进行规范化的设置,保证后期的高效性,避免数据出现重复造成冗余使得数据更新出现异常,无法同步数据和插入数据。通过E-R图也可便于对数据的设计和修改,如果一个数据库在被设计时没有相对应的E-R图,则整体数据库就缺少明确的定位和条理性,使得处理数据的效率大大降低,在需要更新或者查找数据时报错的可能性大大提升,对与后期运行调试系统会造成不必要的麻烦。本基于Spring Boot的网上购物商城系统的E-R图如下图所示:
1、商品分类信息实体E-R图如图4-4所示:
在这里插入图片描述

图4-4 商品分类信息实体的E-R图
2、商家信息实体E-R图如图4-5所示:
在这里插入图片描述

图4-5 商家信息实体E-R图
3、订单实体图如图4-6所示。
在这里插入图片描述

图4-6 订单实体E-R图
4、管理员信息实体图如图4-7所示。
在这里插入图片描述

图4-7 管理员信息实体E-R图
5、商品信息实体图如图4-8所示。
在这里插入图片描述

图4-8 商品信息实体E-R图
6、用户信息实体图如图4-9所示。
在这里插入图片描述

图4-9用户信息实体E-R图
4.3.2数据库表设计
本基于Spring Boot的网上购物商城系统采用了MYSQL数据库进行系统数据的储存,主要的数据库表的具体设置如下:
表4-1 shangpinfenlei商品分类信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
leibie 类别 varchar(200) 允许空

表4-2 shangjia商家信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
zhanghao 账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
shangjiamingcheng 商家名称 varchar(200) 允许空
xingbie 性别 varchar(200) 允许空
shouji` 手机 varchar(200) 允许空
youxiang 邮箱 varchar(200) 允许空
shenfenzheng 身份证 varchar(200) 允许空
money 余额 float 允许空

表4-3 orders订单信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 下单时间 timestamp 允许空
orderid 订单编号 varchar(200) 允许空
tablename 商品表名 varchar(200) 允许空
userid 用户编号 bigint(20) 允许空
goodid 商品编号 bigint(20) 允许空
goodname 商品名称 varchar(200) 允许空
picture 商品图片 varchar(200) 允许空
buynumber 购买数量 int(11) 允许空
price 价格 float 允许空
discountprice 折扣价格 float 允许空
total 总价格 float 允许空
discounttotal 折扣总价格 float 允许空
type 支付类型 int(11) 允许空
status 状态 varchar(200) 允许空
address 地址 varchar(200) 允许空

表4-4 users管理员信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
username 用户名 varchar(100) 允许空
password 密码 varchar(100) 允许空
role 角色 varchar(100) 允许空
addtime 添加时间 timestamp 允许空

表4-5 yaopinxinxi商品信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
shangpinmingcheng 商品名称 varchar(200) 允许空
leibie 类别 varchar(200) 允许空
yueshouxiaoliang 月售销量 varchar(200) 允许空
tupian 图片 varchar(200) 允许空
xiangqing 详情 longtext 允许空
zhanghao 账号 varchar(200) 允许空
shangjiamingcheng 商家名称 varchar(200) 允许空
sfsh 是否审核 varchar(200) 允许空
shhf 审核回复 longtext 允许空
thumbsupnum 赞数 int(11) 允许空
crazilynum 踩数 int(11) 允许空
clicktime` 最近点击时间 datetime 允许空
clicknum 点击次数 int(11) 允许空
price 价格 float

表4-6 yonghu用户信息表
列名 说明 类型 ( 长度 ) 备注
id 编号 bigint(20) 不允许空,主键
addtime 创建时间 timestamp 允许空
zhanghao 账号 varchar(200) 允许空
mima 密码 varchar(200) 允许空
xingming 姓名 varchar(200) 允许空
xingbie 性别 varchar(200) 允许空
youxiang` 邮箱 varchar(200) 允许空
shenfenzheng 身份证 varchar(200) 允许空
shouji 手机 varchar(200) 允许空
money 余额 float 允许空

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

车辆重识别(注意力 U-Net:学习在哪些区域寻找胰腺)论文阅读2024/10/01

什么是注意力机制? 什么是加性注意力? 大致说一下流程: 对于一张特征图来说,对于这张图中的每一个像素向量(例如a),计算该向量与所有像素向量的相似度,对这些相似度进行激活函数…

【重学 MySQL】四十五、数据库的创建、修改与删除

【重学 MySQL】四十五、数据库的创建、修改与删除 一条数据存储的过程数据输入数据验证数据处理数据存储数据持久化反馈与日志注意事项 标识符命名规则基本规则长度限制保留字与特殊字符命名建议示例 MySQL 中的数据类型创建数据库创建数据库时指定字符集和排序规则 查看数据库…

数据库重建索引的作用?

重建索引是数据库管理中的一个重要操作,主要用于优化数据库性能和提高查询效率。以下是重建索引的一些主要用途: 提高查询性能:随着时间的推移,数据的插入、更新和删除会导致索引碎片化,重建索引可以减少碎片&#xf…

DNS with libevent

DNS with libevent: high-level and low-level functionality libevent提供了少量用于解析DNS名字的API,以及用于实现简单DNS服务器的机制。 我们从用于名字查询的高层机制开始介绍,然后介绍底层机制和服务器机制。 Portable blocking name resolution…

15年408计算机网络

第一题: 解析: 接收方使用POP3向邮件服务器读取邮件,使用的TCP连接,TCP向上层提供的是面向连接的,可靠的数据传输服务。 第二题: 解析:物理层-不归零编码和曼彻斯特编码 编码1:电平在…

CSS中字体图标的使用

引言: 在网页设计当中,会有很多很简洁的图标,比如箭头,照相机,放大镜等 这些大概率都是使用字体图标来完成的,因为字体图标比较简洁高效,不会像图片一样需要向浏览器请求数据。那么字体图标该…

网络协议详解--IPv6

IPv6产生背景 (1)地址空间的耗尽:因特网呈指数级发展,导致IPv4地址空间几乎耗尽。虽然采用了子网划分、CIDR和NAT地址转换技术,但这没有从根源解决地址耗尽的问题 (2)IP层安全需求的增长&#x…

Oracle exadata存储节点更换内存操作及报错处理

1.报错信息 在进行Oracle exadata巡检时,发现cell节点有一根内存报错,报错信息如下: 报错内存位置为:CPU1 P1/D2槽位 报错内存信息: 根据报错信息确认内存PN号、大小等息,并将信息反馈公司,及…

Hadoop框架及应用场景说明

Hadoop是一个开源的分布式系统基础架构。由多个组件组成,组件之间协同工作,进行大规模数据集的存储和处理。 本文将探讨Hadoop的架构以及应用场景。 一Hadoop框架 Hadoop的核心组件包含: 1. Hadoop分布式文件系统(HDFS&#xff…

Qt --- 常用控件的介绍---Widget属性介绍

一、控件概述 编程,讲究的是站在巨人的肩膀上,而不是从头发明轮子。一个图形化界面上的内容,不需要咱们全都从零区实现,Qt中已经提供了很多内置的控件了(按钮,文本框,单选按钮,复选…

【Java SE 题库】移除元素(暴力解法)--力扣

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解法(快慢“指针”) 3. 源码 4. 小结 1. 题目 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素。元素的顺…

C0007.Clion中添加ui文件及运行的完整步骤

1.创建ui文件 选择Ui文件目录,右击,打开Qt Designer; 创建完成后,保存ui界面,并且命名为test.ui; 2.新建头文件test.h 在include目录中,新建头文件,文件名为test.h 3.新建test.…

神点SAAS云财务系统/多账套/前后端全开源

>>>系统简述: 神点SAAS云财务软件开源版,包含账套、凭证字、科目、期初、币别、账簿、报表、凭证、结账等功能。 神点云财务系统,餐饮行业财务软件、微服务架构财务软件、开源云财务软件、Java全开源财务软件优选! >…

「轻盈」之旅:OOM故障重现与解决

前期准备 本项目均采用 VisualVM 2.1.10 进行dump文件的分析。JDK1.8及之前所在目录的bin目录下有自带的VisualVM,JDK1.8以后需要自行手动安装下载。 下载地址:https://visualvm.github.io/download.html IDEA插件配置:在Plugins里搜索visual…

CSS文本格式化

通过 CSS 中的文本属性您可以像操作 Word 文档那样定义网页中文本的字符间距、对齐方式、缩进等等,CSS 中常用的文本属性如下所示: text-align:设置文本的水平对齐方式;text-decoration:设置文本的装饰;te…

Vue项目开发注意事项

事项一:项目代码放在本地怎么运行起来 1、首先确定项目对应的node和npm版本 node下载地址 Index of /dist/https://nodejs.org/dist/ node 与 npm版本对应关系 Node.js — Node.js Releases 2、node卸载的时候,会自动把对应的npm卸载掉 情况1&…

光控资本:股票后边带个u是啥意思,常见股票后缀字母还有哪些?

股票后面带有字母U标明该股票发行人到目前为止还没有盈利,这是根据上交所发布的《关于科创板股票及存托凭证生意相关事项的奉告》中的规则,在上市后实现初度盈利,这个标识就会消除掉。一般是在科创板上市的股票会有U的标明,且一般…

河南做网站与SEO:如何提升搜索引擎排名

河南做网站与SEO:如何提升搜索引擎排名 在当今数字化时代,越来越多的企业意识到互联网的重要性,特别是在河南这样一个快速发展的地区,建立一个优秀的网站已经成为企业发展的必要条件。而在建立网站的同时,SEO&#xff…

【算法】链表:206.反转链表(easy)

系列专栏 《分治》 《模拟》 《Linux》 目录 1、题目链接 2、题目介绍 3、解法(快慢指针) 解题步骤: 关键点: 复杂度分析: 4、代码 1、题目链接 206. 反转链表 - 力扣(LeetCode) …

Flutter中使用FFI的方式链接C/C++的so库(harmonyos)

Flutter中使用FFI的方式链接C/C库(harmonyos) FFI plugin创建和so的配置FFI插件对so库的使用 FFI plugin创建和so的配置 首先我们可以根据下面的链接生成FFI plugin插件:开发FFI plugin插件 然后在主项目中pubspec.yaml 添加插件的依赖路径&…