【笔记】软件架构师要点记录
- 20240517
20240517
-
连续性:恢复能力;可用性:保持稳定态的时长
-
增量开发模式:在增量开发中,每个增量都有明确的范围和功能,并按照特定的功能顺序完成。增量之间的范围划分在开发开始时就确定好,并且很少进行变更。不同的功能之间没有明确的时间间隔。
敏捷开发模式:敏捷开发更注重根据需求、市场反馈等因素来灵活调整范围和优先级。每个迭代周期内的范围可以根据反馈和需求变化进行调整,以适应变化的情况。 -
敏捷开发–面向对象 自底向上 ,瀑布开发–面向过程 自顶向下,结构化设计
-
uml 顺序图 是面向对象的
-
代码段+代码段 = 结构级 ; 代码段+功能 =功能段 ; 语法、结构模型 =实现段 ;领域、uml =领域级
-
JMeter 软件评价工具
-
耦合度由底 -> 高
非直接耦合 > 数据耦合 > 特征耦合 > 控制耦合 > 外部耦合 > 公共耦合 > 内容耦合 -
内聚度由 高-> 低
功能内聚 > 顺序内聚 > 通信内聚 > 过程内聚> 瞬时内聚 > 逻辑内聚 > 偶然内聚 -
可靠性:能用多久;可用性:能不能用
-
可靠性(reliability):在规格时间间隔内和规定条件下,系统或部件执行所要求功能的能力。例如:
QA1:在客户端与服务器端通信时,如果网络故障,系统不能出现故障。
可用性(availability):软件系统在投入使用时可操作和可访问的程度,或能实现其指定系统功能的概率。例如:
QA2:系统的可用性要达到98%。 -
Kerberos 中 认证服务器(AS);PKI 中认证是 CA( Certificate Authority )
-
软件架构与用户对系统的功能性和需求没有对应关系
-
esb 更倾向于工序流程的调度,而微服务中nacos这些工具等更倾向于性能
-
(物进开逻)
- 规则系统架构: 有选择项,根据外部环境动态变化
- 黑板架构:根据条件判断执行相应动作,传统应用是 信号处理领域,如语音和模式识别
- 数据仓库架构 : 针对与数据共享 ,可独立编译运行;管道-过滤器 架构 :针对于有序连续,上一个输出才可以下一个输入,数据独立;解释器 架构: 根据不同运行环境进行自适应
- 隐式调用架构:典型的回调机制
- 解释器与隐式调用架构区别: 调用与外环境有关,回调–隐式调用架构;对象间属性行为交互关系–解释器架构
- 传统编译:管道过滤器架构;现代编译:仓库/数据库(数据共享)架构
- 架构风格反映领域中众多系统所共有的 结构和语义 ,强调对架构 设计 的重用,主要包括 架构定义 、架构词汇表 和 架构约束
- 敏感点: 一个或多个构件之间的关系的特性 ; 权衡点:影响多个质量属性的特征
- 改变加密级别属于 权衡点,典型实例
- 安全性字眼 考虑 权衡点 ; 最大并发用户数量直接影响传输协议和数据格式 敏感点 ; 由于系统的业务逻辑目前尚不清楚,因此现有系统三层架构中第二层可能出现功能重复,会影响系统的可修改性 风险点 ;假设用户请求的频率为每秒1个,业务处理时间小于30ms,则将请求响应时间设定为1s可以接受 非风险点
- 架构模式 是软件设计中的高层决策(关键词:决策); 设计模式主要关注软件系统的设计,与具体的实现语言无关(关键词:设计,没有决策); 惯用法则是最底层的模式,实现时通用某种特定的程序设计语言来描述构件与构件之间的关系(关键词:构件与构件)
- 策略模式:将算法封装; 中介者模式 : 将对象封装;
- 工厂模式为创建一系列相关或相互依赖的对象提供一个接口 (不用new);建造者模式 将复杂对象的构件与其表示相分离,这样相同的构造过程可以创建不同的对象
- 原型(Prototype)模式 允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象
- 责任链 模式,可以过滤,如过滤违禁词汇
- 装饰模式: 想要在单个对象中动态并且透明地添加责任,而这样并不会影响其他对象;想要在以后可能要修改的对象中添加责任;当无法通过静态子类化实现扩展时
- 访问者模式:可扩展,不改变原来的,增加新的
- 命令模式:可以将一个请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化,还可以对请求排队,或记录请求日志,以及支持可撤销的操作
- 状态模式 : 将每个条件分支放入一个独立的类中,可以根据对象自身的情况将对象的状态作为一个对象,这一对象可以不依赖于其他对象而独立变化
- 策略模式:定义一系列算法,将它们封装起来,并且使他们可相互替换,使得算法可独立于使用它的客户而变化
- 中介者模式:不改变,松耦合
- 经典设计模式共23个,可以按照2个准则分类:一、按设计模式的目的划分,可分为创建型、结构型、行为型三种模式;二、按设计模式的范围划分,可分为类设计模式、对象设计模式
- 外观设计模式:要求外部与一个子系统的通讯必须通过一个统一的外观对象,典型的实例如,数据库访问过程一致,但是不同数据库提供的访问接口有一定差异
- 桥接模式:抽象与现实分离,独立但又相关的继承层次结构