在线ArchiMate1.0中对ArchiMate进行了详细的介绍,想学习的一些同事不太喜欢看英文资料,而年后项目组要开始做业务架构了,所以在春节前最后一天把对业务层的介绍写完。以下我将会分别对不同层的概念进行介绍,英文好的可以直接通过在线ArchiMate1.0去看。
在架构语言ArchiMate - 语言结构(Language Structure)中对语言结构进行了介绍,最后列出下面的ArchiMate框架图:业务、应用和技术三个层次(Layer),对象、行为和主体三个方面(Aspect),本篇介绍一下ArchiMate在业务层的概念、描述和图例。
业务层总体说明
概念 |
描述 |
图例 |
业务参与者 |
一个有能力执行行为的组织实体 |
|
业务角色 |
执行特定行为的一个组织分工 |
|
业务协作角色 |
两个或多个角色(临时)组成的一个协作角色 |
|
业务接口 |
业务角色与系统的连接方式 |
|
业务对象 |
一个信息单元 |
|
业务流程 |
表示包含更多小流程/功能的一个工作流或者价值链,一般有一个或多个清晰的开始和结束。 |
|
业务功能 |
提供对一个或多个业务流程有用的功能。它是基于行为来分组的,如需要的技能、能力、资源等,有时叫它为业务能力(business capability),业务功能由单一角色来执行。 |
|
业务交互 |
由两个或多个角色交互的行为单元 |
|
业务事件 |
触发流程发生的事件 |
|
业务服务 |
外部可见得功能单元 |
|
展现 |
业务对象承载的信息的被理解的方式 |
|
含义 |
在特定环境下业务对象展现的意义 | |
价值 |
为产品或服务增值的地方 |
|
产品 |
具有契约、协议的一套提供给客户的服务集合。 | |
契约 |
正式或非正式的协议,规定产品关联的责任和义务 |
业务层元模型(Business Layer Metamodel)
下图为业务层的元模型,左边绿色为对象,中间黄色为行为,右边为主体。它们分别属于不同的概念(结构概念、行为概念和信息概念)之下,下面会对这些概念分别进行详细介绍。
结构概念(Structural Concepts)
- Active Subject(主体):执行业务流程和功能的参与者或角色(业务角色(Role)可以是一个人(Actor),也可以是一组人(Collaboration)和机构单元)和接口(同样的一个服务可以使用不同的接口,如mail, 电话或者网络等)
- Passive Objects(对象): 贝业务流程和功能使用的对象(领域内的重要概念)以及相关静态信息。
业务参与者(Business Actor)
业务参与者是有能力执行行为的一个组织实体,它的名称应该为一个名词。业务参与者有人,部门或者业务单元,一个业务参与者属于一个或多个角色来执行行为。
- 图例
- 示例
ArchiSurance公司由两个部门组成,行李保险部门和旅行保险部门。旅行保险部门属于旅行保险销售员角色,这个角色可以执行邀请保险流程。这个流程提供了一个可以由接口来访问的一个服务(提供旅游保险服务)。
业务角色(Business Role)
执行特定行为的一个组织分工,它的名称应该为一个名词。
业务角色根据责任和技能来执行或使用业务流程或业务功能,一个业务参与者属于业务角色来执行相应的行为。
- 图例
- 示例
行李保险销售员和旅行保险销售员两个业务角色合为一个协作角色来使用一个合并保险销售服务
业务协作角色(Business Collaboration)
两个或多个角色(临时)组成的一个协作角色,它的名称应该为一个名词或者不命名。
协作只是用在一个特定的交互关联的角色上,不像多个角色组成的部门一样,业务协作没有一个永久的状态,我们可以把业务协作看成是一个“虚拟角色”,它由多个业务角色组成,执行一个或多个业务交互(business interaction)。
- 图例
- 示例
销售一个保险产品时经常要涉及到销售部门和特定保险类型的部门协作
业务接口(Business Interface)
业务角色与系统的连接方式,它的名称应该为一个名词。
业务接口表明一个业务服务的环境暴露方式,同一个业务服务可以使用不同接口样式,如email、网络等。业务接口可以被业务角色使用来调用服务。
- 图例
- 示例
行李保险销售员通过Webform来调用行李报销销售服务,医疗保险和行李保险的协作角色通过call center来调用组合保险销售服务
业务对象(Business Object)
一个信息单元,它的名称应该为一个名词。
业务对象是领域中重要的信息或者概念元素,业务对象不能触发和执行流程。业务流程、功能、业务交互、业务事件和业务服务可以访问(生成、读取、写)业务对象。业务对象有关联、聚合、实现等关系。业务对象可以通过一个展现(representation )或一个应用层的数据对象(data object)来实现。
本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/518605,如需转载请自行联系原作者