软件构造课程笔记——软件开发模型
传统软件开发模型
瀑布式
连续,无迭代
需求,设计,实现,验证,维护
增量式
无迭代
增量式的应用瀑布模型
具体地:
- 软件工程被分解为多个子项目
- 每个子项目按瀑布式模型开发
- 子项目最终被整合构建成目标系统
- 按优先级逐一开发子项目
- 子项目一经完成便不再改动
V型
增加验证确认步骤的瀑布模型
水平方向代表开发时间,铅锤方向代表抽象层次
原型模式
迭代地
提供开发中软件的不完整模型
流程:
- 确认基本需求:输入,输出
- 开发初始原型:仅含UI
- 复议:客户测试原型并反馈
- 修订改进原型,重复3,4步
螺旋模型
迭代地
风险驱动的开发,沿螺旋迭代,每圈都增强软件系统。
每次迭代结束都评估论证,评估不通过即可立即终止项目。
可结合多种开发模型(对每轮迭代)
现代软件开发模型
敏捷开发
软件产品重于文档
客户沟通重于合同谈判
相应变化而非遵照计划