SpringBoot技术栈的网上超市开发实践

2 系统开发技术
这部分内容主要介绍本系统使用的技术,包括使用的工具,编程的语言等内容。
2.1 Java语言
Java语言自公元1995年至今,已经超过25年了,依然在软件开发上面有很大的市场占有率。当年Sun公司发明Java就是为了发展一门跨平台的高级编程语言,让程序开发人员专注于程序开发过程,不需要关注服务器是属于哪个平台,因为跨平台的特性让语言发展的很迅速。Java的发展,吸收了C++这些语言的优点,因为新生事物一般就是解决老旧事物一些痛点的,虽然Java也有很多缺点,但是起码也算是一种发展方向。学习Java不需要太多的指针这些理念,也不用学习太过复杂的数据结构理论,比如什么堆栈这些概念,除非某些特殊行业对这些要求相当严谨之外,一般用Java开发程序是不用考虑各种各样的数据结构的。因为Java属于一种强类型语言,已经对各种数据定义了各种相应的类型。Java对数据类型定义分为两大种,一种是基本类型,含有8个基本属性,另一个是包装类。基本类和包装类从根本的定义上,都有很明显的区分,计算机运行也会有很明显的差别,如果用错了会编译错误还会影响运行效果的,Java的各种优点只需要按部就班的学习使用即可。
2.2 SpringBoot框架
SpringBoot的最大优点是继承了Spring框架的人气和底层设计财富,并且可以开箱即用,也就是说集成了很多Java初学或者刚入门的程序开发人员所需要的一些常用功能。Spring好用是好用,但是在配置上面相当容易出错,并且出错了找问题也不好找。SpringBoot不仅仅是对Spring的升级操作,彻底的颠覆了Spring的配置理念,采用了XML解释型语言作为配置描述,让应用的开发变的更加的简单明了。

2.3 MYSQL数据库
关系型数据库设计,对于数据库字段类型的设计以及字段长度的设计,都无时无刻的影响着后续程序开发后大量数据操作的运行效率。关系型数据库对不同的字段类型都有解释,本着课题所需的应用程序开发,寻找最适合的关系型数据库,基本上都有考虑。关系型数据库发展至今也有几十年了,优胜劣汰导致到现在还依然存在的关系型数据库其实并不多,基本上也都能满足应用程序的功能所需,所以要从其他方面来进行考虑数据库的选择。从安装维护上面考虑,SQL Server数据库有好几个G的安装包,并且安装过程中会安装很多不需要的功能,非常占用资源。Oracle数据库不比SQL Server安装包小,并且安装也会出现很多问题,对于课题所需来讲,没必要这么麻烦,并且安装还需要各种激活,只有MySQL数据库完全适合,几十兆大小的安装包,运行起来压力不大,毕竟开发电脑上还有很多其他有用的东西,而且完全免费,所以选择了MySQL数据库作为首选数据库。

3 系统分析
这部分内容虽然在开发流程中处于最开始的环节,但是它对接下来的设计和实现起着重要的作用,因为系统分析结果的好坏,将直接影响后面环节的开展。
3.1可行性研究
影响系统开发的因素有很多,比如开发成本高就不适合开展,或者是开发时间超过了预期,也不适合开展等等。所以,在正式作出开发决策前,研究系统可行性问题,从经济,时间,操作等角度论证系统是否可以开展。
3.1.1经济可行性
网上超市系统可以简化工作流程,提供信息处理功能,并可以长期保存数据,在后期的数据查询与编辑中耗时少,提升信息管理效率,其带来的收益比较可观。对于本系统开发,无论是开发需要使用的计算机,还是开发工具等投入的成本很低,计算机是机房的电脑,开发工具是从网上下载安装的,并没有收取费用。
3.1.2时间可行性
网上超市系统是作为本人毕设项目的一个作品,学院也充分预留了制作时间,并且在每个时间段,都安排了相应的任务,所以根据这个时间安排开展工作,是可以对本系统进行设计完成的。
3.1.3操作可行性
随着电脑的普及,已经有很多人可以独立操作电脑了。而本系统就是在配置了运行环境的电脑上运行,其功能简单,省去了很多繁琐的操作逻辑,使用者通过页面导航可以直接进入功能操作区,所以稍微懂点电脑的人,都可以轻松完成系统的使用。
综上所述,本系统可以开展接下来的工作了。
3.2系统性能分析
为了降低本系统在实际使用中的出错率,就需要分析系统具备的性能。常见的可以评估系统的性能的指标有安全性,易用性,健壮性等。
3.2.1系统易用性
系统提供的信息和服务都有特定的用户群,所以,一个容易操作的系统相比一个不方便使用的系统来讲,用户还是更加青睐于使用方便的系统。所以系统具备易用性就显得非常重要。
3.2.2系统健壮性
系统在与用户进行交互过程中,面对用户的误操作行为,系统应该有相应的处理这种问题的反馈机制,而不是进入系统崩溃状态。系统中设置了很多的功能,在应对系统中某个功能出现异常情况时,系统的其它功能还是可以让用户使用。这就是系统健壮性的体现。
3.2.3系统安全性
保存在系统里面的数据,都是比较重要的系统资源,一旦这些资源泄露,不仅会有财产损失,还会丧失很多客户。所以,系统里面的数据要随时都处于安全的环境中,因此就需要采取措施保证数据安全,比如设置登录功能,使用安全验证技术引导条件用户进入指定页面,而让非条件用户停留在登录页面,不能访问系统。
3.3 系统流程分析
软件开发设计的思想始终贯穿本系统,其开发流程见下图。前期需要进行功能分析,功能设计,还有对系统后台支持数据库的设计,利用编码技术对设计的系统进行实现,然后检测和完善。
在这里插入图片描述

