企业模型业务框架(Business Framework)核心思想简介

来源:互联网 发布:淘宝盗图会被发现吗 编辑:程序博客网 时间:2024/05/17 03:59

第1章   企业模型业务框架(Business Framework)核心思想简介

 

1.1              业务框架(Business Framework)概述

人类的现实社会活动中,对于复杂事物的认识都是需要一个过程的,都是对这个事物按照各个点、各个部分、各个层次逐步进行了解,直到认识清楚,然后就总结基本规律,建立比较体系的科学理论基础。这样当社会活动中的其他成员需要解决同类事物问题时,现有的理论基础体系就可以提供强有力的解决思路、解决模式和指导方向,使其他更多的成员能够快速认识、认知和解决此类问题,以此带来整个人类社会的进步和发展。

一直以来,人类解决复杂事物的基本方法就是对其进行抽象和分层。对复杂事物进行抽象和分层必然会形成体系,所以体系可以说就是人类对复杂事物进行认识、认知、抽象和分层后得到的结果。

在企业信息管理系统软件开发这个领域,开发人员面对的大都是复杂系统,这些系统中的各个部分互相依赖、互相关联和互相作用,形成一个密不可分的复杂整体。因此,开发人员同样也需要体系,需要一个能够保证软件开发实施过程成功的理论体系,从目前来看,业务框架(Business Framework)体系可以说是一个比较适合的体系。

1.1.1          什么是业务框架体系

如何理解框架呢?简单来说,框架就是针对某种特定目标系统具有体系性的普遍性的问题,而提供的通用解决方案。框架往往是对复杂系统的一种共性的体系抽象,框架让我们能够正确、合理地理解、设计和构建复杂的系统。

比如,建筑学认为,所有的高楼大厦(复杂建筑),应该是由建筑结构、暖通系统、强电系统、弱电系统(监控系统、综合布线等)、给排水系统等构成(体现在建筑图、总平面图、综合管线、结构图、给排水、暖通、强电、弱电等图纸上)。这种建筑学的思想方案,就是建筑设计的“框架体系”。

业务框架体系,就是针对企业信息管理系统中具有体系性、普遍性的问题,而提供的通用的解决方案。更确切地说,业务架构体系,就是基于业务导向和驱动的架构来理解、分析、设计、构建、集成、扩展、运行和管理信息系统

比如,最简单地讲,业务框架体系认为,一个信息系统,必须由组织机构、业务流程、业务功能、业务信息、业务语义(业务数据)等层次构成。

 

1.1  建筑框架和业务框架的组成

1.1.2          为什么需要业务框架体系

为什么需要业务框架体系?其实,这和为什么需要建筑框架体系是同一个道理。简单地说,框架体系是为了帮助我们正确理解、设计一个复杂的系统,以确保我们最终可以成功构建出这种复杂系统。

最好的一个回答,可以借用G.Booch的一个著名的比喻:“开发一个复杂的软件系统和编写一个简单程序大不一样。其间的差别,如同建造一座大厦和搭一个狗窝的差别。”企业的信息系统,无疑也是相当复杂的系统,而复杂的系统的建立,有赖于合理的框架

框架体系对我们构建信息系统是至关重要的,软件框架在质量、进度、成本和风险方面具有极高的投资回报率。框架的重要性体现在两个方面,第一,框架出现产品生命周期的早期,第二,框架在产品的整体能力上占据了主导作用。合理的框架为软件系统生命周期的所有阶段——设计、开发、测试、集成和更改都奠定了关键的基础。相反,如果框架体系不当,就意味着系统存在巨大的体系性缺陷,并且无法通过细小的修补或调整得到更正,框架不当往往导致系统的彻底报废,或者需要系统的全部拆解重建。

1986年,弗雷德里克.布鲁克斯(Frederick P Brooks)在《没有银弹——软件工程的主要问题和次要问题》中提出了一个迄今为止尚未打破的一个著名论断:

“没有一种单纯的技术或管理上的进步,能够独立地承诺在10年内大幅度地提高软件的生产率、可靠性和简洁性”。

1.2  人月神话

