【系统架构师】-基础知识整理

news2024/11/15 11:41:48

1、面向对象设计得四种关系

关系类型概念特点例子
关联关系表示不同类的对象之间有联系,但是一方并不完全拥有另一方,也不对其生命周期负责。关联关系可以是单向的也可以是双向的。耦合度高通常用来表示不同类的对象之间的联系,如“使用”或“参与”等。关联关系有方向,表示数据的流向或者控制流向。学生和课程之间的关系。一个学生可以选多门课程,一门课程也可以被多个学生选择。
依赖关系一种使用关系,指一个类的实现需要依赖于另一个类的定义。通常,一个类的变更会影响到依赖它的类。依赖关系比关联关系的耦合度更低表示一个类使用另一个类的方法或资源,但是两者之间不是强关联。一个报表类(Report)可能依赖于数据库连接类(DatabaseConnection)来获取数据。
实现关系在类与接口之间的关系。类通过实现接口来实现接口中定义的所有抽象方法。接口定义了一组方法,而实现该接口的类必须实现这些方法。实现关系体现了接口和实现分离的设计原则。一个汽车类实现了一个可驾驶接口,表明汽车类必须实现可驾驶接口中的方法。
泛化关系是一种继承关系,表示一般与特殊的关系,即子类是父类的一个特殊化。在泛化关系中,子类继承了父类的所有特性和行为,并可以添加新的特性和行为或重写父类的方法。动物类可以被泛化为哺乳动物类和鸟类,哺乳动物类和鸟类是动物类的特殊化。

2、主动攻击与被动攻击

1)主动攻击

主动攻击是指攻击者直接对目标系统进行破坏或干扰的行为,这种攻击通常会对系统造成明显的影响或改变。主动攻击的主要类型包括:

拒绝服务攻击(DoS/DDoS):通过消耗目标网络资源或干扰通信,使服务不可用。

中间人攻击(MITM):攻击者置身于通信双方之间,秘密拦截或篡改双方通信内容。

SQL注入攻击:通过在Web应用的查询表单中输入恶意SQL代码,攻击者可以执行非法数据库操作。

跨站脚本攻击(XSS):攻击者通过将恶意脚本注入网页,当用户浏览该页时,脚本会执行,可能窃取用户信息。 

2)被动攻击

被动攻击是指攻击者试图获取系统的信息而不影响系统资源的行为,通常不易被发现。被动攻击的主要类型包括:

流量分析:通过分析网络流量,攻击者尝试获取有关网络通信的信息,如发送和接收方、传输频率

电子侦听/嗅探:攻击者通过嗅探工具监听网络上的数据传输,寻找未加密的数据或通信内容。

社交工程:虽然通常被认为是主动攻击,但某些形式如钓鱼攻击,在早期阶段可以看作是通过收集用户信息的被动攻击。

侧信道攻击:通过分析系统的物理实现(如功耗、电磁泄露等)来获取加密密钥信息,而不直接攻击加密算法本身。 

3、CMMI 能力成熟度模型集成

1)阶段表示法

初始:无质量管理

已管理:有项目过程管理

已定义:有组织级别的标准流程、文档化

量化管理:量化

优化:组织持续进行过程改进

2)连续表示法

4、软件过程模型

瀑布模型:是最早的软件开发模型,它将软件开发流程划分为顺序阶段,每个阶段完成后才开始下一个。需求明确、自顶向下

原型模型:这种模型适用于需求不明确的项目。它通过构建一个工作的原型(一个可展示的软件初版)来帮助理解需求,然后根据反馈迭代改进。

螺旋模型:结合瀑布模型的系统性和原型模型的灵活性。它在每次迭代中增加新的功能,同时考虑风险

V模型:也称为验证和验证模型,强调开发过程中的测试。它将测试阶段与相应的开发阶段对应起来,以早期发现和解决问题。

增量模型:将项目划分为多个小块,逐一完成,每完成一个小块就是一个可交付的增量

喷泉模型:是面向对象软件开发的迭代模型,不强调固定阶段,开发过程看起来像是不断循环的喷泉。自底向上

敏捷开发:以人为本、强调快速响应变化,小团队合作,频繁交付小的、可工作的软件版本。

形式化方法模型:通过数学方法来定义、开发和验证软件,适用于对可靠性和安全性要求极高的软件项目。

基于构件的开发模型 (CBSD):重用现有的软件构件来加速开发过程,适用于可以找到可重用构件的项目。 

统一过程RUP:大型项目、用例驱动、面向架构、早期识别和解决项目中的高风险

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

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

相关文章

Kafka消费者:监听模式VS主动拉取,哪种更适合你?

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Kafka消费者:监听模式VS主动拉取,哪种更适合你? 前言监听模式的实现监听器(Listener)的概念和作用使用监听器实现 Kafka 消费者的步骤和方法…

DDoS攻击升级,解读防御DDoS攻击的几大有效方法

前不久,Gcore发布了2023年第三、四季度DDoS攻击趋势报告,报告中指出DDoS攻击的规模以及复杂性持续增长,且这种增长是触目惊心的。全球每天大约发生23000次DDoS攻击,每39秒就会发生一次新的网络攻击,电信公司、政府部门…

javaSwing连连看游戏

一、简介 基于java的连连看游戏设计和实现,基本功能包括:消除模块,重新开始模块,刷新模块,选择难度模块,计时模块。本系统结构如下: (1)消除模块: 完成连连…

