springcloud分布式架构网上商城 LW +PPT+源码+讲解

3系统分析

3.1可行性分析

在开发系统之前要进行系统可行性分析,目的是在用最简单的方法去解决最大的问题,程序一旦开发出来满足了用户的需要,所带来的利益也很多。下面我们将从技术、操作、经济等方面来选择这个系统最终是否开发。

3.1.1技术可行性

本系统开发选择java技术,java是一个完全面向对象的语言,java为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为java开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用MySQL数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

依据上述目标来分析本系统的硬件如下:

奔腾3的处理器;

内存是 2G;

硬盘是50G;

操作系统是Window 10;

在软件方面的话,安装了Visul Studio 0 和MySQL数据库开发工具。根据以上的软件与硬件要求,得到这个系统的技术是可行的。

3.1.2经济可行性

基于springcloud的分布式架构网上商城系统,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的分布式架构网上商城系统,同时还能实现对人力资源和管理资源的有效节约,该分布式架构网上商城系统在经济上完全可行。

3.1.3操作可行性

现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到商城办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。

3.1.4 运行可行性

本系统作为以java作为开发语言的系统,而且选用springcloud微服务架构和B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。

经过总结,本系统在经济方面、技术方面、操作方面和运行方面的条件都得以满足,为此系统的开发具备了可行性条件。

3.2系统性能需求分析

对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析;

系统反应度:同时上万人在线时反应时间应该在两三秒以内,。

界面简洁清晰:系统界面要求简单明了,操作简单,用户操作容易上手。

储存性能高:分布式架构网上商城中需要存储的信息有很多,所以对系统的存储量要求很高,因此数据库就应该很强大,才能保证信息能安全稳定的进行存储;

易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

稳定性:要求分布式架构网上商城运行要稳定,界面清楚、字体清晰等。

3.3系统功能分析

考虑到实际生活中分布式架构网上商城在管理方面的需要以及对该平台认真的分析,将系统权限按管理员和用户涉及用户划分。

管理员;管理员使用本系统涉到的功能主要有:首页、个人中心、用户管理、商品信息管理、商品分类管理、系统管理、订单管理等功能。管理员用例图如图3-1所示。

图3-1 管理员用例图

用户用例图如图3-1所示。

图3-2 用户用例图

3.4系统流程的分析

由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户功能权限下的系统业务流程来分析,如下图所展示:

3.4.1 用户管理的流程

图3-3用户管理流程

3.4.2个人中心管理流程

图3-4个人中心管理流程

3.4.3登录流程

图3-5登录流程

4系统设计

4.1 软件功能模块设计

系统整体功能如下图所示:

图 4-1 系统功能模块图

4.2数据库设计与实现

在每一个系统中数据库有着非常重要的作用,数据库的设计得好将会增加系统的效率以及系统各逻辑功能的实现。所以数据库的设计我们要从系统的实际需要出发,才能使其更为完美的符合系统功能的实现。

4.2.1概念模型设计

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。

购物车实体图如图4-2所示:

图4-2购物车实体图

用户注册实体图如图4-3所示:

图4-3用户注册实体图

商品信息实体图如图4-4所示:

图4-4商品信息实体图

4.2.2物理模型设计

根据上诉的逻辑模型设计,下面给出物理模型的设计, 设计每张表的变量名,变量的类型及主键等如下表:

表4-1:购物资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

表4-2:商品信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-3:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-4:购物车表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tablename

varchar

200

商品表名

shangpinxinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

图片

buynumber

int

购买数量

price

float

单价

discountprice

float

会员价

表4-5:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

mima

varchar

200

密码

xingming

varchar

200

姓名

xingbie

varchar

200

性别

shouji

varchar

200

手机

youxiang

varchar

200

邮箱

touxiang

varchar

200

头像

money

float

余额

0

表4-6:地址

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

address

varchar

200

地址

name

varchar

200

收货人

phone

varchar

200

电话

isdefault

varchar

200

是否默认地址[是/否]

表4-7:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-8: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-9:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

收藏id

tablename

varchar

200

表名

name

varchar

200

收藏名称

picture

varchar

200

收藏图片

type

varchar

200

类型(1:收藏,21:赞,22:踩)

