赞
踩
软件的非功能需求指的是除了软件的功能需求以外,软件需要满足的一些其他需求。常见的非功能需求包括:
也有一种说法叫做质量属性,主要分为开发期质量属性和运行期质量属性,二者分别关注软件开发阶段和软件运行阶段的质量特征。
开发期质量属性主要包括以下几点:
运行期质量属性主要包括以下几点:
那我们在实际的工作过程中如何考虑这些非功能需求呢,我现在了解到的主要有几种架构评估方法:saam、atam、cbam、ADMEMS矩阵方法。
下面我简介下查到的:
第0阶段 建立评估小组, 建立评估组织和待评估组织间的合作关系 ;
第1阶段 以架构为中心,重点获取架构信息并对其进行分析。 评估阶段,下面的9个步骤在这时完成
(
第2阶段 以风险承担者中心,重点为获取风险承担者的观点,并对第1阶段的结果进行验证。
第3阶段 后续阶段,形成最终报告,对后续活动做出规划,评估组织在此阶段实现文档和经验的更新。
ATAM
方法(评估小组长)ATAM
方法和之前的结果(评估小组长) 重复以确保涉众也知道方法并回顾分享之前2~6步的结果ATAM
输出架构简要介绍
业务目标
以质量属性场景表示的带优先级的质量属性需求
效用树
系列风险点和非风险点
风险主题
架构决定与质量需求之间的映射
敏感点、权衡点
最终评估报告
在公司里面的流程如下:
ADMEMS(Architecture Design Method has been Extended to Method System)矩阵方法是一个由CSAI顾问团架构设计专家组发布的软件架构设计方法。它旨在通过一套系统的方法论来指导软件架构师进行架构设计,并确保架构能够满足项目的需求。
目标:与项目干系人沟通,收集业务需求、技术需求和非功能需求,对需求进行分类和优先级排序,确保架构设计关注最重要的方面。把握需求特点,确定架构设计驱动力。
活动:分析项目需求,识别关键业务场景和技术约束,建立ADMEMS矩阵,将需求分类并映射到矩阵中。
架构评审与优化:
文档编写与维护:
确定评估目标:明确评估的焦点,例如可修改性、安全性、性能等。
收集信息:收集与架构相关的信息,包括架构描述、设计决策、约束等。
场景分析:识别关键的使用场景或修改场景,并分析架构对这些场景的支持程度。
评估:基于分析结果,对架构的适应性和满足质量属性的能力进行评估。
总结与报告:整理评估结果,提出改进建议,并编写评估报告。
现在我还练习的不是很熟,今后在工作中,再经常看看,熟能生巧。
参考:
1.3.1. Pre-architecture阶段:ADMEMS矩阵方法 · GitBook (tonydeng.github.io)
ATAM软件架构评估方法 - 企业架构设计方法与实践 (tonydeng.github.io)
《软件系统架构师》第八章
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。