Você está na página 1de 30

Inserindo o GeoProfile na Enterprise Architect.

Autores: Thiago Bicalho Ferreira e Sergio Murilo Stempliuc.

Sumário

1. Enterprise Architect

01

2. Preparando o Ambiente Enterprise Architect

02

3. Criando o Perfil GeoProfile

08

4. Adicionando restrições OCL

15

5. Aplicando o Perfil GeoProfile

20

6. Importação e Exportação de arquivos XMI

29

1. Enterprise Architect

O Enterprise Architect (EA) é uma ferramenta CASE comercial que permite criar diagramas e perfis UML; licenciada pela Sparx Systems é uma ótima alternativa para a especificação de perfis; além de permitir a criação de perfis UML de forma visual oferece recursos como suporte a OCL para definição de constraints e importação e exportação em XMI (XML Metadata Interchange). Apesar de não permitir a inclusão e exclusão de estereótipos gráficos, para melhor visualização e entendimento do diagrama, a vantagem desta ferramenta é a possibilidade de transformações entre os diagramas da arquitetura MDA. Este tutorial foi feito a versão 9.0 em Inglês.

MDA. Este tutorial foi feito a versão 9.0 em Inglês. Ambiente de trabalho da ferramenta Enterprise

Ambiente de trabalho da ferramenta Enterprise Architect

2. Preparando o ambiente da ferramenta Enterprise Architect

Antes de iniciar o processo de criação do perfil GeoProfile, deve-se preparar o ambiente da ferramenta Enterprise Architect (EA). Para isso siga os passos listados nesta seção.

Ao clicar no ícone da EA, a primeira janela que aparecerá é a Select Version, onde será selecionada a versão Ultimate por ser a mais completa.

selecionada a versão Ultimate por ser a mais completa. Para criar um perfil nesta ferramenta primeiro

Para criar um perfil nesta ferramenta primeiro deve-se criar um novo projeto, clicando em FileNew Project

Nomeie o novo projeto “GeoProfile” e salve em uma pasta de sua preferência. Depois de

Nomeie o novo projeto “GeoProfile” e salve em uma pasta de sua preferência. Depois de salvo, a janela Model Wizard será exibida bastando confirmar clicando no botão OK.

de sua preferência. Depois de salvo, a janela Model Wizard será exibida bastando confirmar clicando no

No canto direito da próxima tela há uma aba com nome Project Browser, e no canto esquerdo há um menu com nome ToolBox contendo a aba More Tools.

há um menu com nome ToolBox contendo a aba More Tools . Caso o ambiente não

Caso o ambiente não esteja conFigurado dessa maneira, deve-se clicar em ViewProject Browser e ViewDiagram Toolbox.

A seguir deve-se criar uma View, clicando-se na aba Project Browser e selecionar com o botão direito do mouse no Model a opção AddAdd View.

clicando-se na aba Project Browser e selecionar com o botão direito do mouse no Model a

Nomear então a View como Profile e escolher a opção Simple.

então a View como Profile e escolher a opção Simple . Uma nova View de nome

Uma nova View de nome Profile aparecerá então na aba Project Browser. Clicando com o botão direito do mouse nesta View pode ser adicionado um diagrama. Para isso vá em AddAdd Diagram.

um diagrama. Para isso vá em Add  Add Diagram. Na tela New Diagram escolha a

Na tela New Diagram escolha a opção Class e clique em ok.

Desta forma foi disponibilizada uma área livre onde poderá ser criado o perfil GeoProfile. Na

Desta forma foi disponibilizada uma área livre onde poderá ser criado o perfil GeoProfile.

Na aba More Tools escolha, dentre as diversas tecnologias, a opção Profile. Com esta opção selecionada passará a ser exibida na aba ToolBox o conjunto de elementos necessários para criação do perfil GeoProfile.

elementos necessários para criação do perfil GeoProfile. Neste conjunto de elementos pode ser encontrado um pacote

Neste conjunto de elementos pode ser encontrado um pacote chamado Profile que pode ser arrastado para área de diagramação. Renomear a nova janela New Model Package para GeoProfile.

Logo em seguida aparecerá uma janela de New Diagram, onde a escolha do tipo de

Logo em seguida aparecerá uma janela de New Diagram, onde a escolha do tipo de diagrama será Class.

Diagram, onde a escolha do tipo de diagrama será Class. Clicando duas vezes no pacote GeoProfile