在论证一论断时,弗雷德里克指出:所有软件活动包括根本任务——打造构成抽象软件实体的复杂概念结构;次要任务——使用编程语言表达这些抽象实体,在时间和空间内将它们影射成机器语言。从这一点观点出发,在对几乎现有所有的软件工程解决方案作了考察和评估后,弗雷德里克发现,现有所有方案全都在致力于解决软件工程中的次要问题,因此,无论这些方案多么完善,都不可能在根本上解决问题,因为,即使将全部次要任务的时间缩减到零,也不会带来生产率数量级上的提高。

当然,我们也不能保证业务框架体系就是软件业渴求以久的“银弹”,但我们至少可以肯定一点:业务框架体系是一个正确的方向,对于开发企业信息管理系统行之有效。

1.1.3          理解复杂系统和框架

如何理解和设计一个复杂的企事业机构信息系统?我们不妨来和“如何理解和设计一个高楼大厦?”这个问题进行类比:

1.          类比1

理解1:高楼大厦是由钢筋水泥砖块构成。是否可以这样理解和设计大楼?

理解2:业务软件是由数据和代码构成。是否可以这样理解和设计信息系统?

2.          类比2

理解1:高楼大厦是由一个个楼层,一个个房间构成。是否可以这样理解和设计大楼?

理解2:业务软件是由一个个模块,一个个对象构成。是否可以这样理解和设计信息系统?

3.          类比3

理解1:高楼大厦是由支撑框架、管道系统……等构成。(这是建筑框架体系的观点)

理解2 业务软件是由企事业的组织机构、业务流程……等构成。(这是业务框架的观点)

上面的类比,有助于我们更好的认知复杂系统。复杂系统的理解、设计和开发,普遍遵从层级理论的思路。诺贝尔奖获得者赫伯特 A. 西蒙曾论述到:“要构造一门关于复杂系统的比较正规的理论,有一条路就是求助于层级理论……复杂系统是层级结构的”。因此,架构体系往往就是一个由不同层级构成的体系。

1.1.4          复杂系统的构建和集成

在某种意义上,可以说,引入框架体系的一个最终目的,就是构建和集成一个复杂的系统。由于复杂系统往往是一个分层的体系结构,并且,每一层次的作用都是完全不同的。复杂系统的集成,就是要使体系中的各个层次能够互相配合而形成一个有机的整体。

比如,设计一个高楼大厦,并不是将一个个房间简单堆砌起来,而是要将建筑结构、暖通系统、强电系统、弱电系统(监控系统、综合布线等)、给排水系统等子系统集成起来。

因此,从本质上讲,复杂系统集成,不是一些功能类似的部件(或组件)的简单堆砌和拼接,而是功能不同的组成部分的复杂配合。

管理信息系统的构建和集成也是如此,我们不能将“组织机构管理”、“流程控制”和“订单管理”这三个完全不同层次上的构成部分简单堆砌起来。事实上,“订单管理”和其它业务模块需要共同依赖统一的“组织机构管理”和“流程控制”体系支持。

我们必须按照框架体系来定制部件和组件,并将其安装到合适的层次位置上,才能使系统有效运作和集成。复杂系统集成的关键,是基于框架(或体系)的集成,而不是基于部件(或组件)的集成。优秀的架构设计者都清楚一点,只有基于良好的框架,组件才会被有效集成和发挥应有的作用。

1.2              业务框架的模型体系

认识世界是改造世界的基础,其目的是为了改造世界。抽象与建模是人类认识世界和解决复杂问题所采用的基本方法之一。因此,在构建企业的信息管理系统时,也可以对企业进行抽象,建立企业模型,然后分部分、分层次地解决企业中的各种复杂问题。

企业是非常复杂的社会、经济、物理系统,一般不可能用一个模型全面描述清楚,因此企业的业务模型一个显著特点是通常由一组模型组成,每个子模型完成企业某一个局部特性的描述,按照一定的约束和连接关系将所有的子模型组成在一起构成整个企业的业务模型。

1.2.1          什么是业务框架的模型体系

    模型是人们为了研究和解决客观世界中存在的种种问题,对客观事物经过思维抽象后,使用文字、符号、关系式、以及实体模样描述的一种简化表示形式。简单地说,模型就是所描述的客观对象的抽象表示。模型为企业信息化系统提供了一个参考性的框架体系,模型是框架体系直接关联和使用的理论体系。

从概念上来说,模型具有如下特征:

l         模型是一个体系

l         这个体系由若干个层次和部分构成

