系统架构设计师-软件架构设计(1)

news2024/11/25 6:51:16

目录

一、软件架构的概念

        1、架构的本质

        2、架构的作用

二、架构发展历史

三、架构的 “4 + 1” 视图

        1、逻辑视图(Logical View)

        2、开发视图(Development View)

        3、进程视图(Process View)

        4、物理视图(Physical View)

        5、场景视图(Scenarios View)

四、架构描述语言ADL


一、软件架构的概念

        软件架构 = 软件体系结构

        架构设计就是需求分配,即将满足需求的职责分配到组件上

         

        1、架构的本质

                (1)软件架构为软件系统提供了一个结构、行为和属性的高级抽象

                (2)软件架构风格是特定应用领域的惯用模式,架构定义一个词汇表和一组约束

        2、架构的作用

                (1)软件架构是项目干系人进行交流的手段

                (2)软件架构是可传递和可复用的模型,通过研究软件架构可能预测软件的质量。

                (3)软件架构使推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。

二、架构发展历史

        

三、架构的 “4 + 1” 视图

        4+1架构视图,也称为4+1视图模型,是一种软件架构设计方法,通常用于描述大型复杂软件系统不同视角。它由Philippe Kruchten于1995年提出,并在Rational Software Corporation(现在是IBM公司)的Rational Unified Process(RUP)中得到广泛应用。

        4+1架构视图包括以下五个视图: 

                这五个视图互相关联,共同描述了一个系统的不同方面,从而帮助软件工程师和系统架构师更好地理解和设计复杂的软件系统。每个视图都强调一些特定的关注点,从而形成一个完整的架构视图。

        1、逻辑视图(Logical View)

                描述系统功能、组件和它们之间的关系。它主要关注系统的静态结构,包括类、接口、包、模块等,并用于表示系统的组织结构、模块划分和关系。最终用户相关。

        2、开发视图(Development View)

                描述系统的软件开发过程。他关注软件的开发、构建和部署过程,包括开发环境、版本控制、构建工具、编译器等,并用于表示系统的开发过程、构建过程和开发环境。编程人员相关。

        3、进程视图(Process View)

                描述系统的并发性和分布性。它关注系统在运行时的行为,包括系统的运行时进程、线程、节点、通信方式等,并用于表示系统的并发性、分布性、通信和同步方式系统集成人员相关。

        4、物理视图(Physical View)

                描述系统的部署和配置。它关注系统在物理计算资源上的部署,包括硬件、网络、服务器、存储等,并用于表示系统的部署拓扑、配置和资源分配系统工程人员相关。

        5、场景视图(Scenarios View)

                 描述系统在不同场景下的使用场景。它关注系统的用例、用户交互和系统行为,包括用户界面、用户场景、用户需求等,并用于系统的功能需求、用户交互和系统行为

四、架构描述语言ADL

        ADL是一种形式化的语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。

        如:Aesop、MetaH、C2、Rapide、SADL、Unicon等。

                例:Unicon:

                

         ADL的三个基本元素:

        (1)构件:计算或数据存储单元

        (2)连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则。

        (3)架构配置:描述体系结构的构件与连接件的链接图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/778872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python操作文件:从入门到“悟”

一、打开文件 Python里面打开文件可以使用内置的open函数。 open函数的定义如下: def open(file, moder, bufferingNone, encodingNone, errorsNone, newlineNone, closefdTrue): # known special case of open常用参数介绍: file:指定要打…

苹果账号被禁用怎么办

转载:苹果账号被禁用怎么办 目录 禁用的原因 解除Apple ID禁用 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UKQ1ILhC-1689932607373)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw)]​编辑 …

win10电脑便签常驻桌面怎么设置?

你是否曾经因为繁忙的工作而忘记了一些重要的事项?相信很多人都会回答:忘记过!其实在快节奏的职场中,我们经常需要记录一些重要的信息,例如会议时间、约见客户时间、今天需要完成的工作任务等。而为了能够方便地记录和…

【简单认识MySQL函数和高级语句】

文章目录 一.常用查询1.按关键字排序(ORDER BY 语句)1、语法格式2、 ASC和DESC的排序概念3、举例1、按分数排序,默认不指定是升序排列2、分数按降序排列3、order by 还可以结合where进行条件过滤,筛选地址是南京的学生按分数降序排…

07.计算机网络——数据链路层

文章目录 数据链路层以太网帧格式MAC地址理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响 ARP协议**ARP**协议的作用ARP协议的工作流程ARP数据报的格式 数据链路层 ​ 数据链路层在物理层提供的服务的基础上向网络层提供服务,…

了解持续集成、交付和部署

如果可以实现记得点赞分享,谢谢老铁~ 软件开发公司变得越来越敏捷。他们不断适应新技术和实践,以在其业务领域保持领先地位。在软件开发中,三种策略;持续集成、持续交付和持续部署是为了快速、一致地开发、部署、测试和…

Android dp to pix resources.getDimension(R.dimen.xxx) ,kotlin

Android dp to pix resources.getDimension(R.dimen.xxx) ,kotlin <?xml version"1.0" encoding"utf-8"?> <resources><dimen name"my_size_dp">20dp</dimen><dimen name"my_size_px">20px</dime…

