《一线架构师》阅读笔记
今天我阅读了一线架构师实践指南这本书,书中结合实例对案例进行讲解,一点点的讲解着架构的核心方法,以及实现的步骤。
首先来说软件的第一步,软件的开发都是由需求驱动的。书中的话概括就是“需求进,架构出”,架构设计不管何时都是围绕需求展开的。任何的软件开发工作的进行都必须按照需求进行,在开始设计时必须要认真的进行分析需求,需求 = 功能 + 质量 + 约束。
有了需求的驱动,就可以进行架构的设计了。书中将架构的设计分为了三个阶段。
- 预备架构阶段(在此阶段最大的误区就是,架构师是技术人员,不必懂需求,需求分析只要交给需求分析师即可。如果是这种思维就会出现架构与需求严重的脱节,对于一个系统的架构师来说要掌握全局的,他要对所有技术问题负责,所以他必须要熟悉系统的需求,虽然不必参加需求的制定,但是对于软件实际的需求必须是胸有成竹的,这就要摒弃“需求列表”方式,建立二维需求观,需要明确用户需求、系统需求、业务需求以及其对应的质量属性以及约束)
- 概念架构(在此最大的误区就是概念架构 = 理想的设计,用架构漫谈中所说的概念架构就是对整个系统进行划分的第一步,将一个大的系统划分为若干个子系统,进行大的框架的设计,他其实就是将需求划分为了不同的场景,必须明确的考虑,包括功能、质量、约束的各个方面)
- 细化架构(在此阶段最大的误区就是架构 = 模块 + 接口 架构的细化并不是一步的实现,这就是一直强调的要进行划分,要将较大的问题划分为更多的小问题,让每一个问题都有着针对性,而模块接口只是其具体的实现方法,在大型系统的架构分析中必须对架构进行详细的划分,可以用到包图、接口图等进行架构的细化,不能直接想着一步到位直接细化到模块接口层面)