系统分析与设计-hw2

Posted by Lumman on March 22, 2018

1、简答题

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

瀑布模型

优点

  • 定义了软件开发基本流程与活动
  • 为项目提供了按阶段划分的检查点
  • 前一段完成后,只需关注后续阶段
  • 可在迭代模型中应用

需求明确的情况下,在短期内可获取每个阶段是无差错的

缺点

  • 依赖问题:前面需求模糊会影响后面工作
  • 容错问题:后期发现需求问题,工作量大,不适应用户需求的变化
  • 资源调配问题:知识技能、人员数量要求不同
  • 各个阶段划分完全固定,阶段之间产生大量文档

可能导致延期,项目不可控

增量模型

优点

  • 将待开发软件系统模块化,可分批次地提交软件产品
  • 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统
  • 开发顺序灵活,可对组件的实现顺序进行优先级排序,可先完成需求稳定的核心组件

缺点

  • 需要软件具备开放式的体系结构,新加入构件不得破坏已构件部分
  • 容易退化为边做边改模型,导致软件过程控制失去整体性
  • 如果待开发的软件系统很难被模块化,将会给增量开发带来很多麻烦。

螺旋模型

优点

  • 设计灵活性,可在项目各个阶段进行变更
  • 以小分段构建大型系统,成本计算简单
  • 客户始终参与每个阶段的开发,保证项目的可控性
  • 客户始终掌握项目的最新信息 ,能够和管理层有效地交互

缺点

  • 建设周期长,过多迭代次数会增加开发成本
  • 需要具有相当丰富的风险评估经验和专门知识,否则会造成损失

简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?

三大特点

  • Iterative and incremental:迭代的和增量的
  • Use Case Driven:用例驱动的
  • Architecture-centric:以架构为核心

UP内容中用例驱动以及迭代增量方法体现了用户驱动的开发,早期的迭代目标要能构造客户最关心的可视化特性。以架构为核心则体现了风险驱动的开发,没有稳固的架构就可能会带来高风险。

UP 四个阶段的划分准则是什么?关键的里程碑是什么?

  • 初始阶段(Inception):可行性研究、商业案例、风险评估、估计、预选架构等。生命周期目标(Lifecycle Objective)里程碑,评价项目基本的生存能力,明确的定义这个系统。
  • 细化阶段(Elaboration):功能要求、使用案例、域模型、解决风险、计划/规划、设计模型、架构基线等。生命周期结构(Lifecycle Architecture)里程碑,为系统结构建立管理基准。
  • 构造阶段(Construction):生成代码、重构、添加/扩展用例、计划/规划,构建测试版本。初始功能(Initial Operational)里程碑,决定了产品是否可在测试环境中进行部署。
  • 交付阶段(Transition):优化、漏洞修复、交付,向顾客推出一个功能完整的系统。产品发布(Product Release)里程碑。

IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的

在这三个元素当中,工期是在合同中已被明确规定的,质量也在双方协商的验收条件中被规定。只有范围/内容是比较具有灵活性的,取决于项目团队,因此是易于控制的。

为什么说,UP为企业按固定节奏生产、固定周期发布软件产品提供了依据?

UP将软件的生命周期明确地划分为四个阶段,并且开发被组织成一系列固定的短期小项目,称为迭代。每次迭代都产生经过测试、继承并可执行的局部系统。同时,每次迭代都具有各自的需求分析、设计、实现和测试活动。在每次迭代完成之后,都有产品可供发布。因此可以说UP为节奏生产、周期发布软件产品提供了依据。

2、项目管理使用

使用截图工具(png格式输出),展现你团队的任务 Kanban

kanban