1、简单题
-
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
- 从项目特点、风险特征、人力资源利用角度思考
-
瀑布模型
-
描述:
过程中每一个阶段活动的工作对象来自于上一项活动的输出,且在本阶段的活动规程执行相应的任务,产出相关的软件工作作为下一阶段活动的输入
-
优点:
- 降低软件开发的复杂度,提高软件开发过程的透明性,提高软件开发过程的可管理性
- 推迟软件实现,强调在软件实现前必须进行分析和设计工作
- 以项目的阶段评审和文档控制为手段有效的对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,使产品达到预期的质量要求
-
缺点:
- 强调过程活动的先行顺序
- 缺乏灵活性,尤其无法解决软件需求不明确或不精准的问题
- 风险控制能力较弱
- 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量
- 管理人员如果仅仅以文档的完成情况来评估项目的完成进度,往往会产生错误的结论
-
-
增量模型
-
描述:
增量模型首先对系统最核心或最清晰的需求进行分析、设计、实现、测试并集成到系统中,再按优先级逐步实现后续需求
-
优点:
- 增强客户对系统的信心
- 降低系统失败风险
- 提高系统可靠性
- 提高系统的稳定性和可维护性
-
缺点:
- 建立初始模型时,作为增量最基础的基本业务服务的确定有一定的难度
- 增量力度难以选择
-
-
螺旋模型
-
描述:
螺旋模型是风险驱动的迭代过程,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。螺旋模型结合了瀑布模型和快速原型方法,将瀑布模型的多个阶段转化到多个迭代过程中,以降低项目的风险。
-
优点:
- 设计的灵活性
- 以小的阶段来构建大型系统,使成本计算变得简单容易
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性
-
缺点:
- 对于项目的主持者需要有相当丰富的风险评估
- 多次迭代提高成本,延迟提交时间
-
-
简述统一过程三大特点,与面向对象的方法有什么关系?
-
三大特点:
- 用户为中心(描述用户使用产品的故事)
- 架构为中心(软件产品分解的领域最佳实践)
- 风险驱动(早期暴露风险)
-
与面向对象的方法的联系:
统一过程是一个面向对象且基于网络的程序开发方法论。
-
-
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
划分的准则是每个阶段都结束语一个主要的里程碑,且在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足
每个阶段关键的里程碑:
- 初始阶段:生命周期目标 (Lifecycle Objective) 里程碑,包括一些重要的文档,如:项目构想 (Vision)、原始用例模型、原始业务风险评估、一个或者多个原型、原始业务案例等。通过对文档的评审确定用例需求理解正确、项目风险评估合理、阶段计划可行等。
- 精化阶段: 生命周期体系结构 (Lifecycle Architecture) 里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
- 构建阶段:初始运行能力 (Initial Operational Capability) 里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行。
- 产品化阶段/移交阶段:产品发布 (Product Release) 里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段相重合
-
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
统一过程模型利用软件产品范围的弹性,合理规划范围(20%业务决定80%满意度),使得软件生产按 固定节奏运行,固定迭代周期、固定开发周期、固定升级周期。从而软件企业能够按固定节奏生产、固定周期发布软件产品。
带来的好处:
- 企业能够按照开发周期进行人员、预算的安排
- 固定的生产周期能够对计划进行详细的安排,保证工作的开展
- 对时间进行详细的划分