软件开发过程管理包括:软件开发模型、软件开发过程控制。
软件开发模型从软件开发过程的总体建模,偏重研究构建合理的过程模型。
软件开发过程控制从项目管理的角度,偏重于软件开发过程中具体管理制度
和规范的研究。
简而言之,前者关注于“应该如何做”,后者关注于“应该做到什么”。
软件开发模型是指导软件开发过程管理的结构性框架,对软件开发全过程中主要活动
,任务和开发策略进行规范。软件开发模型也称为软件过程模型或软件生命周期模型。
软件开发过程控制是管理软件开发过程的规范和标准。
目前的标准是由美国卡内基*梅隆大学软件研究所提出的能力成熟度模型(Capability
Maturity Model for Software,CMM).CMM以过程管理视角,从项目的定义、实施、
度量。控制和改进软件过程5个方面规范软件开发项目过程,确保软件项目的成功。
由于软件开发是由多人构成的团队共同承担的项目,因此CMM建议从个体和团队
两个方面的开发过程管理入手,其中个体软件过程管理(personal software process)
是基础,团队软件过程管理(team software process)是保证。
PSP为个体软件过程提供指导,例如如何制订计划,如何控制质量,如何与其他人
相互协作等。在软件设计阶段,PSP的着眼点在于软件缺陷的预防,具体办法是强化
设计结束准则而不是设计方法的选择。
TSP的基本思想是确保软件工程团队可以承担非常规工作。高效的TSP团队应是经过
正确组建的、由技能型人才组成的、受到合适训练的、实施有效领导的团队。
TSP为构建和指导这样的团队提供工作准则、TSP强调团队合作,重点解决如何
克服协同工作中的问题,如何对待压力、领导、协调、合作、参与、拖延、质量、功能
和评价等问题。