UML - Diagramas de Sequência

Slides:



Advertisements
Apresentações semelhantes
Diagrama de Sequência.
Advertisements

Diagrama de Seqüência.
Modelagem de Interações
UNIDADE 2 UML MODELAGEM TEMPORAL
Diagrama de Sequência I
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Profa. Priscila Facciolli.  O foco do diagrama é identificar a interação entre os objetos pelo tempo.  Identifica as mensagens trocadas entre os objetos.
CIn-UFPE1 Diagramas de Atividades UML. CIn-UFPE2 Diagramas de Atividades n Os Diagramas de Atividades mostram o fluxo entre atividades (ações não-atômicas);
Análise e Projeto de Sistemas Diagramas de Atividades Prof. Edjandir Corrêa Costa
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
PESC/COPPE/UFRJ - Toacy C. Oliveira Modelagem Dinâmica – Diagrama de Sequência Toacy. Oliveira - PESC/COPPE/UFRJ.
Relatórios.  O Relatório é um componente ActiveX chamado ActiveReport, que permite a visualização e impressão de valores instantâneos de variáveis do.
EA976 – Engenharia de Software AULA 17 Diagramas de Interação.
EA976 – Engenharia de Software AULA 19 Pré-Projeto e Modelagem de Negócios.
DIAGRAMA DE SEQUENCIA Sandro Carvalho. OBJETIVO DO DIAGRAMA Apresentar as interações entre objetos na ordem temporal em que elas acontecem.
Diagramas Dinâmicos Diagramas de Interação Diagramas de Sequência Diagramas de Colaboração Diagramas de Estado (Statechart) Diagramas de Atividade.
INTRODUÇÃO À FOLHA DE CÁLCULO
Estruturas de Repetição
Aula 3 - Estruturas de Repetição
Modelação de Sistemas de Informação com UML
Modelo Entidade- relacionamento
Estruturas de Repetição
Modelação de Requisitos: Modelação de Casos de Utilização
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 10
Diagrama de Sequencia Prof. Thales Castro.
Análise e Projeto de Sistemas II
Diagrama de estado Higo Vale Kleber Baingo
UML – Diagramas de Estados (State Machine Diagrams)
Introdução OO.
UML – é a sigla de Unified Modelling Language
Introdução ao RUP – Rational Unified Process
UML – Diagramas de Pacotes (Packages)
UML – Diagramas de Estados (Statechart Diagrams)
UML – Modelação da arquitectura
UML - Diagramas de Actividades (activity diagrams)
Tecnologias da Informação e Comunicação
UML – Diagramas de Colaboração
UML - Diagramas de Actividades (activity diagrams)
Nataniel Vieira Endereçamento IP Nataniel Vieira
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Diagrama de Estado Prof. Thales Castro.
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Diagrama de Atividade Prof. Thales Castro.
Pacotes Um pacote (package) em UML é um mecanismo de agrupamento genérico Notação: pasta com o nome no interior ou na pega No caso de um pacote contido.
Modelação de Requisitos com UML
UML - Diagramas de Sequência
Introdução à programação orientada por objetos
Modelagem Orientada a Objetos com UML
Índice Criar um projecto de modelação
Diagramas de Sequência
LISTA DE EXERCÍCIOS   1º) Júlia aplicou um capital de R$ 3.000,00 durante 5 meses a uma taxa de juro simples de 12% ao ano. Após esse período, ela aplicou.
Revisão Requisitos e Casos de Uso
Projeto Orientada a Objetos
UML Diagrama de Classes
Elaboração de Casos de Teste Funcionais RUP
Modelagem de Objetos de Domínio com Diagrama de Classes
Técnicas de Transmissão
Aula 8 – Planejamento do Tempo e dos Custos
CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 09
DIAGRAMA DE CASOS DE USO
Prof. Luís Fernando Garcia
UML - Diagramas de Actividades (activity diagrams)
Modelagem de Sistema T5MOD/N5MOD
Aula 11- Rafaela Bosse Schroeder
Diagramas de Seqüência
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
REDES WIFI (LOCAIS) GIAN, JEFERSON, JULIO..
Iniciação Digital (25 horas)
Transcrição da apresentação:

UML - Diagramas de Sequência

Objectivo Um diagrama de sequência mostra uma interacção, isto é, uma sequência de mensagens trocadas entre vários objectos num determinado contexto (caso de utilização, operação, etc.) Enfatiza a comunicação e passagem de controlo entre objectos ao longo do tempo Útil para descrever uma sequência particular de funcionamento, mas não muitas sequências alternativas e ciclos nem acções realizadas por um objecto que não envolvem comunicação com outros objectos

Objectos e linhas de vida Cada objecto participante é representado por uma caixa em cima duma linha vertical a traço interrompido (linha de vida) Podem aparecer actores (objectos externos ao sistema), normalmente a iniciar interacções O tempo cresce de cima para baixo objecto1:Classe1 objecto2: :Classe3 mensagem

Mensagens Uma mensagem é uma comunicação entre objectos (emissor e receptor) que veicula informação na expectativa de provocar uma resposta (acção ou actividade) Uma acção de um objecto capaz de provocar uma resposta noutro objecto pode ser modelada como uma mensagem do primeiro para o segundo objecto Uma mensagem é representada por uma seta horizontal, do emissor para o receptor, com o nome e possíveis argumentos Tipos de mensagens síncrona - o emissor fica parado à espera de resposta corresponde tipicamente a chamada de operação/procedimento no receptor retorno de mensagem síncrona desnecessário indicar quando se usam barras de activação (ver adiante) assíncrona - o emissor não fica parado à espera de resposta corresponde tipicamente a envio de sinal entre dois objectos concorrentes simples ou indiferenciada - não se decide se é síncrona, de retorno ou assíncrona usadas normalmente na modelação de interacções na fronteira do sistema (entre actores e o sistema representado por um ou mais objectos)