1

inteltype

varchar

200

推荐类型

表4-10:商品信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shangpinmingcheng

varchar

200

商品名称

shangpinleixing

varchar

200

商品类型

guige

varchar

200

规格

shangjiashijian

date

上架时间

shangpinjieshao

longtext

4294967295

商品介绍

shangpintupian

varchar

200

商品图片

thumbsupnum

int

0

crazilynum

int

0

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

price

float

价格

onelimittimes

int

单限

-1

alllimittimes

int

库存

-1

表4-11:商品分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

leixing

varchar

200

类型

表4-12:订单

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

shangpinxinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

商品图片

buynumber

int

购买数量

price

float

价格/积分

0

discountprice

float

折扣价格

0

total

float

总价格/总积分

0

discounttotal

float

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

logistics

longtext

4294967295

物流

5系统详细设计

5.1系统功能模块

分布式架构网上商城,在系统首页可以查看首首页、商品信息、购物资讯、个人中心、购物车等内容,并进行详细操作;如图5-1所示。

图5-1系统首页界面图

用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、手机、邮箱等信息进行注册操作,如图5-2所示。

图5-2用户注册界面图

商品信息,在商品信息页面可以查看商品名称、价格、单次购买、库存、商品类型、规格、上架时间、点击次数等内容进行购买、评论或收藏等操作,如图5-3所示。

图5-3商品信息界面图

购物车,在购物车页面可以查看购买商品、价格、数量、总价等内容,进行删除或购买等操作,如图5-4所示。

图5-4购物车界面图

个人中心,在个人中心页面通过填写账号、密码、姓名、性别、手机、邮箱、图片、余额等内容进行更新信息等操作,并可以根据我的订单、我的地址或我的收藏进行相应的操作,如图5-5所示。

图5-5个人中心界面图

5.2管理员功能模块

管理员进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-6所示。

图5-6管理员登录界面图

管理员登录系统后,可以对首页、个人中心、用户管理、商品信息管理、商品分类管理、系统管理、订单管理等功能进行相应的操作管理,如图5-7所示。

图5-7管理员功能界面图

用户管理,在用户管理页面可以对索引、账号、姓名、性别、手机、邮箱、头像等内容进行详情、修改或删除等操作,如图5-8所示。

图5-8用户管理界面图

商品信息管理,在商品信息管理页面可以对索引、商品名称、商品类型、规格、上架时间、商品图片、价格、单限、库存等内容进行详情、查看评论、修改或删除等操作,如图5-9所示。

图5-9商品信息管理界面图

商品分类管理,在商品分类管理页面可以对索引、类型等内容进行修改或删除等操作,如图5-10所示。

图5-10商品分类管理界面图

系统管理,在购物资讯页面中可以对索引、标题、图片等内容进行详情、修改或删除等操作,并可以根据轮播图管理进行相应的操作,如图5-11所示。

图5-11系统管理界面图

6系统测试

系统测试是软件开发过程中最后一步,但也是不可或缺的重要的一步,没有人可以保证一次性编写完成的系统不会出错,而系统测试就是将自己开发的系统成为成品前的最后一步。在测试过程中需要进行严谨细致的测试,要尽可能全面地在不同情况下运行该系统,排除一切出现错误的可能。

系统测试不仅仅是发现系统潜在的BUG或错误,而更为重要的是为用户提供一个良好的体验和安全可使用的产品服务。而通过发现错误或潜在的问题,将有助于提升产品的竞争力,这也是软件测试的其中的重要目的之一。

软件测试的方法有好几种,但目前主要采用的是包括以功能为主要测试方向的黑盒测试以及以逻辑为主要测试方向的白盒测试,这是两种不同的测试方法,针对的测试侧重点不同,本课题根据实际需求情况,选择以功能为主要的黑盒测试方法,同时测试是要遵循一定的规则来执行的,一个测试要执行其执行的依据一般是由测试用例来规定的,而测试用例一般是依据需求或说明书来综合制定的,测试在硬件出厂前是十分重要的一个过程,本课题由于时间和精力的关系,选择以实现的功能作为测试要点来进行测试。具体测试过程如下:

测试用例1及测试过程:

