Você está na página 1de 44

CIn/UFPE – IF696 - Integração de Dados e DW - Prof.

Robson Fidalgo  1
IN1008 – Projeto Conceitual de BD

Diagramas UML para Modelagem de


dados

Por:
David Emmanuel
desc@cin.ufpe.br

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  2


Roteiro

• Motivação
• Objetivos
• História da UML
• Conceitos importantes
• Arquitetura da UML
• Diagramas UML
• UML Profile Data Modeling
• Referências

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  3


Motivação [1] [2]
• Unificação de todos os modelos do sistema (de
aplicação a banco de dados) em torno de uma única
linguagem, que pode ser compartilhada por todos os
envolvidos no desenvolvimento do sistema (analistas,
programadores, DBAs, etc)

• Permite diferentes tipos de modelagem, incluindo


modelos para processos de negócio, fluxo de
eventos, aplicações, arquiteturas e banco de dados

• O histórico evolutivo da especificação UML procura criar


mecanismos de extensibilidade para atender requisitos de
domínios específicos;
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  4
Objetivos [1] [2] [3]
• Facilitar a comunicação de todas as pessoas
envolvidas no processo de desenvolvimento de um
sistema
• Representar sistemas de softwares sob diversas
perspectivas
• Ser independente de qualquer linguagem de programação
• Ser uma linguagem de modelagem visual
expressiva, relativamente simples, e extensível
• Explorar as capacidades introduzidas na UML, com o uso
de perfis (profiles), para atendimento das necessidades de
modelagem de dados;

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  5


História da UML [4] [5]
• As linguagens de modelagem orientadas a objetos surgiram entre a partir da
metade da década de 70
• A quantidade de métodos orientados a objetos passou de pouco mais de 10 para
mais de 50 no período de 1989 a 1994
• Muitos destes métodos tiveram dificuldades para encontrar uma linguagem de
modelagem capaz de atender inteiramente suas necessidades
• Destacaram-se alguns métodos:
 Método OMT – Object Modeling Technique (James Rumbaugh)
• Focado Análise e sistemas de informações com uso de dados
 Método Booch (Grady Booch)
• Permite a especificação de classes , objetos e interações
 Método OOSE - Object Oriented Software Engeneering (Ivar Jacobson)
• Suporte a captura de requisitos através de UseCases

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  6


História da UML [4]
• Na metade da década de 90 Booch (Rational Software
Corporation), Jacobson (Objectory) e Rumbaugh (General
Eletrics) partiram para a criação de uma linguagem unificada
de modelagem
• Usando técnicas orientadas a objeto criariam uma linguagem
que iria desde o conceito até o sistema executável
• Podendo ser utilizada por homens e máquinas, não somente
para criar sistemas complexos como também sistemas
menores e outros problemas que não fossem sistemas de
informação.
• A criação da UML iniciou oficialmente em outubro de 1994
quando Rumbaugh se juntou a Booch na Rational, com foco
inicial na junção dos métodos Booch e OMT.
• O esboço da versão 0.8 do Método unificado foi lançado em
outubro de 1995, mesma época em que Jacobson se
associou a Rational tentando incorporar o OOSE ao método.

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


História da UML [4]

• Após a versão 0.8 a integração do método OOSE ao


método unificado ocorreu, resultando no lançamento
da versão 0.9 da UML em junho de 1996
• Esse método foi então aprovado pela comunidade
de engenharia de software em geral
• O método despertou o interesse das empresas que
criaram um consórcio com investimento de recursos
tendo o propósito de trabalhar uma definição mais
forte e completa da UML.
• Com isso foi definida a versão 1.0 da UML contando
com o apoio destas empresas: Oracle, IBM, Unisys
Microsoft, Rational, Intellicorp,Texas Instrument, HP
I-Logix, ICON Computing e MCI Systemhouse
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 
História da UML [4]
• Em janeiro de 1997, com uma linguagem de modelagem bem
definida expressiva, poderosa e que poderia ser aplicada a
uma grande variedade de projetos a UML foi oferecida a
OMG (Object Management Group).
• De janeiro a julho de 1997 estas empresas se uniram ao
grupo: Andersen Consulting, Ericson, Object Time Limited,
Platinum Technology, Ptech, Recih Technologies, Softeam,
Sterling e Taskon
• Um grupo liderado por Cris Kobryn (MCI SystemHouse) e
administrado por Ed Eykholt (Rational) foi formado com o
propósito de formalizar a especificação da UML e de integrar
alinguagem com outros esforçoes de padronização.
• A versão 1.1 foi entregue a OMG em julho de 1997, em
setembro foi aceita pelo Architecture Board da OMG, sendo
logo após submetida a votação de todos os membros
• Em 14 novembro de 1997 a versão 1.1 foi adotada pela OMG

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


História da UML [4] [5] [6] [7]

• Após ter sido adotada como padrão pela OMG a manutenção


