翻译:
软件质量保证活动与软件生存周期各阶段的验证和有效性确认活动紧密关联。事实上,在许多组织中这些活动没有明显的区别。尽管如此,质量保证实际上与其他验证和有效性确认活动相差甚远,质量保证是一个管理功能,而验证和有效性确认是软件开发过程的一部分。
Bersoff(1984)给出了软件质量保证的恰当定义:质量保证由在产品开发周期中专业人员要确保产品达到或超过某些预先设定的标准所要用到的那些过程、技术和工具所组成。如果没有具体的规定性的标准,质量保证则需要保证产品达到或超过工商业可接受的优良性能的最低标准。
当然这是一种相当笼统的定义。它首先指出软件标准可以建立;其次软件产品的优良程度可以评测。
软件工程项目标准的开发是一个非常困难的过程。一个标准是一个产品的某种抽象表示,它定义了被开发产品必须达到的最低性能、健壮性、结构等。在写此文章时,一些软件产品标准已经由IEEE,ANSI和一些军事机构制定了。
这些标准描述了配置管理计划、文档、规范实施、软件对照等。其他一些处于开发阶段的标准包括可靠性、测量方法、Ada用作为程序设计语言、软件测试和其他方面的标准。Bransta和Powell(1984)描述了已有的和已规划的软件标准,用更概括的语言讨论了标准化问题。
软件的国家标准问题在于这些标准过于笼统,这是必然的,因为不像硬件,我们至今尚不能将大多数软件特性进行量化。因此有效的质量保证就要求开发更多特定的组织标准。
当然,为质量保证而开发软件标准所带来的问题及软件产品的优良程度难于评估是软件质量难以把握的本质。Boehm等人(1978)提出的质量准则包括但不局限于:
经济性 正确性 弹性
完整性 可靠性 可使用性
文档 可修改性 明晰性
易理解性 合法性 可维护性
灵活性 通用性 可移植性
互操作性 可测试性 效率
模块性 可重用性
如何精确量化其中的某些准则尚不清楚。而且,正如Buckley 和 Poston(1984)指出的那样,此定义的某些部分对特定产品也许毫无价值。把一个系统从一台微机移到一台大型机上是可能的,但这样做往往是毫无用处的。因此,软件质量的评估仍然依赖于熟练的个人判断。尽管这并不意味着此方法一定比定量评估差。尽管我们不能定量地评价一幅画或一场演出,但这毕竟不能阻止对其质量的判断。
在一个组织内,质量保证应由一个独立的软件质量保证小组来实施,该小组直接向项目经理层之上的管理层报告。质量保证小组不应与任何开发小组有联系,但要对本组织中所有的项目组的质量保证负责。
质量保证活动包括旁听设计复审、程序走查等,并报告开发过程中产品的整体质量。质量保证也包括检查已完成产品及其有关的文件说明是否与现有标准一致。质量保证小组也可以评估一件产品的不同表示方式(需求、设计、代码)是否一致和完备。
注意,质量保证不同于系统测试。系统有效性确认是开发或测试小组的责任,而质量保证小组要报告确认和确认工作是否充分。这自然意味着质量保证与系统最后阶段的综合测试有着密切的联系。
软件质量保证正成为软件工程的一个新兴分支。正如Buckley 和Poston所指出的,有效的软件质量保证很可能导致软件费用的最终降低。然而,在这一领域中软件管理的最主要障碍是缺乏适用的软件标准。为人们所接受和普遍适用的标准的开发应成为软件工程研究的一个主要目标。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |