一线架构师实践指南---总结

系统架构 --- 架构分割

高层分割

传统的“架构=模块+接口”忽略了多视图和概念架构设计两点。多视图指的是软件系统的架构设计还可能涉及开发视图、运行试图、物理视图、数据视图等多方面的考虑。而对于规模稍大的系统,必须根据重大风险(包含功能、质量、约束)进行有针对性的进行概念架构设计。

高层分割的两种实践套路:

一、切系统为系统:进行两级高层切分,一步步将大系统切分更小一级的系统,最后对更小一级的系统进行切分为子系统

实践中需考虑到“切系统为系统”:①当系统覆盖的功能范围比较广泛时;例如BOSS系统涵盖网络管理、服务开通、计费、客户关系管理等众多的功能②当系统须要部署在比较复杂的硬件环境中时;例如一卡通系统要保障其复杂功能,要支持考勤机、通道机、自助查询机、PC机等多种类硬件

     借助鲁棒图能够初步识别功能背后的职责,就可以规划高层切分的具体方式

二、切系统为子系统:最常见的方式就是分层

经典的4层架构方式

 

 

 

 

3+1种”流派

Layer:逻辑层:重视职责的划分,职责之间常常是上层使用下层的关系

Tier:物理层:指的是“能分布”在不同机器上的软件单元,不同物理层之间必须有跨机器访问的能力---可以通过远程调用、通信协议等方式

逻辑层     ---> 物理层   --->  一台计算机

③按通用性分层:将通用性不同的部分划归不同的层,以此作系统的总体切分方式

④技术堆叠:基于分层架构提供的进一步说明

 

要趁早考虑非功能目标

重大需求塑造概念架构,“重大需求”应该涵盖功能、质量、约束三类需求中的关键部分

通过写 目标-场景-决策表可以理性的应对非功能需求

 

 

 

 

 

细化架构

细化架构和概念架构之间的的典型差异

  1. 接口:在细化架构中,接口占据非常核心的地位,在概念架构并不关心明确的接口定义
  2. 子系统:细化架构重视通过子系统和模块来分割整个系统,并且子系统有明确的接口,而概念架构中只有抽象的组件,这些组件没有接口只有职责。
  3. 交互机制:细化架构中的交互机制是具体实在的;例如基于接口编程。概念架构中的交互机制是概念化的;例如A层使用B层的服务。

多视图

 

 

 

 

 

架构师仅进行到概念架构层面对开发是远远不够的。RA阶段是架构设计的两个层次,“概念级”和“规约级”解决方案

多视图实际意义:1.利于思考,采用分而治之的思维方式  2.便于交流

 

posted @ 2020-04-09 22:02  HHHarden13  阅读(207)  评论(0编辑  收藏  举报