主要内容:

1.企业构架框架(Enterprise Architecture Framework

2.项目与框架矩阵(Project and Framework Matrices

3.知识库

4.插件

5.文档

6. 模型

1.企业构架框架(EnterpriseArchitecture Framework

为了说明框架矩阵的概念,我们得从企业构架框架Enterprise ArchitectureFramework)说起,也是从EAF的研究,PowerDesigner才建立了其通用的框架矩阵机制。

企业构架(Enterprise Architecture,以下简称EA)在企业为了提高竞争力,希望完善自己的企业架构的背景和需求之下,PowerDesigner15加入了全新的企业构架模型(EnterpriseArchitecture Model)。

框架(Framework)这个词,从字面上理解,它是一种对某些事物提供基础支持的结构,用于规范和简化一个复杂的实体或过程。

那么在EA的上下文中,何又谓之框架(Framework)呢?查看框架的定义,我们发现了这样几个关键词:框架性的支持skeletal support),简化simplify complexity),模型model)。企业构架框架提供了一个逻辑的结构,用来定义EA 的范围,分解和简化,对生成EA的各种产品(比如文档、报告、模型等等)提供指导,并对它们进行组织和维护。

以下是企业构架框架为构建EA提供的两个主要的帮助:

}定义EA的范围,并降低企业为构建EA的花费的努力

}分类和管理EA的各种产品,为其最终用户提供一个规范有序的访问途径。

利用工程和框架矩阵建模的过程,也就变成由框架设计者定义好框架和工程的模板,再由不同的人员在框架的指导下完成建模。提供通用的机制,给用户定制和扩展到权力,并对用户分类,仅为部分用户暴露那些复杂的特性这一思想,也越来越多的体现在PowerDesigner的设计中。

Power Design 15通过引入框架矩阵(FrameworkMatrix)机制,提供了对建模方法学的支持,这也表明,Power Designer作为一个有着悠久历史的工具产品,正在向着更新的层次发展。

2.项目与框架矩阵(Project and FrameworkMatrices

2.1什么是项目/工程

您可以将实现共同目标的一组模型,或者其它任何格式的文档放进一个工程里,并作为一个整体,存放到知识库(Repository)里。这是Power Designer用户手册里关于项目的描述。

从容器的角度来说,似乎Power Designer之前的版本已经支持了诸如工作区(Workspace)和文件夹(Folder)的功能,那么为什么还需要工程呢?

对于复杂的建模任务,只有容器的功能似乎略显单薄,我们还需要更多便于查看、维护、共享甚至是引导等等功能。当然如果在未来出现了更为复杂的需求或用例,也必须有升级和扩展的空间。

工程主要的特性:

}支持视图(Diagram):工程支持两种视图,一种叫工程视图(Project Diagram),用来展示模型和文档之间的关系;另一种叫框架矩阵(Framework Matrix),作为一种框架(Framework)来指导工程的建立,以及对工程进行有效的观察和维护。

}方便管理和共享:对于团队协作来说,知识库(Repository)是很重要的手段。在PowerDesigner中虽然可以批量处理文件夹内的一组模型,但单个模型仍然是知识库的管理单元;而工程可以真正作为一个整体存在。

}比较与合并(Compare& Merge):可以利用PowerDesigner现有的框架对工程进行细粒度的比较与合并,不仅在版本管理中必不可少,也会在一些特定的场合中体现出它的价值。


}生成报告(Reporting):报告是视图的延伸,也是Power Designer的延伸,以文档的形式呈现,对于特别是像工程这样关注大局的模型来说,也更加的重要。

工程的逻辑结构

105800985.gif

工程在逻辑上可以管理任意物理位置的模型文件和文档,但工程直接管理的只是和工程文件(PRJ文件)处于同一级或更下级的文件夹中的文档;外部的文档只作为快捷方式(Shortcut)来引用。这一区别可以从文档的图标上看出来,外部文档的图标左下角有一个小的箭头符号。

在上传到知识库(Repository)中的时候,工程内部的文件也会被同时上传,而外部文件则需要额外的维护。

