软件开发模型
一、 瀑布模型 定义阶段 开发阶段 维护阶段。
思想 : (从制作时间上按工序把问题花间
将功能实现与制作分开便于分工写作) 依懒性
缺点 时间周期长 ,用户见面晚,修改难。成功率低一般为25%
优点 比较严格,保证质量。
2. B模型 软件开发 维护循环 开发维护分开
二、快速原型模型 需求分析,原型开发,原型评价,最终系统设计,最终系统实现
快速原型两种(丢弃型,渐增模型)
优点 (1)可以得到比较良好的需求定义,容易适应需求的变化;
(2)有利于开发与培训的同步;
(3)开发费用低、开发周期短且对用户更友好。
缺点 (1)客户与开发者对原型理解不同;
(2) 准确的原型设计比较困难;
(3) 不利于开发人员的创新。
第三个 渐增模型
- 基本思想,先建立一个不完全的系统,然后通过测试这个系统,进一步使系统扩充和完善
- 优点,开发人员和用户都共同参加,有问题随时修改,满足用户的需求
- 使用范围,使用那些知识型软件系统的开发
- 优点 整体结构不如瀑布模型清晰,软件的文档不如瀑布型的划分严格,周期长 成本高,与用户见面快,开发效率高
四、螺旋模型 只适用大规模的软件项目
优点 (1)设计灵活、可在各个阶段进行变更
(2)以小的分段来构建大型系统,使成本计算变得简单容易
(3)客户始终参与,保证项目不偏离方向,项目的可控制性
(4)因为一直参与,与管理层有交互
缺点 (1)需要搞得风险评估,不然势必造成重大损失。
(2)过多的迭代次数 ,增加开发时间,延迟提交时间。
第五个喷泉模型 迭代,无界限 、
以面向对象的软件开发方法为基础,以用户需求为动力,以对象来驱动的模型
优点 (1)不像瀑布模型那样,先分析结束后再到设计,设计完再到编码。
(2)各个阶段没有明显的界限,开发人员同步开发
(3)效率高,时间短
缺点 (1)开发阶段是重叠的,因此需要大量的开发人员,不利于项目的管理
(2)模型要求严格管理文档,是得审核的难度加大,
六、形式化方法模型
有两种 1.变换模型 2.净室软件过程模型
变换模型:
是一种用于软件的形式化开发的方法。在软件需求分析确定以后,便用形式化的规格说明语言将其描述为“形式化软件规格说明”,然后对其进行一系列自动或半自动的变换,最终得到软件系统的目标程序。
净室软件工程模型:
也是软件开发的一种形式化方法,它力求在分析和设计阶段就消除错误,确保正确,然后在无缺陷或“洁净”的状态下实现软件的制作,以生成极高质量的软件。它使用盒结构规约进行分析和设计建模,并且强调将正确性验证而不是测试,作为发现和消除错误的主要机制。它使用测试来获取认证,使被交付的软件的出错率达到最低。