当前位置: 首页 > news >正文

西电软件体系结构核心考点汇总(期末真题+核心考点)

文章目录

  • 前言
  • 一、历年真题
  • 二、核心考点汇总
    • 2.1 什么是软件体系架构?(软件体系结构的定义)
    • 2.2 架构风格优缺点
    • 2.3 质量属性
    • 2.4 质量评估


前言

主要针对西安电子科技大学《软件体系结构》的核心考点进行汇总。
【期末期间总结资料如下】
在这里插入图片描述
针对西电计科院软件工程专业大三《软件体系结构》期末考试复习资料。大部分知识点来自于老师的PPT,放心使用。
题型包括:简答题,选择题,大题
(如需要软件体系结构全部笔记资料,可以联系邮箱oax_knud@163.com
其他资料参考:西电计算机专业课资料汇总


一、历年真题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. Utility Tree (16 points)
    A software company plans to develop a data processing system. The development team analyzed the Quality Attributes, designed architecture and wanted to use Utility Tree to evaluate the architecture, followings are the scenarios.
    a) There are two roles in the system: administrator and user. An administrator can create one or more users, and grant them the permissions accordingly.
    b) Users are identified by their mobile phone numbers, and they can set a nickname having least 5 characters starting with letters.
    c) The cost for adding a new data processing algorithm to the system by a developer is less than 10-person days.
    d) The processing latency on main database need to be reduced to 100ms.
    e) Change Web user interface in < 3-person weeks.
    f) The application can display the processing results for an authentication user, and the authentication works 99.99% of the time.
    g) When power outrage happens at site 1, it takes at most 3s to redirect
    all traffic from site 1 to site 3.
    h) If a user forgets his password, he can reset his password by receiving a message from the system.
    i) The latency for processing a 1GB video data (1080p) must be less than 10s.
    j) The network failure can be detected automatically and recovered in < 2.5 min.
    k) The system must have a user authorization database to record the user permissions, and the authorization works 99.99% of the time.
    According the scenarios, please construct a Utility Tree.

  2. Architecture Evaluation (20 points)
    Identifying and recording risks and non-risks, sensitivity points and tradeoffs are important tasks in architecture evaluation. Please describe the definitions of risk, non-risk, sensitivity point and tradeoffs and then read the following descriptions and point out each description is a risk, non-risk, sensitivity point or tradeoff.
    a) The number of concurrent requests will affect the number of transactions a database can process per second.
    b) Changing the level of authentication could have a significant impact on both security and performance.
    c) Some business processing component is provided by a third-party
    company, there is no way of detecting the failure of them directly.
    d) Assuming the request arrival rate is twice per second, and the average processing time is less than 80ms; a 1 second response time seems reasonable for our system.
    e) Some of the legacy data processing components are implemented by the C++ programming language, which should be encapsulated ( 封装 ) first and are hard for a Java program to maintain and modify them.
    f) The selection of the encryption algorithm might be closely related to the number of bits of encryption

二、核心考点汇总

2.1 什么是软件体系架构?(软件体系结构的定义)

基于1993年D Garlan,Mshaw 的软件体系结构定义,可以认为软件体系结构由三大要素组成,分别为:组件,连接件,约束。其作用如下:

  • 组件:具有某种功能的可重用的软件模块单元,表示了系统中主要的计算单元和数据存储。
  • 连接件:表示了组件之间的交互。简单的连接件有:管道,过程调用、事件广播等。复杂的连接件有:客户-服务器通信协议,数据库和应用之间SQL连接等。
  • 约束:表示了组件和连接件的拓扑逻辑和约束。

2.2 架构风格优缺点

在这里插入图片描述
掌握所有架构风格优缺点和原理。
以数据流风格为例:
1、 总体描述:
【组件】数据流风格组件为计算模型,包括输入接口和输出接口,输入接口读取数据流的数
据,通过计算模型处理数据得到结构,将其写入输出接口。【连接件】连接件为数据流,前
一个组件的输出接口输出的数据通过数据流传输到下一个组件的输入接口,连接件主要起传
输数据的作用。
2、 批处理风格【大量整体数据传输时适用】
在这里插入图片描述
【组件】批处理风格的组件是独立计算的程序,【连接件】连接件为某种传输数据的媒介
【优点】

  • 无需考虑同步问题:数据是完整的,以整体的方式在组件之间进行传输,因此无需考虑
    同步数据问题;
  • 可以随机存取数据:由于数据是完整传输的,因此在获取数据时,可以完整的存取所有
    数据。