Power Designer 15中,模型之间关联关系主要有以下三种:

}生成(Generation):由一个模型生成另一个模型,是Power Designer的一个常见的用例,比如可以通过一个概念数据模型(CDM)生成一个物理数据模型(PMD)。

}映射(Mapping):数据关系映射应该是一个典型的例子,比如数据模型(CDM)中的实体可以和面向对象模型(OOM)中的类进行映射。

}引用(Reference):一个模型中的引用或者复制(Replicate)另一个模型中的对象,那么他们就存在引用的关系。

通过扩展链接(ExtendedLink),您也可以为模型建立任意的逻辑上的关系,当然,Power Designer框架是无法自动根据这些逻辑关系对模型进行处理或更新的。

2.2什么是框架矩阵

Power Designer是一种建模工具,它提供了企业构架建模(EA Modeling)的支持,同时,它也提供了另一种方法论上的支持,那就是对框架(Framework)的支持,这就是工程中框架矩阵(Framework Matrix)。通过它,可以指导EA的各种产品的构建,并且对他们进行管理和维护。

定义往往过于抽象,下面我们就来看一个实际中框架的例子,来了解PowerDesigner中的框架矩阵。

Power Designer 15预定义了一个叫FEAF的工程模板,这个模板的默认视图就是一个框架矩阵

FEAFFederal EnterpriseArchitecture Framework)是工业中众多EA框架标准中的一种,由Chief Information OfficersCIOCouncil发布。

Power DesignerFEAF框架矩阵,正是根据FEAF第四级(Level IV)来定义的。它以一个二维的表格作为框架的结构。其中:

4是关注的视角(Perspective),比如策划者视角(Planner’s View),设计者视角(Designer’s View)等等

4是关注的焦点(Focus),比如数据构架(What),应用构架(How)和技术构架(Where

4单元格就是在相应的视角和焦点下的模型或文档,比如在设计者和数据的角度,我们需要的是逻辑数据模型(Logical Data Model

根据框架的定义,我们要创建各个单元所需要的模型或文档,也可以在这个视图上查看和管理已有的文档,并显示工作的进度。

不同的单元格所需要的模型或文档类型是不同的,这就是框架提供的支持,在Power Designer的检查(Check Project)机制中,可以对框架内容作检查,对违反框架定义的内容进行提示,比如缺少模型或类型不符等等。

作为一种通用的工具,Power Designer提供的不仅是某些特定的框架支持,而是一种通用的机制的。有了这套机制,用户则可以完全根据实际情况,量身定制一套框架,应用于不同的工程,比如数据建模或者UML建模等等。

4项目可以对模型以及各类文档进行分组

4项目可以包含一个或多个图(diagram),从而体现各个模型以及各类文档之间的联系

4项目也可以包含框架矩阵,以表格化的形式体现各个模型之间的关系

2.3 Power Designer的框架矩阵机制

框架的设计,需要在框架设计模式(Framework Design Mode)下进行,这需要当前的Power Designer用户拥有这个权限(可以工具(Tools>应用用户档案(Apply User Profile)中选择“Authorize Framework Design”)。

在拥有了设计权限,并在工具菜单中选择框架设计模式以后,我们才能够新建或编辑自己的框架矩阵。新建的矩阵默认为一行一列,在设计模式下,矩阵的左上角度部分会显示这样的图标:105916446.gif

105952570.jpg


l模型(Model):Power Designer中所支持的模型,比如CDMOOM等;

l视图(Diagram):Power Designer模型中的各种视图,比如概念数据视图(Conceptual Data Diagram)、类图(Class Diagram)等等;

l列表(List):Power Designer中一类对象的集合,比如一组实体(Entity)对象或一组类(Class)对象等等;

l生成(Generation):通过生成的方式建立模型,需要指定源模型和所生成模型的类型,比如指定矩阵中某个单元格中的概念数据模型(CDM),并生成物理数据模型(PDM);

l文件(File):通过指定一个文件类型和该类型的模板,可以创建任意的文件;

l关联矩阵(Dependency Matrix):这也是Power Designer 15的新特性之一,也是以表格的形式来查看两个对象之间,是否设置了某种关系,这个关系可以是一个集合(Collection)或者是两个对象间的链接(Link)。

2.4创建FEAF框架矩阵

1.选择File→New Project菜单项

2.Project type(项目类型)中选择Frameworks\FEAFProject

a)输入项目名称

b)选择存放位置

c)点击“OK”按钮

