软件系统质量属性(Quality Attribute)是一个系统的可测量或者可测试的属性,它被用来描述系统满足利益相关者需求的程度,其中, (问题1) 关注的是当需要修改缺陷、增加功能、提高质量属性时,定位修改点并实施修改的难易程度, (问题2) 关注的是当用户数和数据量增加时,软件系统维持高服务质量的能力。
软件质量属性分为运行期和开发期两大类,是衡量软件满足非功能性需求的核心指标。开发期质量属性聚焦软件生命周期开发维护阶段的特性,其中可维护性指修改缺陷、新增功能或优化质量属性时,定位与实施修改的难易程度,同属这一类的还有可测试性,即支撑测试活动、便于排查问题的能力,可重用性,即组件或代码被重复利用的能力,可移植性,即软件在不同环境间迁移的便捷度等。运行期质量属性关注软件运行阶段的表现,可伸缩性特指用户数量、数据量增长时,系统维持高服务质量的能力,此外还包括可靠性,即规定条件与时间内无故障运行的能力,可用性,即系统在需求时可被使用的程度,可扩展性,即结构上支持功能新增或优化的能力,性能、安全性等关键属性。
本题考察的是软件质量属性分类与含义,尤其是运行期与开发期质量属性的区别与定义。
质量属性是衡量软件满足特定非功能性需求的重要指标,通常分为运行期质量属性(如性能、可靠性、安全性、可伸缩性等)和开发期质量属性(如可维护性、可测试性、可扩展性等)。
问题 1:
A选项 可靠性:指软件在规定条件下和时间内无故障运行的能力,与修改难易度无关,错误。
B选项 可测试性:指软件支持测试活动、便于发现问题的程度,不涉及修改和维护的便利性,错误。
C选项 可维护性:指当需要修改缺陷、增加功能或提高质量属性时,能够方便地定位修改点并进行修改的难易程度,符合题干描述,正确。
D选项 可重用性:指软件组件或代码能够被复用的能力,与系统修改难易度无直接关系,错误。
因此选择 C。
问题 2:
A选项 可用性:指系统在需要时能够被使用的程度,与扩展负载能力无直接关系,错误。
B选项 可扩展性:指系统在结构上支持功能增加或改进的能力,与承载更多用户和数据的能力不同,错误。
C选项 可伸缩性:指当用户数和数据量增加时,系统依然能维持高服务质量的能力,符合题干描述,正确。
D选项 可移植性:指软件从一个环境迁移到另一个环境的难易程度,与扩展负载能力无关,错误。
因此选择 C。
