基于质量属性的架构设计策略

需积分: 0 0 下载量 101 浏览量 更新于2024-08-04 收藏 104KB DOCX 举报
"Chapter17【宁】1讨论了软件设计策略,强调了分解、设计以符合重要需求以及生成和测试的重要性。此章节涵盖了如何处理架构上重要要求(ASR),并介绍了属性驱动的设计方法。" 在软件设计过程中,"分解"是一个关键步骤,它涉及将整个系统拆分为更小的部分,以便每个部分可以继承或实现整体的质量属性要求。这不仅有助于管理复杂性,还能确保设计的各个组件能够协同工作以满足系统的整体需求。设计并不总是从零开始,特别是在存在预定义组件的情况下,分解必须适应这些现有的构建块。 "Designing to Architecturally Significant Requirements"是指关注那些对系统架构有重大影响的需求。ASR是系统设计的基础,通常数量较少但至关重要。初学者可能需要从最重要的ASR开始设计,随着经验积累,可以逐步处理更多ASR。对于非ASR质量要求,设计者可能需要调整设计、妥协某些特性,或者将某些要求提升为ASR。 "Generate and Test"阶段鼓励将当前设计视作一种假设,并通过测试来验证其是否满足要求。初始假设可能来源于现有系统、架构、设计模式、域分解或设计清单,但后两者可能不完全满足所有需求,尤其是质量属性方面。测试使用各种分析技术进行,结果是列出未满足的要求,从而指导新假设的生成。新假设的创建可能涉及添加缺失的职责或调整策略以优化质量属性。 "The Attribute-Driven Design Method"是一种迭代方法,整合了前面提到的各种技术和策略,旨在持续优化设计,直到所有ASR得到满足,或者资源(如时间或预算)耗尽。当达到这个点时,最佳的假设将成为实施的基础,而后续的设计工作将受限于实施选择。 这个方法论强调了设计过程中的灵活性和迭代性质,不断评估、修改和测试以确保设计与需求的一致性。设计者需时刻关注质量属性,同时警惕策略的潜在副作用,以创造既满足功能又满足非功能需求的高质量软件系统。