39
Linguagem UML Linguagem de Modelagem Unificada Rosemary Silveira Filgueiras Melo [email protected] 1 UML Diagramas de Comportamento Parte 2

Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Linguagem de Modelagem Unificada

Rosemary Silveira Filgueiras Melo

[email protected]

1

UMLDiagramas de Comportamento

Parte 2

Page 2: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Tópicos abordados

Diagramas tripé da Análise

Diagramas de Sequência

Diagramas de transição de estado

2

Page 3: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Diagramas tripé da AnáliseCasos de Uso

Diagrama de Classes

Diagramas de Interação

Page 4: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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.

Page 5: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 6: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 7: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 8: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 9: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Diagrama de Sequência

Principais Elementos:

Atores

Objetos

Linha de Vida

Foco de Controle ou Caixa de Ativação

Mensagem

Page 10: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 11: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 12: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 13: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 14: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Exemplo de Tipos de Mensagens

Mensagem síncrona

Mensagem de Criação de Objetos

Page 15: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Exemplo de Tipos de Mensagens

Mensagens Síncrona

Mensagemde

Auto-Delegação

Page 16: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Operações de Decisão e Repetição no diagrama de Sequência

Operador Alt: Permite várias condições alternativas

Page 17: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Operações de Decisão e Repetição no diagrama de Sequência

Operador Alt: Permite várias condições alternativas

Page 18: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 19: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 20: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 21: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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.

Page 22: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Exemplo de uso de interação

Caso de Uso Encerrar Conta e Casos de Uso Relacionados

Page 23: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Exemplo de uso de interação

Page 24: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 25: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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”.

Page 26: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Diagrama de Casos de Uso

Page 27: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Especificação do Caso de Uso “Registrar Locação”

Page 28: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Diagrama de Classes

Page 29: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Diagrama de Sequência

Page 30: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Diagrama de Transição de estado

Representa os possíveis estados doobjeto e os eventos que geram asmudanças de estado.

Page 31: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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.

Page 32: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 33: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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).

Page 34: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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).

Page 35: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Exemplo de Diagrama de Transição de Estado

Exibindo ações e atividades realizadas para cada ação

Page 36: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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.

Page 37: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

Linguagem UML

Exemplo de SuperestadosSuperestado

Detalhamento do Superestado

Permitido transição de qualquer subestado de Ativo para o estado Cancelado

Page 38: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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

Page 39: Transforming models with ATL...Linguagem UML Diagramas tripé da Análise Casos de Uso Diagrama de Classes Diagramas de Interação Linguagem UML Diagramas de Interação Apresenta

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.