软件质量保证与用户满意度:ISO9000与Garvin/McCall质量模型

0 下载量 22 浏览量 更新于2024-06-29 收藏 1.73MB PPTX 举报
"Lect02软件质量与质量保证.pptx" 软件质量是软件开发中的核心概念,它涉及从用户需求满足到产品交付的全过程。软件质量不仅关注产品的功能性和性能,还包括用户满意度、可靠性和经济性等多个方面。在描述软件质量时,通常会引用多个角度的质量观点,如用户对产品是否实现其目标的看法,制造商是否按照原始规格完成,以及产品本身的固有属性,如功能和性能。 质量是产品固有特性的集合,这些特性在满足需求的程度上决定了质量的好坏。设计质量关乎设计阶段如何有效地满足需求模型,而符合(实现)质量则衡量实际实现是否忠实于设计,以及最终系统是否达到需求和性能目标。用户满意度是合格产品、高质量以及按预算和进度交付的组合结果,体现了生产者和使用者的共同利益。 软件质量定义通常包括以下几个关键方面: 1. 设计质量:设计应充分满足需求模型,确保功能和特性得到恰当考虑。 2. 符合性质量:实现过程应遵循设计,确保产品达到预期标准。 3. 用户满意度:产品质量应体现在功能、性能、预算和进度等方面,以满足用户期望。 4. 软件质量保证:通过有效的软件过程确保产品的质量,包括质量控制、审计和评审等活动。 软件的多个质量维度可以进一步细化,例如Garvin的质量维度,包括性能、特性、可靠性、符合性、耐久性和适用性等。此外,McCall的质量模型提出了产品操作、修改和适应性三个方面的特性,包括可维护性、灵活性、可测试性、可移植性、可复用性、互操作性、正确性、易用性、可靠性、效率和完整性等。 ISO9126质量模型提供了一个更结构化的框架,包括功能性、可靠性、易用性、效率、可维护性和可移植性六个主要质量特性,每个特性下又有多个子特性。为了量化这些质量特性,ISO9126还定义了相应的度量指标。 在实际项目中,不同的角色(如开发者、管理者和用户)可能对软件质量有不同要求,而不同项目中质量属性的重要程度也可能不同。因此,软件质量困境在于必须在满足“足够好”的标准与避免过度投入资源之间找到平衡。足够好的软件应该在提供产品价值的同时,控制成本和开发时间。 软件质量是一个多维、动态的概念,它涉及到从需求分析到系统测试的整个生命周期,需要通过一系列的方法和工具来保证和度量,以确保软件能够有效地服务于用户,同时保持开发的经济效益。