业务(Business)基本概念
英文中,商业和业务是一个词Business,商业的目的是为了盈利,业务亦是如此。如何盈利呢?是通过为客户提供产品和服务。
提供产品和服务这个事情要有人来做,就有了组织,组织是企业、部门和政府的泛指。当然并非所有的组织都是以盈利为目的(例如公益组织和政府)。
一个组织通常通常有多个利益相关者(例如,合作伙伴、股东、客户)支持。顾名思义,利益相关者和组织要做的事情利益相关。
产品或服务将需要业务功能支持,例如财务、IT销售和营销这些。在业务功能中,有些能直接为客户创造价值,这些我们称之为核心功能,如产品规划与开发、营销等功能。
企业运作需要方向,所以要有业务战略和计划,如客户战略、业务战略和IT战略。战略和计划将设定业务目标,目标就是企业运作的方向,如市场占有率要达到xx%。
企业运作通常还受监管和合规性的约束,例如经营电子烟必须获得行业许可。
企业还需要追踪业务服务的成果,也就是业务绩效,如客户满意度达到xx%以上。
上述所有这些概念就是业务架构设计中的基本单位,即业务组件,业务架构之间是相互关联的,如图显示了业务组件的相互连接关系示意图,我将其称为“业务概念风火轮”。
业务建模(Business Modeling)
业务建模时业务架构设计的重要环节。所谓模型,就是考虑所研究的系统、过程、事物或概念的一种表达形式。业务建模就是考虑企业业务的表达方式,也就是考虑利益相关者、组织、功能、产品、绩效、度量等业务概念,以及它们的属性、行为和彼此关系。
建模通常采用分类和抽象的方法。分类就是根据事物本身的属性、逻辑关系或者框架来进行分类,如我们经常把业务分成To B的业务和ToC的业务,把商品分成虚拟的商品和实物的商品。分类几乎是所有建模的基础工作,分类的目的是为了简化。
同样,抽象也是为了简化,它将业务概念进行重新进行抽象表达,比如收银员,经理,在建模的时候,可以统一把它抽象为职员。在需要关注不同角色的时候,可以再把它泛化成收银员和经理两个具体角色。
有了归类和抽象,我们还要将这些归类和抽象后端组件重新组装起来,这就是重构过程。在重构过程中既要考虑仿真,也就是还原事物的特征,还要去考虑要表达的目的或意图是什么,也就是关注点是什么,比如关注的是业务过程,就会采用功能分解模型。功能分解模型将识别出活动、任务。再识别具体的活动、任务里面的再提取出具体业务需求,也就是功能。如果关注的是业务对象,就会采用对象协作的模型。对象模型识别业务对象和对象之间的协作关系。
视图和视角
在业务建模之前,我们要有视图和视角的概念,视角(Viewpoint)是我们看问题的角度(和关注点有关)。视图(View)是你看到的东西,它总是关联一个视角。
建模总是在不同视角进行,这和我们在用UML中采用业务用例和系统用例两种视角进行建模的道理是一样的。
同样的我们在做业务建模也会在不同层次,不同范畴行建模,这些层次和范畴和我们的视角有关,也就是我们关注什么有关。
业务建模的简单示例
我们以一个牙医诊所的例子来说明业务建模是如何进行的。牙科诊所是一个组织,提供牙科诊疗服务。牙科诊所相关的人员包括牙医、接待员和患者(用户),他们的关系如图所示。这张图就是一个简单的组织图结构图。
牙科诊所提供的服务牙科诊疗服务,服务对象是患者。我们可以用服务实现视图表达这些关系。图中,组织分配给牙科诊疗服务,后者进一步服务于患者。
通过这两张图这样我们就已经有了一个业务的基本形态:组织和服务。
接下来,我们要思考从业务层面怎么实现这个服务,也就是业务功能。业务功能是抽象度非常高的组件,此处我们可以用比较低阶的业务组件如流程来表达业务功能。牙科诊所的流程比较简单:患者通过APP预约,牙科诊所通过APP消息通知患者预约已经成功(或失败)。患者凭预约通知到诊所接受诊疗,然后付款。流程如图所示。注意我们在画高阶业务流程图的时候并不需要吧所有的分支都画出来,如预约失败的情况,只要把主要流程画出来即可。
我们还可以从应用层看服务是如何实现通过应用实现的。本例中患者需要通过APP预约,所以需要一个预约客户端。诊所需要通过后台软件进行预约管理、通知管理和支付管理。
图中,预约客户端和后台管理软件就是我们常说的应用程序。预约、通知、到店诊疗和支付是牙科诊所的业务流程,体现的是业务功能。
最后,我们还可以添加上相关的技术组件以展示一个完整的需求实现视图。在本例中,这些技术组件主要包括前端移动设备(也就是手机)和后台应用服务器。
图中,移动终端关联到到移动客户端,应用服务器官僚到后台管理软件。黄色是业务层,蓝色是应用层,绿色是技术层。
需要说明的是,建模是一个灵活度很高的工作,没有标准答案,图中的组件和关系都可以用其他方式替代,重点在于我们要表达的内容和细节是否足够让我们识别相关的问题。
本文用的是Archi建模软件,你也可以采用其他工具软件。
End
答疑请加我的微信号:149104196,备注“建模”。