1.简答题
-
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点(从项目特点、风险特征、人力资源利用角度思考)
- 瀑布模型
- 优点:
- 可以降低软件开发的复杂程度,提高软件开发过程的透明度,提高软件开发过程的可管理性
- 每个阶段可以按顺序独立完成,在一个阶段完成后,只需关注之后的阶段
- 提供了一个模板对分析、设计、编码、测试和维护进行指导,保证阶段之间的正确衔接,使产品能够做到品质保证。
- 缺点:
- 强调过程活动的线性顺序
- 风险控制能力比较弱
- 软件活动都是文档控制的,当有过多的文档时会极大增加系统的工作量
- 优点:
- 增量模型
- 优点:
- 以组件为单位开发,若一个组件出现问题,不会影响其他组件的开发
- 可以在开发中调整组件开发的顺序
- 缺点:
- 由于组件一个一个添加到系统中的,所以这个系统必须在每个组件加入之后不能破坏已有的结构
- 增量粒度可能难以确定
- 优点:
- 螺旋模型
- 优点:
- 设计灵活,在开发的各个阶段可以进行更改
- 每个阶段保证有客户的参与,使产品持续满足客户的要求
- 缺点:
- 风险评估需要专业的经验和知识
- 过多的迭代和需求变更会增加开发的成本并导致项目延期
- 优点:
- 瀑布模型
-
简述统一过程三大特点,与面向对象的方法有什么关系?
- 用例驱动:所有的用户和用例组合在一起就是用例模型,它描述了系统的全部功能。软件是为用户服务的,用户才是核心,用例便是用户与系统交互的具体情景,可以根据用例明确系统的业务需求、服务范围。
- 以构架为核心: 每一种产品都具有功能和表现形式两个方面,其中功能与用例相对应,表现形式与构架相对应。因此用例在实现时必须适应于构架,然而随着系统的发展,用例也在不断的进化,所以构架必须设计得使系统能够进化,不仅要考虑系统的初始开发,而且要考虑将来的发展。
- 迭代和增量的过程: 以选定的构架为向导,用构件来实现设计前期已经标识并详细描述好的有关用例。如果一次迭代达到了目的,就可以进入下一次迭代,如果一次迭代没有带到预期的目标,那么必须重新审核前面的方法,并尝试一种新的方法。
和面向对象方法的关系:统一过程是一种较为流行的软件开发过程,面向对象分析能够帮助更好地确定中心架构,而面向对象设计能让开发过程中的每次迭代更加受控。
- 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 四个阶段的划分准则是初始阶段(Inception)、精化阶段(Elaboration)、构建阶段 (Construction) 和产品交付阶段(Transition)。
- 每个阶段结束于一个主要的里程碑(Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。
- 四个阶段的里程碑分别是:
- 初始阶段:生命周期目标里程碑
- 精华阶段:生命周期结构里程碑
- 构建阶段:初始功能里程碑
- 产品交付阶段:产品发布里程碑
- 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
- 在统一过程模型中,关键的行为是迭代,而每个迭代都是由一个小周期构成,而这每个周期的长度差不多是固定的。这就可以保证企业按照固定周期发布软件产品。