Você está na página 1de 9

UML UML

Diagramas Diagramas
• Diagrama é uma representação gráfica de uma • UML define 9 (nove) diagramas:
coleção de elementos de um modelo – Diagrama de Classes
– Diagrama de Objetos
• São desenhados para permitir a visualização de
– Diagrama de Casos de Uso
um sistema sob diferentes perspectivas – Diagrama de Sequência Diagramas Modelam
• Um mesmo item pode aparecer em todos os – Diagrama de Colaboração de Interações Aspectos
diagramas ou em apenas alguns. – Diagrama de Atividades Dinâmicos
– Diagrama de Gráficos de Estados (Statechart)
– Diagrama de Componentes
– Diagrama de Desenvolvimento

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Classes Diagrama – Diagrama de Classes
• Oferece uma visão estática da estrutura do • Dicas para criar um diagrama de classes:
sistema – Atribua- lhe um nome que comunique seu
propósito
• Exibe um conjunto de classes, interfaces e
– Distribua seus elementos de modo a minimizar
colaborações bem como seus o cruzamento de linhas
relacionamentos. – Use notas e cores como indicações visuais para
• Podem conter notas e restrições, pacotes ou chamar a atenção de aspectos importantes
subsistemas e instâncias – Não exiba grande quantidade de tipos de
relacionamentos

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

1
UML UML
Diagrama – Diagrama de Classes Diagrama – Diagrama de Objetos
Empresa • Oferece uma visão estática de instâncias de itens
1 encontrados no diagrama de classes
• Exibe um conjunto de objetos e relacionamentos
Departamento Escritório • Podem conter notas e restrições, pacotes ou
localização
nome: Nome * * Endereço: string subsistemas
• Pode- se dizer que é uma instância do diagrama de
membro 1..* 1 gerente classes
Pessoa EscritórioMatriz • Não expressa informações sobre as msg passadas
nome: Nome
código: Inteiro
InformaçãoContrato entre os objetos
ObterContrato() Endereço: string
ObterDados()
Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Objetos Diagrama – Diagrama de Casos de Uso
• Exibe um conjunto de casos de uso e atores
E:Empresa
• Importantes para organização e modelagem
de comportamentos do sistema
D1:Departamento D2:Departamento
• Especificam e documentam o
Nome=“Estoque” Nome=“Vendas” comportamento de um elemento para se
gerente entender como este elemento é utilizado
p:Pessoa (desenvolvedores precisam de casos de uso
Nome=“Maria” para poder implementar o sistema)
Código = 1010

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

2
UML UML
Diagrama – Diagrama de Casos de Uso Diagrama – Diagrama de Sequência
• Diagrama de interação cuja ênfase está na
Sistema de Vendas ordenação temporal das mensagens
Solicita • Graficamente é representando por uma
Produto tabela que mostra objetos distribuídos no
cliente Depto.
Verifica Vendas eixo X e mensagens, em ordem crescente no
Estoque tempo, no eixo Y
Libera/
• Contém objetos, vínculos e mensagens.
Cancela • Podem conter notas e restrições
Venda

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Sequência Diagrama – Diagrama de Sequência
• O objeto que inicia a interação é colocado • Diferenças para o diagrama de colaboração:
mais a esquerda – Existe a linha de vida do objeto
• As mensagens são colocadas no eixo Y em – Existe o foco de controle (um retângulo alto e
ordem crescente de tempo, proporcionando estreito que mostra o período no qual um objeto
ao leitor uma clara indicação visual do está desempenhando uma ação)
fluxo de controle ao longo do tempo
• Existe a linha de vida do objeto

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

3
UML UML
Diagrama – Diagrama de Sequência Diagrama – Diagrama de Colaboração
• Diagrama de interação cuja ênfase está na
c:Cliente BD organização estrutural dos objetos que
t:Transação
<<create>>
enviam e recebem mensagens
Compra(produto)
• Os objetos da colaboração são vértices de
um grafo, os vínculos são os arcos e contém
OK/Cancela
as mensagens que os objetos enviam e
recebem.
<<destroy>>

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Colaboração Diagrama – Diagrama de Colaboração
• Diferenças para o diagrama de sequência:
– Existe o caminho c:Cliente
– Existe o número de sequência (para indicar a
1: <<create>>
ordem temporal de uma mensagem) 2: Compra(produto)
3:<<destroy>>

t:Transação

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

