系统分析与设计作业(三):软件模型与统一过程

简答题

  • 简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点(从项目特点、风险特征、人力资源利用角度思考)

1. 瀑布模型:
瀑布模型的示例图如下所示:

瀑布模型在大方向上可分为三个阶段:定义阶段、开发阶段、维护阶段,细分的话有六个部分:软件计划、需求分析、软件设计、程序编码、软件测试、运行维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
瀑布模型的过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动

优点:
(1)为项目提供了按阶段划分的检查点。
(2)当前一阶段完成后,只需要去关注后续阶段。
(3)可在迭代模型中应用瀑布模型
(4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导

缺点:
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
(3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
(4)瀑布模型的突出缺点是不适应用户需求的变化。

2. 增量模型:
增量模型的示例图下图:

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。

优点:
(1)第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统承担的风险
(2)由于很快发布第一个版本,因此可以减少用户需求的变更
(3)允许增量投资,即在项目开始时可以仅对一个或两个增量投资

缺点:
(1)如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定
(2)如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布
(3)由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力

3. 螺旋模型:
螺旋模型的示例图如下:

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。

优点:
(1)设计上的灵活性,可以在项目的各个阶段进行变更。
(2)以小的分段来构建大型系统,使成本计算变得简单容易。
(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
(4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
(5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点:
(1)很难让用户确信这种演化方法的结果是可以控制的。
(2)建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

  • 简述统一过程三大特点,与面向对象的方法有什么关系?

三大特点:
(1)软件开发是一个迭代过程。
(2)软件开发是由Use Case驱动的。
(3)软件开发是以架构设计为中心的。

统一软件过程是一个面向对象且基于网络的程序开发方法论,它与面向对象的软件过程相似,都是理解性的软件工程工具,为了把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。

  • 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?

RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段、细化阶段、构造阶段和交付阶段。每个阶段结束于一个主要的里程碑;每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

初始阶段:
在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。初始阶段结束时是第一个重要的里程碑:生命周期目标里程碑

细化阶段:
细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。细化阶段结束时第二个重要的里程碑:生命周期结构里程碑。

构造阶段:
构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。构建阶段结束时是第三个重要的里程碑:初始功能里程碑。

交付阶段:
交付阶段的重点是确保软件对最终用户是可用的。在交付阶段的终点是第四个里程碑:产品发布里程碑。

  • 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

因为企业内部有一套成熟的软件开发、项目迭代的项目管理方法。企业内部的多年的管理经验沉淀,能帮助项目开发人员充分应对项目范围、费用、时间、质量、人力资源、风险、采购等方面的分析与管理,能够确保项目按照预定的范围、成本、进度和质量顺利完成。

坚持原创技术分享,您的支持将鼓励我继续创作!