标准与证书
许多国家和国际标准化机构、专业和行业组织都参与了SQA标准的制定。
以下机构和组织是SQA和软件工程标准的主要制定者:
- IEEE(电气与电子工程师协会)计算机协会
- ISO(国际标准化组织)
- DOD(美国国防部)
- ANSI(美国国家标准协会)
- IEC(国际电工委员会)
- EIA(电子工业协会)
这些组织为软件开发和维护组织中进行的专业和管理活动的质量提供最新的国际标准。
他们还通过独立的专业质量审核提供SQA认证。这些外部审核评估在SQA系统开发和实施方面的成就。认证是在定期审核后授予的,仅在下次审核之前有效,因此必须续期。目前,ISO 9000认证服务是欧洲和其他国家最主要的SQA认证提供商。
他们还提供用于组织SQA系统及其运行的自我评估工具。由软件工程研究所(SEI),卡内基梅隆大学开发的成熟度模型(CMM)和ISO/IEC标准15504就是这种方法的例子。
SQA标准
软件质量保证标准可以分为两大类:
软件质量保证管理标准,包括认证和评估方法(质量管理标准)
软件项目开发过程标准(项目过程标准)
质量管理标准
这些标准侧重于组织的SQA系统、基础设施和要求,同时将方法和工具的选择权留给组织。通过质量管理标准,组织可以稳定地确保其软件产品达到可接受的质量水平。
示例 — ISO 9000-3和能力成熟度模型(CMM)
项目过程标准
这些标准侧重于实施软件开发和维护项目的方法。这些标准包括:
- 要采取的步骤
- 设计文档要求
- 设计文档内容
- 设计评审和评审问题
- 要执行的软件测试
- 测试主题
当然,由于其自身的特点,这类中的许多SQA标准可以作为软件工程标准,反之亦然。
下表总结了这两类标准的特点。
特点 | 质量管理标准 | 项目过程标准 |
---|---|---|
目标单位 | 软件开发、维护和特定SQA部门的管理 | 软件开发和维护项目团队 |
主要关注点 | SQA系统、基础设施和要求的组织 | 执行软件开发和维护项目的方法 |
标准的目标 | “做什么”才能实现 | “如何”执行 |
标准的目标 | 确保供应商的软件质量并评估其软件过程能力 | 确保供应商的软件质量并评估其软件过程能力 确保特定软件项目的质量。 |
示例 | ISO 9000-3 SEI的CMM | ISO/IEC 12207 IEEE标准1012-1998 |
ISO 9001认证
ISO(国际标准化组织)是一个由各国标准化机构组成的世界性联合会。ISO技术委员会编制国际标准。ISO在所有电工技术标准化方面与国际电工委员会(IEC)密切合作。
国际标准是根据ISO/IEC指令,第2部分中规定的规则起草的。技术委员会通过的国际标准草案将分发给成员机构进行投票。ISO 9001由技术委员会ISO/TC 176,质量管理和质量保证,分委员会SC 2,质量体系编制。
过程方法
本国际标准鼓励在开发、实施和改进质量管理体系的有效性时采用过程方法,以通过满足客户要求来增强客户满意度。为了使组织有效运作,它必须确定和管理许多相关的活动。可以使用资源并进行管理以实现将投入转化为产出的活动或一组活动,可以视为一个过程。
一个过程的输出通常直接构成下一个过程的输入。在一个组织内应用一个过程系统,以及识别和相互作用这些过程,并对其进行管理以产生预期结果,可以被称为“过程方法”。
过程方法的一个优点是它对过程系统内各个过程之间的联系以及它们的组合和相互作用提供了持续的控制。当在质量管理体系中使用时,这种方法强调以下方面的重要性:
- 理解和满足要求
- 需要从增值方面考虑过程
- 获取过程绩效和有效性的结果
- 基于客观测量的过程持续改进
ISO 9001 — 应用于软件:TickIT倡议
TickIT是由英国软件行业在20世纪80年代末与英国贸易和工业部合作启动的,旨在推广一种将ISO 9001适应软件行业特征的方法,被称为TickIT倡议。
此外,TickIT专门从事信息技术(IT)。它涵盖了商业软件开发和维护服务的全部范围。TickIT现在由BSI(英国标准学会)的DISC部门管理和维护,已获得在英国和瑞典认证IT组织的资格。
其活动包括:
出版TickIT指南,支持软件行业努力推广ISO 9001认证。目前的指南(第5.0版,TickIT,2001),其中包括对ISO/IEC 12207和ISO/IEC 15504的参考,分发给所有TickIT客户。
除了管理外,还对软件质量系统进行基于审核的评估,并就改进软件开发和维护流程向组织提供咨询。
进行ISO 9000认证审核。
进行基于审核的评估和认证审核的TickIT审核员由国际注册审核员协会(IRCA)注册。注册的IRCA审核员除其他外,必须具备管理和软件开发经验;他们还必须成功完成审核员课程。
注册首席审核员必须有进行和指导TickIT审核的经验。