3. UML: Diagramas Estruturais
Introdução
• A UML (Unified Modeling Language)
CEA486 - Engenharia de Software II
4. UML: Diagramas Estruturais
Introdução
• Fácil Visualização
• Obtém a especificação desejada
• Facilita na comunicação entre pessoas
CEA486 - Engenharia de Software II
5. UML: Diagramas Estruturais
História do UML
• Início do paradigma da Orientação à Objetos
• Vários métodos surgiram
• Destaque para três métodos:
– OOSE de Ivar Jacobson. Voltado para casos de uso
– Booch’93 de Grady Booch. Voltado para fase de projeto
– OMT-2 de James Rumbaugh. Voltado para análise de
sistemas de informação
CEA486 - Engenharia de Software II
6. UML: Diagramas Estruturais
História do UML
• Em 1995 surgiu o “Método unificado”
• Versão unificada foi batizada de UML
• Surgimento de outras versões
CEA486 - Engenharia de Software II
8. UML: Diagramas Estruturais
História do UML
• Contribuição da OMG3
• Passou a responsabilizar pelas revisões
• Adotou a UML como linguagem padrão.
CEA486 - Engenharia de Software II
9. UML: Diagramas Estruturais
Os diagramas UML 2
• A linguagem UML chegou a sua versão 2 em 2003
• A linguagem UML 2 é composta por 13 diagramas
Diagrama
Diagrama de
Diagrama Estrutural
Comportamento
CEA486 - Engenharia de Software II
11. UML: Diagramas Estruturais
Diagramas Estruturais
• Os diagramas estruturais são aspectos estáticos do sistema.
Diagramas
estruturais
Diagrama de
Diagrama de Diagrama de Diagrama de Diagrama de Diagrama de
estrutura
classes objetos pacotes componentes implementação
composta
CEA486 - Engenharia de Software II
13. UML: Diagramas Estruturais
Diagramas de Classe
• É o principal diagrama
• É o diagrama que chega mais próximo do código
• Fácil visualização
CEA486 - Engenharia de Software II
14. UML: Diagramas Estruturais
Diagramas de Classe
• O que é uma linguagem Orientada a Objetos?
– Abstrações de conceitos do mundo real.
Exemplo: Locadora de Filmes:
Objetos: CD’s e Fitas, Clientes, etc.
CEA486 - Engenharia de Software II
16. UML: Diagramas Estruturais
Diagramas de Classe
• Atributos físicos:
– é grande,
– sua cor principal é castanha,
– olhos pretos, orelhas grandes e caídas, rabo grande.
• Ações que ele costuma fazer:
– balança o rabo quando chego em casa,
– late quando ouve um barulho estranho,
– trás a bola pra mim quando quer brincar.
CEA486 - Engenharia de Software II
17. UML: Diagramas Estruturais
Diagramas de Classe
Objeto: Thor
Propriedades: Cor do corpo: castanha, Cor dos olhos: preto,
Altura: 30 cm Comprimento: 80 cm, Largura: 24 cm.
Métodos: Balançar o rabo, Brincar, Latir, Deitar.
CEA486 - Engenharia de Software II
18. UML: Diagramas Estruturais
Diagramas de Classe
• Classes funcionam como “carimbos”
CEA486 - Engenharia de Software II
20. UML: Diagramas Estruturais
Diagramas de Classe
• Atributos – Características de um objeto
• Métodos – Ações de um objeto
• Relacionamentos
CEA486 - Engenharia de Software II
21. UML: Diagramas Estruturais
Diagramas de Classe
• Construindo um diagrama de classes:
• Levantamento de pré-requisitos
• Definição dos Objetos
• Definição e detalhamento das Ações
• Definição das classes
• Definição dos Atributos
CEA486 - Engenharia de Software II
22. UML: Diagramas Estruturais
Diagramas de Classe
Exemplo
• Levantamento de pré-requisitos
– Conversa com o gerente de uma clínica dentária
• Definição dos Objetos
– Paciente, agenda, dentista, serviço, consulta, pagamento, etc..
• Definição e detalhamento das Ações
– marcar e confirmar consultas, cadastrar pacientes, cadastrar serviços, etc.
• Definição das classes
– paciente, dentista, exame, agenda, serviço.
CEA486 - Engenharia de Software II
24. UML: Diagramas Estruturais
Diagramas de Classe
• Quando usar o diagrama de classes?
– Sempre que houver uma classe
– É o diagrama primário de qualquer projeto OO!
CEA486 - Engenharia de Software II
28. UML: Diagramas Estruturais
Diagramas de Pacotes
• O Diagrama de pacotes mostra a relação de pacotes e
dependências entre pacotes.
Clientes Serviços
Produtos
CEA486 - Engenharia de Software II
31. UML: Diagramas Estruturais
Diagrama de Estrutura Composta
• O Diagrama de estrutura composta mostra a estrutura interna das
classes.
Computador
Programa Impressora
CEA486 - Engenharia de Software II
34. UML: Diagramas Estruturais
Diagramas de Componentes
• Mostra como as classes deverão se encontrar
organizadas;
• Apresentar a disposição dos componentes físicos
de um sistema;
• Pode ser um pedaço de software reutilizável, bem
encapsulado e facilmente substituído.
CEA486 - Engenharia de Software II
35. UML: Diagramas Estruturais
Diagramas de Componentes
Segundo MACORATTI, a UML reconhece cinco estereótipos de
componentes:
• Um executável: Um componente que pode ser executado (um programa).
• Uma biblioteca: Uma biblioteca de classes ou funções, dinâmica ou
estática.
• Um tabela: Uma tabela de um banco de dados.
• Um documento: Uma parte da documentação (texto livre, diagramas,
documentos de ajuda, etc.)
• Um arquivo: Outros arquivos, geralmente, se trata de um arquivo de
código fonte, mas pode ser também um arquivo de dados, um “script” ou
outros arquivos.
CEA486 - Engenharia de Software II
36. UML: Diagramas Estruturais
Diagramas de Componentes
• Um componente pode ser tanto um código em linguagem
de programação como um código executável já compilado:
CEA486 - Engenharia de Software II
37. UML: Diagramas Estruturais
Diagramas de Componentes
• Exemplo de notação:
CEA486 - Engenharia de Software II
38. UML: Diagramas Estruturais
Diagramas de Componentes
• Um componente, assim como as classes que ele possui,
dependem funcionalmente das classes de outro
componente.
• Exemplo 1:
CEA486 - Engenharia de Software II
40. UML: Diagramas Estruturais
Diagramas de Componentes
Normalmente é utilizado para:
• Modelar os componentes do código-fonte, do código
executável do software.
• Destacar a função de cada módulo para facilitar a sua
reutilização.
CEA486 - Engenharia de Software II
42. UML: Diagramas Estruturais
Diagramas de Implementação
Modela o mundo físico do sistema,
considerando: FAX
• Computadores
Terminal 1
• Dispositivos e Servidor
Impressora
Matricial
• Suas interconexões
Terminal 2 Impressora
Laser
CEA486 - Engenharia de Software II
44. UML: Diagramas Estruturais
Comparativo entre os Diagramas
• Classes
– Mostra o conjunto de classes com seus atributos e métodos e os
relacionamentos entre classes
– Modelados a partir das classes, objetos e métodos
• Objetos
– Exemplificar diagramas complexos de classes
– Objetos recebem nomes reais
CEA486 - Engenharia de Software II
45. UML: Diagramas Estruturais
Comparativo entre os Diagramas
• Pacotes
– grupo de classes e relações entre esses grupos
• Estrutura Composta
– relacionamentos entre os elementos
• Componentes
– Organização das classes
• Implantação
– modela o relacionamento entre recursos de infra-estrutura, de rede ou
artefatos de sistemas
CEA486 - Engenharia de Software II
48. UML: Diagramas Estruturais
Conclusões
• Os diagramas UML partem do mesmo princípio;
• Permite em si a construção de um sistema eficiente, se
tratando de linguagens orientadas a objeto;
• Permite analisar os requisitos que beneficia outros aspectos,
como a comunicação;
• É considerada uma das linguagens mais expressivas no
quesito modelagem.
• A UML é um método satisfatório para construção de sistema.
CEA486 - Engenharia de Software II
49. Referências
• http://staruml.sourceforge.net
• SILVA, R. P. e. UML 2 em Modelagem Orientada a Objetos. Florian : Visual Books, 2007.
• VARGAS, Thânia Clair de Souza. A história de UML e seus diagramas .
• BOOCH, G.; RUMBAUGH,J.; JACOBSON,I. UML Guia do Usuário.2.ed. Rio de Janeiro:Elsevier,
2006.
• PFLEEGER, S.L.Engenharia de Software - Teoria e Prática. 2.ed. São Paulo: Prentice Hall,2004.
• CRAIG, L. Utilizando UML e padrões - Uma introdução à análise e ao projeto orientados a
objetos e ao desenvolvimento iterativo.
• BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. – Rio de Janeiro :
Elsevier, 2003.
• PENDER, Tom. UML A Bíblia – Rio de Janeiro:Elsevier, 2004.
• BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do Usuário. – Rio de Janeiro :
Elsevier, 2006.
• MARTIN, James.; ODELL, James. Análise e Projeto Orientados a Objeto. 639 p. – São Paulo:
Makron Books, 1995.
CEA486 - Engenharia de Software II