l         每个层次和组成部分都包含特定类型的元素

l         每个层次、部分及元素,都有其特定的目标、能力和特性

l         各个层次、部分及元素之间,必须遵循一定的协作模式

业务框架模型体系是从企业信息化的需要出发,针对企业的业务和管理所做的一种抽象和简化。是为了了解企业而经过抽象得到的对于企业某个或者某些方面进行的描述。

由于企业是非常复杂的系统,一般不可能用一个模型描述清楚,因此业务模型体系由一组子模型组成,每个子模型完成企业某一个局部特性的描述,按照一定的约束和连接关系将所有的子模型组成在一起构成整个业务模型。

业务框架模型体系定义了信息系统的组织方式、构成系统的模型元素和他们的接口的选择,以及由这些模型元素之间的协作所描述的行为;这些结构元素和行为元素如何进一步组成较大的子系统,以及指导这种组织(这些元素和它们的接口、协作和组合)的结构风格。

业务框架模型体系不仅关注结构和行为,也关注使用关系、功能性、性能、弹性、复用、可理解性、经济和技术约束与折衷等。

业务框架模型也常常被称为企业模型。

1.2.2          对管理的理解

从根本上来讲,企业业务管理的基本任务就是,从客户需求开始,实现客户满意。围绕这一目标,企业展开一系列的活动,我们可以将企业的业务和管理加以归纳和简化。简单来说,企业业务和管理是由一系列的要素构成,这些基本要素如下图所示。

 

1.3  企业管理要素及其在业务模型中的位置

    企业一般都包含以下几个要素,即:WhatHowWhenWhoHow muchWhereWhat主要说明企业是做什么的,企业完成哪些操作,处理什么对象;How定义了企业的行为,即企业完成这些操作的方式和过程;When说明时间,是企业的一个重要因数,同样When还表明企业是一个动态变化的系统;Who说明完成企业功能所需要的资源,即由谁或者什么设备完成企业操作;How much反映了企业的经济特性,说明企业的成本组成、效益等问题;Where是完成企业功能的地点,在哪里完成的。

    图1.3中可以看出,企业要素中的What反应在产品信息上;How反应在流程和功能;When反应在时间和事件;Who反应在组织的人员上;Where最终也反应在组织上。

1.2.3          业务框架模型体系的内容

依据上述两节中的基本理解,业务框架模型体系是从企业信息化的需要出发,针对企业的业务和管理所做的一种抽象和简化。但是,由于管理本身的复杂性以及其他一些原因,迄今为止,业务模型尚未形成标准。业内存在多种业务模型,每一种业务模型之间,都有自身的特点。我们对这些模型进行了综合考虑,抽象出如下图所示的业务模型:

 

1.4  业务框架的模型层次结构图

此业务模型包含业务要素层次和业务层次关联两个部分,下面分别对它们进行介绍。

1.          业务要素层次

此业务模型体系首先描述了企业各个业务要素层次,它将企业要素抽象为以下5个主要的要素层次:

1)   数据层

数据层是整个业务模型体系的基础层,负责将物理数据库映射到业务模型中,为业务模型的其他更高层次提供存取访问数据的统一接口。它对各种不同类型的数据库进行抽取,封装了一套统一的虚拟数据存取访问接口,屏蔽掉各种数据库之间存在的差异,使整个业务模型对数据的存取访问和具体的物理数据库无关,即可以构建和迁移到任意的数据库之上。

2)   信息层

信息是对数据的合理组织。它是企业进行事物处理,实现业务功能的基础。信息可能以不同的格式存储在不同的系统中,一种信息可能以几种不同的方式存储在几个不同的系统中。可以这样认为,信息层就是整个业务模型体系中数据的组织、定义、操作和表现层。

信息层通过数据层从物理数据库中获取数据,并且根据实际应用对这些数据进行组织,定义企业具体功能活动执行过程中的输入、输出数据以及这些数据之间的逻辑关系。然后,通过数据网格、表格、图表、决策立方等各种表现形式丰富多样的文档表现数据,以不同的视图来观察数据。

信息层主要构建于数据层之上,又为功能层的形成提供了基础,它是数据层和功能层之间的衔接层。

3)   功能层

