软件构架实践阅读笔记3
系统设计有决策集合组成,这些决策中一些可以帮助控制质量属性响应,一些可以确保系统功能的实现。战术就是影响质量属性响应控制的设计决策。战术可以求精其他战术,模式可以把战术打包。在使用某个战术时需要理解该战术,因为只有理解该战术才能在设计和评估中考虑使用某个特定战术的效果。维持战术的可用性的方法包括某个类型的冗余,用来检测故障的某种类型的健康监视,以及当检测到故障时某种类型的恢复。
对于维护战术中首先考虑的是错误检测,然后是分析错误恢复,最后是错误预防。错误检测中有3个战术:命令/响应、心跳和异常。错误恢复则分为准备恢复和修复系统两个部分,战术包括表决、主动冗余(热恢复)、被动冗余(暖重启/双冗余/三冗余)、备件、shadow操作、状态再同步、检查点/回滚。错误预防的战术包括从服务删除、事务、进程监视器。
对于可修改战术根据目标可分为局部化修改、防止连锁反应和推迟绑定时间。局部化修改战术包括维持语义的一致性、预期期望的变更、泛化该模块和限制可能的选择;防止连锁反应的战术包括信息隐藏、维持现有的接口、限制通信路径和仲裁者的使用;推迟绑定时间战术包括运行时注册、配置文件、多态、组件更换和遵守一定义的协议。
对于性能战术,它的目标就是对于一定时间限制内到达系统的时间生成一个相应,它的战术分类分为资源需求、资源管理和资源仲裁。资源需求的需求分为减少等待时间和减少或管理需求的其他战术包括控制资源的使用。资源管理战术有引入并发、维持数据或计算的多个副本、增加可用资源。
安全性战术可以分为与抵抗攻击相关的战术、与检测攻击相关的战术以及与从攻击中恢复有关的战术。抵抗攻击可以由以下战术组合来实现:对用户进行身份验证、对用户进行授权、维护数据的机密性、维护完整性、限制暴露的信息和限制访问。检测攻击通过“入侵检测”系统进行。从攻击中恢复可以分为与恢复状态相关的战术和与识别攻击者相关的战术(用于预防性的或惩罚性的目的)。
可测试性战术分为提供输入并捕获输出和内部监视。提供输入并捕获输出有三种战术用于他的管理:记录/回放、将接口与实现分离和特化访问路线/接口。组件可以根据内部状态实现战术,以支持测过程。
易用性战术分为运行时战术和设计时战术。运行时战术:维持任务的一个模型、维持用户的一个模型和维持系统的一个模型。设计时战术:需要将用户接口与应用的其余部分分离开来。
这一张主要讲的就是系统设计的时候用到的一些战术,用到某个战术必须理解这个战术,这样才能更清楚的了解这个战术发挥的作用以及这个战术的优缺点和特点。