【真题笔记】16年系统架构设计师要点总结

【真题笔记】16年系统架构设计师要点总结

  • 存储部件
  • 接口
  • 嵌入式处理器
  • 产品配置+配置管理
  • 用户文档+系统文档
  • CMM(能力成熟度模型)
  • 螺旋模型
  • 敏捷软件开发的方法学
  • 软件工具
  • 面向对象的分析模型+设计模型
  • COP(面向构件的编程)
  • 构件+原子构件+模块
  • SOA(面向服务的架构)
  • C2架构风格
  • 可修改性
  • 网络攻击
  • 数学建模
  • 内聚+耦合

在16年真题练习中,对错题+模棱两可的考点进行重点记录与内容延申。本博文只做新知识的记录,重复知识点补充已更新到之前的博文中

存储部件

图

ps:存储速度最快的CPU,用寄存器组要清楚说的对象。

接口

  • API(应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。所有操作系统(不仅仅是嵌入式操作系统)给应用程序提供的接口,称为API
  • GUI(图形用户界面,又称图形用户接口),是用户与操作系统之间的的接口,是指采用图形方式显示的计算机操作用户界面。

嵌入式处理器

是嵌入式系统的核心部件,一般可分为嵌入式微处理器(MPU)、微控制器(MCU)、数字信号处理器(DSP)、片上系统(SOC)。

  • MPU采用增强型通用微处理器,由于嵌入式系统通常应用于比较恶劣的环境中,因而MPU在工作温度、电磁兼容性以及可靠性等方面的要求较通用的标准的微处理器高。但是,MPU在功能方面与标准的微处理器基本上是一样的,技术保密性也较差,对比其他芯片没有加强安全性和可靠性。而在实践过程中,智能计算不仅仅包括边缘计算,像人工智能计算,用到的芯片通常包括GPU、FPGA等硬件,MPU并不典型适用
  • MCP又称单片微型计算机或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计算器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同的组合控制。而且体积小从而使功耗和成本下降
  • DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件,其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力高运行速度,是最值得称道的两大特色。
  • SOC称为系统级芯片,也有称片上系统,表示它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入式软件的全部内容

产品配置+配置管理

  • 配置管理:是通过技术和行政手段对产品及其开发过程和生命周期进行控制、规范的一系列措施和过程。
  • 产品配置:是指一个产品在其生命周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合。

用户文档+系统文档

软件系统的文档可以分为用户文档和系统文档两类,用户文档主要描述系统功能和使用方法,并不关心这些功能是怎样实现的;系统文档描述系统设计、实现和测试等各方面的内容。

  • 用户文档是用户了解系统的第一步,它可以让用户获得对系统的准确的初步印象,至少应该包括5方面的内容:功能描述、安装文档、使用手册、参考手册、操作员指南。
  • 系统文档指从问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档。描述系统设计、实现和测试的文档对于理解程序和维护程序来说是非常重要的。

CMM(能力成熟度模型)

在软件开发机构中被广泛用来指导软件过程改进。该模型描述了软件处理能力的5个成熟级别。为了达到过程能力成熟度模型的第二级,组织结构必须具有6个关键过程域KPA(Key Process Areas)

螺旋模型

是一种演化软件过程模型,它在快速模型的基础上扩展而来。螺旋模型沿着螺线进行若干次迭代,每次迭代都包括制订计划、风险分析、实施工程、客户评估四个方面的工作。该模型强调风险分析,使得开发人员和用户对每个演化分层出现的风险有所了解,继而做出应对的反映。因此,特别适用于庞大、复杂并具有高风险的系统

敏捷软件开发的方法学

  • XP(极限编程):以人为中心,但是高度纪律性,在一些对费用控制严格的公司中的使用,已经被证明是非常有效的。
  • 水晶系列方法:以人为中心,探索用最少纪律约束而仍能成功的方法,从而在产出效率和易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。
  • 开放式源码:与其他敏捷方法不同,一般的敏捷方法都强调项目组成员在同一地点工作,而该方法适合程序开发人员在地域上分布很广的情况,而且查错排障的高度并行性,任何人发现了错误都可将改正源码的补丁文件发给维护者,然后由维护者将这些补丁或是新增的代码并入源码库。
  • SCRUM:该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。
  • FDD(功用驱动开发方法):致力于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是2周。编程开发人员分成2类:首席程序员和类程序员,首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而类程序员则主要做源码编写。
  • ASD:核心是三个非线性的、重叠的开发阶段:猜测、合作和学习

软件工具

通常可以按照软件过程活动将软件工具分为:软件开发工具、软件维护工具、软件管理和软件支持工具。

  • 软件开发工具:需求分析工具、设计工具、编码与排错工具;
  • 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具;
  • 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

ps:管理和评价的就是软件管理和软件支持工具;需求、设计、排错就是软件开发工具,其余维护工具。

面向对象的分析模型+设计模型

  • 面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;
  • 设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。

COP(面向构件的编程)

关注于如何支持建立面向构件的解决方案。面向构件的编程需要下列基本的支持:

  • 多态性(可替代性);
  • 模块封装性(高层次信息的隐藏);
  • 后期的绑定和装载(部署独立性);
  • 安全性(类型和模块安全性)。

构件+原子构件+模块

  • 构件是一组通常需要同时部署的原子构件。构件与原子构件之间的区别在于,大多数原子构件永远都不会被单独部署,尽管它们可以被单独部署。相反,大多数原子构件都属于一个构件家族,一次部署往往涉及整个家族,因此是不可以同时在多个构件家族中共享一个原子构件是一个模块和一组资源
  • 原子构件是部署、版本控制和替换的基本单元。原子构件通常成组地部署,但是它也能被单独部署。一个模块是不带单独资源的原子构件(在这个严格定义下,JAVA包不是模块,在JAVA中部署的原子单元是类文件)
  • 模块是一组类和可能的非面向对象的结构体,比如过程或者函数。

SOA(面向服务的架构)

  • UDDI(Universal Description ,Discovery & Integration):用于Web服务注册和服务查找;
  • WSDL(Web Service Description Language):用于描述Web服务的接口和操作功能;
  • SOAP(Simple Object Access Protocol ):为建立Web服务和服务请求之间的通信提供支持,用于实现Web服务的远程调用
  • BPEL(Business Process Execution Language For Web Service):一种使用Web服务定义和执行业务流程的语言,用户可以通过组合、编排和协调Web服务自上而下地实现面向服务的体系结构(SOA)。而且提供了一种相对简单易懂的方法,可以将多个Web服务组合成一个新的复合服务(称作业务流程)中

C2架构风格

通过连接件绑定在一起的按照一组规则运行的并行构件网络。系统组织规则如下:

  • 系统中的构件和连接件都有一定顶部和底部;
  • 构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;
  • 一个连接件可以和任意数目的其他构件和连接件连接;
  • 当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。

图

可修改性

是指能够快速地以较高的性能价格比对系统进行变更的能力,通常以某些具体的变更为基准,通过考查这些变更的代价衡量可修改性。包含4个方面:

  • 可维护性
  • 可扩展性
  • 结构重构
  • 可移植性

ps:注意没有可变性

网络攻击

  • 被动攻击(passive attack):攻击者目的只是获取信息,这就意味着攻击者不会篡改信息或危害系统,系统可以不中断其正常运行。常见被动攻击包括:窃听和流量分析。
  • 主动攻击(active attack): 可能改变信息或危害系统。威胁信息完整性和有效性的攻击就是主动攻击。主动攻击通常易于探测但却难于防范,因为攻击者可以通过多种方法发起攻击。常见的主动攻击包括:篡改、伪装、重放、拒绝服务攻击。
  • 物理攻击:攻击者可以直接接触到信息与网络系统的硬件、软件和周边环境设备。通过对硬件设备、网络线路、电源、空调等的破坏,使系统无法正常工作,甚至导致程序和数据无法恢复。
  • 分发攻击:指在软件和硬件开发出来之后到安装之前的这段时间,或当它从一个地方传输到另一个地方时,攻击者恶意修改软硬件,这种攻击可能给一个产品引入后门程序等恶意代码,以便日后在未获授权情况下访问信息或系统。

数学建模

对不同的问题,有不同的评价标准,数学模型难有统一的普适标准来评价。

内聚+耦合

在这里插入图片描述

ps:为了方便记忆,由高到低,进行如下谐音记忆:
内聚 恭喜通过顺喽欧
耦合 内功外控标数非

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

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

相关文章

【力扣打卡系列】二分查找(红蓝染色法)

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为go&#xff0c;Day8 在排序数组中查找元素的第一个和最后一个位置 题目描述解题思路 二分查找 注意勿漏循环&#xff0c;条件为left < right注意比较的是nums[mid]与target的值&#xff0c;不是mid注意if s…

NGINX 交叉编译 arm32

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

openstack之guardian介绍与实例创建过程

运行特征 采集模块&#xff1a;扩展Ceilometer&#xff0c;采集存储网、业务网连通性、nova目录是否可读写&#xff1b; 收集模块&#xff1a;将采集到的数据存储到数据库中&#xff1b; 分析模块&#xff1a;根据采集的结果&#xff0c;分析各节点状态&#xff0c;并进行反向检…

操作集成、数据集成、界面集成-系统架构师(八十八)

1软件开发环境由软件工具集和环境集成机制构成&#xff0c;前者支持软件活动的过程和任务&#xff0c;后者提供统一数据模式和数据接口规范的数据集成机制&#xff0c;支持个各开发活动之间通信、切换、调度和协同的&#xff08;&#xff09;。 A 操作集成机制 B 控制集成机制…

项目经理必看:PMP证书值不值得考?一文了解真相!

大部分人对“PMP证书”这个词语可能有点陌生&#xff0c;但很多想从事于项目管理或带团队当领导的人对此还是比较熟悉的。 PMP是由美国项目管理协会发起的&#xff0c;严格评估项目管理人员知识技能是否具有高品质的资格认证考试&#xff0c;1999年由我国国家外国专家局引进&am…

空元组同一空间,空列表不是同一空间print(a is b, c is d)

1. 在Python&#xff08;Python的官方实现&#xff09;中&#xff0c;对于小整数有一个整数缓存机制&#xff1a; - 整数对象在 -5到256&#xff08;包含 -5和256&#xff09;之间是被缓存的。这意味着在这个范围内的整数&#xff0c;当你在代码中多次使用相同的值创建整数对象…

电通旗下VeryStar连摘Campaign 亚太科技MVP及鼎革奖两项大奖

近日&#xff0c;电通CXM&#xff08;客户体验管理&#xff09;旗下费芮互动VeryStar开发的OmniRetail零售数字化平台及其中的OmniCRM分别摘得重磅奖项。OmniCRM在Campaign亚太2024年度亚太地区Tech MVP中当选“最有价值科技产品”&#xff0c;OmniRetail荣获“2024「鼎革奖」数…

【vba源码】禁用复制功能Ctrl+C

hi&#xff0c;大家好呀&#xff01; 又到了和大家一起来分享Access开发的功能点时间了&#xff0c;最近总感觉时间不够用&#xff0c;感觉要做的事情有很多&#xff0c;但总是被乱七八糟的事情给打扰&#xff0c;好在我们每个人有Passion&#xff01;最近更新的Access2024的教…

「C/C++」C++11 之<thread>多线程编程

✨博客主页何曾参静谧的博客📌文章专栏「C/C++」C/C++程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明目…

JUC从实战到源码:LockSupport

LockSupport学习与使用 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习心得&#xff0c;欢迎指正&…

Linux之信号量

前言 IPC中介绍过信号量, 为了让进程间通信, 从而多个执行流看到同一份公共资源, 对于并发访问造成数据不一致问题, 就需要把公共资源保护起来, 从而就需要同步与互斥. 信号量共有三个特性: 1. 本质是一把用于描述临界资源资源的数目的计数器 2. 每一个执行流想访问公共资源内…

eval长度限制绕过

我把他的叙述写成代码&#xff0c;大概如下&#xff1a; <?php $param $_REQUEST[param]; if(strlen($param)<17 && stripos($param,eval) false && stripos($param,assert) false) {eval($param); } ?> 那么这个代码怎么拿到webshell&#xf…

Linux - 进程间通信(管道)

文章目录 一、进程间通信的目的二、进程间通信的本质三、管道1、介绍2、匿名管道3、命名管道 一、进程间通信的目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程资源共享&#xff1a;多个进程之间共享同样的资源。通知事件&#xff1a;一个进程需要向另一个或…

【软考】反规范化技术

论反规范化技术 反规范化有这几种技术&#xff0c;增加冗余列&#xff0c;增加派生列&#xff0c;重组表和分割表。其中冗余列是指同一个字段在另外的表中存储一份&#xff0c;减少连表操作。增加派生列是基于另外一个列或者多个列&#xff0c;计算得到一个新的列&#xff0c;可…

SpringBoot day 1104

ok了家人们这周学习SpringBoot的使用&#xff0c;和深入了解&#xff0c;letgo 一.SpringBoot简介 1.1 设计初衷 目前我们开发的过程当中&#xff0c;一般采用一个单体应用的开发采用 SSM 等框架进行开发&#xff0c;并在 开发的过程当中使用了大量的 xml 等配置文件&#x…

Python | Leetcode Python题解之第528题按权重随机选择

题目&#xff1a; 题解&#xff1a; class Solution:def __init__(self, w: List[int]):self.pre list(accumulate(w))self.total sum(w)def pickIndex(self) -> int:x random.randint(1, self.total)return bisect_left(self.pre, x)

C++ | Leetcode C++题解之第528题按权重随机选择

题目&#xff1a; 题解&#xff1a; class Solution { private:mt19937 gen;uniform_int_distribution<int> dis;vector<int> pre;public:Solution(vector<int>& w): gen(random_device{}()), dis(1, accumulate(w.begin(), w.end(), 0)) {partial_sum(…

弹簧质点系统求Hessian

Verification https://www.matrixcalculus.org/ (1-l0/norm2(p-q))*(p-q)

游游的游戏大礼包

游游的游戏大礼包 import java.util.*; public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);long n in.nextInt();long m in.nextInt();long a in.nextInt();long b in.nextInt();long ret 0;for(long x 0; x < Math.…

详解ARM汇编条件标志

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 条件标志 在 ARM 指令集中&#xff0c;条件标志是控制指令执行的一种机制&#xff0c;它们用于实现条件分支、比较和其他逻辑操作。 我们平时使用 IDA 调试程…