软件开发模型:
1.瀑布模型
1)软件概念阶段 用户需求
2)需求分析 软件需求
3)架构设计 架构文档
4)详细设计 模型设计
5)编码阶段 代码文档
6)测试阶段
瀑布模型的特点是在每个阶段的工作都清晰详尽,容易预估风险和开发成本,每个阶段人员安排也非常清晰。
瀑布模型的缺点是中途不能出现任何问题,例如客户要改动需求,重新定义某项业务流程。瀑布模型还有一个缺点是项目编码处在后半程,因此客户需要等待很长时间才能体验到产品,故此需要在早期就为用户提供一个体验的样本,这个样本就是产品原型。
瀑布模型非常适合使用在需求清晰且不易改变的情况。除此之外,遇到一个需求非常清晰的客户是使用瀑布模型的一个重要前提。
2.螺旋模型
螺旋模型兼顾了快速成型的迭代特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。
螺旋模型的特点是每阶段只完成特定部分的功能,循环渐进式的开发。
螺旋模型非常适合使用在客户需求经常发生变化或者客户需求不明确的情况。