《软件构架实践》阅读笔记5
今天开始学习《软件构架实践》的第5章,第5章主要讲的是实现质量属性。这一章主要是针对第4章所说明的质量属性,来提供相应的实践战术。
首先我们要了解一下什么是战术。他可以使一个设计具有可移植性,一个设计具有高性能,而另一个设计具有集成性。实现这些质量属性依赖于基本的设计决策。战术就是影响质量属性响应控制的设计决策。
第一个是可用性的战术,可用性的战术主要是用于阻止错误发展成为故障,至少能把错误的影响限制在一定范围内,从而使修复变为可能。它的战术主要包括 1错误检测,主要有三个战术:命令/响应 ,心跳,异常。 2 错误恢复 ,它主要是准备恢复和修复系统的战术,包括:表决,主动冗余,被动冗余,备件,shadow操作,状态再同步,检查点/回滚。3错误预防:从服务器中删除、事务、进程监控
可修改性的战术,可修改性的战术,目标是控制实现、测试和部署变更的时间和成本。它的战术有:1.局部化修改:维持语义的唯一性、预期期望的变更、泛化该模块、限制可能的选择。2防止连锁反应:信息隐藏、维持现有的接口、添加接口、限制通信路径。3.推迟绑定时间:运行时注册、配置文件、多态、组件更换、遵守已定义的协议。
性能战术,它的目标就是对在一定的时间限制内到达系统的事件生成一个响应。到达系统的可以是单个事件,也可以是以事件流的形式。它的战术主要有:1.资源需求:提高计算效率、减少计算开销、管理事件率、控制采样频率、限制执行时间、限制队列大小。2资源管理:引入并发、维持数据或计算的多个副本、增加可用资源 3.资源仲裁
安全性战术,它们是与抵抗攻击有关的战术。包括1抵抗攻击:对用户进行身份验证、对用户进行授权、维护数据的机密性、委会完整性。限制暴露的信息、限制访问。2.检测攻击3从攻击中恢复。
可测试性战术,它的目标是允许在完成软件开发的一个增量后,较轻松的对软件进行测试。它的战术包括:1.输入/输出:记录/回放、将接口与实现分离、特化访问路线/接口 2.内部监视:内置监视器。
易用性战术,易用性与用户完成期望任务的难易程度以及系统为用户提供的支持种类有关。1运行时战术:维持任务的一个模型 、维持用户的一个模型、维持系统的一个模型。2设计时战术:将用户接口与应用的其余部分分离开来