【MATLAB源码-第13期】基于matlab的4ASK的误码率BER和误符号率SER理论和实际对比仿真。

操作环境: MATLAB 2022a 1、算法描述 "4ASK" 是一种数字调制技术,代表4级振幅移移键控(4-Level Amplitude Shift Keying)调制。它是一种数字通信中常用的调制方式之一,用于将数字信号转换为模拟信号以便传…

map china not exists. the geojson of the map must be provided.

map china not exists. the geojson of the map must be provided. 场景:引入echarts地图报错map china not exists. the geojson of the map must be provided. 原因: echarts版本过高,ECharts 之前提供下载的矢量地图数据来自第三方&…

小白学视觉 | 图像上的 OpenCV 算术运算

本文来源公众号“小白学视觉”,仅用于学术分享,侵权删,干货满满。 原文链接:图像上的 OpenCV 算术运算 1 OpenCV 简介 图像可以进行算术运算,例如加法、减法和按位运算(AND、OR、NOT、XOR)。…

模拟器App抓包 - 证书双向验证绕过手段

希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢! 个人博客链接:CH4SER的个人BLOG – Welcome To Ch4sers Blog 0x00 Frida 环境配置 1. 本地安装 Frida pip install frida pip install frida-tools2. 模拟器安装 Fr…

【详细讲解yarn的安装和使用】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

leetcode 15.三数之和 JAVA 双指针法

题目 思路 双指针法 去重 为啥要去重呢?因为题目中说了要返回不重复的三元组。拿示例1来看,(-1,0,1)和(0,1,-1)虽然都等于0,但其实它们里面的数…

Unix环境高级编程-学习-08-自旋锁与屏障

目录 一、多线程相关文章链接 二、自由抒发 1、自旋锁 2、屏障 三、函数介绍 1、pthread_spin_init (1)声明 (2)作用 (3)参数 (4)返回值 (5)注意点 …

c语言文件操作(下)

目录 1.文件的随机读写1.1 fseek1.2 ftell1.3 rewind 2. 文件结束的判定2.1 文本文件读取结束的判断2.2 二进制文件读取结束的判断 3. 文件缓冲区 1.文件的随机读写 1.1 fseek 根据⽂件指针的位置和偏移量来定位⽂件指针。 函数原型: int fseek (FILE * stream,…

Python篇之网络编程,实现简单的服务端和客户端的内容传输

本小节内容:实现简单的信息交流 文章目录 一、 Socket介绍二、客户端与服务端三、在python中实现网络通信1. 服务端2. 客户端3. 连接测试 一、 Socket介绍 socket (简称 套接字) 模块是其内置的标准库之一,它实现了BSD sockets API,允许开发…

(分享)一个图片添加水印的小demo的页面,可自定义样式

有时候想给某张图片添加一个自己的水印,但是又懒的下载相应软件,用js canvas制作一个静态页面,对于单张图片添加自定义文字水印,大小 间距,角度可调。 页面如下: 选择图片,设置相应参数&#x…

深度学习模型部署(十二)CUDA编程-绪

CUDA 运行时 API 与 CUDA 驱动 API 速度没有差别,实际中使用运行时 API 较多,运行时 API 是在驱动 API 上的一层封装。​ CUDA 是什么?​ CUDA(Compute Unified Device Architecture) 是 nvidia 推出的一个通用并行技术架构,用它…

【LLM】大模型推理加速 KV-Cache

目录 模型推理过程KV Cache原理KV Cache的存储 模型推理过程 在了解KVCache之前,我们需要知道Transformer类大模型的推理过程。 对于LLM进行一次前向传播也就是生成一个token的过程可以被分解成以下步骤: 文本 T i n p u t T_{input} Tinput​经过Toke…

数据结构与算法分析引论1

1.解决问题的算法有很多,但是在输入不同的情况下,不同算法之间的差异也很大,我们总是追求一个更快、更有效的方法。比如说普通的依次查找和二分查找,两者的差异就很大。我们使用大O表示法来表示算法的速度。依次查找就是O(n)&…

MATLAB 自定义生成平面点云(可指定方向,添加噪声)(48)

MATLAB 自定义生成平面点云(可指定方向,添加噪声)(48) 一、算法介绍二、算法步骤三、算法实现1.代码2.效果一、算法介绍 通过这里的平面生成方法,可以生成模拟平面的点云数据,并可以人为设置平面方向,平面大小,并添加噪声来探索不同类型的平面数据。这种方法可以用于…

UDS诊断中的NRC

我总结了一张表格:详细解释了NRC的分布情况和NRC的触发条件 1:基本概念 NRC 全称Negative Response Code(否定响应代码),是指示uds诊断中的,指示否定响应的原因 例如:0x22 服务 request 报文 0x618 03 22 F1 34 0…

电脑物理磁盘空间不足?试试这5种清理和优化方法!

随着我们使用电脑的时间越来越长,物理磁盘空间可能会逐渐变得捉襟见肘。当你的电脑提示磁盘空间不足时,不要慌张,这里有五种方法可以帮助你清理和优化电脑,释放宝贵的存储空间。 1. 卸载不常用的程序和游戏 许多用户在安装软件和…

机器学习基础——模型评估与选择(部分)

目录 一、前言:误差与拟合 (一)经验误差 (二)过拟合、欠拟合 二、评估方法 (一)评估总体的思路 (二)如何划分训练集和测试集 1.留出法 2.k折交叉验证 3.自助法 …