技术开发 频道

一图胜千言:RUP核心概念解析

【IT168 技术文章】

    在实践中,笔者发现,对概念的理解不到位,特别是对概念之间的关系理解不到位,是阻碍不少人成功应用RUP的原因之一。

    本文采用“为概念及其关系建模”的方法,对概念及其关系进行考察,以期深入理解RUP的核心概念。

    1、弄清概念的必要性

    随着软件学科和软件业的不断发展,“名词”越来越多。但是,“名词”背后的“含义”也真的有如此之多的增长吗?

    举个例子。1986年,Barry Boehm提出了软件开发的螺旋模型。从那时起,螺旋模型被当作软件开发的标准方法。螺旋模型还有其他不同的常用名字,比如演进模型,或者迭代模型[1]。类似的例子还有很多。

    看来,软件界存在不少这种“新瓶装旧酒”的现象——一个新名词出现了,它可能仅仅是披着新的表达形式的外衣,而其含义其实和某个旧名词相同。

    笔者认为,在软件学科飞速发展的今天,反而是踏踏实实搞清楚“变幻无穷”的诸多名词背后的真正含义,才是最便捷之道。

    2、本文的方法:一图胜千言

    本文采用“为概念及其关系建模”这样一种方法,不仅考察单个名词的含义,还考察名词之间的关系。

    一图胜千言。一个概念的本质,往往需要从它同其他概念的关系中,得以体现。不仅考察个体,还考察多个个体之间的关系,这种方法在系统论中,被比喻成“1 + 1 > 2”。令人愉快的是硬币的另一面,注重考察关系这种方法,从其成本角度而言却是“1 + 1 < 2”。

    3、RUP核心概念解析

    3.1、任务来自问题

    RUP著名的二维结构,其时间维相关的概念有阶段、迭代、里程碑等,内容维相关概念有工作流、角色、活动、工件等。但笔者发现,不少人对这些概念理解不深,特别是对概念之间的关系把握不到位,造成实践中出现问题。

    另外,就是迭代式开发——这种包括RUP在内的多种软件工程过程都一致推崇的非常好的实践——和活动、工件这些基本概念有何关系。不知道迭代和活动、工件的关系,实际应用RUP时又如何贯彻迭代式开发的思想呢?

    还有,配置和变更管理对所有现代软件开发过程都是必不可少的支持活动,RUP更是将其列为“RUP的6大非常好的实践”之一。但笔者发现,不少开发人员认为配置和变更管理太麻烦,仅仅是因为他们没有理解配置和变更管理和工件的基本关系。

    我们的任务,就来自于这些问题。我可以用一幅图解决这些问题吗?

    3.2、一图胜千言

    下图是一幅UML类图,它概括了上述问题的相关概念,并着重表达了概念之间的关系。本图的丰富语义,我们通过下面几节细细来分析。

0
相关文章