爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      首页 知识中心 软件开发 文章详情页

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      2024-10-21 09:43:42 阅读次数:29

      模型,系统,视图

      研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。根据建模的侧重点不同,可以将软件体系结构的模型分为五种:结构模型、框架模型、动态模型、过程模 型和功能模型。

      在这五个模型中,最常用的是结构模型和动态模型。

      (1)结构模型。这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件 (connector)和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配 置、约束、隐含的假设条件、风格、性质等。研究结构模型的核心是体系结构描述语言。

      (2)框架模型。框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结 构。框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。

      (3)动态模型。动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例 如,描述系统的重新配置或演化。动态可以指系统总体结构的配置、建立或拆除通信通道或计算的 过程。这类系统常是激励型的。

      (4)过程模型。过程模型研究构造系统的步骤和过程,因而结构是遵循某些过程脚本的结果。

      (5)功能模型。功能模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。 它可以看作是一种特殊的框架模型。

      “4+1”视图模型 软件体系结构的五种模型各有所长,将五种模型有机地统一在一起,形成一个完整的模型来刻 画软件体系结构更合适。例如,Kruchten在1995年提出了一个“4+1”的视图模型。“4+1”视图 模型从五个不同的视角(逻辑视图、进程视图、物理视图、开发视图和场景视图)来描述软件体系 结构。每一个视图只关心系统的一个侧面,五个视图结合在一起才能反映系统的软件体系结构的全 部内容。“4+1”视图模型如下图所示。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      逻辑视图

      逻辑视图(logic view)主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能 分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在面向对象技术中,通 过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图(class diagram)来描述逻辑视 图。可以从Booch标记法中导出逻辑视图的标记法,只是从体系结构级的范畴来考虑这些符号,用 Rational Rose进行体系结构设计。下图是逻辑视图中使用的符号集合。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      类图用于表示类的存在以及类与类之间的相互关系,是从系统构成的角度来描述正在开发的系统。一个类的存在不是孤立的,类与类之间以不同方式互相合作,共同完成某些系统功能。关联关 系表示两个类之间存在着某种语义上的联系,其真正含义要由附加在横线之上的一个短语来予以说 明。在表示包含关系的图符中,带有实心圆的一端表示整体,相反的一端表示部分。在表示使用关 系的图符中,带有空心圆的一端连接在请求服务的类,相反的一端连接在提供服务的类。在表示继 承关系的图符中,箭头由子类指向基类。

      逻辑视图中使用的风格为面向对象的风格,逻辑视图设计中要注意的主要问题是要保持一个单 一的、内聚的对象模型贯穿整个系统。例如,下图是某通信系统体系结构(ACS)中的主要类。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      ACS的功能是在终端之间建立连接,这种终端可以是电话机、主干线、专用线路、特殊电话线、数据线或ISDN线路等,不同线路由不同的线路接口卡进行支持。线路控制器对象的作用是译码 并把所有符号加入到线路接口卡中。终端对象的作用是保持终端的状态,代表本条线路的利益参与 协商服务。会话对象代表一组参与会话的终端,使用转换服务(目录、逻辑地址映射到物理地址, 路由等)和连接服务在终端之间建立语音路径。

      对于规模更大的系统来说,体系结构级中包含数十甚至数百个类,例如,图2-4是一个空中交通 管制系统的顶级类图,该图包含了8组类。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      开发视图

      开发视图(development view)也称模块视图(module view),主要侧重于软件模块的组织和管理。软件可通过程序库或子系统进行组织,这样,对于一个软件系统,就可以由不同的人进 行开发。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要 充分考虑由于具体开发工具的不同而带来的局限性。

      开发视图通过系统输入输出关系的模型图和子系统图来描述。可以在确定了软件包含的所有元 素之后描述完整的开发角度,也可以在确定每个元素之前,列出开发视图原则。

      与逻辑视图一样,可以使用Booch标记法中某些符号来表示开发视图,下图所示。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯,这样可以使每个层次的接口既完备又精练,避免了各个模块之间很复杂的依赖关系。而且,设计时 要充分考虑,对于各个层次,层次越低,通用性越强,这样,可以保证应用程序的需求发生改变 时,所做的改动最小。开发视图所用的风格通常是层次结构风格。例如,下图表示的是空中交通管 制系统的五层结构图。 

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      第1层和第2层组成了一个领域无关的分布式基础设施,贯穿于整个产品线中,并且与硬件平台、操作系统或数据库管理系统等无关。第3层增加了空中交通管制系统的 框架,以形成一个领域特定的软件体系结构。第4层使用该框架建立一个功能平台,第5层则依赖于 具体客户和产品,包含了大部分用户接口以及与外部系统的接口。

      进程视图

      进程视图(process view)也称为并发视图,侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。进程视图强调并发性、分布性、系统集成性和容错能力,以及 从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个 线程(thread)中被执行的。

      进程视图可以描述成多层抽象,每个级别分别关注不同的方面。在最高层抽象中,进程结构可 以看作是构成一个执行单元的一组任务。它可看成一系列独立的,通过逻辑网络相互通信的程序。 它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。通过进程视图可以从进程测量一 个目标系统最终执行情况。例如在以计算机网络作为运行环境的图书管理系统中,服务器需对来自各个不同的客户机的进程管理,决定某个特定进程(如查询子进程、借还书子进程)的唤醒、启动、关闭等操作,从而控制整个网络协调有序地工作。

      通过扩展Booch对Ada任务的表示法,来表示进程视图,从体系结构角度来看,进程视图的标 记元素如下图所示。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      有很多风格适用于进程视图,如管道和过滤器风格、客户/服务器风格(多客户/单服务器,多客户/多服务器)等。下图是ACS系统的局部进程视图。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      在图中,所有终端均由同一个终端进程进行处理,由其输入队列中的消息驱动。控制器对象在组成控制器进程的三个任务之一中执行,慢循环周期(200ms)任务扫描所有挂起(suspend) 终端,把任何一个活动的终端置入快循环周期(10ms)任务的扫描列表,快循环周期任务检测任何 显著的状态改变,并把改变的状态传递给主控制器任务,主控制器任务解释改变,通过消息与相应 的终端进行通讯。在这里,通过共享内存来实现在控制器进程中传递的消息。

      物理视图

      物理视图(physical view)主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。当软件运行于不同的节点上时,各视 图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活 性,当环境改变时,对系统其他视图的影响最小。

      大型系统的物理视图可能会变得十分混乱,因此可以与进程视图的映射一道,以多种形式出现,也可单独出现。下图是物理视图的标记元素集合。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      下图是一个大型ACS系统的可能硬件配置,图2-11和图2-12是进程视图的两个不同的物理视图映射,分别对应一个小型的ACS和大型的ACS,C、F和K是三个不同容量的计算机类型,支持三个 不同的可执行文件。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      具有进程分配的小型ACS系统的物理视图

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      具有进程分配的大型ACS系统的物理视图

      场景

      场景(scenarios)可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种

      意义上说场景是最重要的需求抽象。在开发体系结构时,它可以帮助设计师找到体系结构的构件和 它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何 相互作用的。场景可以用文本表示,也可以用图形表示。例如,图2-13是一个小型ACS系统的场景 片段,相应的文本表示如下:

      (1)小王的电话控制器检测和验证电话从挂机到摘机状态的转变,且发送一个消息以唤醒相应 的终端对象。

      (2)终端分配一定的资源,且通知控制器发出某种拨号音。

      (3)控制器接收所拨号码并传给终端。

      (4)终端使用编号计划分析号码。

      (5)当一个有效的拨号序列进入时,终端打开一个会话。

      架构师必备知识 - 软件体系结构 - “4+1”视图模型

      本地呼叫场景的一个原型

      从以上分析可知,逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说, 比较侧重于从逻辑视图和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视 图和物理视图来描述系统。

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/tntxia/11115631,作者:虾王之王,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:RUP(Rational 统一过程)详解

      下一篇:SpringBoot整合flyway

      相关文章

      2025-05-19 09:04:30

      开源与闭源:AI模型发展的两条路径

      开源与闭源:AI模型发展的两条路径

      2025-05-19 09:04:30
      开源 , 模型 , 用户
      2025-05-14 10:33:31

      数据泵导出导入单表测试

      数据泵导出导入单表测试

      2025-05-14 10:33:31
      导入 , 测试 , 目标 , 空间 , 视图
      2025-05-14 09:51:21

      Transformer模型:Position Embedding实现

      在自然语言处理(NLP)中,Transformer 模型是一个非常重要的里程碑,它通过自注意力(self-attention)机制极大地提高了处理序列数据的能力。

      2025-05-14 09:51:21
      位置 , 序列 , 模型
      2025-05-14 09:51:21

      python 加载 TensorFlow 模型

      为了加载一个TensorFlow模型,我们首先需要明确模型的格式。TensorFlow支持多种模型格式,但最常见的两种是SavedModel和HDF5(对于Keras模型)。

      2025-05-14 09:51:21
      model , TensorFlow , 加载 , 模型 , 示例 , 签名
      2025-05-13 09:53:23

      AIGC的底层技术:底层逻辑代码分析与原理实现

      AIGC(AI Generated Content)的底层技术主要涉及深度学习和自然语言处理技术,其核心目的是通过机器学习和模型训练来生成高质量的内容。

      2025-05-13 09:53:23
      AIGC , 学习 , 技术 , 案例 , 模型 , 生成
      2025-05-13 09:53:23

      AIGC工具的使用测评:代码分析与原理实现

      AIGC(Artificial Intelligence Guided Coding)工具是一种基于人工智能技术的开发辅助工具,旨在通过智能化的代码分析和预测,为开发者提供更快速、准确的开发体验。

      2025-05-13 09:53:23
      AIGC , 代码 , 工具 , 开发者 , 模型 , 生成 , 示例
      2025-05-13 09:50:59

      创建物化视图时出现ORA-12054告警

      创建物化视图时出现ORA-12054告警

      2025-05-13 09:50:59
      ORA , 告警 , 视图
      2025-05-09 09:21:53

      Oracle 11g系列:视图

      视图是数据库中特有的对象,视图用于存储查询,但不会存储数据(物化视图除外)。这是视图和数据表的重要区别。Oracle中有4种视图:关系视图、内嵌视图、对象视图和物化视图。

      2025-05-09 09:21:53
      gt , 对象 , 查询 , 视图
      2025-05-07 09:09:26

      【Linux 从基础到进阶】灾备系统的监控与管理

      灾备(Disaster Recovery,DR)系统是指在发生自然灾害、系统故障或其他突发事件时,用于恢复业务操作的解决方案。其主要目标是最大限度地减少系统停机时间和数据丢失。

      2025-05-07 09:09:26
      工具 , 监控 , 系统 , 解决方案
      2025-05-07 09:09:26

      【Oracle11g SQL详解】创建与管理视图:`CREATE VIEW`、`ALTER VIEW` 和 `DROP VIEW`

      视图(View)是 SQL 中的一种虚拟表,是从数据库中一个或多个表的查询结果创建的。它不存储实际数据,而是存储查询的定义,用户可以像使用表一样使用视图。

      2025-05-07 09:09:26
      创建 , 员工 , 查询 , 视图
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5237379

      查看更多

      最新文章

      数据泵导出导入单表测试

      2025-05-14 10:33:31

      AIGC的底层技术:底层逻辑代码分析与原理实现

      2025-05-13 09:53:23

      AIGC工具的使用测评:代码分析与原理实现

      2025-05-13 09:53:23

      springboot系列教程(三):全局异常映射(含源码)

      2025-05-06 09:20:29

      SpringMVC 执行流程详解

      2025-04-18 07:09:19

      软件设计师教程(第5版)第5章 软件工程基础知识(更新中)

      2025-04-16 09:12:36

      查看更多

      热门文章

      SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)

      2023-07-04 07:09:30

      AI模型如何重塑软件开发

      2024-12-11 06:19:22

      一段比较简单的人工智能自动做模型的程序

      2024-09-25 10:14:34

      如何对高并发系统进行压力测试?重要参数详解

      2024-04-24 09:42:21

      R语言连续型变量回归分析预测

      2024-08-02 09:08:33

      基于Java+SpringBoot+Vue的动漫网站的设计与实现

      2024-11-06 07:20:58

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      Linux源码阅读笔记-USB设备驱动架构

      Java工程师经典面试题:第五天

      基于SpringBoot+Vue+uniapp的反诈科普平台的详细设计和实现

      软件架构师考点 - 软件架构

      基于SpringBoot+Vue的Home F家居系统的详细设计和实现

      基于SpringBoot+Vue的出租车管理网站的详细设计和实现

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号