SpringBoot助力墙绘艺术市场创新
3 系统分析
当用户确定开发一款程序时,是需要遵循下面的顺序进行工作,概括为:系统分析–>系统设计–>系统开发–>系统测试,无论这个过程是否有变更或者迭代,都是按照这样的顺序开展工作的。系统分析就是分析系统需要做什么的问题,主要目的就是确定系统的功能,这也为接下来的工作做了一个好的开端。
3.1 系统可行性分析
开发一款程序软件不仅需要时间,也需要人力,物力资源。而进行可行性分析这个环节就是解决用户这方面的疑问,看看程序在当前的条件下是否可以进行开发。
3.1.1 技术可行性分析
此程序选用的开发语言是Java,这种编程语言有着丰富的数据类型,在指令控制语句上也比较完善,更重要的就是对类与对象的大力支持,这些优点为程序开发者提供了技术保障,尤其是现在代码都逐渐模块化,有关系统功能开发的源码在网络上都公开展示了,所以让具备一定计算机开发基础的开发人员独立开发系统在技术上也逐渐容易。
3.1.2 经济可行性分析
开发此程序最关键的设备就是一台电脑,无论是学校计算机室配备的电脑,还是自己入学以来购置的笔记本,都是可以符合开发要求的设备,另外在网络上,学校本已完全覆盖了校园网,所以在设备以及网络上无须考虑经济问题。
3.1.3 运行可行性分析
随着电脑软件以及配套硬件的完善升级,当下的计算机环境是一片大好,尤其是计算机已经广泛普及到家家户户,所以计算机设备现在是随处可见,由于本次开发的程序占有的资源耗费较小,在一般的电脑或笔记本上都能轻松运转起来。
通过上面的可行性描述,可以从经济,技术,运行方面解决程序开发是否可行的问题。因此可以认为该程序软件是可以进行开发的。
3.2 系统性能分析
系统性能分析也是比较重要的内容,进行系统性能分析就是为了确保系统的功能要能够在生活中运行使用时,达到规定的指标,因此一个完整的系统软件,是需要进行系统的性能分析这个步骤的。本次进行性能分析主要从易用性指标,可扩展性指标,系统健壮性指标,系统安全性指标这几个方面进行分析。
3.2.1 易用性指标
本次程序软件的开发的目的就是让使用者可以通过使用该软件提高信息数据的管理效率,同时该程序软件也需要针对不同的操作用户设置对应的功能,因此,此程序的操作流程应该尽量与用户日常操作软件的行为习惯相贴合,另外,程序软件的设计与开发也应考虑非计算机专业用户的计算机操作水平,要让大部分使用者都可以轻松操作程序提供的各个功能。
3.2.2 可扩展性指标
当前需要开发的程序软件是根据当下的用户需求进行设计开发的,但是随着时间的推移,社会大环境的改变,开发出的程序也是需要与时俱进的,需要根据用户不断变换的需求进行相应的功能内容的扩展,需要注意的就是,当对成型的程序进行功能模块新增时,仍然需要保证程序原有架构以及功能不能受到影响,新增的功能模块在系统中也能够运行正常,该指标达标也就可以保证此程序是可以在满足信息管理要求下,从容应对市场环境的变化。
3.2.3 健壮性指标
程序软件的开发就是为了投入使用时,可以一直稳定的处理各种数据信息,程序软件一旦不稳定,也会给使用者带来干扰。因此从性能分析的角度,就要要求程序软件在应对使用者的误操作,或者是使用者因为各种原因,填写有误的数据等情况时,程序要一直保持稳定,并能够正常让使用者进行使用。当程序的某个功能模块出现异常时,程序的其它功能模块也要能够确保正常使用。程序的健壮性指标达标可以让使用者产生良好的用户体验。
3.2.4 安全性指标
程序软件的安全问题是首要问题,毕竟程序对应数据库里面存放的数据信息是庞大的,里面也包括了许多重要的个人信息,这就对程序要具备一个完善的安全机制提出了要求。因此程序必须要设置登录功能用以进行用户身份的检查,以及身份和权限的匹配,通过对不同用户身份进行功能约束,绝不容忍用户越权操作程序。另外,也需要时刻防范计算机病毒,还有黑客,通过采取针对性的办法进行安全应对,确保程序时刻处于安全的环境,让使用者放心使用。
3.3 系统流程分析
3.3.1 操作流程分析
程序上交给用户进行使用时,需要提供程序的操作流程图(如图3.1所示),这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
图3.1 程序操作流程图
3.3.2 登录流程分析
在这个部分,需要对程序的登录功能模块的运行流程(如图3.2所示),进行单独说明。程序设置登录模块也是为了安全起见,让用户使用放心,登录模块主要就是让用户提交登录信息,程序进行数据验证,验证通过的用户才能够成功登录程序。
图3.2 程序登录流程图
3.3.3 信息添加流程分析
程序的添加功能就是提供给操作者录入信息的功能,不管是涉及到用户信息添加,还是其它功能模块涉及到的信息添加,程序的信息添加流程(如图3.3所示)都是一致的。程序都是先对操作者录入的数据进行判定,这个判定规则是一段提前编写完成的程序代码,当程序判定数据符合要求时,才会把操作者录入的数据登记在数据表里面,比如添加的用户信息,就会把新添加的用户信息写入用户信息的数据表文件里面。
图3.3 信息添加流程图
3.3.4 信息删除流程分析
当从程序里面删除某种无效数据时,遵循程序的信息删除流程(如图3.4所示),先要选中操作者需要删除的数据,程序为了预防操作者误删信息,也会进行提示,当操作者真正确定要删选中的信息时,该信息就会从数据库中被永久删除。
图3.4 信息删除流程图
4 系统设计
墙绘产品展示交易平台的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。
4.1 系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。
图4.1 程序工作的原理图
4.2 系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图。
图4.2 系统功能结构图
4.3 数据库设计
程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。
4.3.1 数据库E-R图设计
这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
各个实体之间的联系用下图的E-R图表示。绘制的系统E-R图见图4.8。
图4.8 系统E-R图
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
表4.1地址表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 addtime Date 创建时间 是
3 userid Integer 用户id 是
4 address String 地址 是
5 name String 收货人 是
6 phone String 电话 是
7 isdefault String 是否默认地址[是/否] 是
表4.2购物车表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
8 addtime Date 创建时间 是
9 tablename String 商品表名 是
10 userid Integer 用户id 是
11 goodid Integer 商品id 是
12 goodname String 商品名称 是
13 picture String 图片 是
14 buynumber Integer 购买数量 是
15 price float 单价 是
16 discountprice float 会员价 是
表4.3客服聊天表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
17 addtime Date 创建时间 是
18 userid Integer 用户id 是
19 adminid Integer 管理员id 是
20 ask String 提问 是
21 reply String 回复 是
22 isreply Integer 是否回复 是
表4.4商品信息评论表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
23 addtime Date 创建时间 是
24 refid Integer 关联表id 是
25 userid Integer 用户id 是
26 content String 评论内容 是
27 reply String 回复内容 是
表4.5商品资讯表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
28 addtime Date 创建时间 是
29 title String 标题 是
30 introduction String 简介 是
31 picture String 图片 是
32 content String 内容 是
表4.6订单表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
33 addtime Date 创建时间 是
34 orderid String 订单编号 是
35 tablename String 商品表名 是
36 userid Integer 用户id 是
37 goodid Integer 商品id 是
38 goodname String 商品名称 是
39 picture String 商品图片 是
40 buynumber Integer 购买数量 是
41 price float 价格/积分 是
42 discountprice float 折扣价格 是
43 total float 总价格/总积分 是
44 discounttotal float 折扣总价格 是
45 type Integer 支付类型 是
46 status String 状态 是
47 address String 地址 是
表4.7商品分类表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
48 addtime Date 创建时间 是
49 shangpinfenlei String 商品分类 是
表4.8商品评价表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
50 addtime Date 创建时间 是
51 dingdanbianhao String 订单编号 是
52 shangpinmingcheng String 商品名称 是
53 shangpinfenlei String 商品分类 是
54 pinpai String 品牌 是
55 pingfen String 评分 是
56 pingjianeirong String 评价内容 是
57 tianjiatupian String 添加图片 是
58 pingjiariqi date 评价日期 是
59 yonghuming String 用户名 是
60 lianxidianhua String 联系电话 是
61 sfsh String 是否审核 是
62 shhf String 审核回复 是
表4.9商品信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
63 addtime Date 创建时间 是
64 shangpinmingcheng String 商品名称 是
65 shangpinfenlei String 商品分类 是
66 tupian String 图片 是
67 biaoqian String 标签 是
68 pinpai String 品牌 是
69 shangpinxiangqing String 商品详情 是
70 clicktime datetime 最近点击时间 是
71 clicknum Integer 点击次数 是
72 price float 价格 是
表4.10心愿单表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
73 addtime Date 创建时间 是
74 userid Integer 用户id 是
75 refid Integer 商品id 是
76 tablename String 表名 是
77 name String 商品名称 是
78 picture String 商品图片 是
表4.11用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
79 addtime Date 创建时间 是
80 yonghuming String 用户名 是
81 mima String 密码 是
82 xingming String 姓名 是
83 touxiang String 头像 是
84 xingbie String 性别 是
85 lianxidianhua String 联系电话 是
86 money float 余额 是
87 heimd Integer 黑名单 是
表4.12用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
88 role String 角色 是
89 addtime Date 新增时间 是
相关文章:

