系统分析与设计(3)

简答题

1. 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点

从项目特点、风险特征、人力资源利用角度思考

瀑布模型:
  • 瀑布模型中的每一个开发活动具有下列特征:
    • 本阶段的工作对象来自于上一项活动的输出,这些输出一般是代表本阶段活动结束的里程碑式的文档。
    • 根据本阶段的活动规程执行相应的任务。
    • 本阶段活动产出相关的软件工作,作为下一阶段活动的输入。
    • 对本阶段活动执行情况进行评审。
  • 瀑布模型的优点:定义了软件开发基本流程与活动
    • 降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性。
    • 推迟软件实现,强调在软件实现前必须进行分析和设计工作。
    • 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,使产品达到预期的质量要求。
  • 瀑布模型的缺点:
    • 前调过程活动的线性顺序。
    • 缺乏灵活性,尤其无法解决软件需求不明确或不准确的问题。
    • 风险控制能力较弱。
    • 瀑布模型中软件活动是文档驱动的,当阶段之间规定过多文档时,会极大地增加系统的工作量。
    • 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
增量模型

       增量模型首先对系统最核心或最清晰的需求进行分析、设计、实现、测试并集成到系统中,再按优先级逐步实现后续需求。

  • 增量模型的优点:
    • 增强客户对系统的信心;
    • 降低系统失败风险;
    • 提高系统可靠性;
    • 提高系统的稳定性和可维护性。
  • 增量模型的缺点
    • 建立初始模型时,作为增量基础的基本业务服务的确定有一定难度;
    • 增量粒度难以选择。
螺旋模型(含原型方法)

       螺旋模型时风险驱动的迭代过程,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。螺旋模型结合了瀑布模型和快速原型方法,将瀑布模型的多个阶段转化到多个迭代过程中,以降低项目的风险。

  • 螺旋模型的优点:
    • 可以在项目的各个阶段进行变更,设计上较为灵活;
    • 以小的分段来构建大型系统,使得成本计算变得简单容易;
    • 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
    • 随着项目推进,客户始终掌握项目的最新信息,从而与管理层有效地交互。
  • 螺旋模型的缺点:
    • 在风险较大的项目开发中,如果未能及时标识风险,势必造成重大损失;
    • 过多迭代次数会增加开发成本,延迟提交时间;
    • 风险分析需要耗费相当的成本,因此螺旋模型比较适合投资规模较大的软件项目。
2. 简述统一过程三大特点,与面向对象的方法有什么关系?

三大特点:

  • 用例驱动:用例驱动既做到了以客户为中心,以客户的角度看系统,为客户创建真正可用的系统构造方式,又解决了传统面向对象方法面临的无法有效地从需求中提取对象的困难,从而填平了需求分析方法和对象设计方法之间的鸿沟。
  • 以架构为中心:以架构为中心,坚持综合考虑软件系统的各个方面,并优先解决各个方面的主要问题,同时创建常见问题的通用解决方案,从而解决软件项目的主要风险、准确估算项目进度、提高软件复用、保证软件的整体风格打下了坚实基础。
  • 受控的迭代式增量开发:迭代和增量式开发,以风险为驱动,分阶段针对不同的风险指定对象,以保证软件项目的成功完成。

与面向对象的方法的关系:
       UP(统一过程)是一种基于UML的、以构架为中心、用例驱动与风险驱动相结合的迭代增量过程。它将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。

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

在这里插入图片描述
划分准则:
       UP(统一过程)中的软件生命周期在时间维度上被分解为四个顺序的阶段:初始阶段(Inception)、精化阶段(Elaboration)、构建阶段(Construction)和产品交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
四个阶段:

  • 初始阶段: 目的是为系统建立业务案例并确定项目的边界。关键里程碑为声明周期目标(Lifecycle Objective)里程碑。
  • 精化阶段: 目的是分析问题领域,建立健全的体系结构基础,编制项目计划,完成项目中高风险需求部分的开发。关键里程碑是生命周期体系结构(Lifecycle Architecture)里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。
  • 构建阶段: 目的是完成所有剩余的技术构件和稳定业务需求功能的开发,并集成为产品,详细测试所有功能。关键里程碑为初始运行能力(Initial Operational Capability)里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。
  • 产品交付阶段: 目标是确保软件对最终用户是可用的。关键里程碑是产品发布(Product Release)里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。
4. 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

       统一过程模型将开发过程分割为四个阶段,每个阶段都有个明确的里程碑,易于评价该阶段工作是否满足。每个迭代过程都有固定的时长和产品生产,从而为企业按固定节奏生产、固定周期发布软件产品提供了依据。UP是一个风险驱动的生命周期模型,为了有效地控制风险,UP以渐进的方式进行演进,首先解决高风险的问题,这主要是通过迭代来实现。在软件生命周期中,每个阶段可以划分为多个迭代,每个迭代确定一个内部里程碑。因此,UP也为固定周期发布软件产品提供了依据。
       在项目管理方面,UP为管理侧重于软件开发的项目提供一个框架;给规划、人员分工、执行和监控项目提供实际指南;为管理风险提供一个框架。

猜你喜欢

转载自blog.csdn.net/ShenDW818/article/details/88539525
今日推荐