前页 后页

创建一个NIEM IEPD

Enterprise Architect的针对NIEM的MDG技术提供了基本的IEPD模型,您可以以此为基础构建自己的IEPD模型。

您可以使用模型向导将IEPD入门模型添加到项目中。

该图显示了“模型向导”中的IEPD入门模型模式。

本主题概述了在Enterprise Architect创建新的NIEM IEPD模型并从该模型生成IEPD所需的步骤。

创建NIEM IEPD模型并生成NIEM IEPD

脚步

描述

也可以看看

创建一个新的Enterprise Architect项目

启动Enterprise Architect并创建一个新项目。

通过按“ Ctrl + Shift + M”打开“模型向导”窗口。

单击“模型模式”页面,然后滚动以找到透视图“ NIEM 3和4”。

您的NIEM项目必须包含NIEM MPD类型和至少一种NIEM参考模型,这一点至关重要。

选择“ NIEM 4.0参考模型”以及“ NIEM MPD类型”。

单击“创建模式”按钮,将所选模型下载并导入到您的项目中。

在“模型向导”中还可以使用基本NIEM IEPD的模型模式。这是您NIEM项目的起点。

(可选)选择NIEM 4 IEPD入门模型,然后单击“创建模式”。

创建一个IEPD模型

如果您选择在上一步中不包括IEPD模型,则可以立即创建自己的模型。

在浏览器窗口中,创建一个新的Package或(查看节点)以保存IEPD模型。

在新程序包中,创建一个NIEM MPD图。

您可以将NIEM MPD Types包中可用的类型的实例拖到MPD图上,然后将它们添加到图(和IEPD模型)中。

使用浏览器窗口找到所需的类类型,然后在将元素拖到图表上的位置时按Ctrl。系统提示您选择一个动作;要么:

  • 在图上放置指向类的链接,或者
  • 创建并添加新的Class实例规范
对于MPD模型,通常将使用对象实例。

首先,创建ModelPackageDescription类的对象实例。 (您很快就会看到,您需要一个ModelPackageDescription实例来驱动MPD的生成。)

定制模型

无论是选择下载IEPD入门模型,还是通过从“浏览器”窗口中拖动实例来创建自己的IEPD模型,都必须为对象实例的属性设置与所创建的模型相适应的值。这是通过设置IEPD模型中使用的各种对象实例的运行状态属性来实现的。

软件包“ NIEM MDP类型”包含“模型软件包描述”类的定义,以及许多其他类。这些其他类称为“模型包描述”类的属性的分类器。可以在“ NIEM-UML模型软件包说明”图上查看此软件包中定义的各个类之间的关系。

“模型包描述”类具有许多简单字符串类型的属性,以及一些按“ NIEM MDP类型”包中定义的类型分类的属性。

在“模型包描述”对象中为简单类型的属性设置运行状态值时,可以使用“设置运行状态”命令。可以通过右键单击图上的“对象”,然后选择“功能|功能”来访问它。设置运行状态...”(或通过按Ctrl + Shift + R键)。

如果属性引用其他类作为其类型,则不能简单地输入运行状态值。

Enterprise Architect支持两种为这些属性指定值的方法,每种方法都需要创建所引用类的Object实例。

您应该创建与该属性对应的类型的Object实例,然后在两个对象之间创建一个关联并为要设置的属性设置角色名称,或者将该对象作为子对象嵌套在要设置其属性的对象中,然后使用要设置的属性的名称来命名子对象。关联对象时,对象的名称并不重要,但是角色名称必须与要设置的属性的名称匹配。

例如,您可以创建类型为IEPConformanceTargetType的Object实例,并将其嵌套在Model Package Description对象中。在这种情况下,子对象必须被命名为“ IEPConformanceTarget”,以与类定义中该名称的属性相对应。通过检查“浏览器”窗口中显示的层次结构,确保子对象确实嵌套在父对象中。

如果在关联上使用角色名称,则将“属性”对象创建为单独的(非嵌套)对象实例,然后创建从“所有者”到“对象”的关联,最后为目标对象指定角色名称。例如,创建从模型包描述对象到IEPConformanceTargetType的对象实例的关联。打开关联的“属性”对话框,并将目标的角色命名为“ IEPConformanceTarget”,以与“模型包描述”类中的属性名称相对应。同样,在这种情况下,对象本身的名称并不重要,它甚至可以是匿名的,但是角色名称必须与您要为其设置值的属性名称匹配。

请注意,模型包描述对象可能会指定许多IEPConformanceTargets。您必须为每个对象创建一个对象实例,并且每个实例都必须命名为“ IEPConformanceTarget”。

然后,可以使用这些技术中的任何一种来设置IEPConformanceTargetType对象内的属性。例如,要设置ValidityConstraintWithContext属性的值,请创建Class ValidityConstraintWithContextType类的Object实例(它可能是派生类型QualifiedNamesType的实例),然后对其进行命名和嵌套,或者将其关联或命名角色。

可以通过在图表中添加Artifact元素并通过工具箱与所需的File Type Usage连接器进行链接来对文件使用进行建模。

创建数据模型

在这里,您将对将在信息交换消息中发送的数据进行建模。

在NIEM中,通常在具有<< InformationModel >>构造型的Packages中建模,这些构造型表示模型中使用的不同命名空间。这些程序包通常包括作为Niem-core参考模型程序包的子集的Niem-core程序包,以及两个扩展程序包,它们扩展了Niem-core的可用功能,其中之一表示交换消息。

您的项目可能还需要其他NIEM模式的子集,例如来自Biometrics或EmergencyManagement域的子集。

有关创建数据模型的更多信息,请参见帮助主题“ 创建NIEM数据模型使用Schema Composer设置NIEM”。

使用Schema Composer子集NIEM

生成IEPD

从中生成IEPD之前,不必先完成NIEM模型。

生成IEPD可以视为一个迭代过程。在完成“模型包描述”之前以及在定义一致性目标之前,您可能只执行命名空间模式的生成。在定义信息模型之前,可能会生成带有完整描述的MPD实例和一致性目标的文件。您可以继续更新模型并生成IEPD,但您认为合适。

要生成IEPD,请在图上或“浏览器”窗口中选择“模型包描述”实例规范。右键单击MPD实例以打开上下文菜单,或转到“专业化”功能区,然后选择“技术> NIEM>生成NIEM架构”选项。

将打开“生成NIEM MPD模式”窗口。

该窗口列出了模型中使用的命名空间模式,您可以选择要生成的命名空间模式。您还可以选择在生成中包括哪些NIEM基础架构。

在此窗口中,您还可以设置用于生成输出文件的根目录。

做出选择并指定输出文件夹后,请单击“生成”按钮开始生成IEPD。

有关“生成NIEM MPD架构”窗口的详细信息,请参见“帮助”主题“ NIEM MPD生成”

NIEM MPD生成

笔记

  • 所有包含NIEM模型的项目都必须包含通过“模型向导”下载的NIEM MPD Types Package; ModelPackageDescription实例对于您的NIEM模型至关重要
    实例以及与<< InformationModel >>包和其他工件的关系用于驱动MPD生成;在模型中没有MPD实例的情况下,您将无法生成MPD
  • 通常,您必须至少将一种NIEM参考模型导入到您的项目中。参考模型包含Niem-core参考方案的UML表示形式,以及许多特定于域的参考方案,如果您打算使用Enterprise Architect的Schema Composer创建子集方案,那么这些参考模型必须在您的项目中可用