什么模型适合大型软件开发(常用软件开发模型有哪些)
本篇文章给大家谈谈什么模型适合大型软件开发,以及常用软件开发模型有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
哪种软件开发模型强调风险分析,客户参与度高?
螺旋模型软件开发模型强调风险分析,客户参与度高。
螺旋模型强调了风险分析,这意味着对可选方案和限制条件都进行了评估,更有助于将软件质量作为特殊目标融入产品开发之中。
螺旋模型由巴利·玻姆(Barry Boehm)于1988年提_,该模型融合了瀑布模型、快速原型模型,它最大的特点是引入了其他模型所忽略的风险分析,如果项目不能排除重大风险,就停止项目从而减小损失。这种模型比较适合开发复杂的大型软件。
常见的软件开发模型是什么?
演化模型、螺旋模型、喷泉模型、智能模型等。
软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。
最早出现的软件开发模型是1970年W·Royce提出的瀑布模型。该模型给出了固定的顺序,将生存期活动从上一个阶段向下一个阶段逐级过渡,如同流水下泻,最终得到所开发的软件产品,投入使用。
但计算拓广到统计分析、商业事务等领域时,大多数程序采用高级语言(如FORTRAN、COBOL等)编写。瀑布模式模型也存在着缺乏灵活性、无法通过并发活动澄清本来不够确切的需求等缺点。
软件开发瀑布模型适用于
软件开发瀑布模型适用于以下场景:
1、需求在规划和设计阶段就已确定,且项目开发周期内需求没有或极少变化,对需求变更进行严格控制,例如航空航天、金融核心系统等。
2、稳定的低风险项目(对目标、环境非常熟悉),规模小实现简单易受控的项目。
3、合同式的合作方式,严格按照说明执行,客户需求明确且不参与软件实现过程。
瀑布模型
1、瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
2、瀑布模型的缺点:开发过程一般不能逆转,否则代价太大;很难严格按该模型进行。
3、瀑布模型的使用范围:用户的需求非常清楚全面,且在开发过程中没有或很少变化,对软件的应用领域很熟悉;用户的使用环境非常稳定;开发工作对用户参与的要求很低。
快速原型模型
1、快速原型模型的优点:可以得到比较良好的需求定义,容易适应需求的变化;有利于开发与培训的同步;费用低、开发周期短且对用户更友好。
2、快速原型模型的缺点:客户与开发者对原型理解不同; 准确的原型设计比较困难; 不利于开发人员的创新。
3、快速原型模型的使用范围:对所开发的领域比较熟悉而且有快速的原型开发工具;项目招投标时,可以以原型模型作为软件的开发模型;进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。
增量模型
1、增量模型的优点:优点是人员分配灵活,刚开始不用投入大量人力资源;可先发布部分功能给客户,对客户起到镇静剂的作用。
2、增量模型的缺点:并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
3、增量模型的使用范围:进行已有产品升级或新版本开发,增量模型是非常适合的,完成期限严格要求的产品,可以使用增量模型对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。
螺旋模型
1、螺旋模型的优点:灵活性,可以在项目的各个阶段进行变更计算变得简单容易;客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
2、螺旋模型的缺点:需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;会增加开发成本,延迟提交时间。
3、螺旋模型的使用范围:螺旋模型只适合于大规模的软件项目。
螺旋模型
4.1什么是螺旋模型
螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径
螺旋模型是快速原型模型以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。该模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。用螺旋模型的软件过程如下
简化的螺旋模型
完整的数据模型
图中带箭头的点划线的长度代表当前累计的开发费用,螺旋线的角度值代表开发进度,螺旋线的每个周期对应于一个开发阶段
图中的四个象限代表了以下活动
制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件
风险分析:分析评估所选方案,考虑如何识别和消除风险
实施工程:实施软件开发和验证
客户评估:评价开发工作,提出修正建议,制定下一步计划
4.2特点
螺旋模型在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定
螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,继而做出应有的反应,因此特别适用于庞大、复杂并具有高风险的系统
4.3优缺点
优点
对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标
减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险
在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别
缺点
采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失
过多的迭代次数会增加开发成本,延迟提交时间
4.4限制条件
螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发
如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规模软件项目
软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险
一个阶段首先是确定该阶段的目标,完成这些目标的选择方案及其约束条件,然后从风险角度分析方案的开发策略,努力排除各种潜在的风险,有时需要通过建造原型来完成。如果某些风险不能排除,该方案立即终止,否则启动下一个开发步骤。最后,评价该阶段的结果,并设计下一个阶段
什么模型适合大型软件开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于常用软件开发模型有哪些、什么模型适合大型软件开发的信息别忘了在本站进行查找喔。