da UML foi então assumida pela RTF (Revision Task Force)
da OMG, sob a responsabilidade de Cris Kobryn.
• A RTF lançou uma versão editorial, a UML 1.2 em junho de
1998
• No final do mesmo ano a RTF lançou a UML 1.3
• A UML está em contínuo desenvolvimento, depois da versão
1.3 surgiram a UML 1.4 em 2001, em março de 2003 a UML
1.5, em agosto do mesmo ano a UML 2.0 e em novembro de
2007 a UML 2.1
• Por último a UML 2.2 lançada em fevereiro de 2009 em que
está organizada em 2 volumes, o Infrastructure UML e o
Superstructure UML

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Conceitos importantes [2]
• MetaModelagem – técnica de criação de
metamodelos.
• Modelagem – arte e ciência de criar modelos de
uma determinada realidade.
• MetaModelo – modelos que descrevem artefatos e
as regras para um modelo.
• Modelo – consiste na interpretação de um dado
domínio do problema (fragmento do mundo real
sobre o qual as tarefas de modelagem incidem).
• Esquema – especificação de um modelo usando
uma determinada linguagem, formal ou informal,
textual ou gráfica.
• Diagrama – representação gráfica do esquema.
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  11
Arquitetura da UML [8]
• Arquitetura de 4 níveis da OMG:

Camada Descrição Exemplo


M3 Meta- Define a linguagem para MOF
metamodelo especificar metamodelos MetaClass, MetaAttribute,
MetaOperation
M2 Metamodelo Instância de um meta- UML e CWM
metamodelo. Define a Class, Property, Operation,
linguagem para especificar Component
um modelo.
M1 Modelo Instância de um Modelos de domínio específico.
metamodelo, Define a Ex.: Modelo de locadora.
linguagem para definir um
domínio da informação.
M0 Objeto do Instância de um modelo. Instâncias do modelo locadora,
Usuário – dados Define os valores de um objetos.
do usuário domínio específico. Ex.: Locacao # 0123, DVD ...

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  12


Arquitetura da UML [8]
• Exemplo da Arquitetura de 4 níveis da OMG

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  13


Arquitetura da UML [8]
Pacotes do volume Infrastructure:
• UML 2.2:
A especificação da UML 2.2 está organizada
em dois volumes:
• Infrastructure
• Superstructure (próximo slide)

Metalinguagem CORE
para reuso na definição
de metamdelos, incluindo
Pacotes do CORE: MOF, UML e CWM.

Criação de novas línguas


baseado no mesmo core
de metalinguagem como
UML.

Metamodelo no núcleo da
arquitetura MDA.

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  14


Arquitetura da UML [8]
• UML 2.2:

Pacotes de alto nível do pacote Superstructure:


Superstructure
• Estende e personaliza a
Infrastructure para definir o
metamodelo UML.
• Define os elementos que
compõem as notações de
modelagem da UML, criadas
pela extensão e acréscimo
dos elementos básicos
definidos na Infrastructure.

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  15


Diagramas UML [5] [9]

• Diagramas são os meios utilizados para visualização


dos blocos de construção da UML
• São representações gráficas de um conjunto de
elementos
• Permitem visualizar o sistema sob diversas
perspectivas
• Dividem-se em dois tipos
 Diagramas Estruturais
• Definem os elementos do sistema e seus relacionamentos
 Diagramas Comportamentais
• Definem a funcionalidade do sistema, ou seja a interação entre
seus elementos
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 
Diagramas UML [11]

• Diagramas Estruturais
 Diagrama de Classes
• Define os elementos básicos de um modelo: os tipos, as classes,
as interfaces e os relacionamentos entre eles.

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [11]

• Diagramas Estruturais
 Diagrama de Objetos
• Similar ao diagrama de classes porém sua principal diferença é
que ele apresenta atributos com valores
• Corresponde a uma instância do diagrama de classes, mostrando
o estado de um sistema em um determinado ponto do tempo

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [11]

• Diagramas Estruturais
 Diagrama de Implantação
• Mostra a configuração dos elementos de processamento em tempo
de execução, além dos componentes, processos e objetos
existentes no sistema

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [11]

• Diagramas Estruturais
 Diagrama de Componentes
• Apresenta as dependências entre componenetes de software,
incluindo implementação de classes, arquivos de código fonte,
arquivo de código binário, arquivos executáveis e scripts

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [5] [11]

• Diagramas Comportamentais
 Diagrama de Caso de Uso
• Modela as interações entre o usuário e o sistema, definindo o
comportamento, as exigências e o resultado esperado de uma
funcionalidade

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [12]

• Diagramas Comportamentais
 Diagrama de Estado
• Demonstra todos os possíveis estados de um objeto, como esses
estados mudam (transições) e como os objetos respondem aos
eventos

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [12]

• Diagramas Comportamentais
 Diagrama de Sequência
• Mostra as interações entre os objetos a partir de um evento
disparado pelo usuário em forma de linha do tempo

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [9]

• Diagramas Comportamentais
 Diagrama de Comunicação
• É focado na organização estrutural dos objetos que enviam e
recebem mensagens

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