【缺点】

  • 计算效率低,系统性能差,无法并行计算:批处理的处理单元必须在前一个处理单元完
    全处理完毕后再进行计算,因此系统计算效率低。
  • 无法实时计算:每个组件之间的计算顺序是固定的,因此若实时计算,会存在计算延时
    现象
  • 交互性差:每个组件都对完整的数据进行计算,因此在处理数据过程中,用户不易交互。

【应用】编译器,CASE 应用程序;基于 eclipse 的代码重复检测工具

3、 管道过滤器【流式数据传输并且知道流向时适用】
在这里插入图片描述
【组件】管道过滤器风格的组件是过滤器,过滤器将源数据转换为目标数据,功能包括增加,
删除,转换,合并,分解。【连接件】管道过滤器风格的连接件是管道,管道的主要作用在
于在过滤器之间传输数据。两个过滤器之间通过管道进行数据的传输。

【优点】

  • 可以并行计算:由于管道过滤器输入数据为流式数据,因此对于不同的数据流可以在不
    同的过滤器上进行并行计算。
  • 支持软件的复用:过滤器之间只要数据格式满足输入输出要求,任何两个过滤器均可以
    进行连接。
  • 组件具有良好的隐蔽性,高内聚,低耦合的特点:整个系统的输入输出可以看作内部多
    个过滤器行为的合成。
  • 系统易于维护和扩展:系统中仅需要通过增加过滤器便可以进行系统功能的扩展;同时
    也仅需要维护某一个过滤器便可以进行功能的维护。

【缺点】

  • 性能不高:过滤器之间数据的输入输出格式往往没有统一的标准,因此在过滤器之间数
    据进行传输的过程中,过滤器要对数据进行解析才能继续使用数据,系统大量事件用户
    数据格式的转换与解析,因此实际功能的效率较低。
  • 不适合用户交互处理:当系统需要增量改变时,管道过滤器往往无法进行很好的工作。

【应用】编译器,图像处理程序,语音处理,数据处

2.3 质量属性

了解定义,六要素,以及对应的策略
以可用性为例进行说明:

可用性 availability
1、 定义:在要求的外部资源得到保证的前提下,产品在规定条件下和规定时刻或时间区间
内处于可执行规定功能状态的能力。
2、 六要素
在这里插入图片描述
策略:
在这里插入图片描述
在这里插入图片描述

2.4 质量评估

背会风险,非风险,敏感点,权衡点定义,并会根据场景分析哪个是风险,非风险,敏感点,权衡点。

相关文章:

西电软件体系结构核心考点汇总(期末真题+核心考点)

文章目录前言一、历年真题二、核心考点汇总2.1 什么是软件体系架构?(软件体系结构的定义)2.2 架构风格优缺点2.3 质量属性2.4 质量评估前言 主要针对西安电子科技大学《软件体系结构》的核心考点进行汇总。 【期末期间总结资料如下】 针对西电计科院软件工程专业大三《软件体…...

SRS源码分析-SDP内容解析

前言 在学习SRS的RTC模块之前&#xff0c;首先来分析下SRS在将rtmp推流转成rtc流&#xff0c;通过浏览器拉取webrtc流场景下产生的SDP内容 SDP格式介绍 SDP数据是文本格式&#xff0c;由多个 <key><value> 表达式构成&#xff0c;<key>的值只能是一个字符…...

HTML 颜色

HTML 颜色 HTML 颜色采用的是 RGB 颜色&#xff0c;是通过对红 (R)、绿 (G)、蓝 (B) 三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的&#xff0c;RGB 即是代表红、绿、蓝三个通道的颜色。 Color Values HTML 颜色由一个十六进制符号来定义&#xff0c;这个符…...

MySQL高可用架构之InnoDB Cluster部署

MySQL高可用架构之InnoDB Cluster部署InnoDB Cluster适用场景准备工作安装MySQL Shell使用MySQL Shell搭建InnoDB Cluster初始化第一个实例创建InnoDB Cluster添加副本实例创建相关用户MySQL Router部署安装MySQL Router引导MySQL Router启动MySQL Router环境准备 主机名IPOS版…...

Linux安装minio单机版

说明&#xff1a;因为前面记录了一下minio的使用&#xff0c;这里说一下minio的安装&#xff0c;只是单机版哦 环境准备&#xff1a;Linux系统 说明图&#xff1a; 1.创建文件夹命令 我的是安装在/usr/local 文件夹下面的创建文件夹命令 #进入目标文件夹 cd /usr/local#创建…...

网络总结知识点(网络工程师必备)四

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 前言 71.NAPT有什么特点? 72.ARP欺骗解决方法...

