博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【系统分析与设计】作业3
阅读量:2394 次
发布时间:2019-05-10

本文共 2082 字,大约阅读时间需要 6 分钟。

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

【瀑布模型】

是一种项目开发架构,开发过程是顺序展开的,从一个阶段流动到下一个阶段。瀑布模型中的每一个开发活动具有下列特征:

【优点】

1. 降低软件开发的复杂程度,提高软件开发过程的透明性,提高 软件开发过程的可管理性

2. 推迟软件实现,强调在软件实现前必须进行分析和设计工作

3.  以项目的阶段评审和文档控制为手段有效地对整个开发过程进 行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开 发过程中存在的缺陷,使产品达到预期的质量要求。

【缺点】

1.  强调过程活动的线性顺序

2. 缺乏灵活性,尤其无法解决软件需求不明确或不准确的问题

3. 风险控制能力较弱

4. 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量

5. 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论

【增量模型】

增量模型是把待开发的系统模块化,每个模块作为一个增量组件,按不同的优先级来逐步实现。增量模型首先要对系统最核心或最清晰的需求进行分析、设计、实现、测试并集成到系统中,再按优先级逐步实现后续需求

【优点】

1. 增强客户对系统的信心

2. 降低系统失败风险

3. 提高系统可靠性

4. 提高系统可靠性

【缺点】

1. 建立初始模型时,作为增量基础的基本业务服务的确定有一定难度

2. 增量粒度难以选择

【螺旋模型】

螺旋模型是一种演化软件开发过程模型,兼顾了瀑布模型和快速原型方法的关键特征,其最大的特点是引入了明确的风险管理机制,尤其适用于大规模复杂的系统。螺旋模型是风险驱动的迭代过程,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中,它的每一次迭代都包含了以下六个步骤:(1)决定目标、替代方案和约束条件 (2)识别和解决项目的风险 (3)评估技术方案和替代方案 (4)开发本次迭代的交付物,并验证迭代产出的正确性 (5)计划下一次迭代 (6) 提交下一次迭代的步骤和方案

【优点】

1. 开发阶段可以由项目经理根据项目的复杂性来确定

2. 项目监控非常简单有效。每个阶段以及每个循环都需要相关人员的审查

3. 风险管理是该模型的内置特性之一,与其他模型相比,它更具吸引力

4. 随着项目的推进和螺旋式循环的完成,项目在进度、成本等方面的估算变得越来越现实

5. 适用于业务需求不稳定的高风险项目。可以使用此工具开发高度定制的产品

【缺点】

1. 这种模式的成本通常很高。如果遵循此开发过程,则很难满足预算和进度要求

2. 这是一个复杂的方法,特别是对于SRS清晰的项目

3. 由于客户允许的各种定制,在未来的其他项目中使用相同的原型是困难的

4. 中间阶段所需的文件数量使得项目管理非常复杂

、简述统一过程三大特点,与面向对象的方法有什么关系?

  1. 用例驱动
  2. 以架构为中心
  3. 受控的迭代式增量开发

统一过程将软件开发过程要素和软件工程要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论

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

【划分准则】:软件生命周期在时间维度上被分解为4个顺序的阶段,每个阶段结束于一个主要的里程碑,并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。

阶段里程碑:

【初始阶段】:生命周期目标里程碑,包括一些重要的文档,通过对文档的评审确定用例需求理解正确、项目风险评估合理、阶段计划可行等。

【精化阶段】:生命周期体系结构里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等 。

【构建阶段】:初始运行能力里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行。

【产品化阶段/移交阶段】:产品发布里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段相重合。

、软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

统一过程为企业按固定节奏生产、固定周期发布软件产品提供了依据。

统一过程中的软件生命周期在时间维度上被分解为四个顺序的阶段:初始阶段 (Inception)、精化阶段 (Elaboration)、构建阶段(Construction) 和产品交付阶段 (Transition),可以使企业能有一个固定的节奏来生产;统一过程的迭代性,使得项目组能周期性地交付产品。

给企业项目管理带来的好处:

1. 每个迭代产品在增量(制品是可运行的),利于及时交付使用并反馈

2. 固定的迭代周期(等量的人月),利于量化团队/个人生产率

3. 提高了风险控制能力

转载地址:http://lwwob.baihongyu.com/

你可能感兴趣的文章
maven项目出现如下错误,求指点;CoreException: Could not calculate build plan:
查看>>
理解Paxos算法的证明过程
查看>>
详解 JVM Garbage First(G1) 垃圾收集器
查看>>
Java 8 函数式编程入门之Lambda
查看>>
用高阶函数轻松实现Java对象的深度遍历
查看>>
WindowsApi+Easyx图形库的透明时钟
查看>>
Eclipse LUNA配置TomCat(非j2ee版本)
查看>>
树莓派安装mysql-srver报错 404 not found!
查看>>
Ubuntu 14.04LTS 下安装.net框架
查看>>
Eclipse 配置Groovy语言环境 && Java工程运行Groovy
查看>>
人工智能术语表
查看>>
Tensorflow Python API 翻译(sparse_ops)
查看>>
Tensorflow Python API 翻译(math_ops)(第一部分)
查看>>
Tensorflow Python API 翻译(math_ops)(第二部分)
查看>>
Tensorflow Python API 翻译(array_ops)
查看>>
Tensorflow Python API 翻译(constant_op)
查看>>
金融套利策略:理解统计套利的工作原理
查看>>
利用 TensorFlow 入门 Word2Vec
查看>>
课程 | 浅析数据标准化和归一化,优化机器学习算法输出结果
查看>>
多任务学习与深度学习
查看>>