Diagramas UML [11]

• Diagramas Comportamentais
 Diagrama de Atividade
• É uma variação do diagrama de estados, representa a execução
das ações e as transições que são acionadas pela conclusão de
outras atividades

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]
• Proposto por Scott Ambler
 O primeiro elemento que deve ser especificado é o tipo de
modelo que está sendo elaborado
 Isto pode ser feito através de um texto descritivo em um
elemento Nota da UML ou através de um estereótipo

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• No caso do modelo físico de dados, pode-se


também definir o tipo de armazenamento

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Tabelas de um banco de dados são definidas


através de Class Boxes
• Estas são divididas em três seções
 Seção 1
• Nome da tabela e estereótipo associado abaixo
 Seção 2
• Colunas da tabela com especificação do seu tipo de dados
• Estereótipo também devem ser associados para definir o tipo de
chave ou restrição do atributo
 Seção 3
• Definição dos triggers associados às tabela

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Exemplo de representação de uma tabela e seus


componentes de acordo com o Profile

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Class boxes também são utilizadas na representação de


Views
• Deve ser levado em conta o emprego obrigatório do
estereótipo <<View>>, cuja finalidade é facilitar a distinção
entre as tabelas, pois nestas o uso do estereótipo <<Table>>
é opcional

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• A representação de índices também é feita através


de Class Boxes
• Deve-se nomear o índice na primeira seção do Class
box e empregar o estereótipo <<Index>>
• A dependência com relação a coluna que compõe o
um índice pode ser expressa de 2 modos
 Descrevendo a coluna de dependência na segunda seção
do Class Box e fazendo uma ligação com a tabela
 Fazendo uma ligação de dependência entre o Class Box
que representa o índice e conectá-lo diretamente na tabela
que é utilizada para a formação do índice

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Índice representado das duas maneiras possíveis

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Da mesma maneira que os elementos anteriores as


Stored Procedures também são representadas
através de Class Boxes
• Na primeira seção do Class Box deve ser informado
um nome para a Stored Procedure e também deve
ser empregado o estereótipo <<Stored
Procedures>>
• A próxima seção é utilizada para descrever a lista de
Stored Procedures ou funções, sendo que devem
ser especificados os parâmetros de entrada e o tipo
de retorno gerado

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Exemplo de uma Stored Procedure de acordo com o


perfil proposto por Scott Ambler

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]
• Lista de estereótipos que podem ser utilizados no modelo físico de
dados em associação com o elemento Class Box da UML

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  35


UML Profile Data Modeling [10]

• A representação das chaves de uma tabela é feita através de


estereótipos e também por intermédio de tagged values
• Os estereótipos são utilizados para definir o tipo de chave
• Tagged Values são conjuntos definidos por expressões do
tipo “nome = valor”
• As tagged values são utilizadas para aumentar o nível de
detalhamento das chaves da tabela informando seu tipo e
como é feita a sua composição
• A composição de uma chave é feita através da especificação
da sua ordem

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Exemplo de representação de chaves com


estereótipos e Tagged Values

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

• Analisando a figura anterior conclui-se que a


composição das chaves pode ser expressa conforme
a tabela a seguir

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  39


UML Profile Data Modeling [10]

• Os relacionamentos entre tabelas, também


chamados de associações, são representadas por
linhas sólidas entre as mesmas
• Este profile define uma série de estereótipos que
podem ser utilizados durante a modelagem, porém,
o próprio autor recomenda a utilização da
representação visual dos mesmos sempre que
possível

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo 


UML Profile Data Modeling [10]

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  41


UML Profile Data Modeling [10]
• A especificação de restrições é feita com a utilização da OCL
(Object Constraint Language)
• A OCL é uma linguagem declarativa através da qual são feitas as
descrições de regras que se aplicam aos modelos

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  42


Referências
• [1] Diagramas UML para modelagem de Dados – Clarissa Borba e Fabrício Cabral
• [2] Diagramas UML para modelagem de Dados – Érick Gomes
• [3] http://www.axpert.com.br/tecnologia/uml/uml.html
• [4] http://imasters.uol.com.br/artigo/2994/uml/historico_da_uml/
• [5] http://www.inf.pucrs.br/~toacy/disciplinas/grad/es-aulas/03 IntroducaoUML.pdf
• [6] http://paginas.fe.up.pt/~ei02084/artigo.pdf
• [7] http://www.omg.org/spec/UML/2.1.2/
• [8] http://www.omg.org/docs/formal/07-11-04.pdf
• [9] http://www.unesp.br/gs/treinamento/graduacao/CursoUML-Diagramas.pdf
• [10] UML Data Modeling Profile – TC de Felipe Dalle Molle UFRGS
• [11]http://www.plugmasters.com.br/sys/materias/476/1/UML---Que-raios-%E9-isso
%3F
• [12] http://www.inf.ufrgs.br/procpar/disc/cmp167/trabalhos/sem2001-1/T1/alex/

CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  43


CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  44

Você também pode gostar