Clicando duas vezes no pacote GeoProfile na area de diagramação ou então na aba Project Browser selecionar o diagrama Geoprofile. Será então aberta uma área de diagramação para o desenvolvimento do Perfil GeoProfile.

Com este ambiente preparado deve-se agora criar o Perfil GeoProfile. 3. Criando o Perfil GeoProfile

Com este ambiente preparado deve-se agora criar o Perfil GeoProfile.

3. Criando o Perfil GeoProfile

Primeiro serão criados os estereótipos do GeoProfile, começando com os estereótipos para objetos de rede (NetworkObj, Arc, Node, UnidirectionalArc e BidirectionalArc). Adicione os estereótipos clicando em Stereotype e arrastando para tela de diagramação. Como ilustrado na Figura a seguir.

tela de diagramação. Como ilustrado na Figura a seguir. Observe que os estereótipos NetworkObj e Arc

Observe que os estereótipos NetworkObj e Arc são abstratos. Para colocar um Estereótipo como abstrato basta clicar com o botão direito do mouse sobre o elemento desejado e ir em Properties. Na janela que abrir clicar na aba Details onde o elemento selecionado pode ser classificado como Abstract.

Logo em seguida será utilizado o elemento de Generalização ( Generalize ) arrastando e soltando
Logo em seguida será utilizado o elemento de Generalização ( Generalize ) arrastando e soltando

Logo em seguida será utilizado o elemento de Generalização (Generalize) arrastando e soltando nos elementos que deverão ser ligados, a fim de deixar o perfil como mostrado a seguir.

O próximo passo é estender a metaclasse Class da UML utilizando os estereótipos criados. Para

O próximo passo é estender a metaclasse Class da UML utilizando os estereótipos criados. Para isso adicione o elemento Metaclass na área de diagramação. Na janela que aparecer selecione a metaclasse Class, adicione ao projeto e dê Ok.

a metaclasse Class , adicione ao projeto e dê Ok . A metaclasse Class irá aparecer

A metaclasse Class irá aparecer no diagrama e será estendida através do elemento Extension utilizando o estereótipo criado anteriormente.

A metaclasse Association será estendida através da criação dos estereótipos para relacionamentos topológicos entre

A metaclasse Association será estendida através da criação dos estereótipos para relacionamentos topológicos entre as classes geográficas. Existem seis tipos diferentes de relacionamentos topológicos no GeoProfile, sendo: Cross, In, Disjoint, Overlap, Touch e Temporal. Como exemplo será usado o estereótipo Temporal.

Inicialmente crie um elemento Estereótipo e dê a ele o nome “Temporal”. Agora inclua um elemento metaclasse, mas desta vez selecione a metaclasse Association e então utilize o elemento Extension para estender a metaclasse Association com o estereótipo criado, como mostra a Figura a seguir.

com o estereótipo criado, como mostra a Figura a seguir. Um estereótipo pode possuir propriedades, as

Um estereótipo pode possuir propriedades, as quais podem ser referidas como tag definitions. Quando um estereótipo é aplicado em um elemento do diagrama, os valores das propriedades, referidas no perfil como tagged values, podem ser manipuladas no diagrama.

O próximo passo é criar o estereótipo TemporalObject, que se refere a objetos geográficos com aspectos temporais, e suas enumerações (tagged values). O GeoProfile define dois tipos de enumeração, TemporalPrimitive e TemporalType. Inclua no esquema dois elementos do tipo Enumeração e nomeie-os como TemporalPrimitive e TemporalType.

