软件工程专业电商网站毕业论文答辩实录(基于SSM+VUE前后端分离的 “依伴汉服”网)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 🍅程序员小王的博客:程序员小王的博客🍅 欢迎点赞 👍 收藏 ⭐留言 📝🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕🍅java自学的学习路线:java自学的学习路线

第一部分:项目简介

依伴汉服网采用最基础的电商模式,运用网页端的形式的面向顾客,采用前后端分离打造高并发访问的汉服商城,主要解决国内知名的汉服品牌目前大部分都依赖第三方购物平台出售汉服(如:淘宝,京东等)。开发依伴汉服商城系统的目的是让这些汉服品牌有专属于自己的网上售货渠道。



第二部分:项目开发的核心技术

目前为止,我已经完成了依伴汉服网的所有开发工作,该项目中使用的核心技术有,


java后端技术:Spring,SpringMVC,Mybatis,Log4j日志,其中SSM这也是企业级java开发中常见的三板斧


前端技术:使用了我们国内大佬尤雨溪开发的vue为主,饿了么团队开发的ElementUI框架,数据可视化图表库Echars,前后端交付使用了Ajax升级版Axios技术


开发工具中java使用了IDEA,他是目前java开发主流的集成工具,mysql数据库客户端使用了navicat,前端开发工具使用了WebStorm,服务器使用Tomcat和node搭载项目


管理工具中整个项目图片文件管理使用了阿里云的OSS实现资源云存储,数据存储使用了两台阿里云搭建的mysql主从部署,jar包管理使用了maven+阿里云仓库,代码管理和维护使用gitHub


第三部分:系统设计

主要介绍了系统的架构设计,数据库设计,系统功能模块设计,ER图设计


系统架构设计:我们主要实现了前后端分离嘛,前端实现了两个前端模块。一个是用户商城,一个是商家管理系统,控制层中实现了为前端提供的各个功能接口、。本系统中业务层主要任务是将控制层和dao层进行对接。dao层将业务逻辑转化为具体的SQL语句并返回数据库中的数据。



数据库设计,我们数据库使用了开源的mysql,共设计了14张数据库表,mysql数据库部署在两台阿里云上,并实现主从部署,让主从服务器实现读写分离,从服务器实现负载均衡,主要作用是如果商城并发访问量高了,主数据库崩了,从数据库当主数据库,保证服务持续运行



系统功能模块设计,依伴汉服网商家后台:包含商品管理模块,商品类别管理,订单管理模块,评价管理,依伴汉服网用户前台: 包含登录注册模块,浏览商品模块,订单管理模块,个人信息模块,购物车模块,具体的功能我们将在后面详细讲解



ER图设计,根据依伴汉服网实际业务流程设计数据库,设计共有商家、商品、订单、系统功能、客户五个实例,本系统参与者包括用户、商家。其中商家和用户是实现业务逻辑的主要对象,具体功能需求我们是按照实际生产中的需要设计


第四部分:项目核心

项目核心我分为七部分分别介绍,分别是注册登录模块,商品管理模块,订单评价管理模块, 商城首页模块,商品购买模块,个人中心模块,订单中心模块



注册登录模块包含商家的登录功能和用户的登录,注册功能,其中商家后台系统只有登录功能,注册需要去数据库注册,为了防止泄露用户隐私,其中商家和用户密码使用MD5+salt 进行加密,防止DBA泄漏密码,此图是用户密码在数据库中的展示形式



商品管理模块,主要负责商品的上架,删除,修改,商品数据统计,今日销售订单,销售总金额,今日已经完成收货订单等数据统计功能实现,其中添加商品图片的功能,我们文件信息是直接存储到阿里云的OSS上防止图片丢失



订单评价管理模块,订单模块,记录用户订单的信息,其中订单中可以查看商品物流信息,商品使用mybatis实现的物理分页,商品评价模块,主要包含商家评价和用户购买商品后评价,使用mysql模糊查询实现搜索相关评价


商城首页模块,用户登录依伴汉服网,就展示商城首页,往下分别为分类导航,分类导航展示一些比较出名的汉服品牌类别,可以点击进入按类别购买汉服,折扣分区,折扣分区实现了秒杀功能,这里的商品主要是折扣比较大的商品展示,汉服专区,我们在商品数据库表中设置id为110就会在汉服专区展示商品信息,配饰专区商品表id为1120就会展示配饰,宝贝分区根据购买量和评价数来展示商品,通过不同的业务来实现商品展示,宝贝分区旁边还有商品精选(也就是广告),一般都是最新商家的商品展示



