开发者学堂课程【Java Spring Boot 2.6.0开发实战-1024程序员节创造营公益课:电商网站需求分析和架构设计(一)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/903/detail/14337
电商网站需求分析和架构设计(一)
目录:
一、需求分析
二、结构设计
三、电商系统模块架构图
四、三层架构(前后端分离)
五、创建第一个 springboot 项目
课程介绍
Springboot2.6 入门将主要从项目的角度进行切入,帮助大家更好的理解Springboot 这个框架。
在工作中就可以理解到学习的理论知识,并不是都能够与实际项目做到一一配对的,有可能就只用到了一两个功能,例如,今后来到了今日头条,京东,淘宝,阿里等一些大厂,你负责的项目可能就是其中的一个功能点,当你重复去使用某一个框架的主要的某些特性,比如使用 Java Springboot 时,我们可能就只负责开发一个功能接口,很难做到将所有的功能都用上。
我们在学习该门课程时也会注重一个侧重点的学习。如果学员们想学习后端的其他的一些周边知识,也可以观看其他的一些视频录像,如 MySQL,微服务架构。
课程背景:
Springboot 是目前应用的比较广的一种框架,java 语言也是当今应用比较广泛的一种编程语言。
当下,企业的应用开发模式主要是前后端分离,比如像阿里,腾讯等一些大厂采取的也都是这种开发模式,并且,在开发的过程中分了很多个团队,其目的是分摊风险,保证项目的正常运行,不会因为某一个成员的流失而导致整个项目被停掉。
一般来讲,创业公司与小公司更倾向于全栈型开发工程师,与之相反的是大公司的开发模式,大公司可能就只需要一颗螺丝钉,只需要你会其中的某个方面即可,分工明确。
两种方式,各有利弊,但是我们作为学习者的话,还是要完整的去了解一下,去寻找适合自己的开发模式。
目前,一些比较著名的电商都是前后端分离的,如淘宝,京东,拼多多等等。
大部分的公司都会被市场淘汰,一个公司从创业初期到最后能够上市的更是少之又少,几乎是万里挑一的存在,如现在的淘宝,京东,拼多多,且他们的服务器数量是非常多的,淘宝更是准备了十万台服务器来应对双十一。
一、需求分析
产品原型:淘宝+支付宝+微信+微博
电商网站平台架构
需求分析包括以下几个部分:
Ø 用户需求文档
Ø 产品原型,UI 界面
Ø 用例 Use Case
Ø 流程图
开发流程:
我们的角色主要是后台开发,还有一个角色是前端开发,包括我们常说的IOS开发,安卓开发,后端包括数据库以及数据库接口,与我们进行交互去实现用户的登录,注册,下单都是属于我们电商中常用的场景。
使用 springboot 进行开发定义的是后端开发工程师。
往上分还可以分为数据库工程师,大数据架构师,还有一个角色便是项目经理,主要负责整个项目能够按时交付。
架构师在了解完整个屏幕需求之后,要考虑需要使用什么架构,当然,一些小公司没有架构师。
二、架构设计
架构设计包括以下几个部分:
架构示意如下所示:
Ø 技术选型
Ø 架构设计
Ø 三层架构
Ø 微服务架构
Ø 系统模块图
Ø 物理部署图
开发模式:
曾经是由产品经理(也就是老板)告诉相关的技术人员,由其技术人员去完成功能开发。
这种模式大部分已经被淘汰,我们作为技术开发人员,就必须将架构学好。
微服务架构主要应用于对技术架构比较敏感的互联网公司。如阿里应用的 mysql 数据库到双十一中去,为后来的互联网公司提供了一个很好的案例。