软件架构实践阅读笔记三
1.分析构架
构架评估的一些基本问题——原因、时间、成本、收益、技巧、计划内、计划外、前置条件以及结构。
每个基于构架的开发方法中都应该进行构架评估。
在生命周期中尽可能早的评估软件质量几乎总是经济高效的。
评估成本就是需要参与评估的人员所付出的时间。
成功评估应该具有如下属性:
(1)、表述清楚的构架目标和需求。
(2)、可控制的范围。
(3)、经济高效。
(4)、关键人员的可用性。
(5)、称职的评估小组。
(6)、可管理的期望。
ATAM一种进行构架评估的综合方法,ATAM是评估软件构架的一个健壮的方法。在该方法中,项目决策者和涉众要清晰地阐述一个准确的质量属性需求列表(以场景的方式),并说明与实现每个高优先场景相关的构架决策。然后,把这些决策确定为有风险决策或无风险决策,以找到构架中任何存在问题的地方。
ATAM不是需求评估。
ATAM不是代码评估。
ATAM不包括实际的系统测试。
ATAM不是一个准确的手段,但它识别了构架中可能存在风险的区域。这些风险包含在敏感点和权衡中。
ATAM活动的4个阶段:
在第0阶段(合作关系和准备)确定细节:人员名单,时间,地点;评估小组获取资料并进行初步了解分析。
第1阶段,评估阶段,决策者参与,小组开始信息收集与分析;耗时约1周。1~2周中断期,评估小组进一步以非正式方式了解构架。
第2阶段,评估阶段,涉众参与,分析继续;约2天。
第3阶段,后续阶段,生成最终报告,进行评估活动总结;1周。
评估阶段的步骤:
第1步:ATAM方法的表述。评估负责人向决策者表述ATAM方法,使大家理解其过程,了解角色布局。
第2步:商业动机的表述。决策者介绍系统商业动机、重要功能、各种限制(任何相关的技术、管理、经济和政治限制)、商业目标和上下文、主要的涉众、驱动因素等。
第3步:构架的表述。首席设计师或架构小组介绍构架,技术限制、所用模式等。
第4步:对构架方法进行分类。评估小组利用所有已知信息对构架方法进行分类。
第5步:生成质量属性效用树。生成质量属性效用树,捕获详细的需求信息,为每个场景分配一个级别,如(高,中),前者为重要度,后者为实现难易度,重点放在(高,高)的场景;此处场景具备刺激、环境、响应三要素就可以了。
第6步:分析构架方法。评估小组分析所有重要场景,设计师解释如何支持该场景,检查所用构架方法,分析风险点、权衡点、敏感点。
经过一段中断期,第2阶段开始,此时涉众开始参与;首先仍然需要一个对ATAM方法的介绍,并使涉众了解已有的成果。
第7步:集体讨论并确定场景的优先级。集体讨论并分析场景的优先级,以了解更广泛的涉众的想法;该过程可能产生新的场景;使用“有限票数法”投票确定每个场景的优先级——此处不考虑实现难度。
第8步:分析构架方法。分析新的高优先级的场景,构架师解释构架是怎么满足各场景的。
第9步:结果表述。总结评估结果,评估负责人展示该结果。
2.软件产品线
基于构架的开发模式,即软件产品线,由于越来越多的组织发现采用产品线可以在成本、进度、质量方面实现数量级的改进,因此该方法日益受到青睐。
创建一个成功的产品线取决于软件工程、技术管理和组织管理的协调策略。
软件线实现需要考虑3件事情:
确定变化点
支持变化点
对产品线构架的适宜性进行评估