SpringBoot助力墙绘艺术市场创新
3 系统分析 当用户确定开发一款程序时,是需要遵循下面的顺序进行工作,概括为:系统分析–>系统设计–>系统开发–>系统测试,无论这个过程是否有变更或者迭代,都是按照这样的顺序开展工作的。系统分析就是分析系…...

Antlr的使用
概念 ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成工具,用于读取、处理、执行或翻译结构化文本或二进制文件。ANTLR通过定义文法(grammar)来识别、构建和访问语言中的元素。 ANTLR为包括Jav…...
HealChat心理大语言模型 丨OPENAIGC开发者大赛高校组AI创作力奖
在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给…...

PyQt5整合爬虫制作图片爬取器-幽络源
前言 本篇教程适合对Python爬虫和Python软件制作感兴趣的小伙伴阅读,看完本篇教程,你将能更深入了解PyQt5与实际功能的整合方式。 1.设计界面 首先在pycharm中创建一个新目录,这里我建立的目录名为爬图片,然后按如图打开Qt设计…...

DC00023基于jsp+MySQL新生报到管理系统
1、项目功能演示 DC00023基于jsp新生报到管理系统java webMySQL新生管理系统 2、项目功能描述 基于jspMySQL新生报到管理系统项目分为学生、辅导员、财务处和系统管理员四个角色。 2.1 学生功能 1、系统登录 2、校园新闻、报到流程、学校简介、在线留言、校园风光、入校须知…...

