系统分析与作业第三周作业
简答题
1.简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
-
瀑布模型
- 将软件生命周期分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护六个基本活动。规定它们的顺序。如同瀑布流水,逐级下落。本质上是一种软件开发过程。
- 优点
- 对软件开发来说,降低复杂度,提高透明性,提高可管理性,降低风险。
- 推迟软件实现,强调在软件实现前必须进行分析和设计工作,减少实现之后与需求不符合的可能,降低风险。
- 以文档管理开发,使软件达到预期效果。
- 缺点:
- 只适用于项目开始时需求已确定的情况。
- 需求规格说明与用户需求之间有差异会出问题。
- 活动是线性的,不灵活
- 风险控制能力弱
-
增量模型
-
增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交
-
优点:
- 产品不断有新功能,增加客户的信心。
- 强容错性、可扩展性
- 提高系统的可靠性
-
缺点:
- 难以确定需求
- 软件可能不断延期
- 成本不断增加
-
-
螺旋模型(含原型方法)
- 沿着螺线进行若干次迭代,每一次螺旋包括4个步骤:制定计划、风险分析、实施工程、客户评估。
- 优点:
- 强调了其他模型所忽视的风险分析。
- 风险分析:减小风险
- 灵活,可以在项目的各个阶段进行变更
- 缺点:
- 成本高
- 强调风险分析,但要求许多客户接受并相信这种分析,是不容易的。
- 失误的风险分析可能带来更大的风险
2.简述统一过程三大特点,与面向对象的方法有什么关系?
- 风险驱动(早期暴露风险)
- 架构为重心(软件产品分解的领域最佳实践)
- 用户为中心(描述用户使用产品的故事)
- 与面向对象的方法的关系:RUP (Rational Unified Process)将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。
3.简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
-
初始阶段Inception:
- 准则:确定项目的边界。
- 里程碑:生命周期目标(Lifecycle Objective里程碑,重要文档,如项目构想 (Vision)、原始用例模型、原始业务风险评估、一个或者多个原型、原始业务案例等。评价项目基本的生存能力。
-
细化阶段Elaboration:
- 准则:分析问题领域,建立健全的体系结构基础,编制项目计划,完成项目中高风险需求部分的开发 。
- 里程碑:生命周期体系结构(Lifecycle Architecture)里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。
-
构造阶段Construction:
- 准则:完成所有剩余的技术构件和稳定业务需求功能的开发,并集成为产品,详细测试所有功能。构造出最终产品。
- 里程碑:可以运行的软件产品、用户手册,决定了产品是否可以在测试环境中进行部署。确定软件、环境、用户是否可以开始系统的运行。
-
移交阶段Transition:
-
准则:确保软件对最终用户是可用的。包括产品进入beta版后的整个阶段。开发人员改正用户报告产品的缺陷和不足。
-
产品发布 (Product Release) 里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。
-
4.软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
- 因为在rup模型中,各个阶段的生命周期是固定的,所以可以按固定节奏生产、固定周期发布软件产品。
- 好处:
- 规避软件危机
- 有明确的生产目标
- 方便项目管理