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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 🍅程序员小王的博客:程序员小王的博客🍅 欢迎点赞 👍 收藏 ⭐留言 📝🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕🍅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左右,以万为单位。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
5天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
5天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
5天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
5天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
4天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
6天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
|
4天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
|
6天前
|
存储 JavaScript
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
|
11天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发