研发机器配网方案(针对禁止外网电脑的组网方案)

背景&#xff1a;公司是研发型小公司&#xff0c;难免会使用A某D和K某l 等国内免费软件&#xff0c;这两个是业界律师函发得最多的软件。最简单的方案是离网使用&#xff0c;但是离网使用比较麻烦的是要进行文件传输&#xff0c;需要使用U盘拷贝&#xff0c;另外研发型企业一般…

【UE5】CallCustomEvent插件的使用文档

该插件是一款可以帮助你调用任意的蓝图自定义事件 使用该插件调用自定义事件时&#xff0c;你不需要实现获取对方类的引用 比如我在A类里创建了一个名叫“MyPrint”的自定义事件 因为该节点有三个参数&#xff0c;所以我们在B类中调用三个参数的CallCustomEvent节点 然后在B类…

蓝桥杯刷题记录-2020省赛

比较全面的记录2020省赛题目&#xff0c;本篇文章全文都是采用Python解题&#xff0c;题目都是基础简单的题目 1.成绩统计 解题代码&#xff1a; import os import sys nint(input()) well0 ok0 for i in range(n):aint(input())if a>85:well1ok1elif a>60:ok1 print(&…

网络安全:密码学基本理论.

网络安全&#xff1a;密码学基本理论. 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律&#xff0c;应用于编制密码以保守通信秘密的&#xff0c;称为编码学&#xff1b;应用于破译密码以获取通信情报的&#xff0c;称为破译学&#xff0c;总称密码学. 目录…

【itext7】itext7操作PDF文档之添加表单控件(单行文本框、多行文本框、单选框、复选框、下拉框、按钮)

这篇文章&#xff0c;主要介绍itext7操作PDF文档之添加表单控件&#xff08;单行文本框、多行文本框、单选框、复选框、下拉框、按钮&#xff09;。 目录 一、itext操作PDF表单 1.1、添加单行文本框 1.2、添加多行文本框 1.3、添加单选框 1.4、添加复选框 1.5、添加下拉框…

目标检测——SSD模型介绍

目录 SSD网络结构backboneextra部分loc和clsPriorBox层先验框的生成方法loc的预测结果 模型训练正负样本标记损失函数困难样本挖掘 模型预测 SSD网络结构 backbone extra部分 loc和cls PriorBox层先验框的生成方法 loc的预测结果 模型训练 正负样本标记 损失函数 困难样本挖掘…

rabbitmq访问异常

看到这个问题&#xff0c;第一时间想到rabbitmq的问题&#xff0c;应该权限导致的 先创建virtual hosts 接着创建用户并赋予权限,将eayc的virtual hosts权限赋予acc用户即可 15:34:24.250 WARN com.rabbitmq.client.impl.ForgivingExceptionHandler - An unexpected connec…

自动驾驶技术架构

自动驾驶技术架构 自动驾驶技术架构 自动驾驶关键技术 自动驾驶汽车技术架构较为复杂&#xff0c;涉及了多领域的交叉互容&#xff0c;例如汽车、交通、通信等&#xff0c;基于自动驾驶相关的软硬件、辅助开发工具、行业标准等各方面关键问题&#xff0c;自动驾驶汽车关键技术…

RedisTemplate存数据乱码

目录 方法一&#xff1a;为RedisTemplate写一个配置类 方法二&#xff1a;用StringRedisTemplate 我猜测&#xff0c;你可能想往redis里直接存对象&#xff0c;但是存完后&#xff0c;打开redis&#xff0c;才发现自己存进去的key和value均是乱码。 原因可能是因为你用redis…

24考研数据结构-——绪论2

目录 1.4 算法的时间复杂度1.4.1 渐近时间复杂度1.4.2 常对幂指阶1.4.3 时间复杂度的计算1.4.4 最好与最坏时间复杂度 1.5 算法的空间复杂度1.5.1 空间复杂度1.5.2 函数递归调用&#xff08;未总结&#xff09;1.5.3 存储地址1.5.3.1 内存高低地址与高低位1.5.3.2 用户程序虚拟…

【目标跟踪】1、基础知识

文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波&#xff1f;——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测&#xff0c;对系统下一步要做什么进行推测&#xff0c;且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…

Hadoop——Hive运行环境搭建

Windows&#xff1a;10 JDK&#xff1a;1.8 Apache Hadoop&#xff1a;2.7.0 Apache Hive&#xff1a;2.1.1 Apache Hive src&#xff1a;1.2.2 MySQL&#xff1a;5.7 1、下载 Hadoop搭建 Apache Hive 2.1.1&#xff1a;https://archive.a…

基础 | 日志 | 体系介绍

INDEX 总览图上图的说明 总览图 上图的说明 日志体系的结构大约可以概括为 日志门面日志绑定层日志实现日志桥接层 slf4j 是 日志门面&#xff0c;所谓日志门面可以理解为日志总接口 slf4j-log4j、log4j-slf4j-impl 是 日志绑定层&#xff0c;日志绑定层的作用是将 日志门面…