目录 |
并行开发模型是一种演化模型。在软件开发的实践过程中。项目管理者注意到,试图根据传统过程的主要阶段来追踪项目的状态是根本不可能的。原因是,虽然一个项目正处在程序设计阶段,但同时可能有一些项目组人员在参与涉及开发多个阶段的活动。例如,需求分析、设计、程序设计、测试或集成,所有这些活动可能在同时进行。基于上述事实,Humphrey和Kellner提出的软件工程过程模型表达了这种任一阶段的活动之间存在的并行性。并行过程模型可以大致表示为一系列的主要技术活动、任务及它们的相关状态。主要方法是使用状态图来表示与一个特定事件(如开发后期的一个需求修改)相关活动之间存在的并行关系,但是,它不能捕获贯穿于一个项目中所有软件并行和管理活动的大量并行。
图给出并行开发模型中一个活动的图形表示,该活动(分析活动)在任一给定时间可能处于任一状态。同样地,其他活动(如设计或程序设计)也能够用相同方式表示。所有活动并行存在,但处于不同的状态。如开发后期,分析活动可能处于等待修改状态,程序设计活动可能处于编制状态,而一个需求修改事件,可能触发分析活动进入修改状态,而触发程序设计活动进入等待状态。
并行开发模型主要是以开发过程中的主要技术活动和任务为框架,描述了开发过程中(开发过程是反复迭代的)主要技术活动和任务的并行性。并行开发模型关注开发活动之间的并行性以及它们的相互关系,使项目管理者能够了解其项目当前的总体状态,便于他们有针对性地实施有效的项目管理。但是,对于提高软件产品的质量和开发速度并无实质性的好处。
在软件开发的实践活动中,已经注意到并行性的存在,如主要技术活动和任务的并行性(OF行开发模型)。但是,另一类的并行更值得关注,例如,传统软件开发过程的程序设计阶段,可以由多个小组同时对不同的模块进行程序设计。此时,开发活动具有真正的并行性,使开发速度加快。当然,此时的并行粒度是很细的。