架构师成长日记 - 01 4+1视图模型

简介: 架构师成长日记 - 01 4+1视图模型

@[toc]

在这里插入图片描述


什么是软件架构

软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

在这里插入图片描述
核心点是: 相关方(使用系统的人,汇报的人)


什么是架构师?

架构师是做架构设计、对系统架构负责的那个人。

架构师是一顶帽子,而不是一把椅子;架构师是一个角色而不是一个职位。

在这里插入图片描述


架构师的主要能力

  • 编程能力
  • 基础技术掌握能力
  • 常用技术产品的理解与应用能力
  • 性能优化与分析故障的能力
  • 常用架构模式和框架的理解与应用能力
  • 建模以及设计文档的方法和能力
  • 业务理解与功能模块及非功能模块拆解能力
  • 快速学习能力
  • 沟通与领导能力

4+1视图模型

软件开发的本质是什么?如何进行软件架构设计?

软件架构={元素,形式,关系/约束}

单—的视图无法完整的表达架构,因此需要具备完整的视图集。

  • 逻辑视图(Logical View),设计的对象模型。
  • 过程视图(Process View),捕捉设计的并发和同步特征
  • 物理视图(Physical View),描述了软件到硬件的映射,反映了部署特性。
  • 开发视图(Development View),描述了在开发环境中软件的静态组织结构。
  • 场景视图(scenarios),描述用例场景。

在这里插入图片描述


逻辑视图(Logical View)

  • 相关方:客户,用户,开发组织管理者。
  • 视角:系统的功能元素,以及它们接口,职责,交互。
  • 主要元素:系统,子系统,功能模块,子功能模块,接口。
  • 用途:开发组织划分,成本进度的评估。

在这里插入图片描述


开发视图(Development View)

  • 相关者:开发相关人员,测试人员。
  • 视角:系统如何开发实现。
  • 主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,系统平台和相关基础框架。
  • 用途:指导开发组织设计和开发实现。

物理视图(Physical View)

  • 相关者:系统集成商,系统运维人员。
  • 视角:系统逻辑组件到物理节点的物理部署和节点之间的物理网络配置。
  • 主要元素:物理节点以及节点的通信。

在这里插入图片描述


过程视图(Process View)

  • 相关者:性能优化,开发相关人员。
  • 视角:系统运行时线程,进程的情况。
  • 主要元素:系统进程,线程以及处理队列等。

在这里插入图片描述


场景视图(scenarios)

  • 相关者:用户,设计和开发人员
  • 视角:概括了架构上最重要的场景(最典型或者最有风险)及其非功能性需求,通过这

些场景的实现,阐明了架构的广度或众多架构元素运行的方式。

在这里插入图片描述

---------------

相关文章
|
1月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
82 0
|
9天前
|
机器学习/深度学习 自然语言处理 C++
TSMamba:基于Mamba架构的高效时间序列预测基础模型
TSMamba通过其创新的架构设计和训练策略,成功解决了传统时间序列预测模型面临的多个关键问题。
32 4
TSMamba:基于Mamba架构的高效时间序列预测基础模型
|
1月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
68 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
2月前
|
机器学习/深度学习
ACM MM24:复旦提出首个基于扩散模型的视频非限制性对抗攻击框架,主流CNN和ViT架构都防不住它
【9月更文挑战第23天】复旦大学研究团队提出了ReToMe-VA,一种基于扩散模型的视频非限制性对抗攻击框架,通过时间步长对抗性潜在优化(TALO)与递归令牌合并(ReToMe)策略,实现了高转移性且难以察觉的对抗性视频生成。TALO优化去噪步骤扰动,提升空间难以察觉性及计算效率;ReToMe则确保时间一致性,增强帧间交互。实验表明,ReToMe-VA在攻击转移性上超越现有方法,但面临计算成本高、实时应用受限及隐私安全等挑战。[论文链接](http://arxiv.org/abs/2408.05479)
72 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
|
2月前
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
94 4
|
2月前
|
分布式计算 负载均衡 监控
p2p网络架构模型
P2P(Peer-to-Peer)模式是一种网络架构模型,在这种模型中,每个节点(peer)既是服务的提供者也是服务的消费者。这意味着每个参与的节点都可以直接与其他节点通信,并且可以相互提供资源和服务,例如文件共享、流媒体传输等。
81 6
|
2月前
|
机器学习/深度学习 数据采集
详解Diffusion扩散模型:理论、架构与实现
【9月更文挑战第23天】扩散模型(Diffusion Models)是一类基于随机过程的深度学习模型,通过逐步加噪和去噪实现图像生成,在此领域表现优异。模型分正向扩散和反向生成两阶段:前者从真实数据加入噪声至完全噪音,后者则学习从噪声中恢复数据,经由反向过程逐步还原生成清晰图像。其主要架构采用U-net神经网络,实现过程中需数据预处理及高斯噪声添加等步骤,最终通过模型逆向扩散生成新数据,具有广泛应用前景。
|
3月前
|
JSON 前端开发 API
Django 后端架构开发:通用表单视图、组件对接、验证机制和组件开发
Django 后端架构开发:通用表单视图、组件对接、验证机制和组件开发
63 2
|
3月前
|
JSON 数据处理 API
Django后端架构开发:视图与模板的正确使用
Django后端架构开发:视图与模板的正确使用
30 1