Diagrama de Seqüência



Documentos relacionados
Diagrama de Seqüência

Termo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos.

Diagramas de Sequência

Diagrama de Atividades

UML - Diagramas de Sequência

Diagrama de Transição de Estados

Diagrama de Transição de Estados. Leonardo Gresta Paulino Murta

3 Informações para Coordenação da Execução de Testes

Casos de Uso. Viviane Torres da Silva

Diagrama de Comunicação

Casos de Uso. Viviane Torres da Silva

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

Sistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Utilização de threads em Java

Diagrama de Atividades

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

Orientação a Objetos

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos

13/09/2011. Atividades. Aula 5: REDE PERT/CPM PRINCÍPIOS DO PERT-CPM

Programação de Computadores I. Linguagem C Função

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Administração Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Gerenciamento de TEMPO

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

Relações. Antonio Alfredo Ferreira Loureiro. UFMG/ICEx/DCC MD Relações 1

Oganização e Arquitetura de Computadores

Requisitos de Software

Herança. Prof. Leonardo Barreto Campos 1

COMO VENDER MAIS USANDO FUNIL DE VENDAS. Capítulo III: Etapas do Funil de Vendas

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

BCC202 - Estrutura de Dados I

Modelos de Ciclo de Vida de Software

Gerenciamento de Integração. Prof. Anderson Valadares

Algoritmos Paralelos - ordenação

Diagrama de Atividades

Diagrama de Sequência.

Diagramas de Actividades

Algoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo

Parte 05 - Técnicas de programação (mapas de Veitch-Karnaugh)

Casos de Uso. Viviane Torres da Silva

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

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela.

}Escalonamento. Parte III - Sistemas Operacionais. Cap. 2 Processos. Escalonamento de Processos. Quando escalonar? Comportamento de Processos

Diagrama de Classes. Viviane Torres da Silva

GESTÃO POR PROCESSOS

Linguagens e Técnicas de Programação II

DIAGRAMAS DE CLASSE UML

Casos de Uso. SSC 526: Análise e Projeto Orientados a Objetos. Profa. Dra. Elisa Yumi Nakagawa

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

Processo de Desenvolvimento de Software

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Lista de exercícios de UML

5. ESTRUTURA DE CONTROLE TOMADA DE DECISÕES

Equilíbrio de um corpo rígido

Estruturas de Dados. Árvores B. - - Estrutura e peculiaridades -- Algoritmos de inserção, pesquisa e deleção

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J.

Exercícios de Revisão Redes de Computadores Edgard Jamhour. SSL, VPN PPTP e IPsec

ou opcional para 250 folhas (Bandeja 2) Cartões X X X X Papel brilhoso X X X X X Transparências X X X

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

PROVA DE NOÇÕES DE INFORMÁTICA

Programação Orientada a Objetos

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

GGI026 - Árvore balanceada

p. 2 Trechos de Material Didático (Apostila) e Conteúdo do Livro Texto, de autoria de Marcus Ramos, João José Neto e Ítalo Vega i <= 1

PCS3413 Engenharia de Software e Banco de Dados

1 - RECORDANDO 2 - CENTRO NA ORIGEM 3 - EQUAÇÃO GERAL DA CIRCUNFERÊNCIA. Exercício Resolvido 2: Exercício Resolvido 1: Frente I

5 Diagrama de Estado. 5.1 Definição

GERÊNCIA DE DESENVOLVIMENTO E MODERNIZAÇÃO

Árvores UFES. Teoria dos Grafos. CC/EC/Mestrado

Apresentação do Microsoft Excel

TOM, SEMITOM, SUSTENIDO, BEMOL.

Orientação a Objetos (em Java)

Árvores de Decisão Matemática Discreta

TUTORIAL MATLAB Victor Breder 2016

FATEC GT/FATEC SJC. Prof. MSc. Herivelto Tiago Marcondes dos Santos [ESTATÍSTICA I]

Aula 5 UML: Casos de Uso

PLANEJAMENTO SIMPLIFICADO DE PROJETOS

Entrada e Saída Transmissão Serial e Paralela

Banco de Dados. Modelo Entidade Relacionamento Estendido DCC IME USP. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Estruturas de Repetição