图3.1系统开发流程图
访问者之所以可以访问网上超市系统,主要是其数据库有该访问者的记录信息,这个记录是通过注册进行写入的数据。注册流程见下图。每当访问者进行网上超市系统注册时,其登记的每条记录都会在系统后台进行逐个判断。这个判断规则是提前设置的。一旦该访问者的登记信息在数据库中保存,即代表该访问者成为网上超市系统中的一份子。
在这里插入图片描述

图3.2 注册流程图
访问者操作系统,前提是需要验证身份,而登录功能的设置就是把本系统的用户引导进入后台操作区,把不是本系统的用户拒之门外。其流程见下图。
在这里插入图片描述

图3.3 登录流程图
3.4系统功能分析
在明确系统的用途,以及系统的目标用户群后,可以对本系统的功能进行设置,可以获取调研用户对功能的要求,也可以对市场上同类系统进行分析和总结,得出本系统的功能。
网上超市系统设置了管理员权限,其用例图见下图。管理员根据订单状态管理不同的订单信息,管理商品和用户,审核和统计商品评价信息。
在这里插入图片描述

图3.4 管理员用例图
网上超市系统设置了用户权限,其用例图见下图。用户购买商品时需要选择收货地址,然后提交订单进行支付,可以根据订单所处的状态管理不同订单。
在这里插入图片描述

图3.5 用户用例图

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

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

相关文章

局域网远程命令重启电脑

只要知道远程服务器的管理员密码和IP地址,在局域网中的任意一台机器上打开“命令提示符”窗口,运行以下命令: 1、获取远程服务器的管理员权限 net use IP地址 "管理员密码" /user:administrator 2、使用shutdown命令远程重启服务器…

32中的外部中断

一、理解中断 关于32的中断 中断就是给cpu一个信号,cpu收到这个对应的信号再进行指挥 最常用的就是按键 key1按下是咩意思key2呢这样 中断信号线CPU要和对应的元器件连接 二、中断代码 代码编写 所有的0脚对应中断寄存器0,以此类推 引脚为n …

Unity :单例模式 + MonoBehaviour 是什么体验?

