当前位置:   article > 正文

第5章 软件质量标准概述

软件质量标准


5.6 软件质量标准

  根据软件工程标准制定机构和标准适用的范围,将软件质量标准分为5个级别,即国际标准、国家标准、行业标准、企业标准和项目规范。
  很多标准的原始状态可能是项目标准或企业标准,但随着行业发展与推进,

5.6.1 国际标准

  由国际机构指定公布供各国参考的标准称为国际标准
  国际标准化组织(International Standards Organization,ISO)具有广泛的代表性和权威性,它所公布的标准也具有国际影响力。
  它所公布的标准带有ISO字样,如ISO10012:1995质量手册编写指南。

5.6.2 国家标准

政府或国家级的机构制定或批准,适用于本国范围的标准,称为国家标准。如:

  1. GB(GuoBiao)
    中华人民共和国国家技术监督局是中国的最高标准化机构,它所公布实施的标准简称为“国标”。
  2. ANSI(American National Standards Institute)
    美国国家标准协会。是美国一些民间标准化组织的领导机构,具有一定的权威性。
  3. FIPS(Federal Information Processing Standards)
    美国商务部国家标准局联邦信息处理标准。它所公布的标准均冠有FIPS字样。如,1987年发表的FIPS PUB 132—87 Guideline for validation and verification plan of computer software(软件确认与验证计划指南)。
  4. BS(British Standard)
    英国国家标准。
  5. DIN(Deutsches Institut for Normung)
    德国标准协会。
  6. JIS(Japanese Industrial Standard)
    日本工业标准行业标准。

5.6.3 行业标准

  行业标准:由一些行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准

  1. 中华人民共和国国家军用标准(GJB)。是由我国国防科学技术工业委员会批准,适合国防部门和军队使用的标准。
    例如,1988年发布实施的GJB473-88军用软件开发规范。美电气和电子工程师学会(Institute Of Electrical and Electronics Engineers,IEEE),该学会成立了软件标准技术委员会(SESS),开展软件标准化活动。
  2. 美国国防部标准(Department of Defense-Standards,DOD-STD)。美国军用标准(Military-Standards,MIL-S)。

  另外,我国的一些部门(如信息产业部)也开展了软件标准化工作,制定和公布了一些适合本部门工作需要的规范。
  这些规范的制定参考了国际标准和国家标准。这些标准的制定对各自行业的软件工程起到了强有力的推动作用

5.6.4 企业规范

  一些大型企业或公司,由于软件工程工作的需要,制定适用于本部门的规范。
  例如,美国IBM公司通用产品部(General Products Division)1984年制定“程序设计开发指南”。

5.6.5 项目规范

  项目规范:为一些科研生产项目需要而由组织制定一些具体项目的操作规范,此种规范制定的目标很明确即为该项任务专用。

  项目规范虽然最初的使用范围小,但如果它能成功指导一个项目的成功运行并重复使用,也有可能发展为行业规范。

5.7 ISO9001和9000-3在软件中的应用

ISO 9001描述的20条需求所面向的是以下问题:

  1. 管理职责;
  2. 质量系统;
  3. 合同复审;
  4. 设计控制;
  5. 文档和数据控制;
  6. 对客户提供产品控制;
  7. 产品标识和可跟踪性;
  8. 过程控制;
  9. 审查和测试;
  10. 审查、度量和测试设备的控制;
  11. 审查和测试状态;
  12. 对不符合标准产品的控制;
  13. 改正和预防行为;
  14. 处理、存储、包装、保存和交付;
  15. 质量记录的控制;
  16. 内部质量审计;
  17. 培训;
  18. 服务;
  19. 统计技术;
  20. 采购。

5.8 能力成熟模型CMM&CMMI

  能力成熟度模型(Capability Maturity Model,CMM)的本质是软件管理工程的一个部分。它是对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。

CMM包括5个等级,共计18个过程域,52个目标,300多个关键实践:
在这里插入图片描述

5.8.1 CMM质量思想

在这里插入图片描述

5.8.2 CMM关键域

  初始级、可重复级、已定义级、已管理级、优化级, 每一级中,定义了达到该级过程管理水平所应解决的主要问题和关键域。
在这里插入图片描述