4
UML UML
Diagrama – Diagrama de Gráfico de Estados Diagrama – Diagrama de Gráfico de Estados
• Exibe uma máquina de estados dando ênfase no
fluxo de controle de um estado para outro desligar
pressionar
• É formado por: tecla
– Estados: situação na vida de um objeto onde ele realiza
Ocioso Executando
uma atividade ou aguarda um evento
– Transições: relacionamento entre dois estados
– Eventos: uma ocorrência significativa; um estímulo concluído
capaz de ativar uma transição de estado
– Atividades: execução em uma máquina de estado
• Modelam comportamento de uma interface, classe
ou colaboração
Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Atividades Diagrama – Diagrama de Atividades
• Tipo especial de diagrama de estado onde: • Diagrama de Atividades X Diagrama de
– Estados são atividades Gráfico de Estados (Statecharts)
– Transições são ativadas pela conclusão de atividades
– O diagrama de atividades é uma projeção dos
• Diagrama de Atividades X Diagramas de elementos encontrados em um gráfico de
Interação atividades
– Diagrama de Atividades: exibe o fluxo de uma
atividade para outra
– Diagramas de Interação (Sequência e Colaboração):
exibem fluxo de controle de um objeto para outro

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

5
UML UML
Diagrama – Diagrama de Atividades Diagrama – Diagrama de Atividades
• Ramificações:
– Especifica caminhos alternativos baseados em Compra Produto
expressões booleanas
– É representado como um diamante
Verifica Estoque

[Sem Estoque]
Cancela Compra
[Com Estoque]

Libera Compra

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Atividades Diagrama – Diagrama de Atividades
• Bifurcação e União • Raias de Natação
– Modelam fluxos concorrentes – Particiona em grupos os estados de atividades
• Bifurcação: a divisão de um memo fluxo de controle em dois
ou mais fluxos concorrentes de um diagrama de atividades (cada grupo
– poderá ter uma única transição de entra e duas ou mais transições representa um elemento responsável pela
de saída atividade)
– Abaixo da bifurcação as atividades associadas com cada um dos
caminhos prosseguem paralelamente – Cada grupo é chamado de raia de natação pois
• União: a sincronização de dois ou mais fluxos de controle os grupos ficam separados de seus vizinhos por
concorrentes
– Poderá ter duas ou mais transições de entrada e uma única
uma linha cheia vertical
transição de saída – Cada raia de natação deve ter um nome único
– Uma barra de sincronização é usada para especificar
bifurcação e união dos fluxos paralelos de controle
Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

6
UML UML
Diagrama – Diagrama de Atividades Diagrama – Diagrama de Componentes
Cliente Vendas Estoque • Modela aspectos físicos
• Exibe as organizações e as dependências de
Compra Produto um conjunto de componentes
• Está relacionado com o diagrama de classes
Verifica Estoque
RespondePedido
pois tipicamente componentes são
mapeados para uma ou mais classes,
interfaces, colaborações
RecebePedido Cobrança

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Componentes Diagrama – Diagrama de Componentes
• Elementos • Usos comuns:
– Componentes – Modelagem do Código Fonte
– Interfaces • Representa a modelagem do gerenciamento da
configuração dos arquivos com código fonte
– Relacionamentos de dependências,
generalização, associação e realização – Modelagem de Executáveis
– Modelagem de Bancos de Dados Físicos
• Podem conter notas e restrições

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

7
UML UML
Diagrama – Diagrama de Componentes Diagrama – Diagrama de Componentes
• Estereótipos padrão que se aplicam a Modelagem de Código Fonte
componentes: Mestre.h Mestre.h
– Executável: especifica um componente que {versão = 3.0} {versão = 4.0}

poderá ser executado em um nó


<<pai>>
– Biblioteca: especifica uma biblioteca estática
ou dinâmica Mestre.cpp
– Tabela: especifica um componente que
representa uma tabela de BD
Estoque.h
– Arquivo: um componente que representa um {versão = 2.0}
documento contendo código fonte ou dados
– Documento: um componente que representa
um documento
Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML UML
Diagrama – Diagrama de Componentes Diagrama – Diagrama de Desenvolvimento
Modelagem de um Banco de Dados • Sinônimo de Diagrama de Implantação
• Exibe a configuração dos nós de
processamento em tempo de execução
• Está relacionado com o diagrama de
componentes pois tipicamente um nós inclui
cursos professores alunos um ou mais componentes

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

8
UML UML
Diagrama – Diagrama de Desenvolvimento Diagrama – Diagrama de Desenvolvimento

• Elementos: • Modelagem de um sistema Cliente/Servidor


– Nós
Servidor
– Relacionamentos de Dependência e Associação Clientes

2..* 4..*
<<processador>> <<processador>>
console Servidor Http Servidor X
Desenvolv. Desenvolv.
http.exe Dbadmin.exe

Arquitetura de Software – Thaís Batista Arquitetura de Software – Thaís Batista

UML
Diagramas – RESUMO
• Diagrama de Classes
– Vocabulário do domínio
• Diagramas de Casos de Uso
– Comportamento do sistema
• Diagrama de Sequências, de Colaboração, de
Gráficos de Estados e de Atividades
– Forma como os itens do vocabulãrio trabalharão em
conjunto para execução do comportamento especificado

Arquitetura de Software – Thaís Batista

Você também pode gostar