进阶[架构] 软件架构评估-质量属性+风险分析

102 阅读2分钟

image.png 性能,可用性,安全性,可修改性是主要关注的

性能

image.png

性能是指系统对功能的相应能力,

处理性能的战术

包含资源仲裁,资源管理和资源需求三个维度.

资源需求主要是减少资源的分配需求,使用高效的算法降低对资源的需求.

资源管理主要是通过管理资源的并行,副本等提升单位元算性能

资源仲裁是指在有限的资源情况下,通过队列,缓存,等调度机制,提高整体 的效率

可用性

image.png

可用性表示机器能够正常运行时间的比例,可通过单系统的可靠性,另一方面在出错时能够转移错误,快速恢复

可用性的战术

错误检测: 命令响应 心跳 异常

错误恢复: 表决,冗余 备件

错误预防: 进程监视器, 事务 从服务器删除

安全性

image.png

可修改性

image.png

可修改性战术

局部化修改: 未来修改的时候是否能够限定修改范围,会考虑语义一致性,预期期望变更

防止连锁反应: 避免牵一发而动全身,通过隐藏信息,维持现有接口,限制通信路径,使用仲裁者进行限定

推迟绑定时间: 将原本编译期间绑定的方法推迟到调用时绑定,可u哦嗯刚运行时注册,配置文件,多态,组件更换,遵守已定义的协议.

架构评估--敏感点,权衡点,风险点,非风险点

敏感点

敏感点是一个或多个构件的特性

权衡点

权衡点是影响多个质量属性的特性

风险点

风险点是指架构设计中潜在的,存在问题的架构决策所带来的隐患

非风险点

非风险点表示不会带来隐患的架构决策