软件过程基础

  • 几位质量管理大师的主要贡献
    • 休哈特(Shewhart
      • 最早提出"计划-执行-检查"的概念,后来戴明进一步将其发展为PDCA【计划(Plan)、实施(Do)、检查(Check)、行动(Action)】
    • 戴明(Deming
      • PDCA循环。Deming最早提出PDCA循环的概念,所以又被称为"戴明环"。
    • 朱兰Juran
      • 朱兰主编的《质量控制手册》被称为当今世界质量控制科学的"圣经",为奠定全面质量管理(TQM)的理论基础和基本方法做出了卓越的贡献
      • 质量三部曲:质量计划,质量控制,质量改进
      • 朱兰质量螺旋
      • 80/20原则
    • 克劳士比(Crosby
      • 1964年提出了"零缺陷"的概念,即第一次就把事情做对
      • 质量改进的基本要素(6C"变革管理的六个阶段")

      领悟

      承若

      能力

      改正

    • 哈弗雷(Humphrey
      • 件过程中采用Crosby的成熟度量化,加入成熟度等
  • 典软件过程及其特点
    • CMM
      • TQM(全面量管理)的思想用到程改中,根据件的特殊性提出适合开发的成熟度模型
    • CMMI
      • 整合软件工程(SW)、系工程(SE)、集成品(IPPD开发专业领域而表了整合式CMMI
    • PSP
      • PSP着重于开发人能力提升,体在估算能力,计划能力,计划执行以及量管理等方面。
    • TSP
      • 一个已经定义的团队构建过程
      • 一个团队作业框架
      • 一个有效的管理环境
    • RUP
      • 6条最佳实践

      迭代式开发

      管理需求

      使用基于构件的体系结构

      可视化建模

      证软件质量

      控制软件变更

      • 工作阶段

      初始阶段

      精华阶段

      建阶段

      移交阶段

    • 敏捷过程
      • 限编程(XP

      短交付周期

      收测试

      对编程

      • 由两名开发人员在同一台计算机上共同编写解决一个问题的程序代码,通常一个人编码,另一个人对代码进行审查与测试

      试驱动开发

      • 试先行。在编码之前应该首先设计好测试方案,然后再编程,直至所有测试都获得通过之后才可以结束工作
      • SCRUM

      一种迭代增量软件开发过程

      • 价值观

      体和交互胜过过程和工具

      可以工作的软件胜过面面俱到的文档

      客户合作胜过合同谈判

      应变化胜过遵循计划

    • ISO/IEC 15504(又名 SPICE)
      • 客户供应商过程(CUS
      • 工程过程(ENG
      • 支持过程(SUP
      • 管理过程(MAN
      • 织过程(ORG
    • ISO9000
      • 重点关注"过程质量",强调"持续改进"
      • 准要求从软件项目的合同评审---开发-----安装----------量改------行完善SQA控制
    • 敏捷与规范
      • 影响敏捷与规范方法选择的五个维度

      态性

      危险性

      人员

      文化