系统分析与设计HW2
1. 简答题
1. 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
瀑布模型:
优点:有利于大型软件开发过程中人员的组织,管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发夫人质量和效率。
缺点:开发过程一般不能逆转,否则代价太大。实际的项目开发很难严格按该模型进行。客户往往很难清楚地给出所有的需求,而该模型却要求如此。软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
增量模型:
优点:采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。可先发布部分功能给客户,对客户起到镇静剂的作用。
缺点:并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
螺旋模型:
优点:设计上的灵活性,可以在项目的各个阶段进行变更 。以小的分段来构建大型系统,是成本计算变得简单容易。客户始终参与每个阶段的开发,保证了项目不骗离正确方向以及项目的 可控性。随着项目推进,客户始终掌握项目的最新信息,从而能够和管理层有效地交互。
缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大的损失。过多的迭代次数会增加开发成本,迟延提交时间。
2. 简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?
1. 用例驱动
2. 以架构为中心
3. 受控的迭代式增量开发
用例驱动和受控的迭代式增量开发体现了用户驱动的开发,以架构为中心体现了驱动的开发。
3. UP 四个阶段的划分准则是什么?关键的里程碑是什么?
1. 初启阶段(Inception) 建立项目的范围和版本,确定业务实现的可能性和项目目标的稳定性 原始的项目需求和业务用例。
2. 精化阶段(Elaboration) 对问题域进行分析,建立系统的需求和架构,确定技术实现的可行性和系统架构的稳定性 包括系统架构及其相关文档、领域模型、修改后的业务用例和整个项目的开发计划。
3. 构建阶段(Construction) 增量式地开发一个可以交付用户的软件产品 软件子产品。
4. 提交阶段(Transition) 将软件产品提交用户软件产品。
4. IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的
因为在固定合同的条件下,工期和质量是固定不变的,项目团队不能随意变更的,但是范围/内容可以改变。因此说“范围/内容”是项目团队易于控制的。
5. 为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?
因为需求分析,设计,实现,迭代,测试和交付的生命周期是有固定长度的, 是在时间盒(time-boxing)里面限制的,例如起始的固定周期就是限制在 three weeks,之后的迭代开发构成也是有较为明确的时间限制的。
2. 项目管理使用
使用截图工具(png格式输出),展现你团队的任务 Kanban,请注意以下要求
- 每个人的任务是明确的。即一周后可以看到具体成果
- 每个人的任务是1-2项。
- 至少包含一个团队活动任务