软考系统架构师笔记-综合知识重点(一)

pv操作、信号量的题中:

信号量S实现互斥访问值为1,信号量S实现同步访问值为0,信号量S表示资源值为资源的个数。

加锁申请信号量P(s),申请后一定要释放是V(s)。


分布式数据库中包括:分片透明、复制透明、位置透明、逻辑透明

分片透明:程序或用户无需知道逻辑上访问的表是怎么存储的;

复制透明:用户不需要知道数据是复制到哪个结点上,如何复制;

位置透明:用户无需知道数据存放的位置;

逻辑透明:句柄数据模型透明,用户或程序无需知道局部场地使用哪种模型;


板级支持包(BSP):在嵌入式系统中存在,对硬件的抽象层实现,介于主板硬件和操作系统之间的一层,给上层提供统一的接口,屏蔽硬件底层间的差异,提供操作系统驱动及硬件驱动。


RAID 5:独立冗余磁盘阵列5,至少要3块硬盘,其中两块要存储数据,第三快存储另外2块的校验信息,所以磁盘利用率为:(n-1)/n,如果三块磁盘大小不一样,就以最小的磁盘容量进行计算。


面向对象架构风格减少功能调用层次提高性能,引入管理层是不够的;


评价程序评价机器性能:

小型基准程序:代码行数比较少,通常是测试算法;

真实程序:所有程序全部测评,准确性最高;

核心程序:真实程序中具有代表性的代码;

合成基准程序:人为合成基准程序,准确性最低。


统一过程(UP/RUP)具有三个显著特征:用例驱动、以体系结构为中心、迭代和增量。

 


开闭原则:对扩展开放,对修改关闭。

里氏替换原则:在使用父类的地方,都能使用其子类,不需要进行修改(反过来不成立)。

最少知识:一个软件实体应该尽可能少的与其他实体相互作用。

依赖倒置:抽线不依赖于细节,细节依赖于抽象。针对接口编程,不针对实现编程。


单元测试:模块的功能,性能等是否达到标准(白盒测试, 依据:软件的详细设计);

集成测试:模块与模块之间,软件与集成之间的(黑盒测试,依据:软件的概要设计);

系统测试:在真实系统中,验证配置项是否和系统能成功连接,达到规定要求(依据:用户需求,开发合同);

回归测试:测试软件变更后的正确性;


架构风格:结构和语义特性,强调对架构设计的重用。

 


ADL(建构描述语言):组建、组建接口、连接件、架构配置。


ABSD(基于架构的软件开发)架构驱动的:商业、质量、功能需求。

ABSD描述软件架构:视角、视图;

ABSD描述需求:用例,质量场景;

ABSD三个基础:功能分解、架构风格的选择、软件模板的使用;


软考系统架构师笔记-综合知识重点(一)_第1张图片

数据流风格
批处理风格:每个处理步骤是一个单独的程序;每一步必须在前一步结束后才能开始;数据必须是完整的,以整体的方式传递。
管道过滤器风格:每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。

调用/返回风格
主程序/子程序风格:程序体系结构是较简单的结构,其组件是主程序和子程序,连接件是调用返回机制。
面向对象风格:面向对象体系结构风格的组件是类和对象。连接件是对象之间通过功能与函数调用实现交互。对象是通过函数和过程的调用-返回机制来交互的,而类是
通过定义对象,再采用调用-返回机制进行交互。
层次风格:看图。

独立构件风格
进程通信风格:通过进程间通信独立组建的风格。
事件驱动系统风格:事件驱动架构风格。构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中其他构件中的过程在一个或多个事件中注册,当一个事件
被触发,系统自动调用在这个事件中注册的所有过程。一个事件的触发就导致了另一个模块中过程的调用。

虚拟机风格
解释器风格:一个解释器通常包括完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被
解释执行的进度的数据结构。将高抽象层次的程序翻译为低抽象层次所能理解的指令,以消除程序语言与硬件之间存在的差异。
基于规则的系统风格:基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存。

仓库风格
数据库系统风格:数据库架构是库风格最常见的形式。构件主要有两大类,一个是中央共享数据源,保存当前系统的数据状态;另一个是多个独立处理元素,处理元素
对数据元素进行操作。
黑板系统风格:黑板架构包括知识源、黑板和控制3个部分。知识源包括若干独立计算的不同单元,提供解决问题的知识,知识源响应黑板上的变化,也只修改黑板。黑
板是一个全局数据库,包含解域的全部状态,是知识源互相作用的唯一媒介。
超文本系统风格:早期的静态网页是比较典型的超文本系统。


DSSA(特定领域软件架构)的基本活动:

领域分析:获取领域模型【获取领域需求】;

领域设计:获取DSSA【能够适应领域中多个系统需求的一个高层次设计】;

领域实现:依据领域模型及DSSA开发和组织可重用信息。

 


质量属性的理解和质量属性实现策略的掌握(每年5,6分):

可用性:

  1. 错误检测:命令/响应;心跳(dead man计时器);异常;
  2. 错误恢复(检测和修复):表决;主动冗余(热重启);被动冗余(暖冗余/双冗余/三冗余);备件;
  3. 错误恢复(重新引入):shadow操作;状态再同步;检查点/回滚;
  4. 错误预防:从服务中删除;事务;进程监视器;

可修改性:

  1. 局部化变更:维持语义的一致性;预期期望变更;泛化该模块;限制可能选择;抽象通用服务;
  2. 防止连锁反应:信息影藏;维持现有接口;限制通信路径;仲裁者的使用;
  3. 推迟绑定时间:运行时注册;配置文件;多态;组建更换;遵守已定义的协议;

性能:

  1. 资源需求:提供计算效率;减少计算开销;管理事件率;控制取样频率;
  2. 资源管理:引入并发;维持多个副本;增加可用资源;
  3. 资源仲裁:调度策略;

安全性:

  1. 抵抗攻击:对用户身份验证;对用户进行授权;维护数据的机密性;维护完整性;限制暴露信息;限制访问;
  2. 检测攻击:入侵检测;
  3. 从攻击中恢复:(恢复)查看可用性;(识别)审计追踪;

可测试性:

  1. 管理输入/输出:记录/回放;将接口与实现分离;特化访问路线/接口;
  2. 内部监视:内置监视器

易用性:

  1. 分离用户接口
  2. 支持用户主动访问:取消;撤销;聚合;
  3. 用户模型:用户模型;系统模型;任务模型;

你可能感兴趣的:(软考笔记)