一文看懂软件架构4+1视图

目录

一、概述 

二、各视图详解

1. 场景视图

2. 逻辑视图

3. 开发视图

4. 处理视图

5. 物理视图

葵花宝典:一看就懂的理解方式


一、概述 

 4+1视图包括:

  1. 场景视图(也叫用例视图):黑盒视图。从外部视角,描述系统的参与者(用户)与系统功能用例的关系。反映的是系统的最终用户需求和交互设计。
  2. 逻辑视图(也叫结构视图):白盒视图。从结构化视角,描述该系统对用户提供的所需功能服务所具备的组件结构和数据结构,以及一些边界约束条件,清晰的描述给用户提供的功能需求服务是如何构建的。描述该系统内部所具备了那些组织结构,以达到实现对外功能。
  3. 开发视图(也叫实现视图):白盒视图。从结构化视角和行为视角,去描述实现系统功能的各个组件和模块是如何实现的。
  4. 处理视图(也叫过程视图、行为视图):白盒视图。从行为视角,描述系统各个组件和模块是如何进行通信的。
  5. 物理视图(也叫部署视图):黑盒视图。从交互视角,描述系统可以部署到哪些物理环境(如服务器、PC端、移动端等)上和软件环境(如虚拟机、容器、进程等)上。

二、各视图详解

1. 场景视图

场景视图之所以是4+1视图的核心1,其他4个视图都是围绕场景视图为核心。

在UML中通常用用例图表示:

什么是用例图? 

  • 【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
  • 【目的】用来描述整个系统的功能。

用例图中包含以下三种关系:

  • 包含关系使用符号《include》,想要查看订单列表,前提是需要先登录。
  • 扩展关系使用符号《extend》,基于查询订单列表的功能,可以增加一个导出数据的功能
  • 泛化关系,子用例继承父用例所有结构、行为和关系。

2. 逻辑视图

在系统设计中,如果系统的功能、场景等比较清晰,可能会对用例视图进行简化,但却不可以没有逻辑视图。

逻辑视图是对系统职责的的逐级划分,描述了体系中各个功能组件,以及他们的层级关系,作用和依赖范围。下面举几个例子:

springcloud微服务的逻辑视图:

Java体系架构逻辑视图: 

逻辑视图颗粒度比较大,其中的功能组件元素决定开发组织(每个功能模块由哪个团队去开发),因此,功能组件的边界和接口也是后续多个开发组织之间进行接口控制的关系依据。设计合理的逻辑架构,可以提升团队的沟通效率,进而提升整个系统的交付效率和质量。

3. 开发视图

描述开发文件在系统中如何组织,其元素是文件和目录。

一个设计良好的开发视图,应该能够满足以下要求:

通过逻辑架构元素,能够找到它所有代码和所有的二进制交付件每一个代码源文件,都能够找到它所属的逻辑架构元素每一个二进制交付件,都能够找到它集成了哪些逻辑架构元素。

4. 处理视图

用于描述系统组件之间的通信时序。在UML中通常由时序图和流程图表示。

5. 物理视图

描述系统在物理环境或软件环境上的部署。在UML中通常由部署图表示。

葵花宝典:一看就懂的理解方式

  • Use-case view 用例视图:描述系统功能、外部接口和主要用户。架构的所有元素都应该源于需求。

  • Logical view 逻辑视图:描述系统是如何由实现单元组织起来的。其元素是:包、类和接口。元素之间的关系包括依赖关系、接口实现关系、部分-整体关系等等。

  • Implementation view 实现视图:描述开发文件在文件系统中是如何组织的。其元素是文件和目录(任何配置项)。这包括开发工件和部署工件。

  • Process view 进程视图:一般是时序图。

  • Deployment view 部署视图:描述系统如何映射到硬件。

参考优秀博客:

【软件建模】详解架构4+1视图-云社区-华为云 (huaweicloud.com)

一文掌握14种UML图-腾讯云开发者社区-腾讯云 (tencent.com)

详解系统架构的“4+1”视图 (zhihu.com)

在数据库管理系统(DBMS)中,普通视图(Normal View)和物理视图(Physical View)是两种不同的概念,它们各自代表了数据的不同抽象层次。 **1. 普通视图(Normal View)**: - 普通视图是从基础表(或其他视图)通过SQL查询创建的虚拟表,它并不存储实际的数据,而是按需动态生成的。当你查询普通视图时,DBMS会执行相应的查询以返回结果。 - 它通常用于简化复杂的查询,提供数据的汇总、计算、过滤等,以及实现数据的安全性和访问控制。 - 普通视图的定义可以更改,但不会影响底层数据表的结构,除非你明确地更新视图的基础表。 **2. 物理视图(Physical View)**: - 物理视图通常是指对数据库表结构的直接查看,它能看到存储在磁盘上的实际数据和索引,是数据库的底层表示。 - 物理视图可以是系统自动创建的,如索引视图,也可以由数据库管理员手动创建,但它们通常是静态的,不会因为基础表的变化而自动更新。 - 物理视图主要用于性能优化,例如展示更高效的查询计划,或者展示数据的物理分布情况。 **区别**: - 普通视图是逻辑层面的抽象,而物理视图是物理层面的。 - 普通视图基于查询,依赖于基础表的实时状态,而物理视图反映了数据库的当前结构。 - 普通视图主要用于简化查询,物理视图则用于理解和优化数据库底层架构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值