架构蓝图--软件架构的“4+1”视图模型

本文介绍了“4+1”架构模型,包括逻辑视图(对象模型)、流程视图(并发和同步)、开发视图(子系统分解)、物理视图(硬件映射)和场景视图(业务场景)。这个模型用于组织软件架构的多个层面,通过迭代和场景驱动的方法确保功能和非功能需求的满足。

目录

目录

“4+1”架构模型概述

逻辑架构

流程架构

开发架构

物理架构

场景视图

视图之间的对应关系

从逻辑视图到流程视图

从逻辑视图到开发视图

从流程视图到物理视图

定制模型

架构迭代

场景驱动


绍了IT架构设计中的"4+1"视图模型。"4+1"视图模型诞生于上个世纪90年代,至今对我们进行业务架构到IT架构的映射仍然具有指导和借鉴意义。

“4+1”架构模型概述

软件架构用来设计和实现软件的高级结构。它将一定数量的架构元素组装成一些精心选择的形式, 以满足系统的主要功能和性能需求,以及其他一些非功能需求,如可靠性、可伸缩性、可移植性和可用性。

Perry and Wolfe 用以下模型表达软件架构:

软件架构= {元素、关系矩阵、基本原理/约束}

软件架构处理元素抽象、分解和组合、软件风格和UI美学。为了描述一个软件架构,我们使用了一个由多个视图组成的模型。为了最终解决大型和具有挑战性的架构,我们提出的模型包括五个主要视图: 

  • 逻辑视图,即设计的对象模型 (当使用面向对象的设计方法时) ;

  • 流程视图,它捕获了设计的并发性和同步性方面;

  • 物理视图,它描述了软件到硬件上的映射,并反映了其分布式方面;

  • 开发视图,它描述了软件在其开发环境中的静态结构(系统和应用)。

对架构的描述——所做的决策——可以围绕这四个视图进行组织,然后通过一些选定的用例或成为第五个视图的场景(注1)进行说明。

逻辑架构

---面向对象的分解

逻辑架构主要支持功能需求,也就是系统应该为其用户提供的服务。系统被分解为一组关键抽象元素,这些抽象元素来自问题域,以对象或对象类的形式获取。对象利用了抽象、封装和继承的原则。这种分解不仅是为了进行功能分析,而且还可以用于识别在系统的各个部分之间的通用机制和设计元素。

逻辑架构视图的样式:

逻辑架构视图使用Ratioon/Booch方法,通过类图和类模板来表示。

类图显示了一组类及其逻辑关系:关联 、泛化、组合、聚合、继承等等。相关的类可以分组为类别。

类模板专注于每个单独的类;它们强调主要的类操作,并识别关键的对象特征。如果定义对象的内部行为很重要,则可以通过状态转换图或状态图来完成。在类功能中定义了公共机制或服务。

图中设备信息是个类模板,电子设备和机床设备这两个类泛化(或抽象)为设备信息。

除了面向对象的方法(OO)方法,数据驱动的软件应用可以使用其他形式的逻辑视图,如著名的E-R图。

流程架构

----流程分解

流程架构(注1)考虑了一些非功能的需求,如性能和可用性。它解决了并发性和分布、系统完整性、容错问题,以及逻辑视图的主要抽象元素如何适合流程架构---通过线程控制来执行对象的操作。

流程架构可以在几个抽象级别上进行描述,每个级别都处理不同的问题。在最高级别上,流程架构可以被看作是一组独立执行的通信程序的逻辑网络 (称为“流程”) ,分布在由局域网或广域网连接的一组硬件资源上。多个可同时的逻辑网络存在,共享相同的物理资源。例如,独立的逻辑网络可用于支持在线操作系统与离线系统的分离,以及支持软件的模拟或测试版本的共存。

流程是构成一个可执行单元的一组任务。任务是一个单独的控制线程,可以单独调度在一个处理节点上。

流程表示流程架构可以被战术控制的级别(例如, 已启动

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI架构师@涛哥

请我喝杯瑞幸coffee吧!

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

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

打赏作者

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

抵扣说明:

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

余额充值