基于 UML 的业务建模

如何在大型业务建模项目中应用 IBM Rational 建模工具和团队协作工具

对于管理流程咨询项目、大型信息化建设项目和套装管理软件实施项目,对业务环境的分析和理解对项目的成功至关重要。系统、全面理解 IT 系统所处的业务环境,可以帮助 IT 系统能提供正确系统功能,并加速 IT 系统的部署和推广,从而实现 IT 和业务的一致性。统一建模语言(Unified Modeling Language, UML)作为完备的、标准化的建模语言,可应用于业务系统建模。

本文将基于一个技术评审管理流程范例来阐述如何利用 UML 进行业务建模,并介绍如何在大型业务建模项目中应用 IBM Rational 建模工具和团队协作工具。

杨 敏强, 高级信息工程师, IBM

杨敏强杨敏强,IBM Rational 高级信息工程师,西安交通大学计算机硕士,10 年多软件开发、软件工程、研发管理推广和实施经验,关注领域包括软件开发和测试技术,软件工程和项目管理和流程管理。您可以通过 developerWorks 社区与杨敏强进行交流。



2011 年 4 月 28 日

下载 Rational® Software Architect 试用版  |  Rational® Team Concert 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

概述

在当前,由于 IT 系统和业务之间的联系越来越密切,对业务进行系统、全面的理解和分析对 IT 系统需求定义和套装软件的部署以及信息化建设越来越重要。传统的业务分析方法更多基于文档或图形,不能对信息进行结构化抽取和组织,不便于发现业务系统中的问题,更不能快速重用于 IT 系统开发和实施环节,最后导致 IT 系统实现的功能并不能很好满足业务需求,或者花了大量精力输理的流程文档不能得以贯彻落实。

UML 资源中心

欢迎访问 UML 资源中心。在这里您可以找到 developerWorks 上所有与统一建模语言(Unified Modeling Language,UML)相关的技术资源和最新的信息。

本文将介绍基于 UML 的业务建模方法,该方法通过规范化的图形化标记语言,从人员、信息、活动、流程等方面对业务系统进行全面的、结构化的抽象和描述。此外,本文还将介绍 Rational Software Architect 如何支持该业务建模方法,实现业务模型的有效组织,模型度量和报告生成,以及如何利用 Rational Team Concert 支持团队建模。该 UML 业务建模方法可应用于套装软件(如项目管理软件、企业资源规划软件)的实施、大型信息系统的需求调研以及管理流程再造项目。


UML 业务建模方法

UML 业务建模方法是指对业务系统从静态和动态两个方面进行抽象,并利用 UML 标记语言记录下来。根据业务系统的特点,UML 业务建模方法主要包括业务角色、业务实体、业务活动和业务流程等建模元素以及业务实体关系图、业务流程活动图和业务流程状态图等图形表示。

很多人认为建模就是画图,甚至认为业务流程梳理就是画流程图,这个观点是不正确的。建模的本质是通过抽象获得被建模对象的关键要素,然后基于特定的目的和视角利用图形把模型元素展示出来。图和建模元素之间是关联关系,而不是包含关系。下图描述了进行业务建模时的核心建模元素和图形。后续章节将详细介绍这些建模元素和图形。

图 1. 业务建模元素和图形
图 1. 业务建模元素和图形

建模元素

任何业务系统都涉及人员、信息、活动和流程,与之对应业务系统建模要素是业务角色(Business Role)、业务实体(Business Entity)、业务活动(Business Activity)和业务流程(Business Process)。下表总结了业务建模元素的图示、定义和范例。

表 1. 业务建模元素
名称图示定义范例
业务角色业务角色在组织内承担特定业务活动,并和别的业务角色进行交互的人或系统比如“技术评审管理流程”中的业务角色包括:评审申请人、评审负责人、评审主席、评审专家等。
业务实体业务实体由业务角色使用和处理的任何事物比如“技术评审管理流程”中的业务实体包括:评审申请、评审意见。
业务活动业务活动由特定业务角色进行的,并具有明确输入和输出的任务比如“技术评审管理流程”中的业务任务包括:起草评审申请、提交评审申请等。
业务流程业务流程由一组业务角色通过执行一系列业务活动来操作业务实体,从而给外界提供有价值的、可感知的服务或成果比如“技术评审管理流程”就是一个业务流程,该业务流程给通过技术评审,帮助评审申请人发现被评审材料中的问题。

业务角色

在确定业务角色时,一种方法是业务角色直接对一个组织定义的岗位,该方法不足是当组织机构发生调整时,流程需要进行调整;另外一种方法是根据管理流程的本质来定义业务角色,该方法让流程定义能更好适应组织机构变化。我建议采取第二种思路来定义业务角色,下表描述了技术评审管理业务流程的业务角色。