AdaptIoT——制造业中使用因果关系的自我标签系统
0.概述 论文地址:https://arxiv.org/abs/2404.05976 在许多制造应用中,机器学习(ML)已被证明可以提高生产率。针对制造业应用提出了一些软件和工业物联网(IIoT)系统,以接收这些 ML 应用。最近&…...
代码随想录算法训练营Day15
654.最大二叉树 力扣题目链接:. - 力扣(LeetCode) 前序递归、循环不变量 class Solution {public TreeNode constructMaximumBinaryTree(int[] nums) {return findmax(nums,0,nums.length);}public TreeNode findmax(int[] nums,int lefti…...

Thinkphp/Laravel旅游景区预约系统的设计与实现
目录 技术栈和环境说明具体实现截图设计思路关键技术课题的重点和难点:框架介绍数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示源码获取 技术栈和环境说明 采用PHP语言开发,开发环境为phpstudy 开发工具notepad并使用MYSQL数据库…...

SpringCloud学习记录|day1
学习材料 2024最新SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等) 学redis讲到微服务就停了,nginx也是。 所以嘛,我终于来到微服务了。 复习MyBatisP…...

Elasticsearch讲解
1.Elasticsearch基本知识 1.基本认识和安装 Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。完整的技术栈包括: Elasticsearch:用于数据存储、计算和搜索 Logstash/Beats:用于数据收集 Kib…...
Linux嵌入式有发展吗,以及对uboot,kernel,rootfs的领悟
工作多年后,对uboot,kernel,rootfs的领悟,总结 上大学时,51单片机,正点原子的stm32,linux arm开发。对uboot,kernel,rootfs的理解云里雾里,感觉自己很懂了 其…...

基于Springboot+Vue的公寓管理系统(含源码+数据库)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 该系统…...

多功能声学气膜馆:承载梦想与希望的舞台—轻空间
在9月29日上午,苏州大学应用技术学院的2024级新生开学典礼暨开学第一课在轻空间建造的多功能声学气膜馆内盛大举行。这一盛典不仅见证了2849名新生的入学,也展示了气膜馆的独特魅力与优越功能。 卓越的声学表现 声学气膜馆采用高性能材料,确保…...

【线程】线程池
线程池通过一个线程安全的阻塞任务队列加上一个或一个以上的线程实现,线程池中的线程可以从阻塞队列中获取任务进行任务处理,当线程都处于繁忙状态时可以将任务加入阻塞队列中,等到其它的线程空闲后进行处理。 线程池作用: 1.降…...
输出 / 目录下所有目录文件的大小并排序
使用 du -sh /* 输出 / 目录下所有的目录总大小,看下效果: [rootlocalhost ~]# du -sh /* 0 /bin 110M /boot 0 /dev 32M /etc 12K /home 0 /lib 0 /lib64 0 /media 0 /mnt 0 /opt du: cannot access ‘/proc/2731/task/2731/fd/4’: No such file or …...

【hot100-java】【编辑距离】
多维dp篇 class Solution {public int minDistance(String word1, String word2) {char [] sword1.toCharArray();char [] tword2.toCharArray();int ns.length;int mt.length;int [][] fnew int[n1][m1];for (int j1;j<m;j){f[0][j]j;}for(int i0;i<n;i){f[i1][0]i1;for…...

随手记:牛回速归
上周-国庆前:牛回速归 国庆:小心被套住 国庆后:一片迷茫 总结:要是上周到国庆前的基本都能捞到,后面情况不好说 后续持续更新...
UI设计师面试整理-设计过程和方法论
在UI设计师面试中,清晰地阐述你的设计过程和方法论是至关重要的。这不仅可以展示你的专业技能和设计思维,也能让面试官看到你是如何解决实际设计问题的。以下是一个全面的UI设计过程和常用方法论的概述,你可以根据你的经验进行相应调整。 1. 设计过程 a. 研究与发现阶段(Re…...
ACM 纳新每日一题 4329: 三进制
首先我们要学习的是数制转化 这里我找了一篇博客https://blog.csdn.net/weixin_53564801/article/details/123665194 一定要注意0需要单独特判一下,这个点尤其重要 然后关于这道题可以使用递归来实现,如下: 递归的代码比较简洁,但…...

WebGIS包括哪些技术栈?怎么学习?
WebGIS,其实是利用Web开发技术结合地理信息系统(GIS)的产物,它是一种通过Internet实现GIS交互操作和服务的最佳途径。 WebGIS通过图形化界面直观地呈现地理信息和特定数据,具有可扩展性和跨平台性。 它提供交互性&am…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...