企业架构与IT战略规划设计教程
上QQ阅读APP看书,第一时间看更新

3.5 数据模型

3.5.1 什么是数据模型

数据模型是指用实体、属性及其关系对企业运营和管理过程中涉及的所有业务概念和逻辑规则进行统一定义、命名和编码。数据模型是业务人员、IT人员和开发商之间进行沟通的一套语言。

3.5.2 数据模型分类

数据模型分为概念数据模型、逻辑数据模型和物理数据模型,如图3-11所示。

图3-11 数据模型

概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。

逻辑模型主要包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型等。它是按计算机系统的观点对数据建模,主要用于DBMS的实现。

物理模型是对数据最低层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。

数据模型是数据库系统的核心和基础,如表3-16和图3-12所示。各种机器上实现的DBMS软件都是基于某种数据模型或者说是支持某种数据模型的。

表3-16 数据库设计过程中的各级模式

图3-12 某工厂物资管理E-R图

3.5.3 企业数据模型

不同于书本和培训课程中所提的单例模式,真正的企业具有非常复杂的数据架构。大多数数据将会存于大型遗留或包系统中,数据结构的细节对于这些系统来说可能是不可见的。其他数据将存于电子表格和个人数据库(如Microsoft Access)中,且可能对于IT部门或高级业务数据管理员来说是不可见的。一些关键数据可能存于由服务供应商或业务合作伙伴维系的外部系统中。

1.企业数据模型是改进企业运营和数据系统的重要基础

利用成熟的模型可以在数据建模中避免设计缺陷和不足,同时在系统集成中提供标准,规范数据接口。

2.企业数据模型是一个关于整个企业需要数据的完整模型

它包含了整个企业所有IT系统的业务实体、业务实体属性和业务实体间的关系,综合展现数据的定义以及数据之间的关系,并对新的数据要求具有良好的扩展性和包容性。中国企业数据模型并不直接针对任何系统,它是对所有数据的一个整理和规范。

3.企业数据模型不是一个单一的数据模型,而是一套数据模型体系

不同层次的复杂的数据需求需要通过不同层次的企业数据模型进行定义和规范。数据模型体系可以从两个维度来进行描述:一是从数据模型性质来看,该企业数据模型应该是概念数据模型、逻辑数据模型还是物理数据模型;二是从企业组织架构来看,该企业数据模型应该是企业级还是系统级,如图3-13所示。

图3-13 数据模型分类设计

3.5.4 案例分析:某通信公司数据模型实例

企业级概念数据模型实例如图3-14所示,包括客户域、产品域、市场营销域、合作伙伴域、服务域、资源域等6个域。

图3-14 数据概念模型设计

图3-14 数据概念模型设计(续)

图3-14 数据概念模型设计(续)

图3-14 数据概念模型设计(续)

3.5.5 常用数据建模工具

以下是几种常用建模工具核心对比。

1.适用范围

ROSE:需求分析,详细设计,软件框架生成(C++、Java、ANSI SQL、Oracle)。

ERWIN:详细设计,软件框架生成(C++、Java、Delphi、VB、ANSI SQL、Oracle、Sybase、DB2、MS SQL、SQL Anywhere、Informix、Ingress、Rdb、Progress)。

BPWin:总体设计。

Oracle Designer/2000:总体设计,详细设计,软件框架生成(ANSI SQL、Oracle)。

PowerDesigner:总体设计,详细设计,软件框架生成(ANSI SQL、Oracle、Sybase、SQL Anywhere)。

2.建模方法学

ROSE:一体化建模语言UML(Unified Modeling Language)。

ERWIN:信息建模方法,IDEF1x(E-R图的代表作)。

BPWin:功能建模方法,IDEF0(数据流图的代表作)。

Oracle Designer/2000:功能建模方法,数据流图;信息建模方法,E-R图。方法未集成。

PowerDesigner:功能建模方法,数据流图;信息建模方法,E-R图。方法未集成。

