当前位置: 首页 > news >正文

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 用户用例图

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBoot 结合 SpringSecurity 对于用户 登陆 和 登出 的设计思考
  • GPIO与MIO控制LED——ZYNQ学习笔记2
  • 计算机视觉方面的一些模块
  • 可靠传输是什么?是基于UDP实现的吗
  • 根据[国家统计局最新行政区规划]数据库代码
  • 【Redis】Redis 缓存设计:抗住百万并发量的最佳实践
  • oracle 11g写一个判断是否是身份证的函数,函数名称为:FUN_IS_IDENNO
  • C++二叉搜索树学习
  • MySQL篇(存储引擎)(持续更新迭代)
  • HTTP请求与响应相关知识点解读
  • Image matting入门
  • Android14请求动态申请存储权限
  • 双路创新深度学习!TCN-Transformer+LSTM多变量时间序列预测(Matlab)
  • 【学术会议:中国杭州,机器学习和计算机应用面临的新的挑战问题和研究方向】第五届机器学习与计算机应用国际学术会议(ICMLCA 2024)
  • go 读取excel
  • @angular/forms 源码解析之双向绑定
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • CSS相对定位
  • ES6之路之模块详解
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • JSDuck 与 AngularJS 融合技巧
  • node 版本过低
  • oschina
  • ReactNative开发常用的三方模块
  • Redux 中间件分析
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 用jquery写贪吃蛇
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​插件化DPI在商用WIFI中的价值
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • #100天计划# 2013年9月29日
  • #etcd#安装时出错
  • #QT(一种朴素的计算器实现方法)
  • #控制台大学课堂点名问题_课堂随机点名
  • $(function(){})与(function($){....})(jQuery)的区别
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (LeetCode C++)盛最多水的容器
  • (分布式缓存)Redis持久化
  • (南京观海微电子)——COF介绍
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)详解PHP处理密码的几种方式
  • (状压dp)uva 10817 Headmaster's Headache
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net 程序发生了一个不可捕获的异常
  • .net访问oracle数据库性能问题
  • .NET框架
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @RequestMapping用法详解
  • @RunWith注解作用
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——