数据结构——第三章 栈与队列(5)

共用栈和双队列1.共用栈2.双端队列栈与队列的本章小节1.共用栈 在实际应用中&#xff0c;有时一个应用程序需要多个栈&#xff0c;但这些栈的数据元素类型相同。假设每个栈都采用顺序栈&#xff0c;由于每个栈的使用情况不尽相同&#xff0c;势必会造成存储空间的浪费。若让多…...

CSDN竞赛第33期题解

CSDN竞赛第33期题解 1、题目名称&#xff1a;奇偶排序 给定一个存放整数的数组&#xff0c;重新排列数组使得数组左边为奇数&#xff0c;右边为偶数。&#xff08;奇数和偶数的顺序根据输入的数字顺序排 列&#xff09; #include<bits/stdc.h> using namespace std; t…...

农产品销售系统的设计与实现

技术&#xff1a;Java、JSP等摘要&#xff1a;这篇文章主要描述的是农产品蔬菜在线销售系统的设计与实现。主要应用关于JSP网站开发技术&#xff0c;并联系到网站所处理的数据的结构特点和所学到的知识&#xff0c;应用的主要是Mysql数据库系统。系统实现了网站的基本功能&…...

C语言-基础了解-08-C判断

C判断 一、C判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假…...

用数组名作函数参数的详解,以及形参实参采用数组名,形参实参采用指针变量的几种情况解析

关于地址&#xff0c;指针&#xff0c;指针变量可以参考我的这篇文章&#xff1a; 地址&#xff0c;指针&#xff0c;指针变量是什么&#xff1f;他们的区别&#xff1f;符号&#xff08;*&#xff09;在不同位置的解释&#xff1f;_juechen333的博客-CSDN博客https://blog.csd…...

k8s中的PV和PVS

前言&#xff1a;容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出现一些问题。首先&#xff0c;当容器崩溃时&#xff0c;kubelet 会重启它&#xff0c;但是容器中的文件将丢失——容器以干净的状态&#xff08;镜像最初的状态&#xff09;…...

【云原生】Gateway网关选型

网关一般分为流量网关和业务网关&#xff0c;流量网关负责接入所有的流量&#xff0c;并分发给不同的子系统&#xff0c;那在具体的业务接入之前&#xff0c;还有一层业务网关。流量网关提供全局性的、与后端业务应用无关的策略&#xff0c;例如 HTTPS证书卸载、Web防火墙、全局…...

QML Button详解

1.Button简介 Button表示用户可以按下或单击的按钮控件。按钮通常用于执行一个动作&#xff0c;或回答一个问题。典型的按钮有确定、应用、取消、关闭、是、否和帮助。 Button继承自AbstractButton&#xff0c;提供了以下几种信号。 void canceled() //当按…...

【编程实践】什么是好/坏代码?非程序员的示例

What is good/bad code? An illustrated example for non-programmers 什么是好/坏代码?非程序员的示例 目录 What is good/bad code? An illustrated example for non-programmers什么是好/坏代码?非程序员的示例 So what is ‘Bad Code’, as a layperson?那么,作为…...

一个简单的Sublime设置

问题 如果读者熟悉我&#xff0c;应该会发现我经常使用 VSCode 作为主力编辑器&#xff0c;但随着我安装的 VSCode 的插件逐渐增加&#xff0c;我发现对于部分较小的任务使用 VSCode 过于笨重&#xff0c;比如简单的 Markdown 文件编辑工作。 在经过一系列寻找后&#xff0c;…...

c语言经典例题-选择结构程序设计进阶

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 快递费用计算&#xff1a; 题目&#xff1a; 代码思路&#xff1a; 代码表示&#xff1a; 计算一元二…...

NOI 2023春季测试 游记

怎么说&#xff0c;没遇到大波折即幸运。 Day 0 睡到下午三点&#xff0c;然后列了一堆复习计划&#xff0c;大概是左偏树等一些早就忘没的科技。 但是沉迷打块&#xff0c;最后基本什么计划也没完成。 白天睡多了&#xff0c;晚上睡不着&#xff0c;大概半梦半醒过了一整夜…...

【VC 7/8】vCenter Server 基于文件的备份和还原Ⅱ——使用 FTP 协议备份 VC(VAMI 英文)

目录2. 备份 vCenter Server2.1 使用 FTP 协议备份 VC&#xff08;1&#xff09;登录 vCenter Server 管理界面&#xff08;2&#xff09;进入Backup页面&#xff08;3&#xff09;配置 Backup Schedule&#xff08;4&#xff09;开始备份&#xff08;5&#xff09;备份成功&am…...