110021760.png

2.5定义Business Objects

1.单击Planner’sView行,WhatList ofBusiness Objects(业务对象列表)网格的图标

2.在打开的List ofBusiness Objects窗口单击New Document按钮

3.在打开的Select anObject窗口选择<New Model>

110048931.png

4.点击Add a row(增加行)图标,在列表中增加一个实体,名称设为出版社,代码设为“PUBLISHER”

5.点击“OK”按钮返回List of Business Objects窗口,将Status进度栏拖拽至10%位置,表示业务对象设计进度已经达到10%了,将生成的CDM名称改为CDM_BO,如上图所示。此时,在项目框架矩阵中业务对象列表网格右上角会同步显示出模型设计进度。点击窗口关闭按钮返回到FEAF项目工作区。

2.6定义Semantic Model

1.单击Owner’sView行,WhatSemanticModel(语义模型)网格的图标

2.在打开的SemanticModel窗口单击New Document按钮,在下列菜单中选择Generate from List of BO

3.在打开的Select an Object窗口选择List of Business ObjectsCDM_BO (CDM_BO是上一步(定义Business Objects)中定义的CDM名称)

110116147.png

4.点击确定按钮,返回到CDM Generation Options窗口,在名称中输入“CDM_Semantic”,点击确定按钮,打开CDM设计窗口。

110134726.png

5.展开左侧Browser窗口,注意在Business Objects中定义的实体已经自动同步到Semantic CDM中了,鼠标点中出版社实体,按下鼠标左键将出版社实体拖入CDM图中

6.CDM_Semantic中,设计人员可以进行细节的CDM设计,并通过Tools→GenerateConceptual Data Model菜单项逆向更新CDM_BOCDM_BO中的更新也可以通过Tools→GenerateConceptual Data Model菜单项更新到CDM_Semantic

2.7定义Logical Data Model

1.单击Designer’sView行,WhatLogicalData Model(逻辑数据模型)网格的图标

2.在打开的LogicalData Model窗口中单击New Document按钮,在下列菜单中选择Generate from List of Semantic Model

3.在打开的Select an Object窗口选择Semantic ModelCDM_ Semantic(CDM_ Semantic是上一步(定义SemanticModel)中定义的CDM名称)

110155586.png

4.点击确定按钮,返回到LDM Generation Options窗口,在名称中输入“LDM_Demo”,点击确定按钮,打开LDM设计窗口。

5.LogicalData Model中,设计人员可以进行信息系统的逻辑设计,并通过Tools→GenerateConceptual Data Model菜单项逆向更新CDM_Semantic

3.知识库(Repository

ThePowerDesigner repository is a tool for storing versioned documents. A documentcan be a model, a multi-model report, or any other kind of file.The repositoryis installed as a database on a server, and is accessed by PowerDesigner usersfrom their client workstations either directly through an ODBC or otherconnection, or via the repository proxy.

PowerDesigner的知识库是一个用来存储文档版本的工具。这里的文档可以是一个模型,一个多模型报告,或任何其他类型的文件。知识库作为数据库安装在服务器上,用户客户端直接通过ODBC等连接,或通过知识库代理访问PowerDesigner

Repository有三大功能:

元模型管理—能在一个位置上存储、管理和版本化PowerDesigner模型,以及其他类型的文档,同时全面的权限管理模型,能控制用户对模型的访问和可视化。

跨模型的冲突分析—知识库能为跨企业的冲突分析提供和维护完整的存储和跨模型的依赖关系。

软件资产管理—查找和重用跨越所有模型和项目的对象。

安全—基于角色的安全机制,同时伴有记录日志的功能。

4.插件(Addins& Plug-in

4Executable programsVB scripts添加到菜单栏

4eclipse插件

5.文档(Report

将各种模型生成相关的RTFHTML格式的文档,可以自定义文档生成项,设置文档格式。

限于篇幅,在视频教程中有详细介绍。

6.模型(Model

参见第五课时。


博文不过瘾?PowerDesigner15系列视频教程>>>