预订演示

该网络研讨会已完成, 录音将很快发布.

概览

在“建模基础知识"网络研讨会系列的第二部分中,我们将带您开始使用Enterprise Architect中的UML类建模.

通过简单的动手示例,我们将探讨如何将Class模型应用于高级信息模型和软件设计.

在此网络研讨会中,您将学习如何:

立刻注册!

不要错过这个机会来了解有关Enterprise Architect的更多信息

第一场

墨尔本 Tue 19 09 08:00 am

第二场

演讲者

Ben ConstableSparx Systems

探索网络研讨会资源

示例模型: webinar-management-class-models.feap Download links

问题和答案

常见

我使用了Enterprise的Ultimate版本演示过程中的Architect,版本13.5,但是,我演示的所有功能都可以在Professional(或更高版本)中使用,无需升级即可复制模型和从模型生成的输出.

类属性(属性和操作)

是.在15:04分钟的演示视频中演示了属性建模.仅简要讨论了操作在31:52分钟的视频中.

属性的可用数据类型由语言字段.在功能和属性,打开“功能"对话框. |属性.您应该在属性 Type 控件中看到可用的UML基本类型.有关详细说明和更改整个Package的语言选项的示例,请观看15:37分钟的演示视频.

相关的帮助主题:

在定义逻辑模型时,作用域或UML可视性特别有用,因为它控制对逻辑模型的访问类成员变量,例如属性和操作,例如,如果一个属性的可见性为 private ,则其值不能被另一个Class直接读取或更新.访问修饰符,通常由UML定义的一组相似的可见性值表示: public,private,protected和package .

关系

您可以将多重性指定为 1..1 .为此,请选择< Multiplicity 控件中的code> 1 .. .然后输入 1 作为上限的值.

注意:基数指定给定集合中项目的数量,而UML中的 multiplicity 定义集合可以具有的项目数量的上限和下限.由于多重性由定义这些界限的两个值组成,因此多重性1实际上是1..1的缩写,并且任何此类集合的基数也必须为1.相同的逻辑适用于其中上限和下限相同.

在我的示例模型中,我使用符号0 .. *表示网络研讨会会话可以有零个或多个参与者.我本来可以使用*,它在UML中是零个或更多.

如果将子类(子类型)绘制为父类(超类型)框中的框,则表示Enterprise Architect和UML中的嵌套或包含关系.

模型结构

一个项目(. eap)文件是Enterprise Architect用来物理存储模型数据的文件,在一个项目文件中,您可以有一个或多个模型,每个模型由一个Root节点表示.每个Root节点可以包含一个或多个View节点.包含程序包和图表的组合.

没有一种“正确的方法"来定义模型层次结构.在为单个系统建模时,一种流行的方法是为系统使用单个Root节点并在其下创建大量View节点.一个视图将专用于该系统的用例,另一个视图专用于该域的元素,另一个视图专用于物理存储类,依此类推.想法是,每个“视图"节点代表同一系统的不同透视图或视图.

在我的项目中,我选择使用思维导图为演示文稿的议程建模.这与我作为示例建模的实际网络研讨会域截然不同,因此我将其放置在其自己的“根"节点中.我使用名为Webinar Information Model的Root节点下的单个View对域中的元素进行了建模.

如果要对网络研讨会域的某些行为方面进行建模,则可以在网络研讨会信息模型根节点下创建其他View节点.例如,我可以捕获网络研讨会域固有的业务流程,并将其放置在名为“业务流程"的视图中.

信息就目前而言,模型没有任何行为细节,因此,该模型仅提供该领域的词汇表,并定义了领域元素之间的有效静态关系,这在定义可互操作的系统之间交换的通用数据时特别有用

但是,在域建模的上下文中,有些人会将这种纯信息模型称为“贫血"(anmic),换句话说,这种模型在帮助特定系统的设计方面几乎没有好处.特别是,名为“域模型"的视图中的类甚至不包含操作.由于许多建模者喜欢将行为详细信息(例如UML操作)添加到域模型中的元素,因此在我的示例模型中名为“域模型"的视图可能应该重命名为'Webinar分类器',以避免混淆.我已经对我在此页面的资源部分中发布的模型进行了调整.

The逻辑模型是一个独立的模型,具有自己的元素,这些模型中的元素之间有很强的对应性-实际上,我从信息模型中复制了这些元素作为新元素,以加快逻辑模型的创建.

然而,模型的目的和细节上的差异意味着,不能简单地在现有信息模型中添加更多细节以生成应用程序代码.例如,在UML中,PHP逻辑模型和纯信息模型之间的属性类型显着不同.

有关如何自动在不同类型的模型(例如逻辑模型和域模型)之间进行转换的信息,请参阅帮助主题模型转换.

最好将Enumeration添加到Data Types包中,甚至添加到另一个专门用于Enumeration元素的包中关于在绘制Class元素的图表上绘制Enumeration -在与使用Enumeration元素的元素相同的图表上显示Enumeration元素会很有帮助,这可以清楚地指定属性的允许值范围由Enumeration键入的内容.

是.有关更改语言选项,请观看15:37分钟的演示视频,有关更多信息,请参见帮助主题重置选项.

URL建模为UML数据类型,SessionStatus建模为UML枚举.枚举是这是一种特殊的数据类型,具有Enumeration文字定义了可能的值.在两种情况下,UML规范中对DataType的定义均适用:"DataType的实例仅由其值标识.具有相同值的DataType的所有实例均由被认为是平等的实例."

代码和模式工程

是.对于所有受支持的编程语言,请参阅帮助主题生成源代码.

是,尽管不支持Java代码的同步和反向工程.

当前不支持.

您可以使用代码生成工具栏.这将设置当前模型的默认编码语言,因此该语言将应用于模型中所有新创建的类.其他Enterprise Architect项目可以具有与之关联的不同默认语言.

有关详细信息,请参见帮助主题代码生成工具栏. / p>

在进行正向工程时可以这样做,但是它'不建议将其用于除最小的项目以外的任何项目.如果您的模型具有任何实际大小,并且将每个元素放在同一张图中,则将很难阅读和理解.

进行逆向工程时,Enterprise Architect提供了一个选项,用于每个Java包创建一个图表.然后,您可以使用图框架将这些图组合为一个图.有关详细信息,请参见帮助主题图框.

是.为此,您需要使用该选项来同步模型和代码您还可以使用其他更具体的选项来确定,例如,Enterprise Architect是否将从现有代码中删除未在文件中找到的任何类或功能(类成员变量或方法).模型.

同步代码时,Enterprise Architect通常将现有代码保留在方法主体中,同时更新其签名和相关注释.

相关的帮助主题:

是的,支持反向工程.有关详细信息,请参见帮助主题导入源代码.

C的建模约定在帮助主题 C约定中进行了说明.其他编程语言的约定帮助主题建模约定.

这应该不会造成问题,因为每个角色名称都是作为complexType定义内的一个元素生成的,该定义表示拥有所讨论的Association End的Class在示例模型中,Association关系End具有相同的角色名称属于不同的类,因此相应的XML Schema元素将生成为不同的complexType定义.

报告生成

是.请从我们的网络研讨会库中查看以下网络研讨会:

是.请参见此网络研讨会的示例:
如何使用Enterprise Architect生成文档-基础

您可以在Chrome中查看生成的HTML页面,但是由于安全限制,JavaScript可以从本地文件系统中加载其他文件如果需要完全支持在Chrome中查看模型,则建议使用Pro Cloud Server提供的HTML视图.有关详细信息,请参见我们的 Pro Cloud Server网页.

没有立即计划导出到SVG.