一、质量属性定义
1、性能
定义:指系统的相应能力,即要经过多长时间才能对某个事件做出响应,或在某段时间内系统所能处理的事件个数。如响应时间、吞吐量
设计策略:优先级队列、资源调度
2、可用性
定义:指系统能能够正常运行的事件比例,经过两次故障之间的时间长度或在出现故障的时系统能够恢复正常的速度表示。
设计策略:心跳、ping/Echo、冗余、选举
3、安全性
定义:指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
设计策略:入侵检测、用户认证、用户授权、追踪审计
4、可修改性
定义:指能够快速的以较高的性价比对系统进行变更的能力。
设计策略:接口-实现分类、抽象、信息隐藏
架构风险:在架构设计中潜在的,存在问题的架构决策所带来的隐患。
敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。
权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。
二、系统架构风格对比
1、考试真题对比
| 质量属性 | 面向对象风格 | 解释器风格 |
|---|---|---|
| 可修改性 | 面向对象相对固定,有变化的时候需要修改具体的类 | 解释器的规则是独立的语法规则,由解释器可对变化的规则进行解析,修改更容易 |
| 灵活性 | 面向对象相对固定,将规则封装成对象,在启动时加载,灵活性差 | 解释器可以根据用户灵活解释执行规则,做到千人千面 |
| 性能 | 规则已经在系统内,可直接运行,性能较高 | 需要对规则实时解释,性能较差 |
| 质量属性 | 面向对象风格 | 基于规则 |
|---|---|---|
| 可扩展性 | 架构新的规则需要i重新定义新的对象,并需要重启系统 | 只需要定义新的规则,解释规则即可进行阔扩展 |
| 灵活性 | 面向对象相对固定,将规则封装成对象,在启动时加载,灵活性差 | 解释器可以根据用户灵活解释执行规则,做到千人千面 |
| 性能 | 规则已经在系统内,可直接运行,性能较高 | 需要对规则实时解释,性能较差 |
| 质量属性 | 管道过滤器 | 仓库风格 |
|---|---|---|
| 数据处理方式 | 数据驱动机制,处理流程事先确定,交互性差 | 数据存储在中心仓库,处理流程独立,支持交互式处理 |
| 可扩展性 | 数据与处理紧密关联,调整处理流程需要重新启动 | 数据与处理解耦合,可动态添加和删除处理组件 |
| 性能 | 劣势:需要数据格式转换,性能降低;优势:支持过滤器并发调用,性能提升 |


9916

被折叠的 条评论
为什么被折叠?



