transforming models with atl...linguagem uml diagramas tripé da análise casos de uso diagrama de...
TRANSCRIPT
Linguagem UML
Linguagem de Modelagem Unificada
Rosemary Silveira Filgueiras Melo
1
UMLDiagramas de Comportamento
Parte 2
Linguagem UML
Tópicos abordados
Diagramas tripé da Análise
Diagramas de Sequência
Diagramas de transição de estado
2
Linguagem UML
Diagramas tripé da AnáliseCasos de Uso
Diagrama de Classes
Diagramas de Interação
Linguagem UML
Diagramas de Interação
Apresenta como as classes colaboram em determinadocomportamento.
Diagramas de Interação:o Diagrama de Sequênciao Comunicação
Diagrama de sequência é o mais utilizado por focar natemporalidade da interação.
Diagrama de comunicação permite construir modelosmais legíveis que o diagrama de sequência.
Linguagem UML
Diagramas de Sequência
Mostra como os objetos das classes envolvidas narealização de um caso de uso interagem (troca demensagem)
Cada cenário de um caso de uso implica em umdiagrama de sequência
Contribui para identificar novos métodos para asclasses e até novas classes
Linguagem UML
Diagramas de Sequência
Casos de Uso
Diagrama de Classes
Diagrama de Sequência
Diagramas necessários para construção do Diagrama de Sequência
Documento de Casos de Uso
Linguagem UML
Elaboração do diagrama de sequência
Casos de Uso
Diagrama de Classes
Diagramas de Interação
Documento de Casos de Uso
alteração alteração
Novos métodose/ou
Novas classes
Pode resultar em
Alterações nos diagramas de Classes e Casos de Uso
Linguagem UML
Diagrama de Sequência
Foco Principal Modelar ao longo da linha do tempo a sequência de
comunicação entre os objetos.
Modela os aspectos dinâmicos do sistema, taiscomo: Interação entre objetos dentro de um determinado Caso
de Uso
As mensagens que são trocadas entre estes objetos
Os métodos que são chamados entre estes objetos
A ordem em que ocorrem os eventos
Linguagem UML
Diagrama de Sequência
Principais Elementos:
Atores
Objetos
Linha de Vida
Foco de Controle ou Caixa de Ativação
Mensagem
Linguagem UML
Exemplo de Diagrama de SequênciaCaso de Uso Emitir Saldo Conta
ObjetosAtor Interface Foco de Controleou
Caixa de AtivaçãoLinha de Vida
Linha de Vida
Mensagens
Linguagem UML
Exemplo de Diagrama de Sequência
Trecho do diagrama de classes relacionado ao diagrama de sequência
Especificação de Casos de Uso
Linguagem UML
Diagrama de Sequência
Tipos de Mensagens:
Síncrona
Assíncrona
Criação de Objetos
Destruíção de Objetos
Auto-chamada ou Auto-delegação
Retorno
Linguagem UML
Tipos de Mensagens
Mensagens
Retorno
Síncrona
Mensagem Assíncrona
Mensagem Auto-delegação
Mensagem de Criação de Objetos
Mensagem de Destruição de Objetos
Linguagem UML
Exemplo de Tipos de Mensagens
Mensagem síncrona
Mensagem de Criação de Objetos
Linguagem UML
Exemplo de Tipos de Mensagens
Mensagens Síncrona
Mensagemde
Auto-Delegação
Linguagem UML
Operações de Decisão e Repetição no diagrama de Sequência
Operador Alt: Permite várias condições alternativas
Linguagem UML
Operações de Decisão e Repetição no diagrama de Sequência
Operador Alt: Permite várias condições alternativas
Linguagem UML
Operações de Decisão e Repetição no diagrama de Sequência
Operador Loop: Possibilita a execução de uma ou várias mensagens repetidas vezes
Linguagem UML
Operações de Decisão e Repetição no diagrama de Sequência
Operador Loop: Possibilita a execução de uma ou várias mensagens repetidas vezes
Linguagem UML
Operações de Decisão e Repetição no diagrama de Sequência
Operador Loop: Possibilita a execução de uma ou várias mensagens repetidas vezes
Linguagem UML
Diagrama de SequênciaUsos de Interação Permite que se montem diagramas mais complexo com a referência
a outros diagramas como se fossem sub-rotinas detalhadasseparadamente.
Facilita a leitura e compreensão do diagrama de sequência, com adiminuição do seu tamanho e complexidade.
Evita ter que modelar os mesmos passos, assim como realizarmesmas mudanças em mais de um diagrama referente a ummesmo processo.
Na maioria das vezes uma associação de inclusão ou extensão dodiagrama de casos de uso denotam a necessidade da existência deusos de interação nos diagramas de sequência.
Linguagem UML
Exemplo de uso de interação
Caso de Uso Encerrar Conta e Casos de Uso Relacionados
Linguagem UML
Exemplo de uso de interação
Linguagem UML
Responsabilidades das classes
Dicas:
Os métodos devem ser alocados as classes de modoque permita baixo acoplamento entre as classes ealta coesão.
O método deve ser colocado na classe que conhece ainformação.
O diagrama de sequência ajuda a identificar quais osmétodos pertencentes a cada classe
Linguagem UML
Atividade proposta
1) Considere o diagrama de Casos de Uso,especificação do Caso de Uso “Registrar Locação” eo diagrama de classes apresentados a seguir.Elabore o diagrama de sequência para o cenárioprincipal do caso de uso “Registrar Locação”.
Linguagem UML
Diagrama de Casos de Uso
Linguagem UML
Especificação do Caso de Uso “Registrar Locação”
Linguagem UML
Diagrama de Classes
Linguagem UML
Diagrama de Sequência
Linguagem UML
Diagrama de Transição de estado
Representa os possíveis estados doobjeto e os eventos que geram asmudanças de estado.
Linguagem UML
Estados, eventos e transição
Conceito de Estado
condição ou situação de um objeto ao realizar uma atividade,satisfazer alguma condição ou aguarda um evento.
Um objeto permanece em um estado por um tempo finito.
Conceito de Evento
Ocorrência de um estímulo gerado para um objeto capaz demudar seu estado atual.
Conceito de Transição
Indica movimento de um estado para outro.
Linguagem UML
Exemplo de diagrama de Transição de Estado
Diagrama de estado da Classe Quarto de um sistema de Hotel
Estado inicial Estado finalEvento
Transição
Estado
Linguagem UML
Ações de entrada e saída, transições internas e atividades
Ajudam a otimizar e reduzir a quantidade de estados e complexidade doDTE.
Ações de entrada Ações tomadas assim que entra no estado, independente da transição
(representado pela cláusula ENTRY).
Ações de saída Ações tomadas antes de sair do estado, independente da transição
(representado pela cláusula EXIT).
Atividade interna Eventos que precisam ser tratados mas não ocasiona transição de estado,
apenas realização de atividade interna.
Atividade Quando um objeto necessita executar uma determinada tarefa enquanto
estiver em um determinado estado ou até que um evento ocorra.(representado pela cláusula DO).
Linguagem UML
Ações de entrada e saída, transições internas e atividades
Ajudam a otimizar e reduzir a quantidade de estados e complexidade doDTE.
Ações de entrada Ações tomadas assim que entra no estado, independente da transição
(representado pela cláusula ENTRY).
Ações de saída Ações tomadas antes de sair do estado, independente da transição
(representado pela cláusula EXIT).
Atividade interna Eventos que precisam ser tratados mas não ocasiona transição de estado,
apenas realização de atividade interna.
Atividade Quando um objeto necessita executar uma determinada tarefa enquanto
estiver em um determinado estado ou até que um evento ocorra.(representado pela cláusula DO).
Linguagem UML
Exemplo de Diagrama de Transição de Estado
Exibindo ações e atividades realizadas para cada ação
Linguagem UML
Superestados
É composto de subestados e é chamado de estadocomposto.
Ajuda a modelagem de comportamentos complexos,sendo composto de vários estados.
Pode ser sequêncial ou concorrente.
Linguagem UML
Exemplo de SuperestadosSuperestado
Detalhamento do Superestado
Permitido transição de qualquer subestado de Ativo para o estado Cancelado
Linguagem UML
Passo a Passo para construção do DTE
Deve ser elaborado para classes cujos objetos tenham dois oumais estados:
1. Identifique todos os estados relevantes para a classe
2. Analise os possíveis eventos que ocasionam mudança deestado
3. Para cada evento identifique qual a transição de estado eleocasiona
4. Verifique se há fatores que influenciam no seu disparo(condição de guarda)
5. Identifique os eventos internos e as ações correspondentes acada estado
Linguagem UML
Contribuições do DTE ao diagrama de classes
Pode ser construído com base nas especificações decasos de uso, nos diagramas de interação e no diagramade classes.
Novos atributos e métodos podem ser descobertos aoelaborar o DTE e serem incorporados ao diagrama declasses.
Pode ser necessário alterar um ou mais métodos de umaclasse para refletir o comportamento do objeto nosrespectivos estados.
Ex.: comportamento do método Sacar() varia de acordocom o estado da classe ContaBancária.
Não pode ser realizado saque em uma conta bloqueada.