单例模式 与 MonoBehaviour的冲突点 单例模式 MonoBehaviour 保持单例的快速解决方案 就是自己创建一个空对象,然后把脚本挂在上去就行了,之后你就别自己挂载该脚本就行了 一般写法 public class AgentMoNo : MonoBehaviour {private static AgentM…

Python编码系列—Python观察者模式:实现事件驱动架构的利器

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

ComfyUI新版本提升效率小技巧(建议收藏)

原文链接:建议收藏!ComfyUI提升效率的小技巧,肯定有你不知道的 (chinaz.com) 本篇带来ComfyUI非常实用的9个小技巧,可以提升我们的ComfyUI工作效率,建议大家收藏起来哈 新版中文搜节点 点击设置 comfy→搜索框框架…

PHP判断微信或QQ访问

PHP判断微信或QQ访问 若是微信或者QQ打开&#xff0c;提示图会覆盖网页&#xff0c;但网页功能仍在运行&#xff01; <meta name"viewport" content"initial-scale1, maximum-scale1, user-scalableno, widthdevice-width"><style> .top-gui…

OpenCV目标检测(1)模板匹配函数matchTemplate()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 将一个模板与重叠的图像区域进行比较。 该函数在图像中滑动&#xff0c;使用指定的方法将大小为 w h w \times h wh的重叠块与模板 templ 进行…

基于python+django+vue的旅游景点数据分析系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

【Canvas与诗词】铁马冰河入梦来

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>金红圈铁马冰河入梦来</title><style type"text/css&q…

【linux经典工具】strace-就十分钟你也能成为性能调优专家

strace 是什么 strace是一款功能强大的 Linux 进程监控和诊断工具。主要作用就是&#xff1a;用于调试程序、解决问题、拦截和记录系统调用以及跟踪正在运行的进程。它能输出了程序如何与系统交互的过程&#xff0c;尤其是在无法获取源代码的情况下&#xff08;那些开源工具、…

召回04 离散特征的处理

推荐系统会将一个id映射成一个向量 Qne-Hot编码 Embedding(嵌入)&#xff1a; 把每个类别映射成一个低维的稠密向量

k均值算法 聚类算法 k-means

首先我们导入科学计算的库 import numpy as np import matplotlib.pyplot as plt直接我们生成一组数据&#xff0c;为了保证每次的数据是一致的&#xff0c;我们设置一个随机种子。 np.random.seed(0) Xnp.random.rand(100,2) print(X) 结果 然后我们就要开始写K-means算…

光控资本:红利税是什么?一万股票的红利税是多少?

盈利税&#xff0c;即股息盈利税&#xff0c;是投资者卖出分红的股票时&#xff0c;需求扣除的税&#xff0c;一般来说&#xff0c;投资者卖出分红股票之后&#xff0c;不会立马扣税&#xff0c;在投资者卖出股票的第2个生意日至31个工作日之间进行补缴。一万股票的盈利税盈利税…

VMware Workstation 17.5安装教程

目录 软件介绍 1、下载安装包 2、安装虚拟机 3、卸载虚拟机 软件介绍 VMware&#xff08;虚拟机&#xff09;是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统&#xff0c;通过它可在一台电脑上同时运行更多的Microsoft Windows、Linux…

LibJPEG库使用_通过LibJPEG将RGB数据保存为JPG图片存储到磁盘

一、前言 LibJPEG库是一个广泛使用的开源C库&#xff0c;用于处理JPEG图像的压缩和解压缩。该库由独立JPEG小组&#xff08;Independent JPEG Group, IJG&#xff09;开发&#xff0c;提供了功能强大的API&#xff0c;用于创建和读取JPEG文件。LibJPEG库支持JPEG的所有常见功能…

哈希——字符串哈希

回顾/本期梗概 上期我们学习了图论基础&#xff08;空降链接&#xff09;&#xff0c;本期我们将学习哈希中的字符串哈希。 1、什么是哈希 哈希算法是&#xff1a;通过哈希函数讲字符串、较大的数等转换为能够用变量表示的或者是直接能作为数组下标的数&#xff0c;通过哈希算法…

基于MT79815G CPE 板子上挂usb3.0的5G 模块,WIFI能跑多少速度呢

关于MT79815G CPE 板子上挂usb3.0的5G 模块&#xff0c;WIFI能跑多少速度的问题&#xff0c;我们以启明智显 ZX7981P智能无线接入型路由器&#xff08;CPE&#xff09;挂广合通5G模组为例说明&#xff1a; 一般来说&#xff0c;用 ZX7981P&#xff0c;通过软加速&#xff0c;U…

专业120+总分400+中国科学技术大学843信号与系统考研经验中科大电子信息通信工程,生物医学工程,苏医工,真题,大纲,参考书。

经过将近一年的复习备考&#xff0c;专业843信号与系统120&#xff0c;总分400&#xff0c;顺利上岸朝思暮想的中科大。总结一些自己的备考经验&#xff0c;希望能给大家一些参考&#xff0c;少走弯路。首先讲一下大家最关注的专业课&#xff1a;843信号与系统 中科大843专业课…

kafka集群架构与原理

前言 这次我们从消息队列开始讨论。生产者-消费者模型中间需要一个消息队列&#xff0c;以存储生产者的产品。对传统的消息队列来说&#xff0c;它支持点对点&#xff08;P2P&#xff09;和发布/订阅&#xff08;Pub/Sub&#xff09;两种消息模型。在点对点模型中&#xff0c;消…

OpenCV_自定义线性滤波(filter2D)应用详解

OpenCV filter2D将图像与内核进行卷积&#xff0c;将任意线性滤波器应用于图像。支持就地操作。当孔径部分位于图像之外时&#xff0c;该函数根据指定的边界模式插值异常像素值。 卷积核本质上是一个固定大小的系数数组&#xff0c;数组中的某个元素被作为锚点&#xff08;一般…