软件开发过程模型

2022-07-14 04:15:15   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《软件开发过程模型》,欢迎阅读!
软件开发,模型,过程
实验: 软件开发过程模型

1、实验目的: 学习各种软件开发过程模型。

2、实验内容: 在网上搜索资料总结一份软件开发过程模型的报告,并论述:假如你身为项目经理,你选择哪一种软件开发过程?为什么?

瀑布模型

优点:通过设置里程碑,明确每阶段的任务与目标,可为每阶段制定开发计划,进行成本预算,组织开发力量 ,通过阶段评审,将开发过程纳入正确轨道 ,严格的计划性保证软件产品的按时交付。

缺点:缺乏灵活性,不能适应用户需求的改变 开始阶段的小错误被逐级放大,可能导致软件产品报废。 原型模型:

优点:开发者与用户充分交流,可以澄清模糊需求,需求定义比其他模型好得多; 开发过程与用户培训过程同步 为用户需求的改变提供了充分的余地;开发风险低,产品柔性好 开发费用低,时间短; 系统易维护,对用户更友好

缺点:产品原型在一定程度上限制了开发人员的创新;原型过快收敛于需求集合,而忽略了一些基本点;资源规划和管理较为困难,随时更新文档也带来麻烦 只注意原型是否满意,忽略了原型环境与用户环境的差异

螺旋模型:

优点:①螺旋模型是将瀑布模型与快速原型模型结合起来。②强调了其他模型所忽视的风险分析。③每一次螺旋包括4个步骤:制定计划、风险分析、实施工程、客户评估。 缺点:①强调风险分析,但要求许多客户接受并相信这种分析,是不容易的。 敏捷开发模型

优点:①短周期开发。 ②增量开发。③由程序员和测试人员编写的自动化测试来监控开发进度。 ④通过口头沟通、测试和源代码来交流系统的结构和意图。 ⑤编写代码之前先写测试代码。也叫做测试先行。

缺点①团队的组建较难,人员素质要求较高。 ②对测试员要求完全掌握各种脚本语言编程,会单元测试。


快速原型模型(Rapid Prototype Model

优点:建造一个快速原型,实现客户或未来的用户与系统的交互用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;开发客户满意的软件产品。快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。 缺点:1)客户与开发者对原型理解不同;2 准确的原型设计比较困难;3 不利于开发人员的创新。

增量模型(Incremental Model)又称演化模型。 优点:1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;2)如果核心产品很受欢迎,则可增加人力实现下一个增量;3)可先发布部分功能给客户,对客户起到镇静剂的作用。 缺点:1并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;2增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

喷泉模型(fountain model(也称面向对象的生存期模型, OO模型)

优点:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,此不利于项目的管理此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

智能模型(四代技术(4GL)

优点:用户界面极端友好,即使没有受过训练的非专业程序员,也能用它编写程序;它是一种声明式、交互式和非过程性编程语言。4GL还具有高效的程序代码、智能缺省假设、完备的 数据库和应用程序生成器。

缺点:仅限于事务信息系统的中、小型应用程序的 开发。

混合模型(hybrid model

优点: 企业管理者和开发者提供了一个舞台,是每个模型的长处得到发挥。 缺点:对企业的管理和技术都提出了更高的要求。

RUP模型

优点: RUP是建立在非常优秀的软件工程原则基础上的,例如迭代,需求驱动,基于结构化的过程开发。RUP提供了几个方法,例如每一次迭代产生一个工作原型,在每一个阶段的结束决定项目是否继续,这些方法提供了对开发过程的非常直观的管理 rational公司已经并将继续对RUP进行开发,使这个基于html软件工程能够被裁减以适合你的组织的实际需要。

缺点: RUP仅仅包含了开发过程。它没有完全覆盖软件过程,从图1能够明显看出,它丢失了维护和技术支持这两个重要的阶段。RUP不支持组织内的多项目开发,导致组织内的


大范围的重用无法实现。 RUP缺少开发商的支持。你能自动完成软件过程的每一个方面?rational提供了所有的工具供你选择,例如是否有rational help desk或者rational persistence modeling 4. RUP在度量管理,重用管理,人员管理和测试上有缺陷

10.IPD模型

优点:非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。IPD从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件软件、结构工业设计、测试、资料开发等)、制造、财务到市场、采购、技术支援等所有流程。是一个端到端的流程。

IPD流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而又复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。一定程度上,该模型是通过流程成本来提高整个产品的质量并获得市场的占有。 缺点:该模型通过使用全面而又复杂的流程,由于该流程没有定义如何进行流程回退的机制,因此对于需求经常变动的项目该流程就显得不大适合了。并且对于一些小的项目,也不是非常适合使用该流程。

论述:

我认为RUPRational Unified Process)模型测试模型在软件开发过程是比较好的一种开发模型。 原因:1.它是一个面向对象软件工程的通用业务流程。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。

2.RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件

3.RUP具有两个轴,一个轴是时间轴,这是动态的。另一个轴是工作流轴,这是静态的。 4.在时间轴上,RUP划分了四个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。 5.工作流轴上,RUP设计了六个核心工作流程和三个核心支撑工作流程,核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。 6.RUP 汇集现代软件开发中多方面的最佳经验并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板


本文来源:https://www.wddqxz.cn/67e322cae97101f69e3143323968011ca200f725.html

相关推荐