软考系统架构之案例篇(架构设计相关概念)

案例篇-架构设计相关概念

  • 1. 架构风格的概念
  • 2. 五大架构风格有哪些
  • 3. MVC架构含义
  • 4. 云计算架构
  • 5. 云原生架构设计原则
  • 6. ESB的主要功能包括
  • 7. 质量属性的含义及其设计策略
  • 8. EJB中的 Bean 分三种类型
  • 9. 风险点、敏感点、权衡点的含义
  • 10. REST 的5个原则

在这里插入图片描述

其它相关推荐:
软考系统架构之案例篇(软件工程相关概念)
软考系统架构之案例篇(Redis相关概念)
系统架构之微服务架构
系统架构设计之微内核架构

所属专栏:系统架构设计师

1. 架构风格的概念

软件架构风格是描述特定软件系统组织方式的惯用模式

组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

2. 五大架构风格有哪些

  • 数据流风格【Data Flow】:批处理【Batch Sequential】、管道-过滤器【Pipes and Filters】;

  • 调用/返回风格【Call/Return】:主程序/子程序【Main Program and Subroutine】、面向对象【Object-oriented】、分层架构【Layered System】;

  • 独立构件风格【Independent Components】:进程通信【Communicating Processes】、事件驱动系统(隐式调用)【Event system】;

  • 虚拟机风格【Virtual Machine】:解释器【interpreter】、规则系统【Rule-based System】;
    在这里插入图片描述

  • 以数据为中心(仓库风格)【Data-centered】:数据库系统【Database System】、黑板系统【Blackboard System】、超文本系统【Hypertext System】;

补充:闭环控制架构(过程控制):经典应用有空调温控,定速巡航;

3. MVC架构含义

MVC是模型(Model) - 视图( View) - 控制器(Controller)的缩写,用一种业务逻辑。数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

模型(Model)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存储数据。

视图( View)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

控制器(Controller)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

4. 云计算架构

  • 【管理层】:提供对所有层次云计算服务的管理功能。
  • 【用户访问层】:方便用户使用云计算服务所需的各种支撑服务,针对每个层次的云计算服务都需要提供相应的访问接口。
  • 【应用层】:提供软件服务,如:财务管理,客户关系管理,商业智能。
  • 【平台层】:为用户提供对资源层服务的封装,使用户可以构建自己的应用。
  • 【资源层】:提供虚拟化的资源,从而隐藏物理资源的复杂性。如:服务器,存储。

5. 云原生架构设计原则

  • 服务化原则:使用微服务
  • 弹性原则:可根据业务变化自动伸缩
  • 可观测原则:通过日志、链路跟踪和度量
  • 韧性原则:面对异常的抵御能力
  • 所有过程自动化原则:自动化交付工具
  • 零信任原则:默认不信任网络内部和外部的任何人/设备/系统
  • 架构持续演进原则:业务高速迭代情况下的架构与业务平衡

6. ESB的主要功能包括

ESB是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。主要功能包括:

(1)应用程序的位置透明性

(2)传输协议转换

(3)消息格式转换

(4)消息路由

(5)消息增强

(6)安全支持

(7)监控和管理

7. 质量属性的含义及其设计策略

(1)性能:是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。

代表参数:响应时间、吞吐量
设计策略:优先级队列、资源调度

(2)可用性:是系统能够正常运行的时间比例。

代表参数:故障间隔时间
设计策略:冗余、心跳线

(3)可靠性:是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。

(4)健壮性:是指在处理或环境中,系统能够承受压力或变更的能力。

(5)安全性:是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。

安全性又可划分为机密性、完整性、不可否认性及可控性等特性。
设计策略:追踪审计

(6)可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。

通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。
设计策略:接口-实现分离、抽象、信息隐藏

(7)可变性:是指体系结构经扩充或变更成为新体系结构的能力。

(8)易用性:是衡量用户使用一个软件产品完成指定任务的难易程度。

(9)可测试性:是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。

(10)功能性:是系统所能完成所期望工作的能力。

(11)互操作性:是指系统与外界或系统与系统之间的相互作用能力。

