作为商业分析师,日常工作既要面对错综复杂的,各种场景的业务系统,又要搞清后台各种高大上先进的技术框架和系统接口。所以把现实世界抽象成可以理解的可以沟通的模型就相当重要,也是商业分析师的基本能力。这其中不光是工具的使用,更多是概念化的能力,抽象化的能力。
在国际商业分析师推出的商业分析经典教材BABOK v3.0,是这样定义概念模型的。
A concept model is used to organize the business vocabulary needed to consistently and thoroughly communicate the knowledge of a domain.
概念模型用于组织那些需要一致地,彻底地沟通的领域知识的商业词汇。
概念模型通常以业务领域的核心名词为基础, 这些核心的名词的定义是数据无关的,描述这些所构成的业务系统以及核心概念之间的关系,每一个核心概念所代表的意思。
概念本身的意思就是通过给出定义做出解释,是对现实世界的理解抽象到更高的层次,减少低层细节对于理解整体所构成的干扰,以及需要使用更加通俗普通的语言,具体场景想着的业务语言来方便沟通理解。
那到底什么样的模型是概念模型呢?可惜的是在BABOK v3.0并没有明确的给出一个实例。
但是实际上大名鼎鼎的BACMM(商业分析概念模型)就是一个概念模型。BACCM就是为了抽象业务场景成6个核心概念,以及他们之间的关系来描述一个商业分析典型案例。
那这个模型可以用来做什么呢?比如下面一个案例(当然这个案例从文字上已经做了精减,现实中相信比这个复杂的多):
Leo是一名上班族,每天早上地铁是他通勤的交通工具。最近,他每天非常的疲惫,原因是他现在每天都需要步行4公里的距离才能到达办公室,本来下班的时候已经很累了,还要步行2公里才能到达地铁站,而且往往地铁上还没有座位。原来他刚换了工作,新公司到地铁口还有2公里的距离,如果打车花费太高,而且上班高峰期也不好叫到出租车。
A公司想去解决最后一公里的出行难题,基于这样的场景,你作为商业分析师应该专业的把现场问题抽象出来,然后和公司的管理层和投资人沟通呢?
这个时候如果能你概念化这个场景, 根据涉及到的几个名词概念,建模把信息呈现出来会是合适的方法。BACCM就是可以应用到这样的商业分析环境下。
根据BABOK v3, 一般情况下概念模型可以在以下几种情景时比较有用:
•企业寻求组织,保留,构建,管理和交流核心知识,
•需要捕获大量业务规则,
•干系人对数据模型,类图或数据元素术语和定义存在抵制,
•在重新设计业务流程或其他方面的业务能力时,需要创新的解决方案
•企业面临监管或合规方面的挑战
需要说明的是,概念模型与数据模型不同。 概念模型的目标就是使用非常自然的语言的表达。 概念模型不是为了统一,编纂和简化数据。 因此,概念模型中包含的词汇量更加丰富,而且概念模型通常以图形方式呈现。
概念模型所使用的主要是名词,但是为了让概念之间的关系呈现的更加具体,也会使用动词或其他词语,也会包括其他方面的关联关系。
我们在使用概念模型的时候,既要知道概念模型的优点也要理解缺点,根据BABOK v3,优点和缺点分别是:
优点:
•提供一种business-friendly的方式,与干系人以准确的含义和细微的区别进行沟通。
•独立于数据设计和数据模型, 这方面通常没有业务词汇,一般人难以理解。
•对知识丰富,负责决策的业务流程非常有用。
•帮助确保大量复杂的业务规则没有歧义的沟通,并且能够紧密地结合在一起,整体性很强。
缺点:
•可能会在相对较短的时间内就可以实现基于业务语义的集成程度设置过高的期望(有点废话^~^)。
•需要专业的抽象能力。
•描述的知识和规则可能对于干系人比较陌生。
除了上面案例中使用的BACCM之外,哪些模型可以称之为概念模型呢?实际上,在建模时对现实情况的抽象都是一种概念模型,比如用例图(Use Case Diagram)描述人和系统之间的关系以及之间的逻辑;状态机(State Machine)描述的几种状态以及之间的转换关系等这些都称之为概念模型。
对于业务的建模能力是商业分析师必须掌握的,需要商业分析师有整体感,跳出细节,化烦为简的能力。
BABOK v3中还有很多其他的建模技巧,后面我们将继续分析和分享!
作者介绍:Roki HU 某世界500强亚太区高级商业分析师, CBAP, PBA, PMP和信息产业部高级项目经理