功能层是业务模型体系中的重要组成部分,也是在软件设计开发过程中建立的重要资源。功能的主要目的就是描述企业功能,即什么企业中需要完成的工作或者任务是什么,或者说功能说明了企业的目标是通过哪些具体的功能活动来实现的。功能和信息密不可分,这两个层次相辅相成。功能确定了企业业务功能的逻辑结构和相互关系。信息则说明企业处理的业务功能活动中所包含的信息,或者说执行具体功能活动的输入、输出数据以及这些数据之间的逻辑关系,提供了建立高可效的企业业务数据结构的基础。

在整个业务模型层次中,功能具有承上启下的桥梁和枢纽作用。功能层构建于信息层之上,是信息层的直接调度和控制层,在更高的层次对信息中的数据和表现进行最直接的控制,这两个层次相辅相成,密不可分。另外,功能层还为组织层功能权限的分配提供了基础,更是流程层中流程的主要组成部分,组成流程中的流程环节。

4)   组织层

组织层关心的是企业组织机构的设计与建立。企业的组织结构是由一系列层次化的组织单元构成,每一个组织单元属于某一个层次,对其下一层次的组织单元具有管理职责与权限,并对上一层次的组织单元负责,从而形成企业的组织结构树。组织结构树中的每一个节点定义了对底层节点的约束和目标。总体来说,组织层以职责、权限的形式定义了企业成员、企业的各个部门的作用与任务。

组织层和功能层之间的关系十分密切,功能最终要分配到组织中的组织单元上,形成功能权限。 另外,组织层还会参与流程层中的流程控制,由具体的组织单元控制流程的流转情况。

5)   流程层

企业的业务流程(经营过程)是企业开展业务工作的基础,也是企业经验的积累,业务流程中不同活动环节之间的连接与执行规则是企业管理与产品开发经验的积累,也是企业文化的重要组成部分。企业的经营过程由一系列任务组成。这些任务按照企业的管理规章和业务流程顺序或并行执行,最终完成企业的经营目标,如提供一种产品和服务。一个经营过程是为了实现企业某个经营目标的一个过程,它在部分或者全部组织机构和人员的参与下,利用企业资源(包括所需的处理设备、通信设备、计算机硬件、软件等),按照预先确定的规则,在参与者和组织机构之间进行文档、信息、任务的传递和处理(包括经营决策),从而实现预定的经营目标。

流程层构建于功能层和组织层之上,由功能层上业务功能组成业务流程,可以在流程中定义各个功能环节之间的规则。而流程的执行和运转则由组织层中的人员成员或其他组织单元负责完成。

2.          业务层次及对象关联

业务模型中的各个业务层次和对象不是孤立的,它们之间有着本质的联系。图1.5是一个实际应用中的简单订单系统,我们可以清晰的看出这个订单系统中的各个部分如何应用到业务模型各层次中,以及各部分如何在业务模型中配合完成订单任务。

 

1.5  业务模型中的实际应用示例

从图中我们看出:

1)   “销售数据库”和“生产数据库”是两个物理数据库,它们属于数据层,分别存储了该企业的销售数据和生产数据;

2)   “客户信息”、“订单信息”、和“生产信息”是业务信息,属于信息层,它们的数据从数据层中得到,具体为:“客户信息”、“订单信息”的数据从“销售数据库”得到,“生产信息”的数据从“生产数据库”得到;

3)   “收到订单”、“收取预付款”、“规划生产”、这七个是业务功能,它们属于功能层,反应了企业的经营活动。同时,它们也属于流程层,根据执行顺序和规则、条件的不同,和“确认订单”、“订单已确认并发出”、“预付款收到”、“生产计划已编制”一起组成了一个业务流程,反应了企业经营活动过程中功能之间的关系。我们还可以看出,业务功能是由业务信息得到的,或者说是在业务信息的基础上构建的,具体为:“确认订单”由“客户信息”和“订单信息”得到,“收取预付款”由“订单信息”得到,“规划生产”由“生产信息”得到。

4)   最后是组织机构中的两个部门:“销售部门”和“生产部门”,它们属于组织层,可以对业务功能进行权限分配,即:“确认订单”功能由“销售部门”执行,“规划生成”功能由“生成部门”执行。另外,它们还能对流程中功能环节的执行进行控制,具体为:“销售部门”控制“确认订单”,“生产部门”控制“规划生产”。