UML - Diagramas de Sequência

Documentos relacionados
UML Diagramas de Interação

UML - Diagramas de Sequência

Diagramas de Seqüência

Modelagem Dinâmica. Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel. O pensamento é o ensaio da ação.

Unified Modeling Language. Diagramas de Colaboração

4.4. UML Diagramas de interacção

Diagramas de Sequência

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

Modelagem Temporal com UML

3. Modelação Evolução histórica

27/02/2016 UML. Prof. Esp. Fabiano Taguchi DIAGRAMAS DE SEQUÊNCIA

Diagrama de Sequência Notação Objetos. Diagrama de Sequência Notação Mensagens. Diagrama de Sequência Notação Mensagens. Tipos de Mensagens

PRDS Módulo 3 (parte 3) Dario Ferreira Yoshiro Nagaé

Modelagem de Casos de Uso (Parte 1)

PCS3413 Engenharia de Software e Banco de Dados

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

Diagramas de Use Case Resumo

Diagrama de Sequência EDSIII. UML 2015 profa.denise

Departamento de Engenharia Industrial. ENG Sistemas de Informação Gerenciais Caso de Uso - Exercícios

UML. Sistemas de Informação. Introdução. Introdução. Unified Modeling Language - Índice Introdução. Descrever. Diagramas Use Case

UML Aula I Diagramas de Caso de Uso. Ricardo Argenton Ramos

Análise de Sistemas de Informação e Use Cases

Casos de Uso. SSC-121 Engenharia de Software I. Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

Descrição de Casos de Uso (Casos de Uso Textuais) SSC 124: Análise e Projeto Orientados a Objetos Profa. Dra. Elisa Yumi Nakagawa

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

EA975 - Laboratório de Engenharia de Software

Realizações de. Diagramas de Interação. Diagrama de Sequência. Análise e Projeto de Sistemas OO. Diagrama de Interação:

Cross-functional Flowcharts Swimlanes

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

UML Diagrama de Atividades

DIAGRAMAS DE ESTADOS (DME)

GUIA DE UTILIZADOR DO PORTAL WEB ( ÁREA DE CLIENTE DO SITE XIKILA MONEY)

ZS Rest. Manual Avançado. Funcionamento com cartões Sistema Pré-Pago. v2011

UML Diagramas de Pacotes (Packages) e Modelação da Arquitectura Lógica. UML Diagramas de Pacotes v.1.1, João Pascoal Faria, 2001

Diagrama de Seqüência

Diagramas de Sequência Exemplo

Casos de Uso. Análise e Projeto Orientados a Objetos. Profa Dra Rosana T. V. Braga

UFCD 0781 Análise de Sistemas de Informação. Formadora: Sónia Rodrigues. Conteúdos. Conteúdos. Conteúdos. Conteúdos. Objectivos da UFCD:

Diagrama de Sequência. Diagrama de Sequência. Atores. O que representam? Linha de Vida. Objetos

GUIA DE UTILIZADOR DA APLICAÇÃO XIKILA NOME Nº DE CONTA

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

O presente manual tem como objectivo orientar os utilizadores a efectuarem o seu registo no SISO.

POLÍTICA DE TRANSACÇÕES COM PARTES RELACIONADAS DO BANCO ECONÓMICO E PARTICIPADAS

Neste exercício, vamos criar uma Folha de Cálculo, onde vamos utilizar alguns Controlos de Formulários.

Função Fundamental do SO

GUIA DE UTILIZADOR PAGA AQUI (Do Comerciante)

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Capítulo 5 Modelação do Sistema 1

Friso Estrutura. nos. outros. trutor. fáceis de o fazer: FCA Editora de Informática

Diagramas de Interação da UML (Diagrama de Sequência e Diagrama de

w w w. b a l a n c a s m a r q u e s. p t B M G e s t

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Introdução ao RUP Rational Unified Process

Diagrama de Comunicação

Transcrição:

UML - Diagramas de Sequência 1 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 2

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 3 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) 4

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» ob1:c1 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 5 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) 6

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

Exemplo: Tratar pedido de stock :Janela de Selecção de Pedidos tratar() :Pedido * tratar() :Linha de Pedido e:=existe?(q) :Item de Stock Quantidade pedida Para cada linha do pedido [e= sim"]retirar(q) b:=baixo?() Para repor stock [b= sim ] criar() e2:encomenda [e= nao ] criar() e1:encomenda Para poder satisfazer pedido criação de objecto 9 Exemplo: Executar transacção com subtransacções concorrentes criar e executar Adormecida à espera de sinal de sub-transacção t: Transacção criar criar sucesso restam subtransacções? sucesso restam subtransacções? s1: Subtransacção s2: Subtransacção auto -destruição 10

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

Caso de estudo (biblioteca): diagrama de sequência relativo ao caso de utilização "Empréstimo" : Sócio : Funcionário : SIB Pede publicação emprestada Identifica publicação Mostra restantes dados da publicação Pede cartão de sócio Mostra cartão de sócio Identifica sócio Mostra restantes dados do sócio Confirma dados Imprime requisição Entrega requisição para assinar Devolve requisição assinada Empresta publicação Informa prazo para devolução 13 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 14

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 15