系统分析与设计第三次作业
简答题
1.简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点(从项目特点、风险特征、人力资源利用角度思考)
- 瀑布模型
Waterfall Model, Winston Royce 1970
- 优点
- 降低软件开发的复杂程度,提高软件开发过程的透明性,提高
- 软件开发过程的可管理性。
- 推迟软件实现,强调在软件实现前必须进行分析和设计工作。
- 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开
- 发过程中存在的缺陷,使产品达到预期的质量要求。
- 缺点
- 强调过程活动的线性顺序。
- 缺乏灵活性,尤其无法解决软件需求不明确或不准确的问题。
- 风险控制能力较弱。
- 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的
- 文档时,会极大地增加系统的工作量。
- 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
- 增量模型
- 优点
- 增强客户对系统的信心;
- 降低系统失败风险;
- 提高系统可靠性;
- 提高系统的稳定性和可维护性
- 缺点
- 建立初始模型时,作为增量基础的基本业务服务的确定有一定
难度; - 增量粒度难以选择。
- 建立初始模型时,作为增量基础的基本业务服务的确定有一定
- 螺旋模型(含原型方法)
Spiral Model, Barry W. Boehm 1988.
- 优点
- 螺旋模型是风险驱动的迭代过程,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
- 螺旋模型结合了瀑布模型和快速原型方法,将瀑布模型的多个阶段转化到多个迭代过程中,以降低项目的风险
- 缺点
- 螺旋模型强调风险分析,但说服外部客户接受和相信分析结果并做出相关反应并不容易,因此螺旋模型往往比较适合内部的大规模软件开发。
- 风险分析需要耗费相当的成本,因此螺旋模型比较适合投资规模较大的软件项目。
- 失误的风险分析可能带来更大的风险。
2.简述统一过程三大特点,与面向对象的方法有什么关系?
- 三大特点:
- 软件开发是一个迭代过程
- 软件开发是由用例(Use Case)驱动的
- 软件开发是以架构设计(Architectural Design)为中心的
- 统一过程是一个面向对象且基于网络的程序开发方法论。
3.简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 统一过程四个阶段的划分标准:时间
- 四个阶段关键的里程碑:
- 先启阶段:生命周期目标(Lifecycle Objective)里程碑,用于评价项目基本的生存能力。
- 精化阶段:生命周期构架(Lifecycle Architecture)里程碑,它为系统的结构建立了管理基准,并使项目小组能够在构建阶段中进行衡量。
- 构建阶段:初始运作能力(Initial Operational)里程碑,该里程碑决定了产品是否可以在测试环境中进行部署。
- 产品化阶段:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。
4.软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
- 原因:
- 统一过程规定了软件生命周期的四个阶段,每一个阶段的时长、成果是固定的
- 软件范围可以利用软件产品范围的弹性进行合理规划(20%业务决定80%满意度)
- 软件生产能够按固定节奏 运行,固定迭代周期、固定开发周期、固定升级周期。
- 好处:
- 固定的迭代周期(等量的人月),利于量化团队/个人生产率
- 企业适应市场需求的同时能够有效控制生产风险