登录:录入登录信息,账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入用户具有权限的功能界面和提示登录失败。

测试用例2及测试过程:

管理员登录:录入登录信息,管理员账号,密码和选择权限,点击登录按钮,会出现两种情况:登录成功进入管理员具有权限的功能界面和提示登录失败。

7总结与心得体会

7.1 总结

通过完成该分布式架构网上商城和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。

本系统所实现的是一个分布式架构网上商城,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。

本系统具有以下优点:

该系统具有较高的适用性,选用B/S结构,可以在绝大部分个人平台上使用该系统。

系统将用户权限进行划分,管理员和用户能看到及操作的信息不一样,两者具备不同的操作权限。

该系统操作界面简单明了,大部分人都可以正常使用。

但也存在以下问题需要改进:

运行时窗口不能被刷新,可以改进。

系统过于简单,显示的信息有限。。

不能添加多个管理员账号,如果可以则将利于发展分布式架构网上商城规模,便于分布式架构商城信息集中管理。

不能实时预约接待消息和分布式架构网上商城反馈建议,容易被忽视,不利于管理员服务客户。

7.2 心得体会

由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。

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

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

相关文章

网络漏洞挖掘实测报告

关于作者:个人主页 网络漏洞挖掘实测报告 一、前言 网络漏洞挖掘是信息安全领域中至关重要的一环。通过挖掘和修复漏洞,可以有效地保护系统免受潜在的攻击和破坏。本报告旨在记录一次完整的网络漏洞挖掘实测过程,包括实施方法、过程、结果以…

欢迎加入国家智能网联汽车创新中心OS开发训练营大家庭

欢迎加入国家智能网联汽车创新中心OS开发训练营大家庭。🚀 导学阶段启动 在正式开营之前,我们特别设置了导学阶段,旨在帮助大家更好地迎接颇具挑战性的项目实战。导学阶段包括一系列精心准备的视频课程和配套习题。github链接:htt…

基于YOLOv10+YOLOP+PYQT的可视化系统,实现多类别目标检测+可行驶区域分割+车道线分割【附代码】

文章目录 前言视频效果必要环境一、代码结构1、 训练参数解析2、 核心代码解析1.初始化Detector类2. torch.no_grad()3. 复制输入图像并初始化计数器4. 调用YOLOv10模型进行目标检测5. 提取检测结果信息6. 遍历检测结果并在图像上绘制边界框和标签7. 准备输入图像以适应End-to-…

2024年导游资格证题库备考题库,高效备考!

1.台湾著名的太鲁阁公园的特色是()。 A.丘陵和溶洞 B.森林和瀑布 C.峡谷和断崖 D.彩林和彩池 答案:C 解析:台湾著名的太鲁阁公园的特色是峡谷和断崖。 2.下列位于台湾的景区中,素有"神秘的森林王国"之…

DropNotch for Mac v1.0.1 在 Mac 刘海快速使用 AirDrop

应用介绍 DropNotch 是一款专为Mac设计的应用程序,可以将MacBook的凹口区域(刘海)转换为文件放置区。 功能特点 文件共享: 用户可以将文件拖放到MacBook的凹口区域,并通过AirDrop、邮件、消息等方式轻松共享。多显示器支持: 即…

Web漏洞扫描工具AppScan与AWVS测评及使用体验

