《系统架构设计》-02-架构师的视图和视角

1. 架构师的视图

在这里插入图片描述

1.1 上下文视图

1.1.1 概念

上下文视图总结我们所设计的架构背后究竟是怎么样的一个系统,包括系统本身、外部实体和相关接口。

1.1.2 示例

在这里插入图片描述

1.2 功能视图

1.2.1概述

描述系统运行时功能元素及其职责、接口和交互关系。

功能视图和上下文视图有一定的重合之处,但功能视图脱离环境,描述的是系统组件定义及各个组件之间的交互关系而不是业务场景分析.

1.2.2 示例

在这里插入图片描述

1.3 数据视图

1.3.1 概念

数据视图描述系统存储、操作、管理和分发数据的方式,是系统中核心业务数据的一种载体和表现形式。

1.3.2 数据视图对数据的处理

数据视图对数据的处理包括几个主要方面:

  • 数据结构。

数据结构作为表示数据的元数据,是系统内部最核心的数据模型。

  • 数据标识符和映射关系

为了能够在系统内部各模块及与外部系统之间进行有效交互和集成

  • 数据存储模型

1.3.3 数据架构建模

  • 静态数据建模(UML类图)
  • 数据流建模(UML流程图)
  • 数据状态建模(UML状态图)

1.3.4 示例

  • 移动医疗行业中“病人”这一数据载体所展现的类图
    在这里插入图片描述

  • 围绕电商行业“订单”之一概念所做的数据状态图
    在这里插入图片描述

1.4 开发视图

架构设计中面向技术的核心视图

1.4.1 示例

下图是一个 涉及用户和商品管理的电商系统中所展示出来的模块结构图,采用了UML中的包图作为特定展示媒介。
在这里插入图片描述

1.5 部署视图

1.5.1 概念

部署视图描述系统部署的环境及系统与其中元素的依赖关系。

  • 架构设计的结果约束系统部署
  • 系统部署放过来影响设计架构方案

3.5.2 示例

在这里插入图片描述

2. 架构师视角

2.1 安全性视角

2.1.1 安全性要求

安全性体现的是控制、监控和审计对资源的访问性和执行能力,以及从安全漏洞中恢复的能力。

2.1.2 安全性设计方案

就是根据不同的访问主体对不同的资源进行精细化控制。包含建立完善的用户权限管理系统并提供相应安全策略。

  • 资源(Resource):需要进行安全性控制的内容
  • 访问主体(Subject): 能访问资源的人或系统称为

找到安全性切入点,架构设计上就可以对症下药。对用户进行身份认证(Authentication)、授权(Authorization)访问、通过加密解密等确保信息保密性和完整性、提供类似单点登录(Single Sign On,SSO)的安全性管理平台、使用第三方安全性基础框架等都是安全性架构设计的常见手段。

2.2 性能视角

2.2.1 性能要求

系统在其指定的性能状况下、预期增长中的处理能力。如:

  • 核心功能响应时间
  • 系统吞吐量
  • 部署架构的可伸缩性
  • 性能问题的可预测性
  • 峰值负载

2.3.2 性能问题的设计方案

  • 对核心业务链路和活动进行分解并把串行操作转变成并行化流程
  • 对需要重复执行的处理过程进行优化
  • 重用资源和结果
  • 使用异步处理
  • 放松事务一致性
  • 转换数据强一致性为弱一致性
  • 把握一定的平衡性,避免为了提升性能而提升性能。

2.3 可用性视角

2.3.1 可用性要求

系统在需要时能够完整地提供服务,并有效处理影响系统可用性故障的能力。

2.3.2 可用性的设计方案

  • 规划和实现:如系统升级、停机和维修时间、系统备份、灾难恢复等。
  • 架构设计策略:使用容错硬件和容错软件、确保采用主流的集群和负载均衡机制、加强日志管理和分析、采用组件复制策略、建立完整的备份和灾难恢复解决方案。

2.4 可扩展性视角

2.4.1 可扩展性要求

系统在经历不可避免地变更时足够灵活。

  • 可扩展性:针对业务的扩展
  • 可伸缩性:针对性能的扩展

2.4.2 重要程度

  • 信息化系统而言就有最高的重要性
  • 面向服务和中间件系统具有最低的重要性
  • 互联网应用而言,其重要性视具体系统而定。

2.4.3 切入点

把部分业务在进入开发流程之前进行梳理,以避免不需要变化的引入。

3. 视图、视角

3.1 视图和视角的关系

安全性性能可用性可扩展性
上下文视图
功能视图关系不大密切
数据视图关系不大密切
开发视图关系不大密切
部署视图影响巨大影响巨大影响巨大

3.2 视图视角到架构描述

架构视图和架构视角垂直构成完整架构描述。

我们可以在明确架构视图的前提下,往各个架构视图中添加架构视角,使视图和视角在完成各自目标的同时能够紧密整合。

下图展示视图视角与系统工程之间的关系。

视图关联视角,两者构成了架构描述的一部分;同时视图从业务需求角度,视角从质量需求角度解决了干系人所提出的各种关注点。这些关注点实际上就是需要架构师去捕获的架构设计的输入。

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄德公笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值