表 2. 技术评审管理流程业务角色
角色名称职责对应岗位
评审申请人1. 提交评审申请及评审材料;
2. 参加评审,提出问题。
软件开发项目的项目经理
评审负责人1. 对评审申请进行初审;
2. 启动和结束评审,汇总评审专家意见。
质量部人员
评审主席1. 指定评审的主持人、记录人员,确定参加评审的人员;
2. 确定本次评审是否通过。
开发部领导
评审专家1. 参与专业评审工作,提出评审意见;同行业专家
质量保证人1. 检查评审过程的符合性;
2. 检查问题处理结果及跟踪情况。
质量部人员

业务实体

业务实体是业务角色在进行业务活动时使用或产生的事物,在表现形式上可以是一个文档,或者是一个物品的一部分。比如在技术评审管理流程中,评审申请人将提交评审申请材料,专家将对评审材料提出评审意见,因此我们可确定的业务实体是“评审申请”和“评审意见”。每个业务实体通常具有特定的属性,比如“评审申请”业务实体具有的属性包括:申请人、评审类型、评审材料等信息。

在进行业务流程梳理时,经常会忽视对业务实体的分析。要让业务流程落地,通常需要借助信息系统,而业务实体对信息系统的建设至关重要。业务实体分析的成果是逻辑数据模型,该模型将指导信息系统的建设以及不同信息系统的整合。

下表简要描述了技术评审管理流程中涉及的业务实体以及属性信息。

表 3. 技术评审管理流程业务实体
业务实体属性名类型范例
评审申请状态字符串“已提交”
申请人字符串“”
申请评审日期日期2010-10-10
归属项目字符串“核心银行系统项目”
申请评审内容字符串“评审需求内容是否合理”
申请评审类型字符串“需求评审”
提交材料anyTypeanyType
初审意见字符串“”
初审日期日期
审批意见字符串
审批日期日期
专家评审意见评审意见评审意见
评审意见评审专家字符串“张三”
评审意见字符串“需要增加非功能需求描述”
评审日期日期2010-10-12

业务活动

业务活动是由特定业务角色进行的,并具有明确输入和输出的任务。为了描述的一致性和准确性,业务活动名称尽量采取动宾结构。比如技术评审管理流程所涉及的业务活动包括:起草评审申请、提交评审申请、初审评审申请等活动。

在经常业务流程梳理时,应该首先明确业务活动,然后再去画业务流程活动图,这样可以帮助发现冗余的业务活动和在不同业务流程中重用的业务活动。

表 4. 技术评审管理流程业务活动
活动名称描述输入输出
起草评审申请准备技术评审相关材料 评审申请
提交评审申请确认评审内容,并提交评审申请评审申请
初审评审申请对评审申请的信息进行初步确认,如信息不完备,则退回评审申请人,否则进入正式评审环节。评审申请评审申请
启动离线评审确定评审主席和评审专家,启动评审过程。评审申请评审申请
填写评审意见评审相关内容,并填写评审意见。评审申请评审意见
完成离线评审汇总所有评审意见,并提交评审主席进行审批。评审申请评审申请
审批评审结果对评审结果进行确认,决定评审是否通过。评审申请评审申请
解决遗留问题解决评审过程中提出的遗留问题。评审申请评审申请
复核评审结果对遗留问题的解决情况进行确认,如通过,则完成评审,否则退回评审申请人来解决遗留问题。评审申请评审申请

业务流程

由一组业务角色通过完成一系列业务活动来操作业务实体,从而给外界提供有价值的、可感知的服务或成果。通常通过如下字段信息描述一个业务流程。

表 5. 技术评审管理流程描述
字段描述范例
流程编号流程的唯一标识BP001
流程名称流程的名称技术评审管理流程
流程简要描述一句话简要描述流程对软件开发项目中的关键提交件进行评审,也帮助尽早发现问题,从而提高软件系统的质量
流程拥有者流程的主管部门,负责对流程的制定者和主要执行者质量管理部
业务目标描述执行该流程期望达到的业务目标实现高质量的软件系统
关键绩效指标确定度量和评审流程绩效的指标1. 评审从提交到完成的持续时间
2. 通过评审发现的问题数

模型图示

为了能直观描述业务系统,可借助 UML 图来描述业务系统的静态和动态特性,提高流程的沟通效率。

业务实体关系图

业务实体关系图是通过 UML 类图(Class Diagram)来描述业务实体之间的相互关系。业务实体之间的常用关系包括包含关系、关联关系和泛华关系。对于技术评审管理流程,一个技术评审可能对应多个专家提的评审意见,因此“技术评审”业务实体和“评审意见”业务实体之间是包含关系。

图 2. 技术评审管理流程业务实体关系图
图 2. 技术评审管理流程业务实体关系图

业务流程活动图

