软考高级:系统架构设计师——软件架构设计 Chapter 笔记
软考高级:系统架构设计师——软件架构设计
- 1 软件架构设计—基本概念
- 架构所处的位置
- 架构发展历程
- 架构的“4+1”视图
- 例题
- 架构描述语言(ADL)
- 例题
- 2软件架构设计—架构风格
- 数据流风格
- 调用/返回 风格
- 独立构件风格
- 虚拟机风格
- 仓库风格(以数据为中心)
- 闭环控制架构(过程控制)
- C2架构
- 例题
- 3软件架构设计—基于架构的开发方法
- 概念
- 开发过程1
- 开发过程2
- 开发过程3
- 例题
- 4软件架构设计—特定领域架构
- 概念
- 参与人员
- 建立过程
- 三层次模型
- 例题
- 5 软件架构设计—软件架构评估
- 软件质量属性
- 例题
- 敏感点 / 权衡点 / 风险点 / 非风险点
- 架构评估方法
- SAAM
- ATAM
- 质量效用树
- 例题
- 6软件架构设计—软件产品线
- 双生命周期
- 建立方式
- 组织结构
- 7 软件架构设计—构件与中间件技术
- 构件的概念
- 中间件的概念
- 软件复用
- 例题
- 构件复用
- 例题
- 构件标准
- 使用CORBA实现登录构件
- 使用J2EE的EJB实现登录构件
- 使用Spring实现登录构件
- CORBA
1 软件架构设计—基本概念
软件架构为软件系统提供了一个 结构、行为、属性的高级抽象
架构所处的位置
架构发展历程
架构的“4+1”视图
???
------ VS ------ UML的“4+1”视图
例题
答案:A D C
架构描述语言(ADL)
例题
答案:C
2软件架构设计—架构风格
数据流风格
1、批处理
2、管道过滤器
调用/返回 风格
分层架构风格
独立构件风格
示例:
虚拟机风格
基于规则的系统构成
仓库风格(以数据为中心)
闭环控制架构(过程控制)
C2架构
例题
答案:虚拟机、数据流风格、隐式调用(事件驱动)、解释器、过程控制
答案:黑板、解释器、事件驱动
答案:BCABD
3软件架构设计—基于架构的开发方法
概念
开发过程1
开发过程2
开发过程3
例题
答案:BCD
答案:AAC
4软件架构设计—特定领域架构
概念
领域参考模型:高层次的抽象模型、描述该领域的关键概念及其关系,帮助开发团队准确理解领域问题和需求。
比如:在医疗信息系统领域,参考模型可能会定义病人、医生、治疗、药物、诊断等实体及其相互作用
参考需求:基于参考模型定义的,描述软件系统需要满足的功能性和非功能性的条件。
比如:参考需求可能包括数据隐私包含、高可用性、用户界面易用性、数据准确性等。
参考架构:基于参考模型和参考需求定义的软件架构蓝图,通常包括软件结构组成、技术选型、设计模式。
比如: 采用微服务架构,使用加密技术,采用特定中间件和数据库技术等。
参与人员
建立过程
三层次模型
例题
答案:CC
5 软件架构设计—软件架构评估
软件质量属性
例题
答案:ADA
答案:BCA C CA
敏感点 / 权衡点 / 风险点 / 非风险点
架构评估方法
SAAM
ATAM
质量效用树
例题
答案:DB
答案:D
答案:CC
6软件架构设计—软件产品线
双生命周期
建立方式
组织结构
7 软件架构设计—构件与中间件技术
构件的概念
中间件的概念
软件复用
例题
答案:B
构件复用
1
2
3
4
例题
答案:C
构件标准
使用CORBA实现登录构件
使用J2EE的EJB实现登录构件
使用Spring实现登录构件
CORBA
答案:A
相关文章:

