2. UML - Contexto Histórico
A UML surgiu em 1997 da unificação de três das principais
linguagens de modelação orientadas por objetos:
Método de Booch, de Grady Booch;
Método OMT (Object Modeling Technique) de Ivar
Jacobson;
Método OOSE (Object Oriented Software Engineering) de
James Rumbaugh.
Rapidamente, adquiriu o estatuto de norma no âmbito da
Object Management Group (OMG) e da International
Organization for Standardization (ISO), tendo vindo a ser
adotado pelas empresas e universidades de todo o mundo.
4. Vantagens de Utilizar a UML
A principal vantagem da UML é que permite gerir,
praticamente em toda a sua totalidade, projetos com
arquiteturas complexas. Sendo uma linguagem muito
usada e simples de utilizar e perceber, facilita a
comunicação entre todos os intervenientes: do cliente
ao programador, passando pelo designer. A
conjugação de todos estes fatores ajuda
substancialmente a reduzir os custos e prazos dos
projetos.
5. UML - Elementos básicos
A estrutura de conceitos da UML consiste num conjunto
variado de notações, as quais podem ser aplicados em
diferentes domínios de problemas e a diferentes níveis de
abstração. Pode ser vista através das seguintes noções:
“Coisas” ou elementos básicos, com base nos quais se definem os
modelos;
Relações, que relacionam elementos;
Diagramas, que agrupam elementos.
Os elementos estão organizados relativamente a sua
funcionalidade ou responsabilidade.
Os elementos existentes são de estrutura, comportamento,
agrupamento e de anotação.
6. Diagramas - UML
Os diagramas são os meios utilizados para a 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 diferentes perspectivas.
Existem 13 diagramas na UML versão 2.0, são
hierarquicamente dependentes e complementares, de modo a
permitir a modelagem de um projeto ao longo do seu ciclo de
vida.
7. Diagramas - UML
Os diagramas UML são basicamente
divididos em 2 grupos:
Estruturais (Estáticos)
Comportamentais (Dinâmicos)
9. Diagramas - UML
Partes estáticas do sistema:
Diagrama de classes
Diagrama de objetos
Diagrama de componentes
Diagrama de pacotes
Diagrama de implantação (Diagrama de instalação)
Diagrama de estrutura composta
Partes dinâmicas do sistema:
Diagrama de caso de uso
Diagrama de atividades
Diagrama de seqüência
Diagrama de colaboração (UML 1.x) -> Diagrama de comunicação (UML 2.0)
Diagrama de máquina de estados (Diagrama de transição de estados)
Diagrama de tempo
Diagrama de visão interação
10. Diagrama de Caso de Uso
Representação visual dos itens do Escopo
Auxílio ao usuário final no entendimento do que será
desenvolvido
Formaliza o Escopo
Diferencia os vários papéis dentro do Sistema
12. Diagrama de Classes
Refere-se a descrição de um conjunto de objetos que
compartilham os mesmos atributos,operações, relações e
semântica.
UML sugere capitalizar todas as primeiras letras de cada
palavra no nome (ex.: ``Lugar'', ``DataReserva'').
Uma boa pratica é manter nomes de classe no singular,
classes por padrão “contem” mais de um objeto, o plural é
implícito. [Nicolas Anquetil]
14. Diagrama de Classes
Diferença entre Classes x Objetos
Classes
Estrutura
Define as características que um conjunto de
elementos (objetos) tem em comum
Durante a modelagem do sistema definimos CLASSES
Objetos
Instância (ocorrência)
Na execução do sistema o que existe é um conjunto de
OBJETOS
15. 15
UML – Diagrama de Objetos
O Diagrama de Objetos é usado na modelagem de
estruturas de objetos.
Fornece uma visão instantânea (“congelada”) de um
conjunto de objetos no Sistema, descrevendo o estado de
cada objeto e as relações que existem entre esses objetos
em um dado ponto no tempo.
Esses diagramas são formados por objetos e vínculos.
Também podem conter notas e restrições, bem como,
16. Representação de um Objeto:
A representação de um objeto (instância) é semelhante a representação de uma classe.
No compartimento do nome, indica-se o nome do objeto (variável de referência) seguido por :
(dois pontos) e o nome da classe que o objeto representa, e ambos sublinhados.
O nome da referência pode ser omitido, resultando assim em uma instância anônima.
No compartimento dos atributos, indica-se o valor dos atributos em um determinado momento
da execução do sistema.
Objeto nomeado
P1: Produto
id = 10
descricao = “Copo”
preco = 10.50
Objeto anônimo
: Produto
id = 10
descricao = “Copo”
preco = 10.50
UML – Diagrama de Objetos
18. Diagrama de Pacotes
UmDiagramadePacotesdemonstraoagrupamentodasclassese/ouinterfaces.
Umpacoteérepresentadoporumapasta(umretângulocomumaabanocantoesquerdodabordasuperior).
Modelo
Modelo
Cliente Produto
19. UML – Diagramas de Pacotes
Pode demonstrar classes seus respectivos pacotes.
20. Demonstra a Decomposição de um Sistema em subsistemas.
Estereótipo
<<System>>
Banco Online
<<Subsystem>> <<Subsystem>> <<Subsystem>>
Apresentação Relatórios Administração
Diagrama de Pacotes
21. 21
Demonstra a Decomposição de um Sistema em Camadas.
<<tier>>
Cliente
<<tier>>
Apresentação
<<tier>>
Negócio
<<tier>>
Dados
Diagrama de Pacotes
22. UML – Diagrama de Atividades
Diagrama comportamental (visualiza aspectos dinâmicos)
usado para modelar o fluxo de trabalho (fluxo de uma
atividade para outra).
Descreve o fluxo de eventos de um cenário de um Caso de
Uso.
Muito semelhante a um fluxograma usado em Lógica de
Programação.
24. UML – Diagramas de Interação
Os Diagramas de Interação são usados para modelar o comportamento
dinâmico do sistema. Descrevem os fluxos de controle, como os objetos
interagem durante a execução de uma tarefa do sistema.
Demonstram as trocas de mensagens entre os objetos.
São divididos em quatro tipos:
• Diagrama de seqüência (ênfase no tempo )
• Diagrama de Colaboração / Comunicação (ênfase na organização
dos objetos)
• Diagrama de Tempo
• Diagrama de Visão de Interação
25. UML – Diagrama de Seqüência
Demonstra a troca de mensagens entre os objetos do sistema em uma
ordem temporal, ou seja, dá ênfase à ordem em que as mensagens
entre objetos são trocadas. Mostra visualmente o fluxo de controle ao
longo do tempo.
Linha de Vida do Objeto
Linha tracejada vertical ligada a um objeto que representa a existência
desse objeto em um período de tempo.
Foco de Controle (barra de ativação / barra de execução)
Retângulo estreito sobre a linha de vida que mostra o período durante o
qual um objeto está desempenhando uma ação.
28. UML – Diagrama de Colaboração ou Comunicação
Demonstra a troca de mensagens entre os objetos do sistema de forma a capturar as
relações estruturais entre eles. Mostra como os objetos estão vinculados.
30. UML – Diagrama de Máquina de Estados
Descreve o ciclo de vida de um objeto, mostrando os estados que esse objeto apresenta e as
transições entre esses estados que ocorrem em resposta a eventos durante a sua existência.
31. UML – Diagrama de Máquina de Estados
Estados
Um estado é uma condição ou situação em que um objeto se encontra num determinado
momento. É representado por um retângulo de cantos arredondados.
Estado Inicial e Final
Estados especiais que definem respectivamente o início e o fim do ciclo de vida.
Transições (“Eventos”)
Uma transição é um relacionamento entre dois estados, indicando a mudança de um
estado para outro após a realização de certas ações. São representadas por uma linha contínua
com uma seta apontando do estado origem para o estado final. Uma transição é formada por
cinco partes:
Estado de Origem
31
32. UML – Diagrama de Máquina de Estados
Evento de Ativação
Estímulo que ocorre em um objeto, capaz de disparar uma transição de
estado.
Condição de Proteção / Condição de Guarda
Expressão booleana entre colchetes que é avaliada quando uma
transição é iniciada pelo evento de ativação. Que define se a transição será ou não
executada.
Ação
Computação que pode ocorrer em uma transição, normalmente uma
chamada de método.
Estado Destino
32
35. 35
UML – Diagrama de Componentes
Um componente é uma parte substituível e executável de um
sistema cujos detalhes de implementação são ocultos. Pode ser
reutilizado em vários sistemas sem a necessidade de modificar sua
implementação. É representado por um retângulo com dois outros
retângulos menores na borda esquerda. Ou então, através de um
retângulo com um ícone de componente no canto superior direito.
<<componente>>
VerificadorCartao
<<componente>>
VerificadorCartao
36. UML – Diagrama de Componentes
Relação de dependência: um componente pode usar uma ou mais Interfaces
– Diz-se que essas interfaces são importadas
– Um componente que usa outro componente através de uma
interface bem definida, não deve depender da implementação (do
componente em si), mas apenas da interface
38. UML – Diagrama de Implantação/Implementação/Desdobramento
Modela como o sistema está fisicamente distribuído. Demonstrando a configuração
dos nós de processamento e os componentes executados nesses nós.
Um nó é um elemento físico que representa um recurso computacional. Um nó executa
componentes. É representado por um cubo.
Os diagramas de implementação são empregados para a modelagem da visão estática
da implementação de um sistema. Na maior parte, isso envolve a modelagem da
topologia do hardware em que o sistema é executado;
São utilizados para visualizar, especificar e documentar sistemas embutidos,
cliente/servidor, distribuídos e gerenciamento de sistemas executáveis;
WebServer
39. UML – Diagrama de Implantação/Implementação/Desdobramento
40. UML – Diagrama de Implantação/Implementação/Desdobramento
41. UML – Diagrama de Implantação/Implementação/Desdobramento
42. UML – Diagrama de Implantação/Implementação/Desdobramento
43. UML – Diagrama de Visão Geral de Interação ou Interação
Geral
O diagrama de visão geral de interação e uma variação do diagrama
de atividades, proposto na versão atual de UML. Seus elementos
sintáticos são os mesmos do diagrama de atividades. As interações
que fazem parte do diagrama de visão geral de interação podem ser
referencias a diagramas de interação existentes na especificação
tratada, é um diagrama que congrega os outros diagramas de
interação (seqüência, comunicação, tempo). Serve para mostrar
seqüências entre estes diagramas de atividades são permitidas nesse
diagrama.
45. UML – Diagrama de Tempo ou Temporização
Diagrama de tempo (Timing Diagram) incluído a partir da UML 2.0
apresenta o comportamento dos objetos e sua interação em uma escala
de tempo, focalizando as condições que mudam no decorrer desse
período.
47. UML – Diagrama de Estrutura Composta
O diagrama de estrutura composta fornece meios de definir a estrutura de um
elemento e de focalizá-la no detalhe, na construção e em relacionamentos
internos. E um dos novos diagramas propostos na segunda versão da UML,
voltado a detalhar elementos de modelagem estrutural, como classes, pacotes
e componentes, descrevendo sua estrutura interna.