软件开发模型及测试方法
- 供应商
- 湖北钠斯网络科技有限公司
- 认证
- 报价
- ¥50000.00元每件
- 品牌
- 钠斯网络
- 湖北省宜昌市
- 西陵区云计算大厦1202
- 官方客服
- 18908605871
- 经理
- 陈强
- 所在地
- 湖北省宜昌市西陵区发展大道三峡云计算大厦A座1202
- 更新时间
- 2024-09-25 07:10
1 瀑布模型
瀑布模型式是典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。瀑布式的主要有以下问题:
各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
因此,瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。
2 迭代开发模型
迭代式开发是一种与传统的瀑布式开发相反的软件开发过程,具有更高的成功率和生产率。在迭代开发中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,逐步逐步地完成,故为迭代。每一次迭代都包括需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。迭代开发具有以下优点:
降低风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
适应需求变更。由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。
持续的测试与集成,降低后期的工作量与风险。
3 螺旋开发模型
螺旋开发,将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。“螺旋模型”刚开始规模很小,当项目被定义得更好、更稳定时,逐渐展开。“螺旋模型”的核心就在于不需要在刚开始的时候就把所有事情都定义的清清楚楚。您轻松上阵,定义重要的功能,实现它,然后听取客户的意见,之后再进入到下一个阶段。如此不断轮回重复,直到得到您满意的终产品。螺旋开发分为以下四个阶段:
制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
风险分析:分析评估所选方案,考虑如何识别和消除风险;
实施工程:实施软件开发和验证;
客户评估:评价开发工作,提出修正建议,制定下一步计划。
一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。后,评价该阶段的结果,并设计下一个阶段。
4 敏捷开发模型
敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。
个体和互动重于流程和工具。
可工作的软件重于求全而完备的文档。
客户协作重于合同谈判。
应对变化重于遵循计划。
其中位于右边的内容虽然也有其价值,但是左边的内容为重要。人员彼此信任,人少但是精干,可以面对面的沟通。
敏捷开发小组主要的工作方式可以归纳为:作为一个整体工作;按短迭代周期工作;每次迭代交付一些成果;关注业务优先;检查与调整。
重要的因素恐怕是项目的规模。规模增长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍,40、30、20、10人或者更少。
5 四种模型比较
传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。
展开全文