软件问题归结为开发人员在协调大型软件项目的多个工作流程时面临的困难。
统一开发流程(RUP)是解决此问题的方法,因为:
- 提供组织团队活动的指南,分别指导每个开发人员的任务以及整个团队的任务,指定要开发的工件,提供控制,衡量产品和项目活动的标准。
RUP使用UML来准备软件架构,它基于通过明确定义的接口彼此互连的软件组件。它的主要特征是它由用例指导,着重于体系结构,并且是迭代的和增量的。将工作细分为较小的部分或小型项目是可行的,其中每个项目或项目都会导致产品增加或版本增加。
一个项目的生命周期包括四个阶段:构思,阐述,建设和过渡。每个阶段都以一个里程碑结束,该里程碑具有一组工件(文档,模型,可执行代码等),其最重要的目标是项目经理可以做出决定以继续进行下一阶段。在生命周期阶段的最后,完成了产品版本。
在设计阶段,将根据一个好主意对最终产品进行描述,并提供该产品的业务分析。
在开发阶段,将详细说明大多数产品用例,并设计系统架构。在此阶段结束时,主任准备好计划活动并估算完成项目所需的资源。
在构建阶段创建产品,架构逐渐发展成为一个完整的系统,并且已经包含所有约定的用例。
在过渡阶段,对少数用户进行了系统测试,以检测缺陷和不足。开发人员修复错误并引入建议的改进。
每个阶段可以有多个迭代,并且每个迭代可以包含多个工作流程。
以迭代方式工作的软件开发小组有一些成员需要进行规划,并实现为以后的迭代制定的一组目标。如果正确理解和操纵重叠迭代技术,则可能会有所帮助。
标准迭代l1,l2和l3从左到右依次发生,每次迭代(需求,设计,代码和测试)依次向下发生。
这些迭代可以重叠,如下图所示:
下面的内容显示了由时间盒技术控制的重叠迭代:
这种重叠的迭代技术具有以下风险:
- 增加工作量,增加取消项目的成本,降低士气,对改进过程的影响,学科思维方式,瀑布的危险
为了避免项目中的重复迭代,可以在以下位置使用人员:
- 两个项目,多个角色,接受浪费时间的情况,减小团队的规模
重叠的迭代可能有很大的帮助,但是您必须严格控制,以免它们成为双刃剑,为此,您必须遵循以下两个重要规则:
- 如果在构造中,则不允许在构造期间进行迭代的重叠;在构造期间,不允许进行一次以上的迭代。
参考书目:
Philippe Kruchten。“ Rational Unified Process:简介”。艾迪生-卫斯理。2000。
巴里·勃姆(Barry Boehm)。 “精心准备敏捷方法”。电脑,第pp。 2002年第64-69页。