严格说起来,UML并不是一个方法,而只是一种语言。UML定义了基本元素,定义了语法,单数如果要做一个软件项目,还需要有方法的指导。正如写文章有文法,有五言律,有七言律一样,UML也需要有方法的指导来完成一个软件项目。RUP无疑是目前与UML集成和应用最好、最完整的软件方法。
RUP - Rational Unified Process,统一过程。统一过程并非是因为UML才诞生的,也不是最近才出来的软件方法,而是有着很长时间的发展,有着很深的根源。统一过程归纳和整理了很多在实践中总结出来的软件工程的最佳实践,是一个采用了面向对象思想,使用UML作为软件爱你分析设计语言,并且结合了项目管理、质量保证等许多软件工程知识综合而成的一个非常完整和庞大的软件方法。统一过程经过了三十多年发展,和统一过程本身所推崇的迭代方法一样,统一过程这个产品本身也经过了很多次的迭代和演进,在最终推出了现在这个版本。下图展示了统一过程的演进过程。
统一过程归纳和集成了软件开发活动中的最佳实践,它定义了软件开发过程中最重要的阶段和工作(四个阶段和九个核心工作流),定义了参与软件开发过程的各种角色和他们的职责,还定义了软件生产过程中产生的工件,并提供了模板。最后,采用演进式软件生命周期(迭代)将工作、角色和工业串在一起,形成了统一过程。
工件:工件也称为成果物或者制品Artifact,这与可交付物Deliverable是有一些差别的。当某一个或某一些工作是最终产品的一部分需要交付出去时,才可称为交付物。而在软件生产过程中任何留下记录的事物,都可称为工件。
下图,展示了统一过程的总体概述:
从上图我们可以看出,统一过程将软件生产分为四个阶段九个核心工作流。每个工作流在不同的阶段有不同的工作量比重,这些数据来自实际项目的数据统计。每个阶段都会做哪些工作流呢?这由迭代计划来决定。一个软件从开始到产品推出要经过多次的演进,每一个演进会有一个迭代计划来描述这次演进要达成的目标、要经历的阶段以及要进行的工作流。统一过程对每一个工作流都规定了标准的流程、参与角色和工件模板,而在迭代计划里可以依据实际情况对这些流程、角色和模板进行剪裁。
本文暂时没有评论,来添加一个吧(●'◡'●)