软件质量属性
记忆口诀 : 安全 操作 功能 修改 靠/用 可变 性
安全性
系统提供功能给合法用户的同时,拒绝 非法用户的访问请求 或 企图 的能力;
互操作性
系统与外部系统 (环境) 进行相互作用的难易程度;
功能性
系统提供用户所期望的 工作 的能力;
可修改性
系统以高性价比对系统 功能进行变更 的能力;
可靠性
在系统错误 或 网络错误 的影响下 或意外操作 / 错误操作 的情况下, 系统维持功能性的能力;
可用性
系统正常运行 的时间比例;
可变性
系统以高性价比 从一个体系结构 扩充 或变更 到另一个体系结构 的能力;
性能
系统响应请求的能力,单位时间内处理事件的个数 或 对于请求的响应时间 ;
敏感点/权衡点/软件架构风险
敏感点: 为了实现某一个质量属性 , 一个或多个构件的特性;
权衡点: 一个影响 多个质量属性 的特性, 且这些质量属性都为敏感点;
软件架构风险: 软件架构设计中 因架构决策 而导致 的潜在的/隐藏的 隐患 ;
软件架构评估方法 SAAM
软件架构评估法 , 主要关注潜在的问题 ; 如需求冲突 , 或从不同视角出发的相互冲突的 需求 ; 可以用来评估 某一个体系结构的 质量属性 , 也可以用来评估多个体系结构 ;
** 目标**:对描述应用程序基本功能的文档验证 体系结构基本的假设和原则,有利于评估体系结构固有风险;
输入: 体系结构描述 / 需求描述 / 问题描述
步骤:
生成场景;
体系结构描述;
场景分类 和 优先级排序;
单个场景评估;
多场景相互作用评估;
综合评价;
架构权衡分析法 ATAM
基于 软件架构评估方法(SAAM) ;
目标:在多个质量属性场景评估;
步骤:
场景和需求收集;
体系结构视图和场景实现;
属性模型构造和分析;
折中;