一线架构师阅读笔记(二)
一线架构师讲,架构要分阶段,而后分视图:把握需求特点,确定架构驱动力
(预备架构)
- 采用 二维需求观 来定出需求特定和非功能性需求优先级、取舍
- 根据重大需求,确定概念架构(概念架构)
- 细化架构设计,关注不同视图(4+1视图)
- 逻辑视图
- 开发视图
- 运行视图
- 数据视图
- 物理视图
- *贯穿如上3过程的有*对非功能目标的考虑
关注约束,要乘早。
架构设计,除了关注架构本身外,还关注到人,比如,划分子系统原则中,有如下:
- 职责分离原则
- 通用专用分离原则
- 技能分离原则(关注到了人)
- 工作量均衡原则(关注到了人)
预备架构关注质量因素和相互冲突关系,需要谨慎做出权衡。
质量点:
- 持续可用性
- 性能
- 可扩展性
- 安全性
- 可互操作性
- 可维护性
- 可移植性
- 可靠性
- 可重用性
- 鲁棒性
- 可测试性
- 易用性
共同决定架构的因素有:
- 功能需求
- 质量属性
- 约束(4大类约束)
- 业务环境
- 使用环境
- 构建环境
- 技术环境
预备架构,需要:
- 建立需求理解的大局观
- 关键需求决定架构
- 其余需求验证架构
还需要:
- 分析业务需求和约束背后的衍生需求
- 发现遗漏需求
- 确定关键功能
- 确定关键质量
- 权衡质量属性之间的矛盾关系