1、简单题
(1)简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点
- 瀑布模型:
- 优势:
- 定义了软件开发基本流程与活动
- 劣势:
- 依赖问题:前面需求模糊
- 容错问题:后期发现需求问题,工作量会变得很大
- 导致延期,项目不可控
- 优势:
- 增量模型:
- 优势:
- 人员分配灵活,刚开始不用投入大量资源
- 可以根据某个分量受欢迎程度来分配人力资源,使得优势更大化
- 可发布部分功能给客户,更方便客户明确自己的需求
- 劣势:
- 可能会有不能集成的风险
- 可能由于后期的变化太多导致一开始的程序架构和后期的很不一样,使得程序的整体性受到影响
- 优势:
- 螺旋模型:
- 优势:
- 设计上更灵活,可以在项目各个阶段变更
- 小的分段构建大型系统,使得成本计算更容易
- 客户始终参与每个阶段的开发,保证项目不偏离方向
- 客户始终掌握项目最新信息,从而能很好交互
- 劣势:
- 需要相当丰富的风险评估经验和专门知识,如果未能即使标识风险会造成重大损失
- 过多的迭代次数会增加开发成本
- 优势:
(2)简述统一过程三大特点,与面向对象的方法有什么关系?
- 三大特点为:
- 统一过程是用例驱动的
所有的用户和用例组合起来就是用例模型,它描述了系统的全部功能。这种方式促使从系统对用户价值来考虑问题。用例驱动指的是开发过程是沿着用例被确定、用例被设计、进而测试用例被构造。 - 统一过程是以框架为中心的
构架刻画了系统的整体特性,用例体现的是应用的功能,构架则体现的是用例的实现 - 统一过程是迭代和增量的过程
统一过程的软件生命周期是进行一次次迭代,每次迭代产生一个版本,这次迭代较上次迭代有一定的增加的部分,也就是增量
- 统一过程是用例驱动的
- 和面向对象的方法的关系
RUP 将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。
(3)简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 统一过程四个阶段分别是初始、精化、构建和移交。划分准则是一个主要的里程碑,并再阶段接位执行一次评估以确定这个阶段目标是否满足。
- 每个阶段关键的里程碑分别是:
- 初始阶段的里程碑是:生命周期目标里程碑,包括一些重要的文档,例如:项目构想、原始用例模型、原始业务风险评估、一个或多个原型、原始业务案例等。通过对文档的评审确定用例需求理解正确、项目风险评估合理、阶段计划可行
- 精化阶段里程碑是:生命周期体系结构里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等
- 构建阶段的里程碑是:初始运行能力里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以再测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行
- 移交阶段里程碑是:产品发布里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期定初始阶段重合。
(4)软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
因为软件开发过程会划分软件的生命周期,而每个生命周期中,又有时间限制和里程碑等方式来限制生命周期的时长和生命周期中每个部分需要达成的目标。这将会让企业项目管理更方便,而且,由于时长限制,会让完成时间也很容易预估,更好安排企业其他项目或者其他事项的工作。