Modelagem XML com UML
Aline Franciele Correia da Silva
Roteiro
●
●
Motivação
Conceitos básicos
○
○
○
●
●
●
Mapeando XML em UML
Limitações
Geração automatizada
○
○
●
XML
XML Schema
UML
Ferramentas
Resultados
Referências principais
Motivação
MOTIVAÇÃO
●
UML é uma linguagem de modelagem que permite representar
um sistema de forma padronizada;
●
UML é para “todos”;
●
UML complementa a contrução do XSD;
●
Com um pouco de adaptação, geração automatizada.
CONCEITOS BÁSICOS
Xml
●
Troca de informação;
●
Recomendação da W3C;
●
Flexibilidade do SGML com a simplicidade do HTML;
●
Simplicidade
para
e
máquinas
legibilidade
e
ilimitadas;
●
Facilidade no geral.
tanto
possibilidade
para
de
humanos
criação
de
quanto
tags
XML SCHEMA
●
Baseada no formato XML para validação de documentos XML;
●
Alternativa ao DTD;
●
XSD
UML
●
UML é uma linguagem unificada;
●
Legibilidade e possibilidade de reuso;
●
Representação visual do XSD.
Modelando XML
usando UML
Um exemplo prático
Em um cenário fícticio, uma empresa de logística quer criar
um mecanismo de acompanhamento de remessas a partir da sua
sede para seus escritórios regionais. Quando os produtos são
enviados, a sede envia informações eletronicamente em XML
sobre a remessa. Uma vez que a expedição chegou ao seu
destino, a confirmação é enviada eletronicamente para a
sede.
Mapeando UML em
XML Schema
Classes
complexType
<xs:element name="OrdemEnvio">
<xs:complexType>
<xs:sequence>
<xs:element name="envioId" type="xs:int"/>
<xs:element name="origem" type="Origem"/>
<xs:element name="destino" type="Destino"/>
<xs:element name="pedido" type="Pedido"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:sequence>
Tipos
Tipo Endereço
int e double
Atributos
Atributos em XML
<xs:element name="imposto">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="moeda" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
informação
</xs:element>
adicional
Generalização
Extension
<xs:complexType name="Origem">
<xs:complexContent>
<xs:extension base="Endereco"/>
</xs:complexContent>
</xs:complexType>
POO
Multiplicidade
maxOccurs e minOccurs
unbounded
Limitações
●
UML não consegue captar todos os detalhes presentes em
XML Schemas;
●
Ordenação, restrição, chaves, etc.
●
UML Profile
○
Mecanismo de extensão genérico para personalizar modelos UML para
determinados domínios e plataformas.
UML Profile
Geração
automatizada
GERAÇÃO DO XSD
●
Ferramentas
●
XMI
○
●
Troca de metadados entre ferramentas
XSD
hyperModel
Resultados
+
+
hyperModel
Resultados
+
hyperModel
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- OrdemEnvio -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<xsd:complexType name="OrdemEnvio">
<xsd:sequence>
<xsd:element name="EnvioId" type="xsd:int"/>
<xsd:element name="origem" type="Origem"/>
<xsd:element name="destino" type="Destino"/>
<xsd:element name="pedido" type="Pedido"/>
</xsd:sequence>
</xsd:complexType>
Resultados
+
<xs:element name="OrdemEnvio" type="OrdemEnvio"/>
<xs:complexType name="OrdemEnvio">
<xs:sequence>
<xs:element name="destino" type="Destino" minOccurs="1" maxOccurs="1"/>
<xs:element name="envioId" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="origem" type="Origem" minOccurs="1" maxOccurs="1"/>
<xs:element name="pedido" type="Pedido" minOccurs="1" maxOccurs="1"/>
<xs:element name="Destino" type="Destino" minOccurs="1" maxOccurs="1"/>
<xs:element name="Origem" type="Origem" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
CONCLUSÃO
●
UML ajuda, mas não faz tudo;
●
UML complementa a contrução do XSD;
●
Geração automatizada é possível, mas com adaptações.
REFERÊNCIAS PRINCIPAIS
David Carlson. Modeling XML Applications with UML:
Business Applications. Boston: Addison-Wesley, 2001.
Practical
E-
MALIK, Ayesha. Design XML schemas using UML: Translating business
concepts into XML vocabularies. 2003. Disponível em: <http://www.
ibm.com/developerworks/library/x-umlschem/>. Acesso em: 09 nov.
2015.
O'REILLY. Modeling XML Vocabularies with UML: Part I. Disponível em:
<http://www.xml.com/pub/a/2001/08/22/uml.html>. Acesso em: 11 nov.
2015.
Obrigada
Download

Aline Franciele Correia da Silva