- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
軟件生命周期的特点分析比较-张程
软件生命周期选择
摘 要:对软件研发常见的7 种生命周期模型按照模型特征、优点、缺点、适用场景进行了分析,将不同的生命周期模型按照各自适用的项目特征进行了对比,并结合项目特性给出软件项目生命周期选型的定量模型方法。
关键词:软件生命周期模型;项目特征;软件项目
0 引言
项目生命周期模型的主要功能是建立活动进行的顺序。项目计划阶段选择合适的软件开发生命周期模型能够简化项目,使得项目流程化,并帮助确保每一个步骤都会让项目更加接近成功。它能提高开发速度、提升产品质量、加强项目监督与控
制,减少成本、降低风险,有利于改善客户关系。如果错误的选择了软件开发生命周期模型或者不选择, 必定会导致进度滞后、劳动重复、造成无谓的浪费以至项目最终遭受挫折。
1 软件项目生命周期分析
1.1 V 字模型
(1)特点:V 字模型是一种线型顺序模型,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,各阶段相互独立、不重叠。V 字模型是所有软件生命周期模型的基础。开发流程如图1 所示。
(2)优点:可以保证整个软件产品较高的质量,保证缺陷能够提前的被发现和解决。采用V 字模型可以保证系统在整体上的充分把握,使系统具备良好的扩展性和可维护性,强调早期的计划及需求调查与分析;强调产品测试的完备性;过程文档齐全,便于追溯和使用;过程的可见性强,便于过程质量控制;只要需求是稳定的,则进度也是稳定的。
(3)缺点:无法解决软件需求不明确或不准确的问题,灵活性差,依赖于早期进行的需求调查,不能适应需求的变化。
图1:V 字模型示意图
1.2 中等简化V 字模型
特点: 中等简化V 字模型就是在标准V 字模型基础上根据组织中一些小项目的实际需要演化而来。模型图如图2 所示。
优点:可以适应中等和较小项目较灵活的管理需要,提供中度的进度控制,相对标准V 字模型,可以减少部分项目管理工作量和开支,在产品交付方面进行合理的控制缺点:因项目开发流程相对简化,项目的风险增大,质量隐患增大。
图2 中等简化V 字模型
1.3 最简化V 字模型
特点: 最简化V 字模型就是在标准V 字模型基础上根据组织中的小项目和维护项目的实际需要演化而来。一般情况下,不建议使用此种模型。
优点:可以适应小项目的灵活性;减少过程复杂带来的产品提交时间延长;过程相对简单,项目管理控制的工作量相对较少;提供中度的进度控制;减少开支。
缺点:对阶段性的控制较弱,不能及时发现问题;项目前期控制较弱,使得项目产品质量留有隐患。最简化V 字模型如3所示。
图3 最简化V 字模型
1.4 迭代模型
特点:已有2 种迭代方式。一种是以需求、计划、设计为重点的迭代模型,常用于需求不明确的项目;另一种是以计划、设计、编码、测试为重点的迭代模型,常用于算法型等技术难度较高的项目。
优点:允许变更需求,中途的修改容易,迭代流程自身可在进行过程中得到改进和精炼;生成性能更强壮的产品;风险管理比较容易,可及早降低风险,存在良好的信息传递渠道。
缺点:因本模型较为灵活,对管理的要求较高,项目经理需要有丰富的项目管理经验; 迭代的次数和任务规划难把握,对项目策划要求较高。
1.5 原型+瀑布模型
特点:用户需求不完全或不确定,针对总体的轮廓先建立一个用户需求原型,然后进行评价和反馈。对原型进行扩充、改进和求精,完成最终系统。
优点: 开发者可以很快的构建一个可以演示的产品系统,客户和开发者对系统有更好的理解。
缺点:没有考虑软件的整体质量和长期的可维护性;由于达不到质量要求产品可能被抛弃; 由于原型并非最终产品,如果原型不能利用,可能导致成本的增加。
1.6 螺旋模型
特点:风险驱动,关注风险,风险分析后决策项目是否继续进行。螺旋模型实现了随着项目成本投入不断增加,风险逐渐减小,并加强项目的管理和跟踪。在每次迭代结束后都需要对产出物进行评估和验证,当发现无法继续进行下去时可及早终止项目。
优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试或测试不足;维护和开发之间并没有本质区别。
缺点:需要风险分析评估的专门技术,且成功依赖于这种技术。很明显一个大的没有被发现的风险问题,将会导致问题的发生,并可能导致演化的方法失去控制。
1.7 增量模型
特点:第一阶段增量往往是核心产品;每一阶段增量均可发布一个版本。
优点:人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个阶段增量,同时人员可以并行工作;需求明确部分可以分阶段实现,逐步优化系统需求,集成系统元素;阶段交付。
缺点:由于增量模型的灵活性,往往容易退化成边做边改方法,使软件过程的控制丧失了整体性,最终的产品也不是开放的,而是成为维护人员的恶梦。
2 生命周期
文档评论(0)