Python基础—文件操作(二)

Python基础—文件操作(二) CSV格式文件 逗号分隔值&#xff0c;以纯文本形式存储表格数据 由任意数目的记录组成&#xff0c;记录间以换行符分隔 每条记录由字段组成&#xff0c;字段间用逗号或制表符分隔 每条记录都有同样的字段序列 如有列名&#xff0c;位于文件第一行 每条…...

CW32L012/F030灵眸X1智能小车--电机调速控制

1.认识PWM PWM&#xff08;Pulse Width Modulation脉宽调制&#xff09;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用&#xff0c;方波占空比被调制用来对一个具体模拟信号的电平…...

DLT Viewer全景指南:汽车电子日志分析的核心功能与实战应用

DLT Viewer全景指南&#xff1a;汽车电子日志分析的核心功能与实战应用 【免费下载链接】dlt-viewer Diagnostic Log and Trace viewing program 项目地址: https://gitcode.com/gh_mirrors/dl/dlt-viewer 在汽车电子开发的复杂环境中&#xff0c;诊断日志与追踪数据如同…...

go-zero 数据库自动化:从 SQL 到 CRUD 的生产级实践指南

go-zero 数据库自动化:从 SQL 到 CRUD 的生产级实践指南 一、先说结论:数据库自动化不是“偷懒”,而是工程标准化 在中大型后端系统里,数据库访问层往往有两个典型矛盾: 业务迭代要求快,表结构一变,CRUD、缓存、查询接口都得跟着改。 生产环境要求稳,任何一处 SQL、事…...

Vibe Coding 有哪些实用技巧?这篇文章讲透工作流、提示词和避坑方法

Vibe Coding 是什么&#xff1f;一篇讲清它的技巧、工作流与避坑方法 这两年&#xff0c;AI 编程工具越来越强&#xff0c;很多开发者开始用自然语言驱动代码生成。围绕这种开发方式&#xff0c;一个很火的词出现了&#xff1a;Vibe Coding。 简单说&#xff0c;Vibe Coding 就…...

一种风速测量仪的设计与制作

风速、风向的测量在气象预报、环境监测、风力发电、航空航天等领域中有着重要意义。随着传感器技术、微处理器技术和网络通信技术的发展&#xff0c;相比传统的人工观测&#xff0c;数字化、智能化的气象仪器在观测精度、速度和稳定性等方面都有较大优势&#xff0c;因此针对数…...

2026年专升本论文降AI率工具推荐:选题和写作难点解决方案

2026年专升本论文降AI率工具推荐&#xff1a;选题和写作难点解决方案 导师发消息说论文AI率超标的时候&#xff0c;我正在食堂吃饭。筷子都差点拿不稳。 后来用了三天时间研究专升本论文降AI&#xff0c;踩了不少坑但总算搞定了。最后稳定在用的就是嘎嘎降AI&#xff08;www.…...

从信号处理到量化交易:我是如何用Python+miniQMT搭建实时行情数据管道的(附避坑经验)

从信号处理到量化交易&#xff1a;PythonminiQMT构建高可靠行情管道的工程实践 第一次尝试用Python连接miniQMT获取实时行情时&#xff0c;我的回调函数在开盘瞬间就被数据洪流冲垮了——这让我意识到金融数据流的处理与信号处理领域的实时系统设计竟有惊人的相似。本文将分享如…...

DPU应用场景系列(二)存储加速与数据卸载

1. 为什么存储需要DPU加速&#xff1f; 想象一下你正在用手机拍摄4K视频&#xff0c;每秒钟产生的数据量相当于几百张高清照片。现在把这个场景放大到数据中心——成千上万的服务器每天要处理数PB级别的数据&#xff08;1PB100万GB&#xff09;&#xff0c;传统的存储架构就像用…...

Lepton AI日志聚合:ELK与Loki方案对比

Lepton AI日志聚合&#xff1a;ELK与Loki方案对比 【免费下载链接】leptonai A Pythonic framework to simplify AI service building 项目地址: https://gitcode.com/gh_mirrors/le/leptonai Lepton AI是一个Pythonic框架&#xff0c;旨在简化AI服务的构建过程。在AI服…...

嘎嘎降AI下载结果后的后处理教程:格式调整和质量自查方法

嘎嘎降AI下载结果后的后处理教程&#xff1a;格式调整和质量自查方法 上周室友第一次用降AI工具&#xff0c;操作错了好几步&#xff0c;差点浪费机会。觉得有必要写一篇详细教程。 我用的是嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.8元一篇&#x…...