《一线架构师实践指南》------PA小谈
预备阶段(PA阶段)是架构设计最前期的阶段。也是架构中最基础重要的阶段。任何一个软件都有不同的需求,而PA阶段就是理解这些需求并且将其用计算机专业的知识转换出设计人员所明确的目标。只有理解了需求,才能知道设计方向,进而确定架构设计方法与方向。书中用一个非常简单的例子强调了PA阶段的重要性。‘磨刀不误砍柴工’。而PA就是磨刀,后面就是砍柴工,这非常地形象。
书中列举了非常多形象的实际例子。简单阐述了PA阶段的重要。一个软件是步步为营的结果。没一步都关系到后面的成果。所以我们在动手之前需要理解整个需求,看到整个软件的大局观。精简的概括就是需求可分为三个方面:业务级需求,用户级需求,开发级需求。理解需求的同时我们还需要降低架构失败风险。怎样才能降低风险呢,在整个文章中贯彻的思想就是使用ADMEMS矩阵方法,这个方法可以从业务,用户,开发。功能,质量,约束不同的方向对架构进行完善。避免架构遗漏造成的后续功能不符合需求的问题。
如何才能开始设计架构呢。需要满足三个标准,有明确的业务需求,了解全面的用户需求,有典型的行为需求。这其实就是需要满足ADMEMS矩阵。有了全面的需求分析目标,就能针对该目标进行架构。而架构设计也是有要求的。我们架构的目标需要--最大化重用,尽可能简单明了,最灵活的扩展性。
后续对于该阶段的实践也进行了很详细的讲解,对于ADMEMS矩阵进行举例讲解,看到实际例子就更能理解该阶段的意义以及工作方法。主要步骤就是:对不同角度进行需求分析,设计ADMEMS矩阵更加简单明了。分析约束,确定关键质量,确定关键功能。
而每个步骤都有每个步骤的规则,我最为感触的就是关键质量和关键功能。确定关键功能从5个不同的角度分析问题。基本包括了如何确定一个关键质量的所有方面。确定关键功能则从核心功能,必做功能,高风险功能,独特功能4个方面阐述了一个软件的功能划分。突出要点。