1.简单题
1.1 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点
模型 | 优点 | 缺点 |
---|---|---|
瀑布模型 | 有利于大型软件开发中的人员组织、管理,提高大型软件项目研发的质量和效率 | 过程不可逆;实际上按照模型严格执行;要求一开始就明确所有需求;只有后期才能看到开发成果 |
增量模型 | 控制前期风险;灵活分配人力;快速预览核心开发成果 | 软件必须是开放式的体系结构;需求不清晰时,容易使得软件开发过程失去控制 |
螺旋模型 | 项目各个阶段都可以进行需求变更;成本更容易控制;客户参与,直接管理,纠正偏离 | 需求及时评估和标识风险;过多次的迭代容易延长开发时间 |
1.2 简述UP的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现了风险驱动的开发。
特点:
- 用例和风险驱动开发
- 以体系结构为核心
- 迭代及增量
UP一般由UML方法和工具支持,用例捕获需求,可以提现用户驱动的开发。
UP需要对软件开发中的风险进行分析、预测并关注软件的构造,体现了风险驱动的开发。
1.3 UP四个阶段的划分准则是什么?关键的里程碑是什么?
根据时间划分四个阶段。
关键的里程碑:
- 初始阶段:生命周期目标里程碑
- 细化阶段:生命周期结构里程碑
- 构造阶段:初始功能里程碑
- 交付阶段:产品发布里程碑
1.4 IT项目管理中,“工期、质量、范围/内容”三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队易于控制的?
质量最容易妥协。参见IT项目合同变更的范围和内容:
- 增加或减少合同中任何一项工作内容
- 取消合同中任何一项工作
- 改变合同中任何一项工作的标准或性质
- 改变IT项目设计报告
- 改变合同中任何一项IT项目的完工时间或改变已批准的顺序
- 追加为完成IT项目所需的任何额外工作。额外工作指合同中为了完成合同IT项目所需增加的新项目。
第五点明确指出工期属于合同变更范围,难以妥协。第1、2、4、6点均是属于范围/内容变更,难以妥协。而质量元素可以参考第三点:标准或性质,最容易与客户达成妥协。
工期是指约定完成IT项目工程的时间。项目范围的概念包含了两个方面的内容,一个是产品范围,即产品或服务所包含的特征或功能,另一个是项目范围,即为交付具有规定特征和功能的产品或服务所必须完成的工作。
软件质量的定义是:与软件产品满足规定的和隐含的需要的能力有关的特征或特性的组合。软件质量的要素有正确性,健壮性,效率,完整性,可用性,风险性。从用户角度对质量的认识是:有效性,效率,灵活性,完整性,互操作性,可靠性,健壮性,可用性。从开发者角度对质量的认识是:可维护性,可重用性,可测试性。可以看出,质量是难以量化和确切衡量的,合同中对质量的约束也是较为宽泛的。因此在合同固定的情况下也可以和客户进行商榷和达成妥协。
1.5 为什么说,UP为企业按固定节奏生产、固定周期发布软件产品提供了依据?
RUP中,软件开发生命周期根据时间(固定周期发布)和RUP的核心工作流(固定节奏生产)划分为二维空间。时间维从组织管理的角度描述整个软件开发生命周期,是RUP的动态组成部分。它可进一步描述为周期(Cycle)、阶段(Phase)、迭代(Iteration)。核心工作流从技术角度描述RUP的静态组成部分,它可进一步描述为行为(Activities)、工作流(Workflow)、产品(Artifact)、角色(Worker)。