软件的开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观的表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。
接下来看五种常用的开发模型:
1、瀑布型模型
优点:
1.奠定了软件工程方法的基础
2.流水依赖,便于分工协作
3.推迟物理实现,易于修改文档,有复审质量保证
不足:
与用户见面晚,成功率低
使用范围:
系统要求明确的系统
各种应用软件的开发
开发特点:
1、时间的顺序性和依赖性
2、推迟实现
3、质量保证
2、快速原型模型
优点:
用户和设计人员一直在一起,有问题可以随时修改,很好的满足了用户的需求
使用范围:
知识型软件系统的开发
特点:
1、从整体结构上不如瀑布型清晰
2、软件的文档不如瀑布型的划分严格
3、周期长,成本高
4、与用户见面快,开发效率高
3、演化模型
特点:
1、做两次
2、检验需求分析
3、二次开发,获得满意产品
4、螺旋模型
优点:
1、设计上灵活,可在项目各个阶段进行变更
2、以小的分段来构建大型系统,使成本计算变得简单容易
3、客户始终参与每个阶段的开发,保证项目不偏离正确方向以及项目的可控性
不足:
1、建设周期长,软件更新快,无法满足当前用户需求
2、系统庞大,风险高
3、需求不明确
特点:
1、周期性的方法进行系统开发
2、有许多“中间版本”
3、每个周期都包括需求定义、风险分析、工程实现和评审4个阶段
5、喷泉模型
特点:
各阶段没有明显界限,开发人员可以同步进行开发
优点:
提高软件项目开发效率,节省开发时间,适用于面向对象的软件开发过程
缺点:
1、需要大量的开发人员,不利于项目的管理
2、要求严格管理文档,使审核难度加大,尤其是面对可能随时加入的各种信息、需求与资料的情况