Análise de algoritmos. Parte II

INF1005: Programação I. Algoritmos e Pseudocódigo

Transcrição:

Diagrama de Seqüência Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1

O que é? Diagrama criado para modelagem da interação entre objetos Detalha como objetos colaboram para implementar um cenário de caso de uso Útil para ajudar na identificação dos métodos das classes Caixas representando objetos Linhas verticais representando a vida do objeto Linhas horizontais representando troca de mensagens

Objetos Os objetos são de algum tipo definido no diagrama de classes O nome de um objeto éda forma nome : classe Em situações onde um nome específico não pode ser identificado (ex.: pedro: Pessoa), utilize: Um nome genérico (ex.: umapessoa: Pessoa) Um nome único (ex.: apessoa: Pessoa) Ou omita o nome (ex.: : Pessoa) pedro : Pessoa Uma linha pontilhada sai do objeto (linha de vida) representando o momento da sua criação em diante Quanto mais para baixo, mais tempo passou

Mensagens A interação entre objetos é representada por mensagens Para outros objetos Para o mesmo objeto (auto-mensagem) Uma mensagem contém a assinatura do método que está sendo chamado Uma barra de ativação indica o escopo de execução do método

Mensagens umapessoa : Pessoa : ControleSeguranca : Log 1 : login(umapessoa): Boolean 2 : autentica(umapessoa) 3 : registra("login", umapessoa)

Mensagens Mensagem de criação Aponta diretamente para o objeto e é marcada com <<create>> Mensagem de retorno Opcional, e normalmente é omitida Usa seta tracejada Marca de destruição Indica o término da vida de um objeto com um X

Mensagens

Mas como representar um algoritmo mais complexo? Exemplo: Para cada item de produto Se o valor do produto for maior que 10000 então Despacha com cuidado Caso contrário Despacha normalmente Se precisa de confirmação Envia confirmação

Repetições O diagrama de seqüência permite que repetições sejam feitas durante o fluxo Para isso são utilizados quadros (frames) do tipo loop loop [para cada item de pedido]

Decisões O diagrama de seqüência permite que decisões sejam tomadas durante o fluxo Para isso são utilizados quadros (frames) do tipo altou opt com condições de guarda If + else alt [item.valor > 10000] [caso contrário] if opt [umpedido.precisaconfirmacao()]

Exemplo umpedido : Pedido cuidadoso : Entregador normal : Entregador omensageiro : Mensageiro loop [para cada item de pedido] alt [item.valor > 10000] 1 : despacha() [caso contrário] 2 : despacha() opt [umpedido.precisaconfirmacao()] 3 : envia()

Outros quadros disponíveis Além dos quadros do tipo loop, opte alt, existem outros tipos, entre eles: par: Contém vários seguimentos e todos são executados em paralelo region: Determina uma região crítica, que deve ter somente uma thread em execução em um dado momento

Chamada síncrona x assíncrona Épossível utilizar dois tipos de chamada de métodos no diagrama de seqüência: Chamada síncrona (seta cheia): a execução fica bloqueada atéo retorno do método Chamada assíncrona (seta vazia): a execução continua em paralelo ao método que foi chamado (forkimplícito)

Quando utilizar diagrama de seqüência? Para representar em alto nível a interação entre diferentes objetos visando atender a um caso de uso Para ajudar a encontrar os métodos do diagrama de classes Cuidado: não use diagrama de seqüência... Para métodos muito simples (ex.: get e set) Para definição precisa de como será o código

Exercício Elabore um diagrama de seqüência para o algoritmo Quicksort(versão ingênua) Primeiro elemento da lista de entrada éo pivô Cria outras duas listas com os elementos menores e maiores que o pivô Ordena recursivamente as outras duas listas Concatena a lista de menores ordenada, o pivô e a lista de maiores ordenada, criando a lista de saída ordenada

Bibliografia Fowler, Martin. 2003. UML Distilled: A Brief Guide to the Standard Object Modeling Language. 3rd ed. Addison-Wesley Professional. Várias transparências foram produzidas por Leonardo Murta http://www.ic.uff.br/~leomurta