版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ocp114/article/details/82936078
一、瀑布模型:
瀑布模型是一个典型的软件生命周期模型,包括:可行性分析(计划),需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护
- 从上一项开发活动接受该项活动的工作对象作为输入
- 用这一输入,实施该项活动应完成的工作内容
- 然后再给出该活动的工作成果,作为输出传给下一项开发活动
- 对该项活动的实施工作成果进行评审。若其工作成果得到确认,则继续进行下一项开发活动;否则返回前一项,甚至更前项的活动
二、螺旋模型
是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中控制的和系统化的方面结合起来
螺旋模型强调了风险分析,特别适用于庞大而复杂的,高风险的系统
三、迭代模型
- 初始阶段:系统地阐述项目的范围,选择可行的系统架构,计划和准备业务案例
- 细化阶段:细化构想,细化过程和基础设施,细化架构并选择构件
- 构造阶段:资源管理、控制和过程最优化,完成构件的开发并依评价标准进行测试,依构想的验收标准评估产品的发布
- 移交阶段:同步并使并发的构造增量集成到一致的实施基线中,与实施有关的工程活动(商业包装和生产、人员培训等),根据完整的构想和需求集的验收标准评估实施基线
四、V模型
特点:
- V 模型体验的主要思想是开发和测试同等重要,左侧代表的是开发活动,右侧代表的是测试活动
- V 模型针对每个开发阶段,都有一个测试级别与之对应
- 测试依旧是开发生命周期中的阶段,但与瀑布模型不同的是,有多个测试级别与开发阶段对应
- V 模型适用于需求明确而需求变更不平凡的情形
五、原型化模型
特点:
- 实际可行
- 具有最终系统的基本特性
- 构造方便、快速,造价低
分类:
- 抛弃型原型(Throw-It-Away Prototype)
- 进化型原型(Evolutionary Prototype)
六、敏捷开发模型
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,强调程序员团队与业务专家之间的紧密协调、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用