软件开发模型
瀑布模型
瀑布模型把软件开发分成了三个阶段,定义阶段,开发阶段,维护阶段。各个阶段又有具体步骤,每个步骤都会有产出成果。比如需求分析步骤会产生需求规格说明书。适用于需求比较没明确的项目。
瀑布模型最大的缺点就是对需求的变化无法做出应对
V模型
v模型很注重测试。单元测试主要测试编码,以详细设计为依据,集成测试测试的是详细设计,以概要设计为依据,系统测试测试概要设计,需求分析为依据,验收测试是一个以用户为主导的测试。它的不足是把测试放在了编码之后
喷泉模型
喷泉模型是一个面向对象的开发模型,每部分没有明确的界限,迭代开发,会加快效率。会给管理上带来麻烦
原型化模型,演化模型,增量模型
原型模型和瀑布模型极为互补,针对需求还不明确的情况。通过和用户的沟通产生原型(用过墨刀的应该知道是啥东西了),最终产生系统的雏形。增量模型就是先做一部分,再做一部分,一步步增加,好处就是很早就会接触到核心的模块
增量模型
- 有原型的思想加上瀑布模型的思想就得到了增量模型
- 螺旋模型则是洗手了演化模型,原型,瀑布模型三者的思想
螺旋模型
螺旋模型则是洗手了演化模型,原型,瀑布模型三者的思想。引入了风险分析
RAD快速开发模型
用瀑布模型和构件化开发形成了自己的风格,快速的构件自己的应用系统
构件组装模型(CBSD)
把软件开发的各个模块都能够做成一个构件。构件的组装就形成了软件,提高了软件开发的复用性,减少了时间和成本,增加可靠性
敏捷化的开发方法
做中小型的的项目可行,大型项目不可实行
敏捷开发方法有如下几种:
- xp(极限编程)费用控制严格的公司使用
- Cockbum的水晶系列发放,用最少的纪律约束而仍能成功的方法
- 开放式源码
- SCRUM并列挣球法
- ASD方法 ,重叠的开发,猜测学习