论软件开发模型及应用 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明

admin2017-09-13  13

问题 论软件开发模型及应用
    软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。
    请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。
    1.简要叙述你参与的软件开发项目以及你所承担的主要工作。
    2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。
    3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。

选项

答案一、简要描述所参与的软件系统开发项目,并明确指出在其中承担的主要任务和开展的主要工作。 二、列举出几种典型的软件开发模型,并详细论述每种软件开发模型的主要内容和优缺点。 1.瀑布模型 瀑布模型是经典的软件开发模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回"上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,每个阶段之间的依赖性强。 优点:(1)为项目提供了按阶段划分的检查点;(2)当前一阶段完成后,只需要去关注后续阶段。 缺点:(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;(2)与用户见面晚,从而增加了开发的风险;(3)早期的错误可能要等到开发后期的测试阶段才能发现,发现问题越晚代价越高。 2.增量模型 增量模型是一种非整体开发的模型,分为两种形式:基于瀑布模型的渐增模型;基于原型的快速原型模型。 优点:(1)人员分配灵活,刚开始不用投入大量人力资源;(2)如果核心产品很受欢迎,则可增加人力实现下一个增量客户可以不断地看到所开发的软件,从而降低开发风险。 缺点:(1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构;(2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。 3.快速原型模型 快速原型模型又称原型模型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。 优点:减少由于软件需求不明确带来的开发风险。 缺点:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。 4.螺旋模型 螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析,主要分为四个工作步骤:(1)制订计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制订下一步计划。 优点:(1)设计上的灵活性,可以在项目的各个阶段进行变更;(2)以小的分段来构建大型系统,使成本计算变得简单容易;(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;(4)随着项目推进,客户始终掌握项目的最新信息,从而能够和管理层进行有效地交互;(5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。 缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。 5.喷泉模型 喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。 优点:该模型的各个阶段没有明显的界线,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。 缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 三、针对考生本人所参与的项目中使用的软件开发模型,说明使用方法和具体实施效果。

解析
转载请注明原文地址:https://kaotiyun.com/show/JeQZ777K
0

最新回复(0)