毕业设计是每个大学生的困扰,让毕设绝技带你走出低谷迎来希望!
基于 SpringCloud 的在线交易平台商城的设计与实现
一、VUE 简介
- Vue.js 是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库而开发的复杂单页应用。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
- Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。
二、结构化查询语言(Structured Query Language)
- 结构化查询语言(Structured Query Language)即 SQL,是一种标准的关系型数据库查询语言。SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。按照 ANSI(美国国家标准协会)的规定,SQL 被作为关系型数据库管理系统的标准语言。SQL 语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如 Oracle, Sybase, Microsoft SQL Server, Access 等都采用了 SQL语言标准。虽然很多数据库都对 SQL 语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
- SQL 为许多任务提供了命令,包括:
1.查询数据
2.在表中插入、修改和删除记录
3.建立、修改和删除数据对象
4.控制对数据和数据对象的存取
5.保证数据库一致性和完整性
三、 系统基本功能描述
- 本系统的主要用途是供企业进行线上商品交易处理,用户分为后台管理员以及前台买家消费者。
- 本系统为管理者提供了方便统一的管理功能,包括:商品分类管理,品牌管理,商品规格参数管理,商品增删改查,以及商品的上下架管理等。用户可以实现的功能有,登录注册,商品搜索,搜索自动提示,加入购物车,下单,结算,支付等。
四、可行性分析
(1)技术可行性:本系统的配置在这种中小规模的情况下能够提供较快的数据访问,技术上可行。
(2)经济可行性:系统的配置,不需要昂贵的服务器,大部分软件都是可以免费获得,开发成本低。
(3)操作可行性:访问本系统后台的主要是企业的管理员。不需要太复杂的操作,只需通过界面提示的信息直接录入信息或者查询,修改,删除信息即可实现系统的完整、稳定的运行,不会造成系统的巨大压力,不需要太高的技术支持。前台系统对应的操作虽然会有高并发风险,但是我们对应的后台系统可以做异步,缓存及集群等优化部署,可以全方位保证系统安全可靠执行。
五、 系统需求分析
- 通过对系统需求进行分析,我们可以确定系统中有两类用户:商家和消费者。两类用户的具体描述如下几大块。
商家功能
- 管理商品分类,商品品牌,商品规格参数,商品的上下架,以及商品的增删改查,一键导入数据库的数据到索引库。
消费者功能:
- 实现商品搜索,登录注册,搜索智能提示 ,商品加入购物车,从购物车下单,下单后基于订单的支付。
商家后台管理功能:
- 商品分类管理:管理员在后台系统负责处理整个商城所售卖的商品分类信息,可以实现增删改查,如果当前分类下有商品则分类信息不允许删除。
- 商品品牌管理:管理员在后台系统负责处理整个商城所售卖的商品品牌信息,品牌需要和分类进行对应,可以实现增删改查,如果当前品牌下有商品,品牌不允许删除。
- 商品规格参数管理:管理员针对分类进行对应的商品信息规格进行增删改查,只要当前分类下有商品,规格参数不允许删除。
- 商品管理:管理员在商品系统对商品进行添加处理,上下架,修改,删除,查询。
- 索引库更新:当商品上下架以及新增后,搜索系统会跟随商品系统的商品变化而变化。
- 静态页缓存更新:使用 canal 监听数据库实现数据库表数据变更,对应缓存数据更新。
消费者购物功能:
- 用户登录注册:用户可以在系统中先注册再登录实现,注册需要用户名以及手机号唯一,注册时使用发短信验证码方式证验手机号是否真实有效。
- 用户搜索提示:当用户搜索时,不需要全部输入搜索内容,会根据现有搜索内容自动补全
- 用户实时搜索:当用户键入搜索信息时,会立即响应搜索,并进行高亮,用户可以对搜索结果进行排序,排序条件有上架时间,销量,以及价格等。
- 用户购物车:客户对感兴趣的商品可以加入购物车处理,并可以修改数量,以及删除。
- 用户下单处理:用户可以筛选购物车中的某个,或者所有商品进行下单处理,后台会生成订单并产生唯一的订单编号,生成订单同时对应会减库存。
- 用户支付:支付模块采用微信等第三方支付方式,采用二维码扫描方式识别,校验并完成付款操作。
- 支付回调:支付完成后,微信自动请求系统进行订单状态修改,从未支付改为已支付,为后续发货等操作做准备。
系统运行环境
1.浏览器版本:Google Chrome 45 或以上。
2.分辨率:最佳效果 1920*1080 像素。
3.操作系统:Windows8,Windows10
4.服务器:Tomcat 8.5 或以上
5.数据库:Mysql 5.7 或以上
6.CPU:Intel G5950 3.5GHz
7.内存:8G 以上
系统开发工具
- 跟随 Java Web 开发主流,乐优商城设计与实现使用了 SpringCloud 微服务框架进行开发,使用的工具主要有 Intellij IDEA,Mysql,Maven,Docker等。
IntellijIDEA
- IDEA 是一个被广泛使用的、基于 Java 的可扩展开发平台。IDEA 不仅可以当作 Java 集成开发环境来使用,还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 IDEA 的软件开发人员,因为它允许他们构建与 IDEA 环境无缝集成的工具。商城设计与实现开发中,正是使用了 IDEA 的这一特点,集成了VUE,Maven,做 Web 开发,方便快捷。
Mysql
- Mysql 是一个基于关系型数据库模型建立的数据库管理系统软件(DBMS)。它帮助用户方使地得到所需信息,并提供强大的数据处理工具。它可以帮助用户组织和共享数据库信息,以便于根据数据库信息作出有效的决策。另外,仅有这样—个数据库管理系统软件(DBMS),则只能进行一些信息系统所需要的简单数据处理,且对操作者有较高的操作技能要求。因此,信息系统的开发者都是在某种数据库管理系统软件〔DBMS〕环境下编写相应的应川程序,以形成一个能够满足应用需求操作尽可能简单的应用型信息系统,这被称之为二次开发。
Maven
- Maven 翻译为“专家”、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
Docker
- Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的app),更重要的是容器性能开销极低。Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
六、系统架构设计
- 系统架构设计在系统的开发中扮演着重要作用,它是对系统的整体规划和系统开发的前提,为整个开发过程服务。优秀的架构设计不但能够提高开发效率,缩短开发周期,而且可以降低后期维护成本。由于该电商平台上线之后,可能会面临海量的并发访问,所以需要把系统结构设计成面向服务的分布式系统,分布式系统能够保证在高并发情况下系统依然能稳定运行