aula uml 3
TRANSCRIPT
1
Arquitetura de Software – Thaís Batista
UMLDiagramas
• Diagrama é uma representação gráfica de uma coleção de elementos de um modelo
• São desenhados para permitir a visualização de um sistema sob diferentes perspectivas
• Um mesmo item pode aparecer em todos os diagramas ou em apenas alguns.
Arquitetura de Software – Thaís Batista
UMLDiagramas
• UML define 9 (nove) diagramas:– Diagrama de Classes– Diagrama de Objetos– Diagrama de Casos de Uso– Diagrama de Sequência– Diagrama de Colaboração– Diagrama de Atividades– Diagrama de Gráficos de Estados (Statechart)– Diagrama de Componentes– Diagrama de Desenvolvimento
ModelamAspectosDinâmicos
Diagramasde Interações
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Classes
• Oferece uma visão estática da estrutura do sistema
• Exibe um conjunto de classes, interfaces e colaborações bem como seus relacionamentos.
• Podem conter notas e restrições, pacotes ou subsistemas e instâncias
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Classes
• Dicas para criar um diagrama de classes:– Atribua- lhe um nome que comunique seu
propósito– Distribua seus elementos de modo a minimizar
o cruzamento de linhas– Use notas e cores como indicações visuais para
chamar a atenção de aspectos importantes– Não exiba grande quantidade de tipos de
relacionamentos
2
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Classes
Empresa
Departamento
nome: Nome
EscritórioEndereço: string
localização
EscritórioMatrizPessoanome: Nomecódigo: InteiroObterContrato()ObterDados()
membro gerente
1
11..*
* *
InformaçãoContrato
Endereço: string
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Objetos
• Oferece uma visão estática de instâncias de itens encontrados no diagrama de classes
• Exibe um conjunto de objetos e relacionamentos • Podem conter notas e restrições, pacotes ou
subsistemas• Pode- se dizer que é uma instância do diagrama de
classes• Não expressa informações sobre as msg passadas
entre os objetos
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Objetos
E:Empresa
D1:DepartamentoNome=“Estoque”
D2:DepartamentoNome=“Vendas”
p:PessoaNome=“Maria”Código = 1010
gerente
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Casos de Uso
• Exibe um conjunto de casos de uso e atores• Importantes para organização e modelagem
de comportamentos do sistema• Especificam e documentam o
comportamento de um elemento para se entender como este elemento é utilizado (desenvolvedores precisam de casos de uso para poder implementar o sistema)
3
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Casos de Uso
cliente
Sistema de Vendas
SolicitaProduto
Depto.VendasVerifica
Estoque
Libera/CancelaVenda
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Sequência
• Diagrama de interação cuja ênfase está na ordenação temporal das mensagens
• Graficamente é representando por uma tabela que mostra objetos distribuídos no eixo X e mensagens, em ordem crescente no tempo, no eixo Y
• Contém objetos, vínculos e mensagens. • Podem conter notas e restrições
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Sequência
• O objeto que inicia a interação é colocado mais a esquerda
• As mensagens são colocadas no eixo Y em ordem crescente de tempo, proporcionando ao leitor uma clara indicação visual do fluxo de controle ao longo do tempo
• Existe a linha de vida do objeto
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Sequência
• Diferenças para o diagrama de colaboração:– Existe a linha de vida do objeto – Existe o foco de controle (um retângulo alto e
estreito que mostra o período no qual um objeto está desempenhando uma ação)
4
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Sequência
c:Cliente
t:Transação<<create>>
Compra(produto)
OK/Cancela
<<destroy>>
BD
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Colaboração
• Diagrama de interação cuja ênfase está na organização estrutural dos objetos que enviam e recebem mensagens
• Os objetos da colaboração são vértices de um grafo, os vínculos são os arcos e contém as mensagens que os objetos enviam e recebem.
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Colaboração
• Diferenças para o diagrama de sequência:– Existe o caminho– Existe o número de sequência (para indicar a
ordem temporal de uma mensagem)
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Colaboração
c:Cliente
t:Transação
1: <<create>>2: Compra(produto)3:<<destroy>>
5
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Gráfico de Estados
• Exibe uma máquina de estados dando ênfase no fluxo de controle de um estado para outro
• É formado por:– Estados: situação na vida de um objeto onde ele realiza
uma atividade ou aguarda um evento– Transições: relacionamento entre dois estados – Eventos: uma ocorrência significativa; um estímulo
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
UMLDiagrama – Diagrama de Gráfico de Estados
Ocioso Executando
pressionartecla
concluído
desligar
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Atividades
• Tipo especial de diagrama de estado onde:– Estados são atividades– Transições são ativadas pela conclusão de atividades
• Diagrama de Atividades X Diagramas de Interação– 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
UMLDiagrama – Diagrama de Atividades
• Diagrama de Atividades X Diagrama de Gráfico de Estados (Statecharts)– O diagrama de atividades é uma projeção dos
elementos encontrados em um gráfico de atividades
6
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Atividades
• Ramificações:– Especifica caminhos alternativos baseados em
expressões booleanas– É representado como um diamante
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Atividades
Compra Produto
Verifica Estoque
Libera Compra
[Com Estoque]
[Sem Estoque]Cancela Compra
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Atividades
• Bifurcação e União– Modelam fluxos concorrentes
• Bifurcação: a divisão de um memo fluxo de controle em dois ou mais fluxos concorrentes
– poderá ter uma única transição de entra e duas ou mais transições de saída
– Abaixo da bifurcação as atividades associadas com cada um dos caminhos prosseguem paralelamente
• União: a sincronização de dois ou mais fluxos de controle concorrentes
– Poderá ter duas ou mais transições de entrada e uma única transição de saída
– Uma barra de sincronização é usada para especificar bifurcação e união dos fluxos paralelos de controle
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Atividades
• Raias de Natação– Particiona em grupos os estados de atividades
de um diagrama de atividades (cada grupo representa um elemento responsável pela atividade)
– Cada grupo é chamado de raia de natação pois os grupos ficam separados de seus vizinhos por uma linha cheia vertical
– Cada raia de natação deve ter um nome único
7
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Atividades
Compra Produto
Verifica Estoque
Cliente Vendas Estoque
RespondePedido
RecebePedido Cobrança
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Componentes
• Modela aspectos físicos• Exibe as organizações e as dependências de
um conjunto de componentes • Está relacionado com o diagrama de classes
pois tipicamente componentes são mapeados para uma ou mais classes, interfaces, colaborações
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Componentes
• Elementos– Componentes– Interfaces– Relacionamentos de dependências,
generalização, associação e realização• Podem conter notas e restrições
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Componentes
• Usos comuns:– Modelagem do Código Fonte
• Representa a modelagem do gerenciamento da configuração dos arquivos com código fonte
– Modelagem de Executáveis– Modelagem de Bancos de Dados Físicos
8
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Componentes
• Estereótipos padrão que se aplicam a componentes:– Executável: especifica um componente que
poderá ser executado em um nó– Biblioteca: especifica uma biblioteca estática
ou dinâmica– Tabela: especifica um componente que
representa uma tabela de BD– Arquivo: um componente que representa um
documento contendo código fonte ou dados– Documento: um componente que representa
um documentoArquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Componentes
Modelagem de Código Fonte
Mestre.h{versão = 3.0}
Mestre.h{versão = 4.0}
<<pai>>
Estoque.h{versão = 2.0}
Mestre.cpp
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Componentes
professores alunos cursos
Modelagem de um Banco de Dados
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Desenvolvimento
• 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 um ou mais componentes
9
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Desenvolvimento
• Elementos:– Nós– Relacionamentos de Dependência e Associação
Arquitetura de Software – Thaís Batista
UMLDiagrama – Diagrama de Desenvolvimento
• Modelagem de um sistema Cliente/Servidor
Servidor
2..*<<processador>>Servidor Http
Desenvolv.http.exe
4..*<<processador>>
Servidor XDesenvolv.Dbadmin.exe
Clientes
console
Arquitetura de Software – Thaís Batista
UMLDiagramas – 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