文章目录
一、简单题
1.简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点
-
瀑布模型的优点:
- 降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性。
- 推迟软件实现,强调在软件实现前必须进行分析和设计工作。
- 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,使产品达到预期的质量要求。
-
瀑布模型的缺点:
- 强调过程活动的线性顺序。
- 缺乏灵活性,尤其无法解决软件需求不明确或不准确的问题。
- 风险控制能力较弱。
- 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量。
- 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
-
增量模型的优点:
- 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
- 增强客户对系统的信心; 降低系统失败风险;提高系统可靠性 。
- 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。
-
增量模型的缺点:
- 如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。
- 建立初始模型时,作为增量基础的基本业务服务的确定有一定难度。
- 增量粒度难以选择
-
螺旋模型(含原型方法)的优点:
- 开发阶段可以由项目经理根据项目的复杂性来确定。
- 项目监控非常简单有效。每个阶段以及每个循环都需要相关人员的审查。
- 风险管理是该模型的内置特性之一,与其他模型相比,它更具吸引力。
- 随着项目的推进和螺旋式循环的完成,项目在进度、成本等方面的估算变得越来越现实。
- 适用于业务需求不稳定的高风险项目。可以使用此工具开发高度定制的产品。
-
螺旋模型(含原型方法)的缺点:
- 这种模式的成本通常很高。如果遵循此开发过程,则很难满足预算和进度要求。
- 这是一个复杂的方法,特别是对于SRS清晰的项目。
- 由于客户允许的各种定制,在未来的其他项目中使用相同的原型是困难的。
- 中间阶段所需的文件数量使得项目管理非常复杂。
2.简述统一过程三大特点,与面向对象的方法有什么关系?
- 用例驱动
- 以架构为中心
- 受控的迭代式的增量开发
RUP将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。
3.简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
RUP 中的软件生命周期在时间维度上被分解为四个顺序的阶段:初始阶段 (Inception)、精化阶段 (Elaboration)、构建阶段(Construction) 和产品交付阶段 (Transition)。每个阶段结束于一个主要的里程碑 (Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段 。
- 初始阶段里程碑:生命周期目标 (Lifecycle Objective) 里程碑,包括一些重要的文档,如:项目构想 (Vision)、原始用例模型、原始业务风险评估、一个或者多个原型、原始业务案例等。通过对文档的评审确定用例需求理解正确、项目风险评估合理、阶段计划可行等 。
- 精化阶段里程碑:生命周期体系结构 (Lifecycle Architecture) 里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
- 构建阶段里程碑:初始运行能力 (Initial Operational Capability) 里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行 。
- 产品化阶段/移交阶段 里程碑:产品发布 (Product Release) 里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段相重合 。
4.软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
UP是迭代过程,迭代开发是UP的关键实践。在这种生命周期方法中,开发被组织成一系列固定的短期小项目,小步骤,快速反馈和调整是迭代开发的主要思想,时间定 量也是迭代开发的关键思想。大部分迭代方法迭代时间为2-6周。企业使用UP时依据各个迭代过程可以有固定的节奏生产、固定时间发布软件产品。