概念:组件业务建模
对业务进行建模时使用基于组件的开发方法在创建、管理和分析业务方面都有很多优势。在其他地方也注意到在业务建模和组件建模以及对象建模之间有相似之处;这一概念尝试统述业务组件建模的方法。
关系
主要描述

简介

这一概念描述了如何将软件开发和其他工程规程中常用的建模工具和方法用于业务建模。此处描述的方法基于 IBM Global Business Services 开发和使用的组件业务模型(CBM),然而,“如何将此类模型与更为传统的业务模型整合在一起”这一问题致使我们提供此指导信息。

本主题很大程度上用到 RUP 业务建模插件中的现有指导信息,因此可证明这两种方法之间的相似处多于它们之间的不同处,尽管 CBM 模型通常用于与 RUP 业务模型不同的决策中。具体而言,读者必须参阅下列主题。

  • 概念:业务体系结构描述了一些体系结构视图,这些体系结构视图通常用于描述业务以及用于考虑业务体系结构的一些推动因素。
  • 概念:对大型组织建模着手描述如何将业务划分为可通过定义良好的服务进行通信的自治单元。
  • 指南:业务系统(以及任务:定义业务系统环境)用描述 CBM 业务组件的方法更详细地描述如何使用业务系统:
    业务系统“将大型业务模型划分为互相关的职责区域。业务系统包含了它们的资源,并且通过良好定义的接口向业务的其他部分提供服务”

组件业务模型

CBM 工作所形成的最常提及的工作产品是组件图。下面显示典型的 CBM 组件图(来源于 Web 资源“A component-based approach to strategic change”)。正如您所见,业务组件以网格的形式排列,按其能力区域(有时称为业务功能区域领域区域)及其行动分类。该图的价值不仅在于可将业务看作一组组件,还在于业务分析将审慎地生成该组组件并描述它们之间的相关性和交互。下列描述取自 IBM Web 站点上关于 CBM 的讨论。

IBM 的组件业务模型是了解您业务的新方法。它通过一个单页即可容纳的简单框架来代表整个业务。这是传统业务视图(例如业务单元、功能、地理位置或流程)的演进。

业务组件图显示了跨业务线的活动,没有对地理位置、内部纵向结构或业务单元作任何限制。业务组件图让您在一张页面上看到整个公司。

此单页透视图提供不受限于一些障碍的业务视图,这些障碍可能会妨碍您作出有意义变更的能力。您可以看到业务中的哪些组件实际产生了差异和价值。您可以识别出需要针对的能力差距区域。有了组件视图,您可以识别整个企业中提高效率和降低成本的机遇。识别您可以实现最大影响的组件,并从那里开始。


图 1 - CBM 图示例

因此,业务组件的概念是很重要的,并且在我们转而关注平行的 CBM 和 RUP 业务建模前,应将其定义得更为详细一点。每个业务组件确定了贵企业的基本构建块,其中包括:

  • 人员 - 组件的组织方面,
  • 流程 - 组件执行的功能和它们的实施,
  • 技术 - 支持组件并实施该组件所提供服务的技术。

业务组件还向业务提供一个或多个服务,并且依赖于这些服务,这些服务由业务组件中的人员、流程和技术进行支持。 

对流程建模

尽管组件图是 CBM 生成的最显而易见的工件(当然是指在所发布的资料中),然而对于模型来说,除了该图还有很多其他内容。例如,“企业流程”描述成由企业本身拥有且通常以某种方式面向客户的流程。这些流程作为业务组件所提供服务的某一安排来实施。然而,业务组件内部也有流程,用于实施它提供给业务的服务,或者可能是其自身的管理流程。主题指南:业务系统中通过使用业务系统和业务用例的类比,也对此进行了描述。

使用 RUP 业务建模 

开始时,我们将在下表中勾勒出一个映射,将上面介绍的 CBM 概念映射到当前 RUP 业务建模规程中的工作产品。



CBM 概念/模型元素 RUP 业务建模元素
业务能力 工件:业务领域
业务组件 工件:业务系统
提供的服务 构造型为 <<业务服务>> 的接口 *
流程 工件:业务用例




* - 此元素在当前 UML Profile for Business Modeling(请参阅白皮书:Rational UML Profile for Business Modeling)中不存在。

下图说明了如何(使用 Rational Software Modeler)通过 UML 使用上表所列的概要文件元素来实现此映射。注意:业务能力包含业务系统,这将确保一个组件不能出现在多个能力中。在操作(上面 CBM 图中的行)方面,我们在下面的模型中没有包含任何特定的组织元素,然而在业务系统中添加属性来捕获此信息看来是合理的做法。

UML 业务组件图
图 2 - UML 业务组件图示例

识别了一组业务组件/系统之后,我们要继续定义这些组件提供(并依赖)的服务。同样地,指南:业务系统中对此作了较详细的描述,虽然它将所提供的/必需的功能称为“能力”。因此作为回顾,我们来看一个示例,下图显示了提供两种不同服务的业务组件/系统,它们被建模成接口,并由组件实现。这使我们不仅能够对服务建模,而且如有必要,甚至还能对每个服务的业务功能建模。以此方式对服务间的相关性建模是相当直接的,并生成几乎与上面 CBM 图完全相同的结构模型。


图 3 - 带有服务的 UML 业务组件示例

对流程建模

在使用 UML 对流程建模方面,RUP 描述了如何使用工件:业务用例通过工件:业务用例实现的详细实施流来捕获流程描述。关于 CBM 中所述的企业流程与组件流程的分离,我们已经在指南:业务系统中看到非常类似的指导信息,在该指南中,业务用例描述为跨越各业务系统并可能由业务系统拥有。

链接