软件架构质量评估的重要工具
软件系统的架构成为现代软件开发中至关重要的一部分。为了确保软件架构的质量,现有的一些评估方法并不够充分或适用。因此,自1970年代以来,许多工具和技术用于在不同角度对软件架构进行评估。其中之一是ATAM方法。
什么是ATAM评估?
ATAM是一种通过特定的可预见质量属性对架构评估进行系统且可重复的方法,从而使设计团队能够更好地了解更好地评估软件系统中的架构风险和质量属性。
ATAM代表架构的技术评估方法,是一种风险导向的方法以及一种质量属性驱动的方法。它由Carnegie Mellon University软件工程研究所 (SEI)创建并提供支持。
ATAM过程与结构:
在评估软件系统的架构之前,ATAM过程需要 定义和验证软件架构;然后定义质量属性;确定使用质量属性来评估架构,并寻找使用质量属性的方法。 最后,评估结果被用来确定问题并建立行动计划。
ATAM方法由以下步骤组成:
1. 收集现场信息
在此步骤中,定义和验证质量属性、收集并确保所有重要的利益相关者和相关人员能够制定质量要求。
2. 定义质量属性和质量属性场景
根据权益人和利益相关者的需求,在此步骤中定义质量属性。然后,将质量属性定义转化为质量属性场景,以更具体地描述质量属性。
3. 确定处理决策
在此步骤中,使用质量属性和质量属性场景来确定评估策略和指导架构设计过程。
4. 评估架构风险
在此步骤中,评估已定义质量属性的满意程度,并确定与每个质量属性相关的软件风险。
5. 策略和行动
在前面的步骤中,识别质量风险并评估架构。在此步骤中,为了减轻架构中的风险,策略和行动计划被确定。
ATAM的优势:
- 评估的质量属性是基于利益相关者和权益人的需求,将集中关注团队关注点。
- 意图是重点。架构团队通过提供有关架构的信息和决策,向权益人和利益相关者传达了意图。
- 是一种风险敏感的方法,这有助于开发团队快速识别和评估架构的风险,并对可靠性和一致性进行测试。
- ATAM方法对架构评估进行系统且可重复的方法,从而使设计团队能够更好地了解更好地评估软件系统中的架构风险和质量属性。
ATAM的限制:
- 可能需要更多的时间和资源去执行。
- 可能无法评估在需求和设计阶段之前的架构。
- 对于较大和更复杂的系统,可能需要多个评估周期。
结论:
总体而言,ATAM是一种强大的工具,可以作为评估软件架构质量的一种方法,有助于评估团队更好地了解软件系统中的架构风险和质量属性。尽管ATAM具有一些限制,但其优势远大于其限制。 针对特殊的软件开发环境和架构,ATAM方法可以用于设计,改进,评估架构。