Adicione os Literais de Enumeração (instant e interval) em TemporalPrimitive e (valid_time, transaction_time e

Adicione os Literais de Enumeração (instant e interval) em TemporalPrimitive e (valid_time, transaction_time e bitemporal) em TemporalType. Para adicionar um literal clique com o botão direito do mouse sobre a enumeração pretendida e selecione attributes. Na janela que de atributos adicione um nome para o novo literal, não esquecendo de marcar a opção is literal.

literal, não esquecendo de marcar a opção is literal. Após a inserção dos literais espera-se que

Após a inserção dos literais espera-se que as enumerações fiquem como na imagem a seguir.

Agora, adicione ao perfil o estereótipo TemporalObj e inclua dois atributos com tipos das enumerações

Agora, adicione ao perfil o estereótipo TemporalObj e inclua dois atributos com tipos das enumerações criadas anteriormente: temporalPrimitive do tipo TemporalPrimitive e temporalType do tipo TemporalType.

TemporalPrimitive e temporalType do tipo TemporalType . Para adicionar os atributos e seus tipos, basta clicar

Para adicionar os atributos e seus tipos, basta clicar com o botão direito do mouse em cima do estereótipo TemporalObj a fim de encontrar a opção attributes. Na janela que abrir adicione o nome desejado e clique no botão com reticências para encontrar as enumerações definidas anteriormente.

adicione o nome desejado e clique no botão com reticências para encontrar as enumerações definidas anteriormente.

A Figura a seguir ilustra a janela aberta ao clicar nas reticências que aparecem em frente ao Type. Podem então ser escolhidas as enumerações criadas no perfil.

então ser escolhidas as enumerações criadas no perfil. Deve-se então estender a metaclasse Class novamente para

Deve-se então estender a metaclasse Class novamente para o estereótipo criado. Inclua mais um elemento Extension do estereótipo TemporalObj para a metaclasse Class.

do estereótipo TemporalObj para a metaclasse Class . Com isso já é possível criar o diagrama

Com isso já é possível criar o diagrama com as especificações e estereótipos do perfil GeoProfile; inclua os demais Estereótipos Generalizações e Extensões que faltam de forma a deixar o modelo como se segue, lembrando que o estereótipo Network também é abstrato.

4. Adicionando Restrições OCL A ferramenta Enterprise Architect oferece suporte à linguagem OCL ( Object

4. Adicionando Restrições OCL

A ferramenta Enterprise Architect oferece suporte à linguagem OCL (Object Constraint

Language), que tem como objetivo permitir a adição de constraints (restrições) aos diagramas elaborados pelo projetista e também validar o diagrama elaborado utilizando os

construtores da UML. As restrições OCL descritas nesta seção se enquadram nesta última opção, sendo especificadas no perfil GeoProfile para validar os diagramas elaborados através de seus construtores possuindo sempre como contexto um de seus estereótipos.

As restrições especificadas para o GeoProfile basicamente evitam a ocorrência de três tipos

de erros: adição de estereótipos incompatíveis a um mesmo elemento; má construção de

redes; e adição de relacionamentos topológicos impossíveis de acontecer entre dois elementos (ex.: relacionamento Cross entre dois objetos geográficos com representação de

ponto). Estes três grupos de restrições são analisados a seguir.

Para declarar Constraints, primeiro clique com o botão direito sobre o estereótipo ao qual

se deseja aplicar a restrição e em seguida na opção Properties. Na janela de propriedades

acesse o menu RulesConstraints selecione o tipo de restrição no campo Type como OCL e Status como aprovado. Para adicionar uma expressão OCL clique em New, no campo Constraint coloque a descrição da restrição OCL, e no campo de texto abaixo da descrição insira a restrição OCL. Ao no botão Save será exibida uma mensagem de OCL validada com sucesso quando a mesma estiver sintaticamente correta ou uma mensagem de alerta quando a mesma estiver sintaticamente errada. A Figura a seguir ilustra como devem ser inseridas as restrições OCL nos estereótipos.

As restrições do GeoProfile existentes até o momento da elaboração deste tutorial estão no quadro

As restrições do GeoProfile existentes até o momento da elaboração deste tutorial estão no quadro a seguir. O campo context refere-se ao estereótipo onde a restrição será aplicada.

Restrições OCL para verificação de estereótipos incompatíveis em uma classe.

A

inv:

context GeoField

self.base_Class.getAppliedStereotypes() -> select(s | s.name = ‘Point’ or s.name = ‘Line’ or s.name = 'Polygon' or s.name = 'ComplexSpatialObj') -> isEmpty()

B

inv:self.base_Class.getAppliedStereotypes() -> select(s | s.name = ‘Point’ or s.name = ‘Line’ or s.name = 'Polygon' or s.name = 'ComplexSpatialObj' or s.name = 'TIN' or s.name = 'Isolines' or s.name = 'GridOfCells' or s.name = 'AdjPolygons' or s.name = 'GridOfPoints' or s.name = 'IrregularPoints' or s.name = 'Node' or s.name = 'UnidirectionalArc' or s.name = 'BidirectionalArc') -> isEmpty()

context Network

C

inv:

context

self.base_Class.getAppliedStereotypes()-> select(s | s.name = 'TIN' or s.name = 'Isolines' or s.name = 'GridOfCells' or s.name = 'AdjPolygons' or s.name = 'GridOfPoints' or s.name = 'IrregularPoints') -> isEmpty()

NetworkObj

D

inv:

context Node

self.base_Class.getAppliedStereotypes() -> select(s | s.name = 'UnidirectionalArc' or s.name = 'BidirectionalArc') -> isEmpty()

E

inv:

context

self.base_Class.getAppliedStereotypes() -> select(s | s.name = 'BidirectionalArc') -> isEmpty()

UnidirectionalArc

Restrições OCL para verificação da existência de estereótipos incompatíveis em uma associação entre classes.

F

inv:

context Cross

self.base_Association.getAppliedStereotypes() -> select(s | s.name = 'Disjoint' or s.name = 'In' or s.name = 'Overlap' or s.name = 'Touch') -> isEmpty()

G

inv:

context

self.base_Association.getAppliedStereotypes() -> select(s | s.name = 'Cross' or s.name = 'In' or s.name = 'Overlap' or s.name = 'Touch') -> isEmpty()

Disjoint

H

inv:

context In

self.base_Association.getAppliedStereotypes() -> select(s | s.name = 'Disjoint' or s.name = 'Cross' or s.name = 'Overlap' or s.name = 'Touch') -> isEmpty()

I

inv:

context Overlap

self.base_Association.getAppliedStereotypes() -> select(s | s.name = 'Disjoint' or s.name = 'Cross' or s.name = 'In' or s.name = 'Touch') -> isEmpty()

J

inv:

context Touch

self.base_Association.getAppliedStereotypes() -> select(s | s.name = 'Disjoint' or s.name = 'Cross' or s.name = 'In' or s.name = 'Overlap') -> isEmpty()

Restrições OCL para validação das redes definidas no esquema.

K

inv: not

context

self.base_Class.ownedAttribute.association.m

Network

emberEnd.class.getAppliedStereotypes() -> select(s | s.name = 'Node') -> isEmpty()

L

inv: not self.base_Class.ownedAttribute.association.m emberEnd.class .getAppliedStereotypes() -> select(s | s.name = 'UnidirectionalArc' or s.name = 'BidirectionalArc') -> isEmpty()

context

Network

M

inv: not self.base_Class.ownedAttribute.association.m emberEnd.class .getAppliedStereotypes() -> select(s | s.name = 'Node') -> isEmpty()

context Arc

N

inv: not self.base_Class.ownedAttribute.association.m emberEnd.class .getAppliedStereotypes() -> select(s | s.name = 'UnidirectionalArc' or s.name = 'BidirectionalArc') -> isEmpty()

context Node

Restrições OCL para validação de relacionamentos topológicos do tipo In e Disjoint.

O

inv: self.base_Association.memberEnd.class -> forAll (c | c.getAppliedStereotypes() -> select(s | s.name = ‘Point’ or s.name = ‘Line’ or s.name = ‘Polygon’) -> notEmpty())

context In

P

inv: self.base_Association.memberEnd.class -> forAll (c | c.getAppliedStereotypes() -> select(s | s.name = ‘Point’ or s.name = ‘Line’ or s.name = ‘Polygon’) -> notEmpty())

context

Disjoint

Restrições OCL para validação de relacionamentos topológicos do tipo Cross, Overlap e Touch.

Q

inv: let classes : OrderedSet(Class) = self.base_Association.memberEnd.class -> asOrderedSet() in ((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() and (classes ->

at(2)).getAppliedStereotypes() -> select(s |

context Cross

s.name = ‘Line’) -> notEmpty() )

or

((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Polygon’) -> notEmpty() ) or

 

((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Polygon’) -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() )

R

inv: let classes : OrderedSet(Class) = self.base_Association.memberEnd.class -> asOrderedSet() in ((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = 'Line') -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = 'Line') -> notEmpty() ) or ((classes ->

at(1)).getAppliedStereotypes() -> select(s | s.name = 'Polygon') -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = 'Polygon')-> notEmpty()

context

Overlap

)

S

inv: let classes : OrderedSet(Class) = self.base_Association.memberEnd.class -> asOrderedSet() in ((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Polygon’) -> notEmpty() and

(classes -> at(2)).getAppliedStereotypes() -

context Touch

>

select(s | s.name = ‘Polygon’) ->

notEmpty() ) or ((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() and

(classes -> at(2)).getAppliedStereotypes() -

>

select(s | s.name = ‘Line’) -> notEmpty()

)

or ((classes ->

at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() and (classes

-> at(2)).getAppliedStereotypes() ->

select(s | s.name = ‘Polygon’) -> notEmpty()

)

or ((classes ->

at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Polygon’) -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() ) or((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Point’) -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Polygon’) -> notEmpty() ) or ((classes -> at(1)).getAppliedStereotypes()-

select(s | s.name = ‘Polygon’) -> notEmpty() and (classes ->

>

at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Point’ ) -> notEmpty() ) or ((classes ->

at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Point’) -> notEmpty() ) or ((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Point’) -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() ) or ((classes -> at(1)).getAppliedStereotypes() -> select(s | s.name = ‘Line’) -> notEmpty() and (classes -> at(2)).getAppliedStereotypes() -> select(s | s.name = ‘Point’) -> notEmpty() )

Para salvar o projeto, clique em: File->Salve Project

5. Aplicando o Perfil GeoProfile

Com o Perfil Criado, podemos utilizá-lo em nossa modelagem de classes geográficas. Para utilizar o GeoProfile, o primeiro passo é criar um arquivo no formato XMI, para isso clique com o botão direito do Mouse em algum espaço vago da área de diagramação. Ao aparecer um Menu selecione a opção Salve as Profile

Ao aparecer um Menu selecione a opção Salve as Profile Na janela Save UML Profile ,

Na janela Save UML Profile, preencha o campo Profile Name com GeoProfile, e o campo Filename com o caminho desejado para salvar o arquivo XMI.

Crie um novo projeto para importar o perfil GeoProfile e adiciona-lo como uma tecnologia de

Crie um novo projeto para importar o perfil GeoProfile e adiciona-lo como uma tecnologia de Perfil. Para isto a aba Resources no canto direito da tela deve estar disponível. Caso não esteja, clique em View -> More Project Tools -> Project Resources.

View -> More Project Tools -> Project Resources . Na aba Resources clique com o botão

Na aba Resources clique com o botão direito em UML Profiles onde aparecerá uma opção para importar o Perfil UML. Na janela Import UML Profile preencha o campo Filename com o caminho do arquivo XMI do GeoProfile gerado anteriormente, e clique em Import.

preencha o campo Filename com o caminho do arquivo XMI do GeoProfile gerado anteriormente, e clique

Com a nova tecnologia importada para a ferramenta é possível criar diagramas para modelagem de Banco de Dados Geográficos. Para visualizar os elementos de modelagem geográfica vá em Toolbox->More tools e selecione a opção GeoProfile.

Toolbox->More tools e selecione a opção GeoProfile. Agora com os elementos do GeoProfile dispostos na barra

Agora com os elementos do GeoProfile dispostos na barra de ferramentas, para criar diagramas clique sobre o elemento desejado e arraste para a área de diagramação, como é ilustrado na Figura a seguir.

de diagramação, como é ilustrado na Figura a seguir. A ferramenta Enterprise Architect permite usar mais

A ferramenta Enterprise Architect permite usar mais de um estereótipo por classe. Isto garante a múltipla representação geográfica de classes em diagramas criados com o GeoProfile. A Figura a seguir ilustra a utilização de mais de um estereótipo por classe.

A inserção de mais de um estereótipo sobre uma classe pode ser feito da seguinte

A inserção de mais de um estereótipo sobre uma classe pode ser feito da seguinte forma:

Ao clicar no estereótipo desejado e arrastar para a classe que deverá conter mais de uma representação espacial, aparecerá um menu contendo 3 opções: a primeira para adicionar o estereótipo na classe; a segunda para adicionar outra classe com este estereótipo; e a terceira para cancelar. Desta forma clique na primeira opção.

para cancelar. Desta forma clique na primeira opção. Há outra forma para se adicionar estereótipos em

Há outra forma para se adicionar estereótipos em uma classe. Ao clicar com o botão direito do mouse sobre a classe vá em Properties. Na janela de propriedades existe um campo na aba General de nome Stereotype seguido de um botão com reticências que ao ser clicado abre uma janela com todos os estereótipos disponíveis. Nesta nova janela, no campo Profile selecione a opção GeoProfile, selecione os estereótipos desejados e clique em ok.

Outro tipo de objeto que pode ser encontrado em aplicações geográficas é o temporal, definido
Outro tipo de objeto que pode ser encontrado em aplicações geográficas é o temporal, definido

Outro tipo de objeto que pode ser encontrado em aplicações geográficas é o temporal, definido no GeoProfile como TemporalObj. Para este tipo de objeto foram definidos dois tagged values, temporalType e temporalPrimitive. Para definir seus valores, primeiro deve-se adicionar uma classe no modelo com o estereótipo TemporalObj.

Em seguida clique com o botão direito do mouse sobre a classe estereotipada e acesse

Em seguida clique com o botão direito do mouse sobre a classe estereotipada e acesse a opção Properties. Na aba GeoProfile podem ser atribuídos os valores das tag values como exemplificado na imagem abaixo.

das tag values como exemplificado na imagem abaixo. Por se tratar de uma ferramenta voltada para

Por se tratar de uma ferramenta voltada para a criação de modelos utilizando a UML, outros tipos de diagramas da UML também podem ser utilizados, como por exemplo, de componente, atividade, implantação e até mesmo outros perfis já incorporados. Para isso use a aba More Tools e escolha o tipo diagrama ou tecnologia a ser utilizada.

Para se adicionar novos atributos a uma classe, clique com o botão direito do mouse

Para se adicionar novos atributos a uma classe, clique com o botão direito do mouse sobre a classe e em seguida na opção Atributes. Novos atributos podem então ser adicionados clicando-se em New, entrando-se com o nome do atributo no campo Name e adicionando seu tipo no campo Type. Logo em seguida clique em Save para salvar as modificações. A imagem a seguir ilustra esse procedimento.

Type . Logo em seguida clique em Save para salvar as modificações. A imagem a seguir

Com relação a OCL, anteriormente aplicada ao perfil GeoProfile, pode ser utilizada para avaliar o diagrama elaborado. Para isso clique em Project->Model Validation->Validate Selected.

em Project->Model Validation->Validate Selected. Após a validação a seguinte janela aparecerá. Com

Após a validação a seguinte janela aparecerá.

Selected. Após a validação a seguinte janela aparecerá. Com relação a múltipla representação Geográfica o

Com relação a múltipla representação Geográfica o diagrama abaixo possui as classes Cidade, Bairro e Escola com estereótipos do tipo <<point>> e <<polygon>> para suas representações em uma aplicação geográfica. A múltipla representação é utilizada pelos Sistemas de Informação Geográfica de acordo com a forma como se deseja representar, por exemplo, um Bairro, em um determinado instante. Um exemplo típico de uso da múltipla representação é dado de acordo com a escala utilizada, podendo-se utilizar a representação ponto do Bairro em uma escala pequena e o polígono em uma escala grande. A classe Professor, por não possuir representação geográfica, não possui estereótipo e foi criada como uma classe convencional (alfanumérica).

Foram aplicados também estereótipos aos relacionamentos. O estereótipo <<in>> entre Bairro e Cidade

Foram aplicados também estereótipos aos relacionamentos. O estereótipo <<in>> entre Bairro e Cidade mostra que topologicamente todo elemento Bairro está dentro de um

elemento Cidade, o mesmo vale para o relacionamento entre Escola e Bairro. Não existe relacionamento topológico entre Professor e Escola, sendo utilizada apenas uma associação comum. Esta associação comum pode receber um nome, no caso do exemplo, Trabalha, clicando-se com o botão direito do mouse sobre a associação e selecionando a opção

onde uma janela de propriedades de associação será apresentada,

podendo-se então entrar com o nome da associação no campo Name.

Association Properties

será apresentada, podendo-se então entrar com o nome da associação no campo Name . Association Properties
6. Importação e Exportação de arquivos XMI A ferramenta Enterprise Architect também permite a importação

6. Importação e Exportação de arquivos XMI

A ferramenta Enterprise Architect também permite a importação e exportação de modelos no formato XMI (XML Metadata Interchange), como por exemplo, os modelos Encore e BPMN 2.0 XML. Para isso, acesse o menu: Project -> Model Import/Export.

isso, acesse o menu: Project -> Model Import/Export. , aparecerá onde deverá ser informado no campo

, aparecerá onde deverá ser informado no campo Filename a pasta e o nome do arquivo XMI onde o pacote deverá ser armazenado. Nesta tela também podem ser escolhidos outros formatos de exportação disponíveis clicando-se em Publish. Depois de escolhido o formato clique em Export.

Para a opção Exportar clique em Export Package to XMI

desta forma uma janela

Para importar um arquivo XML clique em Project->Model Import/Export->Import Package to XMI. Na janela de
Para importar um arquivo XML clique em Project->Model Import/Export->Import Package to XMI. Na janela de

Para importar um arquivo XML clique em Project->Model Import/Export->Import Package to XMI. Na janela de importação informe no campo Filename a pasta e o nome do arquivo XML a ser importado.

Filename a pasta e o nome do arquivo XML a ser importado. Mais informações http://www.sparxsystems.com.au/ a

Mais informações

http://www.sparxsystems.com.au/

a

respeito

desta

ferramenta

podem

ser

encontradas

no

site: