我们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫做“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营和维护的效率,以及提高用户满意度、软件的可靠性和维护性。
开发流程有:写了再改模式、瀑布模型、瀑布模型的各种变形(生鱼片模型、大瀑布带着小瀑布)、统一流程(RUP)、老板驱动的流程、渐进交付流(见课本P93-P102)
最喜欢的开发流程模式:瀑布模型
瀑布模型的优点:为项目提供了按阶段划分的检查点,当前一阶段完成后,您只需要去关注后续阶段。它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布模型的缺点:个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。通过过多的强制完成日期和里程碑来跟踪各个项目阶段,瀑布模型的主要缺点是不适应用户需求的变化。