8. EJB中的 Bean 分三种类型

  • Session Bean:描述了与客户端的一个短暂的会话。当客户端的执行完成后,Session Bean和它的数据都将消失;
    - Entity Bean:描述了存储在数据库表中的一行持久稳固的数据,如果客户端终止或者服务结束,底层的服务会负责Entity Bean数据的存储;
  • Message-Driven Bean:结合了Session Bean和Java信息服务(JMS)信息监听者的功能,它允许一个商业组件异步地接受JMS消息。

9. 风险点、敏感点、权衡点的含义

  • 风险点:是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
  • 敏感点:是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。
  • 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。

10. REST 的5个原则

(1)网络上的所有事物都被抽象为资源。

(2)每个资源对应一个唯一的资源标识。

(3)通过通用的连接件接口对资源进行操作。

(4)对资源的各种操作不会改变资源标识。

(5)所有的操作都是无状态的。

在这里插入图片描述

其它相关推荐:
软考系统架构之案例篇(软件工程相关概念)
软考系统架构之案例篇(Redis相关概念)
系统架构之微服务架构
系统架构设计之微内核架构

所属专栏:系统架构设计师

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Generative AI 新世界 | Falcon 40B 开源大模型的部署方式分析

在上期文章,我们探讨了如何在自定义数据集上来微调(fine-tuned)模型。本期文章,我们将重新回到文本生成的大模型部署场景,探讨如何在 Amazon SageMaker 上部署具有 400 亿参数的 Falcon 40B 开源大模型。 亚马逊云科技…

ICLR 2023丨3DSQA:3D 场景中的情景问答

来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/pdf/2210.07474.pdf 主页链接:http://sqa3d.github.io 图 1:3D 场景中情景问答 (SQA3D) 的任务图示。给定场景上下文 S(例如&#…

并发编程 - 并发可见性,原子性,有序性 与 JMM内存模型

1. 并发三大特性 并发编程Bug的源头: 原子性 、 可见性 和 有序性 问题 1.1 原子性 一个或多个操作,要么全部执行且在执行过程中不被任何因素打断,要么全部不执行。 在 Java 中,对基本数据类型的变量的读取和赋值操作是原子性操…

常用字符串函数拓展

文章目录 字符串拓展函数strncpystrncatstrncmpstrstrstrtokstrerrormemcpymemmovememcmpmemset 库函数模拟实现memmoveqsort 我们在学习C语言时已经学习了一些常见的字符串函数,但这还不能满足我们的需求,为此我们拓展了几个常用的字符串函数。 字符串拓…

Maven项目转为SpringBoot项目