业务流程活动图采用 UML 的活动图(Activity Diagram)描述不同的业务角色如何进行特定业务活动来完成业务流程。为了业务流程活动图便于理解,该图中涉及的业务活动尽量不要超过 10 个。如果业务流程涉及的业务活动的确太多,可把相关的连续执行的业务活动封装成为一个业务活动,让业务流程活动图具有层次。下图描述了技术评审管理流程的活动图。

图 3. 技术评审管理流程活动图
图 3. 技术评审管理流程活动图

图 3 大图

业务流程状态图

为了对业务流程的执行进行跟踪、控制和统计分析,需要描述业务流程核心处理对象的状态图。业务流程跟踪是指能及时获得流程的处理阶段,业务流程控制是指只有完成特定的业务活动后,才能进行后续的业务活动,业务流程统计分析是指需要获得在不同阶段的业务实体的数量。状态图描述了业务对象的状态以及实现状态转换的动作。下图描述了技术评审管理流程的状态图,其中节点表示状态,通常采用副词,箭头表示动作,通常采用动词。比如对于处于“已提交”状态的技术评审,可通过“通过评审”动作转换到“已通过初审”状态。

图 4. 技术评审管理流程状态图
图 4. 技术评审管理流程状态图

图 4 大图


如何利用 IBM Rational 工具进行业务建模

对于简单的单一流程业务建模项目,利用 Microsoft PowerPoint 或 Visio 就可以应用 UML 业务建模方法完成业务梳理工作。但对于管理流程咨询项目、大型信息化建设项目和套装管理软件实施项目,由于涉及的业务角色、业务实体、业务活动以及业务流程多,为了保证业务模型的完备性和准确性,需要专业的 UML 建模工具来进行业务建模。此外,当业务建模项目由多个业务分析师共同完成时,如何合并建模成果以及进行团队协作是业务建模项目面临的重要挑战。

Rational Software Architect 是 Rational 的专业的 UML 建模工具,提供完备的 UML 建模功能以及模型分析功能;Rational Team Concert 是 Rational 新一代的版本管理和团队协作功能,可帮助管理多人进行的业务建模项目以及工作成果。

UML 建模工具 Rational Software Architect

Rational Software Architect 是 IBM Rational 新一代的 UML 建模工具,除提供标准的 UML 支持外,还提供了大量的扩展功能来实现 SOA 建模和部署建模等功能。与以前的 Rational Rose 相比,Rational Software Architect 提供了更好的易用性、继承性和扩展性。下图是 Rational Software Architect 的建模界面。

图 5. Rational Software Architect 建模界面
图 5. Rational Software Architect 建模界面

图 5 大图

通过利用 Rational Software Architect 对业务系统进行建模,可实现模型分析功能,比如能获得特定业务角色所参加的所有业务流程,从而能快速进行业务角色、业务实体、业务活动以及业务流程之间的相关性分析。此外,Rational Software Architect 还提供自定义格式的报告生成功能,便于模型信息的发布和传播。下图是根据 Rational Software Architect 中的技术评审管理流程模型所生成的 PDF 格式的报告。

图 6. 利用 RSA 形成的 PDF 格式报告
图 6. 利用 RSA 形成的 PDF 格式报告

图 6 大图

团队建模管理工具 Rational Team Concert

对于一个复杂的业务建模项目,当需要多人共同参与时,可利用 Rational Team Concert 进行模型的集中管理和版本控制。同时 Rational Team Concert 还提供了模型的图形化比较和合并功能,确保多人进行的业务建模项目能顺利进行。下图是利用 Rational Team Concert 来比较模型文件的两个版本之间的差异。

图 7. 利用 Rational Team Concert 比较模型文件不同版本之间差异
图 7. 利用 Rational Team Concert 比较模型文件不同版本之间差异

图 7 大图


总结

由于目前业务和 IT 的联系日益密切,业务分析对改善企业或组织的管理水平,有效地进行信息化非常重要,并催生了业务分析师(Business Analyst)这一新兴职业,并成立了业务分析师国际协会(International Institute of Business Analysis, IIBA, http://www.theiiba.org/)。基于 UML 的业务建模方法对业务进行结构化的抽象,并利用 UML 标记语言进行图形化展示,可确保对业务系统的全面、正确的理解,其成果并可被信息技术人员理解和重用。该方法已包含在业务分析知识体系(Business Analysis Body of Knowledge,BABOK)中,成为业务分析师的一个基本技能。对于大型的业务分析项目,Rational Software Architect 可帮助实现业务建模成果的模型化,而 Rational Team Concert 可有效管理多人参与的业务分析项目。

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
  • 访问 developerWorks 社区上的 Jazz 技术小组,这里汇集了丰富的 Jazz 平台中文技术资源。 您可以通过这里了解更多关于 Jazz 平台和 Jazz 技术发展趋势的最新信息。
  • 加入 IBM 软件下载与技术交流群组,参与在线交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=651328
ArticleTitle=基于 UML 的业务建模
publish-date=04282011