商品购买模块,可以通过品牌,上市年份和材质等搜索想要的汉服,然后点击商品到购买页面,可以查看商品详情和商品尺寸和商品售后信息,点击购买进行购买商品



个人中心模块,个人中心是用户的个人信息修改,其中有密保,就是如果忘记密码可以通过电话号码和密保重设密码,还有购物车和收藏夹是自己想买的商品,掌柜热卖是在自己购物车模块下面展示的,主要是一些销售量高的商品



订单中心,我们购买商品之后,提交订单然后选择支付方式,手机扫码,然后提醒付款成功,可以点击查看订单,然后查看物流信息等,商品到了之后点击收货也可以评论商品等,还可以投诉商家



第五模块总结与展望

在半年的依伴汉服网开发设计中,我通过搜集信息,对多家汉服品牌调研,已经完成了依伴汉服网 的开发工作,后期我将重点开发微信小程序,微信公众号,将汉服爱好者转化为自己的私域流量,提升用户复购率,运用微信、浏览器、网页端、自媒体的形式的面向顾客打造线上线下资源一体化,实现多点与商超构建的全新汉服零售业态并做成成熟的汉服市场



致谢

这就是我整个毕业设计基于SSM+VUE前后端分离的“依伴汉服”网的详细介绍,能顺利的完成整个毕业我最应该感谢的是我的毕设指导老师张波老师,因为大一的时候我参加过三创赛,当时的项目是打的校园电商项目,我提出自媒体+电商+校内仓库的概念,当时那个项目也是张波老师指导我的,我本来想的是毕业设计也是以校园电商为主,但是和张波老师商量后,张老师告诉我国民品牌的独立商城会成为目前电子商务的发展趋势,从而经过多次商量选定汉服为此次毕设的主题,通过此次毕业设计我也知道了会技术,会开发的人很多,但是我们不能光做一个在产品经理驱动下开发的程序员,原来的我在企业实习中我们的架构师给我说什么我就做什么,只要验收通过,那么我就觉得任务就算圆满完成了。我也不关心项目需求背景,不关心需求项目的价值,也不关心项目背后业务逻辑,此次毕业设计经过张波老师的帮助,我在依伴汉服网开发过程中真正明白了怎么样才能成为一合格的软件工程专业的本科毕业生,我们不仅需要有开发项目的能力,更需要思考自己开发的产品怎么样才能实现他的商业价值,社会价值。


最后感谢今天的评委老师,感谢您们在百忙之中抽出宝贵的时间来参与我的毕业答辩。请各位老师对我的论文批评指正




老师问题:并发访问量有多高?

假如负载均衡层使用的是高性能的Nginx,则我们可以预估Nginx最大的并发度为:10W+,这里是以万为单位。


假设应用层我们使用的是Tomcat,而Tomcat的最大并发度可以预估为1W+左右,这里是以百为单位。


假设持久层的缓存使用的是Redis,数据库使用的是MySQL,MySQL的最大并发度可以预估为1W+左右,以千为单位。Redis的最大并发度可以预估为5W左右,以万为单位。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16小时前
|
JavaScript
VUE里的find与filter使用与区别
VUE里的find与filter使用与区别
18 0
|
16小时前
|
JavaScript
vue页面加载时同时请求两个接口
vue页面加载时同时请求两个接口
|
16小时前
|
JavaScript
vue里样式不起作用的方法,可以通过deep穿透的方式
vue里样式不起作用的方法,可以通过deep穿透的方式
14 0
|
16小时前
|
移动开发 JavaScript 应用服务中间件
vue打包部署问题
Vue项目`vue.config.js`中,`publicPath`设定为"/h5/party/pc/",在线环境基于打包后的`dist`目录,而非Linux的`/root`。Nginx代理配置位于`/usr/local/nginx/nginx-1.13.7/conf`,包含两个相关配置图。
vue打包部署问题
|
16小时前
|
JavaScript 前端开发
iconfont 图标在vue里的使用
iconfont 图标在vue里的使用
17 0
|
16小时前
|
存储 JavaScript
Vue当前时间与接口返回时间的判断
Vue当前时间与接口返回时间的判断
14 0
|
16小时前
|
JavaScript 前端开发
Vue生成Canvas二维码
Vue生成Canvas二维码
12 0
|
16小时前
|
JavaScript 前端开发 开发者
new Vue() 发生了什么
new Vue() 发生了什么
11 1
|
16小时前
|
JavaScript
vue打印v-model 的值
vue打印v-model 的值
|
16小时前
|
JavaScript
Vue实战-组件通信
Vue实战-组件通信
7 0