我们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫做“软件开发流程”。
开发流程模式有写了再改模式、瀑布模式、瀑布模型的各种变形、统一流程(RUP)、老板驱动的流程、渐进交付的流程,MVP和MBP和TSP的原则。
统一流程把软件开发的各个阶段整合在一个统一的框架里。要完成一个复杂的软件项目,团队的各种成员要在不同阶段做不同的事情,过程如下:业务建模、需求、分析与设计、实现、测试、部署、配置和变更管理、项目管理、环境
统一流程四个阶段:初始阶段、细化阶段、构造阶段、交付阶段
优点:软件开发是一个迭代过程;软件开发是以架构设计(Architectural Design)为中心的。
缺点:RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。