Criação e destruição de objectos Criação de objecto é representada por mensagem dirigida à própria caixa que representa o objecto (em vez de ser dirigida à linha de vida) Mensagem de criação pode ter estereótipo «create» Destruição de objecto é representada por um X no fim da linha de vida do objecto Mensagem de destruição pode ter estereótipo «destroy» Pode ocorrer na recepção de mensagem ou no retorno de chamada Objecto pode auto destruir-se ob1:C1 ob1:C1

Mensagens condicionais, iteradas e com retorno O valor de retorno de uma mensagem síncrona pode ser indicado na chamada, com atribuição :=, ou na mensagem de retorno Exemplo: ret := msg(args) Nome “ret” será usado em mensagens e condições a seguir Também se escrever “ret” na mensagem de retorno Uma mensagem condicional é indicada por uma condição de guarda entre parêntesis rectos [ ] Exemplo: [x<0] invert(x,color) A mensagem só é enviada se a condição se verificar Condições permitem mostrar várias sequências alternativas num único diagrama Uma mensagem iterada é indicada com asterisco *, seguido ou não de uma fórmula de iteração Exemplo: *[i:=1..n] update(i)

Barra de activação Uma barra de activação mostra o período de tempo durante o qual um objecto está a executar uma acção, quer directamente quer indirectamente através de um procedimento chamado inclui situação em que está á espera de retorno de uma chamada síncrona não inclui situação em que um processo está adormecido à espera de receber uma mensagem assíncrona que o acorde Em termos de processos, significa que o objecto tem um processo ou thread activo associado A sua indicação é opcional Retorno de chamada é implícito no fim da barra de activação Chamadas recursivas provocam barras empilhadas

Exemplo: Fazer chamada telefónica quem chama: Pessoa :Sistema telefónico quem é chamado: Pessoa levanta auscultador dá sinal de marcar a {b-a < 10 seg.} marca (1º dígito) b termina sinal de marcar marca (2º dígito) marca temporal ... marca (último dígito) dá sinal de chamada toca o telefone restrição temporal levanta auscultador pára sinal de chamada pára de tocar Fim da aula de 16/10/2001 PC. nesta altura decorre a conversação poisa auscultador dá sinal de conexão terminada poisa auscultador mensagem simples

Exemplo: Tratar pedido de stock :Janela de Selecção de Pedidos :Linha de Pedido :Item de Stock :Pedido Quantidade pedida tratar() * tratar() e:=existe?(q) [e=“sim"]retirar(q) Para repor stock Para cada linha do pedido b:=baixo?() [b=“sim”] criar() e2:Encomenda [e=“nao”] criar() e1:Encomenda Para poder satisfazer pedido criação de objecto

Exemplo: Executar transacção com subtransacções concorrentes e executar criar t: Transacção criar s1: Subtransacção criar s2: Subtransacção Adormecida à espera de sinal de sub-transacção sucesso restam subtransacções? sucesso restam subtransacções? auto-destruição

Bifurcação e fusão de linhas de vida : Multibanco :SIBS :Utilizador introduz cartão introduz PIN selecciona opção de levantamento bifurcações sincronizadas selecciona montante solicita transacção sucesso entrega dinheiro entrega talão saldo insuficiente avisa saldo insuficiente entrega cartão fusões sincronizadas Usar em vez de ou em combinação com mensagens condicionais

Relação com outros diagramas Relação com diagramas de colaboração Diagramas de sequência e de colaboração colectivamente designados diagrama de interacção Diagrama de colaboração = diagrama de objectos + diagrama de sequência Relação com diagramas de casos de utilização A um caso de utilização podem corresponder vários diagramas de sequência, para descrever sequências normais e sequências excepcionais de funcionamento Inicialmente, o sistema pode ser representado por um único objecto; depois de conhecida a sua estrutura interna, podem-se representar objectos internos ao sistema Relação com diagramas de estados Enquanto que um diagrama de interacção mostra um comportamento possível de um conjunto de objectos, com passagem de controlo entre objectos, um diagrama de estados mostra todos os comportamentos possíveis de um único objecto, com passagem de controlo entre estados Envio e recepção de mensagens são acções e eventos nos diagramas de estados Intervalo de tempo entre duas mensagens é um estado no diagrama de estados Relação com diagramas de actividades Adequados para mostrar acções realizadas por um objecto que não envolvem comunicação com outros objectos Com "swimlanes", permitem para mostrar sequências alternativas e ciclos envolvendo vários objectos

Caso de estudo (biblioteca): diagrama de sequência relativo ao caso de utilização "Empréstimo"

Exercícios de refinamento do caso de estudo Detalhar o diagrama de sequência relativo ao caso de utilização "Empréstimo", mostrando objectos internos ao sistema (objectos de interface, de controlo e persistentes) Descrever sequências normais e excepcionais de funcionamento doutros casos de utilização

Outros exercícios Elaborar diagramas de sequência relativamente aos seguintes casos de utilização: Levantamento de dinheiro num terminal multibanco Sequência normal Sequência excepcional no caso do saldo ser insuficiente Visão simplificada apenas com utilizador e sistema Visão detalhada envolvendo o SIBS (Serviços Interbancários), o banco emissor do cartão e a conta envolvida