CMM的内容结构:
  实施所需要的关键活动,从而保证关键域的总体目标的实现,随着组织晋升到过程成熟度的更高等级,在关键域上,应进行的具体实践,在内容上将有所发展
在这里插入图片描述
CMM初始级项目(CMM1):初始级处于这个最低级的组织,基本上没有健全的软件工程管理制度,每件事情,都以特殊的方法来做。在这里插入图片描述
CMM可重复级项目(CMM2):在这一级,有些基本的软件项目的管理行为、设计、管理技术是基于相似产品中的经验,故称为“可重复”。在这里插入图片描述
CMM已定义级(CMM3):保证软件工程活动和软件工程产品的一致性,将软件生命周期的各个阶段严格划分出来,从组织这个层次来保证过程质量改进。

CMM已管理级(CMM4):量化的过程,所有项目和产品的质量都有明确的定量化衡量标准,软件也被置于这样一个度量体系中进行分析、比较、监控。

CMM优化级(CMM5):持续改进的过程,并且有一套有效机制,确保软件工程误差接近最小或零。

5.8.3 PSP和TSP

  1. 个体软件过程(Personal Software Process,PSP)
      个体软件过程是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。
      PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师做出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。

  2. 团队软件过程(Team Software Process,PSP)
      实践证明,仅有PSP还是不够。因此,CMM/SEI又在此基础上发展出了TSP方法。TSP指导项目组中的成员如何有效地规划和管理所面临的项目开发任务,并且告诉管理人员如何指导软件开发队伍。
      TSP实施集体管理与自己管理自己相结合的原则,最终目的在于指导开发人员如何在最少的时间内,以预计的费用生产出高质量的软件产品。所采用的方法是对群组开发过程定义、度量和改进。
    实施TSP的先决条件有3条:
    1.需要有高层主管和各级经理的支持,以取得必要的资源;
    2.项目组开发人员需要经过PSP的培训并有按TSP工作的愿望和热情;
    3.整个开发单位在总体上应处于CMM二级以上,开发小组的规模以3~20人为宜。

5.8.4 CMMI

软件能力成熟度集成模型(Capacity Maturity Model Integrated,CMMI)是CMM模型的最新版本。

早期的能力成熟度模型是一种单一的模型其英文缩写为CMM,较多地用于软件工程。

随着应用的推广与模型本身的发展,该方法演绎成为一种被广泛应用的综合性模型,因此改名为CMMI模型。
在这里插入图片描述

5.8.5 CMM中的质量框架

  软件质量保证(Software Quality Assurance,SQA)是CMM可重复级中6个关键过程域之一,在CMMI中该关键过程升级为管理级中的过程与产品质量保证过程(Process and Product Quality Assurance,PPQA)。

  软件质量保证包括评审和审计软件产品和活动,以验证它们是否符合适用的规程和标准,还包括向软件项目和其他有关的管理者提供评审和审计的结果。

CMM/CMMI为满足这个关键过程域的要求需要达到以下4个目标:
目标1:软件质量保证活动是有计划的
目标2:软件产品和活动与适用的标准、规程和需求的符合性要得到客观验证
目标3:相关的小组和个人要被告知软件质量保证的活动和结果
目标4:高级管理者处理在软件项目内部不能解决的不符合问题。

全面质量管理TQM:CMM的思想,是一切从顾客需求出发,从整个组织层面上实施过程质量管理,正符合了全面质量管理(Total Quality Management,TQM)的基本原则。
在这里插入图片描述

质量保证实现的具体实施方法

  • 定义项目类型和生命周期
  • 建立SQA计划,确定项目审计内容
  • 生成SQA报告
  • 审计SQA报告
  • 独立汇报

软件生命周期过程示意图
在这里插入图片描述

Tick IT
  在20世纪80年代末期,软件开发过程的特殊性是软件企业在应用ISO 9001标准陷入了困境,于是在这个特殊的行业需要在通用认证过程的基础上补充附加的要求,导致了Tick IT认证项目的产生。
  TickIT项目帮助软件企业建立与其业务过程相关的质量体系,并使该体系满足ISO 9001的要求。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/785278
推荐阅读
相关标签
  

闽ICP备14008679号