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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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
相关文章
|
7天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
9天前
|
JavaScript
Vue 指令速查表
【10月更文挑战第12天】Vue 指令速查表
|
7天前
|
缓存 JavaScript 搜索推荐
Vue SSR(服务端渲染)预渲染的工作原理
【10月更文挑战第23天】Vue SSR 预渲染通过一系列复杂的步骤和机制,实现了在服务器端生成静态 HTML 页面的目标。它为提升 Vue 应用的性能、SEO 效果以及用户体验提供了有力的支持。随着技术的不断发展,Vue SSR 预渲染技术也将不断完善和创新,以适应不断变化的互联网环境和用户需求。
27 9
|
6天前
|
缓存 JavaScript UED
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
|
5天前
|
JavaScript
如何在 Vue 中使用具名插槽
【10月更文挑战第25天】通过使用具名插槽,你可以更好地组织和定制组件的模板结构,使组件更具灵活性和可复用性。同时,具名插槽也有助于提高代码的可读性和可维护性。
13 2
|
5天前
|
JavaScript
Vue 中的插槽
【10月更文挑战第25天】插槽的使用可以大大提高组件的复用性和灵活性,使你能够根据具体需求在组件中插入不同的内容,同时保持组件的结构和样式的一致性。
11 2
|
5天前
|
前端开发 JavaScript 容器
在 vite+vue 中使用@originjs/vite-plugin-federation 模块联邦
【10月更文挑战第25天】模块联邦是一种强大的技术,它允许将不同的微前端模块组合在一起,形成一个统一的应用。在 vite+vue 项目中,使用@originjs/vite-plugin-federation 模块联邦可以实现高效的模块共享和组合。通过本文的介绍,相信你已经了解了如何在 vite+vue 项目中使用@originjs/vite-plugin-federation 模块联邦,包括安装、配置和使用等方面。在实际开发中,你可以根据自己的需求和项目的特点,灵活地使用模块联邦,提高项目的可维护性和扩展性。
|
6天前
|
JavaScript 前端开发 UED
vue 提高 tree shaking 的效果
【10月更文挑战第23天】提高 Vue 中 Tree shaking 的效果需要综合考虑多个因素,包括模块的导出和引用方式、打包工具配置、代码结构等。通过不断地优化和调整,可以最大限度地发挥 Tree shaking 的优势,为 Vue 项目带来更好的性能和用户体验。
|
10天前
|
JavaScript 前端开发 开发者
Vue 的优缺点
【10月更文挑战第16天】Vue 具有众多优点,使其成为前端开发中备受青睐的框架之一。尽管它也存在一些局限性,但通过合理的应用和技术选型,这些问题可以得到一定程度的解决。在实际项目中,开发者可以根据项目的需求和特点,权衡 Vue 的优缺点,选择最适合的技术方案。同时,随着 Vue 不断的发展和完善,相信它将在前端开发领域继续发挥重要作用。
18 6
|
10天前
|
JavaScript 前端开发 编译器
在 Vue 项目中使用 ES 模块格式的优点
【10月更文挑战第20天】在 Vue 项目中使用 ES 模块格式具有众多优点,这些优点共同作用,使得项目能够更高效、更可靠地开发和运行。当然,在实际应用中,还需要根据项目的具体情况和需求进行合理的选择和配置。
20 6