Maven项目转为SpringBoot项目 前言创建一个maven项目前的软件的一些通用设置Maven仓库的设置其他的设置字符编码编译器注解支持 创建的Maven项目修改为Spring Boot项目修改pom.xml文件修改启动类-Main新建WAR包所需的类 添加核心配置文件 测试的控制器最后整个项目的目录结构![…

ce从初阶到大牛(两台主机免密登录)

一、配置ssh远程连接 实现两台linux主机之间通过公钥验证能够互相实现免密登陆 1.确认服务程序是否安装 rpm -qa | grep ssh 2.是否启动 ps -aux | grep ssh 3.生成非对称公钥 ssh-keygen -t rsa 4.公钥发送到客户端 cd /root/.ssh/ ssh-copy-id root192.168.170.134 因为…

OpenCV学习(五)——图像基本操作(访问图像像素值、图像属性、感兴趣区域ROI和图像边框)

图像基本操作 5. 图像基本操作5.1 访问像素值并修改5.2 访问图像属性5.2 图像感兴趣区域ROI5.3 拆分和合并图像通道5.4 为图像设置边框(填充) 5. 图像基本操作 访问像素值并修改访问图像属性设置感兴趣区域(ROI)分割和合并图像 …

本来打算做功能测试的,但是发现playwright太好玩了,玩了一天,功能测试进度为空

本文是作者的自言自语://todo 未完待续 https://blog.csdn.net/lineuman 微软果然有大牛啊!有能人的公司总是令人敬佩。 playwright这种级别的工具简直就是核弹级别的。 当我开始使用playwright的时候,嘭的一下,我的世界炸了&…

javaEE -10(11000字详解5层重要协议)

一:应用层重点协议 1.1: DNS DNS,即Domain Name System,域名系统。DNS是一整套从域名映射到IP的系统。 TCP/IP中使用IP地址来确定网络上的一台主机,但是IP地址不方便记忆,且不能表达地址组织信息&#x…

2023年正版win10/win11系统安装教学(纯净版)

第一步:准备一个8G容量以上的U盘。 注意,在制作系统盘时会格式化U盘,所以最好准备个空U盘,防止资料丢失。 第二步:制作系统盘。 安装win10 进入windows官网 官网win10下载地址:https://www.microsoft.c…

Oracle数据库设置归档模式(超级简单)

1、打开监听 查看监听的状态,如果没打开监听需要打开监听,如果打开直接下一步 lsnrctl status 打开监听 lsnrctl start 2、启动数据库 首先进入数据库 sqlplus /nolog 然后连接管理员 conn / as sysdba 3、查看当前模式 archive log list 可以…

图像特征Vol.1:计算机视觉特征度量|第一弹:【纹理区域特征】

目录 一、前言二、纹理区域度量2.1:边缘特征度量2.2:互相关和自相关特征2.3:频谱方法—傅里叶谱2.4:灰度共生矩阵(GLCM)2.5:Laws纹理特征2.6:局部二值模式(LBP) 一、前言 &#x1f…

【C++】C++入门(下)--内联函数 auto关键字 nullptr

目录 一 内联函数 1 内联函数概念和定义 2 内联函数特性 二 auto关键字 1 auto概念 2 auto 的使用细则 (1) auto与指针和引用结合起来使用 (2) 在同一行定义多个变量 3 auto不能推导的场景 (1) auto不能作为函数的参数 (2) auto不能直接用来声明数组 4 基于范围的fo…

使用 excel 快速拼接省市区镇街村居五级区划完整名称

你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208 文章目录 前言数据准备excel 函数附件 前言 之前做了国家区划的映射关系,在其过程中,使用代码…

JAVA设计模式详解(独家AI解析)

JAVA设计模式详解(独家AI解析) 一、JAVA介绍二、JAVA设计模式六大原则三、JAVA设计模式介绍四、JAVA设计模式详解4.1 单例模式4.1.1 懒汉式(Lazy Initialization)4.1.2 饿汉式(Lazy Initialization) 4.2 代…

Kubernetes - Ingress HTTP 负载搭建部署解决方案(新版本v1.21+)

在看这一篇之前,如果不了解 Ingress 在 K8s 当中的职责,建议看之前的一篇针对旧版本 Ingress 的部署搭建,在开头会提到它的一些简介Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客 开始表演 1、kubeasz 一键安装…

【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割6(数据预处理)

由于之前哔站作者整理的LUNA16数据处理方式过于的繁琐,于是,本文就对LUNA16数据做一个新的整理,最终得到的数据和形式是差不多的。但是,主要不同的是代码逻辑比较的简单,便于理解。 对于数据集的学习,可以…

在3分钟内使用AI-Chat生成精美PPT(附AI工具)

前言 在人工智能的大趋势下,AI-Chat是一款令人惊叹的技术。它用强大的自然语言处理技术帮助我们快速生成PPT,提高工作效率。本文将介绍使用ChatAI-Chat生成PPT的方法,以及使用Mindshow转换为炫酷的演示文稿。让技术为我们节省时间&#xff0c…

cuda卸载

去查看你的电脑显卡对应的cuda版本,不然还是一整个用不到gpu的情况嘿嘿. 啊啊啊啊打开控制面板看一下,驱动不要乱卸载: 这些东西不能全部卸载了哦,只能卸载含有“CUDA”的那几个(其实其他的可能也没有用 但是不懂的哇 …

SpringMVC Day 05 : Spring 中的 Model

前言 欢迎来到 SpringMVC 系列教程的第五天!在之前的教程中,我们已经学习了如何使用控制器处理请求和返回视图。今天,我们将深入探讨 Spring 中的 Model。 在 Web 应用程序开发中,数据的传递和展示是非常重要的。SpringMVC 提供…