3.建模内容

ROSE:object ciagram, class diagram, deploy diagram, state diagram, collaboration, diagram, activity diagram, use-case diagram, sequence diagram。

ERWIN:IDEF1x图。

BPWin:node tree, IDEF0图。

Oracle Designer/2000:数据流图。

PowerDesigner:数据流图。

3.5.6 案例分析:使用PowerDesigner 15企业架构建模

PowerDesigner 15提供的企业架构模型从业务层、信息层、应用层以及技术层的角度对一个企业的体系架构进行了全方面的描述,包括业务流程、信息系统、人员和业务等单元的结构及行为,以确保各单元能够符合企业的战略发展方向。

下面以银行的业务环境为例,简单介绍PowerDesigner 15的企业架构模型如何以自上而下的建模方式,实现业务和IT间的看齐。

首先,从业务需求出发,设计各项银行业务的流程。银行有一个业务流程用来处理付款、外币兑换和抵押,另一个业务流程处理贷款,第三个业务流程处理进出口业务,例如信用证(Letter of Credit)和托收,还用一个业务流程处理授权、会计、报告以及风险管理。使用PowerDesigner 15的企业架构模型中的城市规划图(City Planning Diagram),每一个业务流程可以看作一个架构区(architecture area)。

确定好业务流程后就可以确定主要的业务功能模块(business function)。不同的业务有不同的流程,但也会共享业务功能模块,例如会计和授权功能也会在进出口和贷款业务中被使用。业务功能模块可以在不同的业务流程中被重用和重组,以达到业务的灵活和敏捷性。另外,还可以定义各个功能模块间的依赖关系,例如授权可能会依赖于风险管理的功能,信用证功能也将使用由会计和付款提供的服务,而付款则会使用会计和授权的功能,如图3-15所示。

图3-15 数据业务流程

确定了这些业务功能模块后,还需要定义这些模块中使用的数据模型。PowerDesigner 15同样支持信息层建模,可以使用PowerDesigner 15中的数据模型(CDM、PDM、LDM)以及XML模型设计数据定义以及数据规范。在这个例子中,在不同的业务流程中,账户和客户是相同的,这两个数据实体可以用两个数据库(database)表示,被多个业务流程共享。同时,将数据库关联到具体的数据模型上,在账户数据库的源模型选项卡中指定具体的数据模型。

确定了业务层和信息层后,需要对应用层建模,例如对企业中应用程序架构、组件结构、服务调用关系以及具体类、接口、实例关系建模。我们已经做好了基本的功能划分,这也为业务与IT间的看齐打下了基础。针对不同的业务功能模块的特点,采用最合适的应用程序、组件结构。可以使用PowerDesigner 15的企业架构模型中的应用程序架构图(Application Architecture Diagram)、服务导向图(Service Oriented Diagram)以及面向对象模型(Object Oriented Diagram)来描述。图3-16给出了针对业务功能模块的应用程序架构图。

图3-16 应用程序架构图

在应用层的基础上,可以使用PowerDesigner 15企业架构模型中的技术框架图对硬件、网络、操作系统、应用服务器以及其拓扑结构进行描述,也就是技术层的建模。这里我们关注业务与IT的关系,不详细描述。

在企业架构中,也需要有一个管理团队来管理不同的范畴:全局业务和战略范畴、信息系统范畴和项目范畴。企业架构模型中可以针对不同的管理范畴定义不同的角色(role),例如业务管理、信息管理、项目管理。业务管理角色管理业务范畴,可以在进出口业务的角色选项卡中指定管理角色;信息管理角色管理信息范畴,可以在数据库的角色选项卡中指定信息管理角色。

以上的案例简单展示了用PowerDesigner 15的企业架构模型进行自上而下的建模,实现业务与IT的看齐。案例中的业务流程、功能模块以及应用程序、结构组件都可以进一步分解和细化,以达到企业架构更详细的描述和评估,从而满足各种角色在企业架构建模中的需求。