Software System Analysis and Design Assignment 3

系统分析 第三次作业

熊永琦 16340258

简答题

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

    答:

    • 瀑布模型
      • 概念:开发过程由 Idea、Analysis、Design、Development、Test、Final Product 顺序构成。项目开发进程从一个阶段“流动”到下一个阶段,如果发现了问题,则会回流到上一个阶段。
      • 优缺点:
        • 项目特点:(优点)明确地定义了软件开发基本流程与活动。(缺点)无法应对快速变化的需求。
        • 风险特征:(缺点)后期发现问题时,修复问题的代价大到难以接受;后续工作严重依赖于前序工作的结果。
        • 人力资源利用:(缺点)每个阶段人员技能、数量要求不同,且高度串行化,降低了人力资源的利用效率。
    • 增量模型
      • 概念:开发过程由多个增量(包含完整的开发流程)构成,分步、分块完成项目需求,从而应对用户对产品的急切需求。
      • 优缺点:
        • 项目特点:(优点)优化了人力资源使用效率(允许一定程度的并行化开发)、能够快速满足用户需求。
        • 风险特征:(优点)可以通过增量快速满足用户需求的变化。(缺点)项目控制困难,可能导致不同增量间的冲突。
        • 人力资源利用:(优点)允许一定程度的并发工作,人力资源利用率高。(缺点)对团队组织要求高,容易因为团队管理不力而造成开发进度混乱。
    • 螺旋模型
      • 概念:周期性地运用原型方法进行若干次迭代的开发模式。
      • 优缺点:
        • 项目特点:(优点)多迭代开发,能够快速满足用户需求。
        • 风险特征:(优点)风险驱动的开发模式,每个迭代中都有完整的风险评估过程。
        • 人力资源利用:(缺点)无法确定迭代次数、串行式开发,人力资源利用率低。要求项目调度灵活,难以适应大型项目开发。
  • 简述统一过程三大特点,与面向对象的方法有什么关系?

    答:

    • 三大特点
      • 用例驱动(风险驱动)
        • 从通过编码和测试中获取的要求来构成用例
      • 以架构为中心
        • 以软件架构为中心点,进行迭代和增量开发
      • 迭代和增量开发
        • 允许在不完整、不完美的知识背景下进行开发
    • 与面向对象的方法的关系:
      • 在面向对象的方法中,所有的事务都是对象间交互的结果,一切事务都被抽象为对象和对象的方法。在统一过程中,“用例”是所有设计和实现的基础,所有工作围绕用例展开。其作用类似面向对象中的“对象”。
  • 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?

    答:

    • 四个划分的准则和里程碑:
      • Inception:阶段任务:建立开发小组、验证项目可行性、确定软件生产方式(开发或是购买)、拟定初步开发计划和预算。结束里程碑:开发了系统的一个近似版本,确定了商业场景,确定了范围,并且大致估算了任务日程和开销。
      • Elaboration:阶段任务:解决已知风险、建立并验证系统架构、确定系统要求的主要内容。结束里程碑:构造了一个构建阶段的计划,该计划准确、可信,并预估了可能在构建阶段出现的重大风险。
      • Construction:阶段任务:基于 Elaboration 阶段的结果,构建系统的剩余部分。结束里程碑:软件已经准备部署。
      • Transition:阶段任务:将产品部署给客户,并持续跟踪改进产品。结束里程碑:产品发布并投入使用。
  • 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

    答: 利用软件产品范围的弹性,合理规划范围(20% 业务决定 80%满意度),从而使得固定节奏生产和发布软件产品成为可能。由此带来的固定的迭代周期,利于量化团队或个人生产率,从而利于企业更好地评估个人/团队贡献、激励员工高效工作、确保企业高效运作。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×