软考高级:系统架构设计师——软件架构设计 Chapter 笔记
软考高级:系统架构设计师——软件架构设计 1 软件架构设计—基本概念架构所处的位置架构发展历程架构的“41”视图例题 架构描述语言(ADL)例题 2软件架构设计—架构风格数据流风格调用/返回 风格独立构件风格虚拟机风格仓库风格(以…...

PageHelper组件 实现前端分页查询功能
Hi~!这里是一颗小谷粒,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~💥💥个人主页:一颗小谷粒💥💥所属专栏:Web前端开发 💥💥博主…...
线性回归与逻辑回归在模型参数优化上的比较
概述 线性回归和逻辑回归是两种基础且广泛应用的预测模型。尽管它们在很多方面有相似之处,如都使用梯度下降算法来优化模型参数,但在优化目标和方法上存在一些关键差异。本文将探讨这两种模型在参数优化上的差异,并提供相应的代码示例。 线…...

JavaWeb JavaScript 10.日程管理 第一期
自我消耗,敏感是我, 明媚是我, 我横跳在不同的情绪中 —— 24.8.31 一、登录页及校验 1.校验账号格式 // 校验账号格式function checkUsername(){// 定义正则表达式表示字符串规则var usernameReg /^[a-zA-Z0-9]{5,10}$/;// 获取用户名输入…...

redis为什么快
春内存访问,相比数据库访问磁盘要快单线程,避免上下文切换带来的cpu开销渐进式Rehash。减少阻塞网络模型多路复用,reactor模型 常用基本数据类型 5个基本数据类型2个高级数据结构(bitmaps、hyperlog) redis高级功能…...
十分钟学会Kubernetes(K8S) 部署SpringBoot3.0
1、十分钟学会Kubernetes(K8S) 部署SpringBoot3.0 本课程以 Java 后端开发的视角,带着大家从零基础入门 k8s 实战,掌握企业级容器化管理平台的各种实战应用,以及 Prometheus 监控告警、ELK 日志收集、DevOps 等众多实战课程内容,大…...

顺序表的插入与删除
一.插入:插入前先移动后面的元素 1.图解: 在b和d之间插入c,此时就需要把d,e,f都向后移一位,腾出一个位置后插入c。 2.代码实现: #include<stdio.h> #define MaxSize 10 //定义最大长度…...
FFMPEG -- 音频开发
1:前言 在进行音频开发之前需要先知道一些基础知识,一些有必要的指导的概念。 1.1 声音的产生、获取和转换 声音的产生的本质是靠震动,声音的传播需要借助媒介,比如空气、液体、固体等媒介。在自然界中声音的可视化为音波的形式&…...
lxml官方入门教程(The lxml.etree Tutorial)翻译
lxml官方入门教程(The lxml.etree Tutorial)翻译 说明: 首次发表日期:2024-09-05官方教程链接: https://lxml.de/tutorial.html使用KIMI和豆包机翻水平有限,如有错误请不吝指出 这是一个关于使用lxml.et…...

string详解
Golang详解string 文章目录 Golang详解stringGolang中为什么string是只读的?stirng和[]byte的转化原理[]byte转string一定需要内存拷贝吗?字符串拼接性能测试 Golang中为什么string是只读的? 在Go语言中,string其实就是一个结构体…...

基于约束大于规范的想法,封装缓存组件
架构?何谓架构?好像并没有一个准确的概念。以前我觉得架构就是搭出一套完美的框架,可以让其他开发人员减少不必要的代码开发量;可以完美地实现高内聚低耦合的准则;可以尽可能地实现用最少的硬件资源,实现最高的程序效率…...

自动化测试面试真题(附答案)
一、编程语法题 1 、 python 有哪些数据类型 python 数据类型有很多,基本数据类型有整型(数字)、字符串、元组、列表、字典和布尔类型等 2 、怎么将两个字典合并 调用字典的 update 方法,合并 2 个字典。 3 、 json.l python …...

云原生架构概念
云原生架构概念 云原生架构(Cloud Native Architechtrue)作为一种现代软件开发的革新力量,正在逐渐改变企业构建、部署和管理应用程序的方式。它的核心优势在于支持微服务架构,使得应用程序能够分解为独立、松耦合的服务…...
85、 探针
一、pod的进阶 pod的进阶: 1.1、pod的生命周期当中的状态: 1、Running运行中,pod已经分配到节点上且pod内的容器正常运行。正常状态(ready 1/1)。 2、complete:完成之后退出,容器内的返回码…...

2024全国大学省数学建模竞赛A题-原创参考论文(部分+第一问代码)
一问题重述 1.1 问题背景 "板凳龙",又称"盘龙",是浙闽地区的传统地方民俗文化活动。这种独特的表演艺术形式融合了中国传统龙舞的精髓和地方特色,展现了人们对美好生活的向往和对传统文化的传承。 在板凳龙表演中&am…...

在VScode上写网页(html)
一、首先点进VScode,下载3个插件。 VScode安装:VScode 教程 | 菜鸟教程 二、新建 HTML 文件 作者运行的代码来自:http://t.csdnimg.cn/vIAQi 把代码复制粘贴进去,然后点击文件→另存为→选择html格式。 三、运行代码...
C#中LINQ的Cast<T>与OfType<T>
在C#中,Cast() 方法是LINQ(Language Integrated Query)的一部分,它位于 System.Linq 命名空间中。这个方法用于将 IEnumerable 集合(或任何实现了 IEnumerable 接口的集合)的元素转换为指定类型 T 的集合。…...

小阿轩yx-Kubernertes日志收集
小阿轩yx-Kubernertes日志收集 前言 在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志,包括程序直接输出到控制台日志、自定义文件日志等 有哪些日志需要收集 日志收集与分析很重要,为了更加方便的处理异常 简单总结一些比较重要的需要收集…...

0to1使用Redis实现“登录验证”次数限制
1 引言 系统为了避免密码遭到暴力破解,通常情况下需要在登录时,限制用户验证账号密码的次数,当达到一定的验证次数后,在一段时间内锁定该账号,不再验证。本章将用几行代码实现该功能,完整代码链接在文章最…...

ARM----时钟
时钟频率可以是由晶振提供的,我们需要高频率,但是外部接高的晶振会不稳定,所有使用PLL(锁相环)来放大频率。接下来就让我们学习用外部晶振提供的频率来配置时钟频率。 一.时钟源的选择 在这里我们选择外部晶振作为时钟…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...