作业目录
简答题
1、简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点。(从项目特点、风险特征、人力资源利用角度思考)
瀑布模型
-
优点:
1、为项目提供了按阶段划分的检查点。
2、当前一阶段完成后,只需要去关注后续阶段
3、可以在迭代模型中应用
-
缺点:
1、各个阶段划分固定,阶段之间会有大量的文档,增大了工作量
2、线性开发模型,用户只能等到最后阶段才能看到结果,增加了开发风险。
3、不适应用户需求的变化
增量模型
-
优点:
1、将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
2、允许增量投资,即在项目开始时可以仅对一个或两个增量投资缺点
3、开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整
-
缺点:
1、当没有对用户的变更需求进行规划,那么初始增量会造成未来增量的不稳定
2、过程中产生的增量可能需要重新发布,重新开发,增大了工作难度
3、进度和配置可能很复杂,超出进度。
螺旋模型
-
优点:
1、设计灵活,可以在项目各个阶段进行变更
2、每个大的系统由小的分段构成,使得成本控制计算较为容易
3、客户基本上参与每个阶段的开发, 可以保证项目的稳定性
4、客户较认可此模型,认为可以和开发人员具有良好的沟通
-
缺点:
1、建设周期长,而软件发展技术较快,经常出现当开发完毕后,软件水平与当前水平有较大的差距,无法满足客户需求。
2、在需求明确时,这种方法有时较为低效。
2、简述统一过程三大特点,与面向对象的方法有什么关系?
up的三大特点:
1、软件开发是一个迭代过程
2、软件开发是由Use Case驱动的
3、软件开发是以架构设计(Architectural Design)为中心的。
- RUP (Rational Unified Process) 是一种基于 UML 的、以构架为中心、用例驱动与风险驱动相结合的迭代增量过程。它将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。
3、简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
up的四个阶段:
-
初始阶段:初始阶段的目标是为系统建立商业案例并确定项目的边界。初始阶段结束时是第一个重要的里程碑:生命周期目标里程碑。生命周期目标里程碑评价项目基本的生存能力。
-
细化阶段:细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。细化阶段结束时第二个重要的里程碑:生命周期结构里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。
-
构造阶段:在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。构建阶段结束时是第三个重要的里程碑:初始功能里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。
-
交付阶段:交付阶段的重点是确保软件对最终用户是可用的。在交付阶段的终点是第四个里程碑:产品发布里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
4、软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
RUP将软件的生命周期划分为四个阶段,并且开发被组织成一系列固定的短期小项目,称为迭代,每次迭代都产生经过测试、集成并可执行的局部系统。每次迭代都具有各自的需求分析、设计、实现和测试活动。因此,在每次迭代完成后,都有一定的产品可供发布。
通过RUP,根据固定周期的开发任务以及阶段,企业可以更加便利地掌控开发进度以及控制预算, 对产品的质量和生产开发过程都能进行较为精准的把控,方便企业根据实际情况做出调整,规范管理,从而尽可能达到最大的收益。
实践题(不需要提交)
下载腾讯微信企业版PC端,安装腾讯敏捷产品研发平台(TAPD),了解使用 TAPD 的最佳实践(可以写博客获得加分)
- 比较完善 backlog 支持(树结构)
- 迭代(sprint)安排
- 较好的缺陷管理
- Kanban
- 统计
大作业准备
- 按大作业要求组件团队、思考项目题目与内容
- 将团队暂时分为技术研究、业务调研两个部分
- 技术团队初步确定技术方法,力争做一些技术原型,如 基于 MVC 框架的的用户登陆实现
- 业务调研团队调查竞争性产品,分析它们的基础、共性业务以及竞争优势