AppScan和AWVS业界知名的Web漏洞扫描工具,你是否也好奇到底哪一个能力更胜一筹呢?接下来跟随博主一探究竟吧。 1. 方案概览 第一步:安装一个用于评测的Web漏洞靶场(本文采用最知名和最广泛使用的靶场,即OWASP Benchma…

WY-35A4T三相电压继电器 导轨安装 约瑟JOSEF

功能简述 WY系列电压继电器是带延时功能的数字式交流电压继电器。 可用于发电机,变压器和输电线的继电保护装置中,作为过电压或欠电压闭锁的动作元件 LCD实时显示当前输入电压值 额定输入电压Un:100VAC、200VAC、400VAC产品满足电磁兼容四级标准 产品…

Spring容器Bean之XML配置方式

一、首先看applicationContext.xml里的配置项bean 我们采用xml配置文件的方式对bean进行声明和管理,每一个bean标签都代表着需要被创建的对象并通过property标签可以为该类注入其他依赖对象,通过这种方式Spring容器就可以成功知道我们需要创建那些bean实…

使用LoFTR模型进行图像配准、重叠区提取

LoFTR模型源自2021年CVPR提出的一篇论文LoFTR: Detector-Free Local Feature Matching with Transformers,其基于pytorch实现图像配准,与基于superpointsuperglue的方法不同, 是一个端到端的图像配准方法。与LoFTR官方库相关的有loftr2onnx库…

NDVI数据集提取植被覆盖度FVC

植被覆盖度FVC 植被覆盖度(Foliage Vegetation Cover,FVC)是指植被冠层覆盖地表的面积比例,通常用来描述一个区域内植被的茂密程度或生长状况。它是生态学、环境科学以及地理信息系统等领域的重要指标,对于理解地表能…

SwinTransformer的相对位置索引的原理以及源码分析

文章目录 1. 理论分析2. 完整代码 引用:参考博客链接 1. 理论分析 根据论文中提供的公式可知是在 Q Q Q和 K K K进行匹配并除以 d \sqrt d d ​ 后加上了相对位置偏执 B B B。 A t t e n t i o n ( Q , K , V ) S o f t m a x ( Q K T d B ) V \begin{aligned} &…

软件设计之Java入门视频(12)

软件设计之Java入门视频(12) 视频教程来自B站尚硅谷: 尚硅谷Java入门视频教程,宋红康java基础视频 相关文件资料(百度网盘) 提取密码:8op3 idea 下载可以关注 软件管家 公众号 学习内容: 该视频共分为1-7…

gptoolbox matlab工具箱cmake 调试笔记

一、问题描述 起因:在matlab中运行Offset surface of triangle mesh in matlab的时候报错: 不支持将脚本 signed_distance 作为函数执行: E:\MATLAB_File\gptoolbox\mex\signed_distance.m> 出错 offset_bunny (第 22 行) D signed_distance(BC,V,F…

绝区贰--及时优化降低 LLM 成本和延迟

前言 大型语言模型 (LLM) 为各行各业带来了变革性功能,让用户能够利用尖端的自然语言处理技术处理各种应用。然而,这些强大的 AI 系统的便利性是有代价的 — 确实如此。随着 LLM 变得越来越普及,其计算成本和延迟可能会迅速增加,…

Python实战训练(方程与拟合曲线)

1.方程 求e^x-派(3.14)的解 用二分法来求解,先简单算出解所在的区间,然后用迭代法求逼近解,一般不能得到精准的解,所以设置一个能满足自己进度的标准来判断解是否满足 这里打印出解x0是因为在递归过程中…

经典双运算放大器LM358

前言 LM358双运放有几十年的历史了吧?通用运放,很常用,搞电路的避免不了接触运放,怎么选择运放,是工程师关心的问题吧? 从本文开始,将陆续发一些常用的运放,大家选型可以参考&#…

【最新整理】全国高校本科及专科招生和毕业数据集(2008-2022年)

整理了各省高校本科、专科招生和毕业数据等21个相关指标,包括招生、在校、毕业人数,以及财政教育支出、教育经费等数据。含原始数据、线性插值、回归填补三个版本,希望对大家有所帮助 一、数据介绍 数据名称:高校本科、专科招生…

如何处理 PostgreSQL 中由于表连接顺序不当导致的性能问题?

文章目录 一、理解表连接和连接顺序二、识别由于表连接顺序不当导致的性能问题三、影响表连接顺序的因素四、解决方案手动调整连接顺序创建合适的索引分析数据分布和优化查询逻辑 五、示例分析手动调整连接顺序创建索引优化查询逻辑 六、总结 在 PostgreSQL 中,表连…

[FreeRTOS 内部实现] 事件组

文章目录 事件组结构体创建事件组事件组等待位事件组设置位 事件组结构体 // 路径:Source/event_groups.c typedef struct xEventGroupDefinition {EventBits_t uxEventBits;List_t xTasksWaitingForBits; } EventGroup_t;uxEventBits 中的每一位表示某个事件是否…

【LeetCode:3101. 交替子数组计数 + 滑动窗口 + 数学公式】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…