前言
关于架构, 第一步是需求分析, 第二步是系统的概要设计
需求分析
关乎用户需求的梳理、产品的清晰定义、可能演变的方向
最终的目标和最终的结果, 都是要形成清晰的产品定义.产品定义将明确产品的元素,明确产品的边界, 与产业上下游、合作伙伴的分工
需求分析阶段, 关注用户需求的精确表述. 会引入角色, 也就是系统的各类参与方, 以及角色间的交互方式, 也就是用户故事
概要设计
一般以子系统为维度, 阐述系统各个角色之间的关系. 对于关键的子系统还会进一步分解它, 核心意图是整个系统如何有效地串联起来
详细设计
关注的是子系统或模块的全貌
包括:
- 现状与需求
- 现在在哪里, 遇到了什么问题, 要如何改进
- 需求满足方式:
- 要做成啥样? 交付物的规格, 或者说使用界面(接口).
- 怎么做到? 交付物的实现原理.
现状与需求
关注要解决的问题与目标 需求陈述是对痛点和改进方向的一次共识确认
使用界面(接口)
使用界面这一部分要详细写,它是团队共识确认的关键。
实现: 数据结构 + 算法
程序 = 数据结构 + 算法
数据结构
存储即数据结构。所以,服务端程序在数据结构这一点上,最为重要的一件事是选择合适的存储中间件。然后我们再在该存储中间件之上组织我们的数据。
算法
指的是用户故事背后的实现机制。
指的是用户故事背后的实现机制。
此文章为3月Day1学习笔记, 内容来源于极客时间《许式伟的架构课》, 强烈推荐该课