UML: Diagrama de Seqüência



Documentos relacionados
Uma visão mais clara da UML Sumário

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

Aula 5 UML: Casos de Uso

4.4. UML Diagramas de interacção

Casos de uso Objetivo:

Diagramasde Interação. Prof. Anderson Cavalcanti UFRN-CT-DCA

Modelagem Dinâmica com UML

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

MODELAGEM DE SISTEMAS

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

CASO DE USO. Isac Aguiar isacaguiar.com.br

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

UML Aula I Diagramas de Sequência e Colaboração. Ricardo Argenton Ramos

UML: Casos de Uso. Projeto de Sistemas de Software

Diagrama de Seqüência

UML: Diagrama de Classes

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

3.1 Definições Uma classe é a descrição de um tipo de objeto.

2 Diagrama de Caso de Uso

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS)

Desenvolvimento de uma Etapa

Trabalho Computacional 2. Aplicativo para Gestão Financeira. Grupos: Os trabalhos devem ser feitos individualmente ou em duplas.

DIAGRAMA DE ATIVIDADES

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

UML. Diagrama de Seqüência

UML: Diagrama de Casos de Uso, Diagrama de Classes

Questões de Concursos Públicos sobre Orientação a Objetos e UML

Engenharia de Software III

Fundamentos de Banco de Dados e Modelagem de Dados

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

UML Itens Estruturais - Interface

DESENVOLVENDO O SISTEMA

UML Diagramas Estruturais Classes

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Análise de Ponto de Função

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

Resolução da lista de exercícios de casos de uso

Uma visão mais clara da UML Sumário

Prof. Jhonatan Fernando

Mapa Mental de Engenharia de Software - Diagramas UML

Manual para acesso às disciplinas na modalidade EAD

BR DOT COM SISPON: MANUAL DO USUÁRIO

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

UFG - Instituto de Informática

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

Componentes do modelo ambiental

Programa do Curso de ESW

Guia do Aluno. Campo Grande MS

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

FBV - Linguagem de Programação II. Um pouco sobre Java

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6.

Diagrama de Casos de Uso

Algoritmos e Programação II. Sobrecarga

Bancos de Dados Exercícios de Modelagem Entidade Relacionamento

Modelagem de Sistemas Prof. Marcos Roberto e Silva

Computação II Orientação a Objetos

Orientação a Objetos com Java

Aleph. Entre Bibliotecas. Reunião da REJE 09 de novembro de 2011

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

Passo-a-passo Oi Torpedo Empresa

Lógica e Programação Java

Padrão ix. Q-Ware Cloud File Publisher Manual para realização do Donwload de Arquivos. Versão

COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0

Configuração e Instalação do Atendimento Online

A Linguagem de Modelagem Unificada (UML)

Modelagem de Casos de Uso! Um modelo funcional

Princípios de modelagem de Domínio e Projeto(design) de Software Parte 2

Levantamento, Análise e Gestão Requisitos. Aula 04

SERVIÇO DE CORREIO ELETRÔNICO PADRÃO DO HUWC

Manual SIGEESCOLA Matrícula

TUTORIAL AMBIENTE WEB PORTUGOL

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Modelos de Sistemas. Leitura: Cap7: Sommerville; Cap: 7-8 Pressman; Cap3: Ariadne

Modelo de Entidade e Relacionamento (MER) - Parte 07

Introdução à Programação. João Manuel R. S. Tavares

Engenharia de Software Unidade XI UML Parte 2

Programação Orientada a Objetos

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Política Gestão de Configuração e Mudança

O Processo de Engenharia de Requisitos

Introdução à Programação Orientada a Objetos

Engenharia de Software

Diagrama de classes. Ricardo Roberto de Lima UNIPÊ APS-I

Diagramas de Sequência

UML Aspectos de projetos em Diagramas de classes

Tarciane Andrade.

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

Manual de Atendimento do Chat Casa do Corretor. Página 1

Transcrição:

UML: Diagrama de Seqüência

Diagramas de Interação Deseja-se representar o comportamento de vários objetos Dentro de um contexto A partir das mensagens que são trocadas entre eles Esse contexto pode ser um caso de uso Objetivo Estabelecer os objetos que interagem e seus relacionamentos dentro de um contexto (caso de uso) Termo genérico que se aplica a dois tipos de diagramas que enfatizam interações entre objetos Diagrama de Seqüência Diagrama de Colaboração 2

Duas formas de representação Informações bastante similares mas de maneira diferente Diagrama de Seqüência Interação enfatizando o tempo de seqüência Mostra objetos participando em interações de acordo com suas linhas de vida e as mensagens que trocam Diagrama de Colaboração Interação enfatizando o relacionamento entre os objetos 3

Diagrama de seqüência Tempo (top-down) ObjetoA [se novo] <<create>> condição de guarda ObjetoB mensagem síncrona objeto mensagem (caixa de)ativação valor de retorno <<destroy>> mensagem (auto delegação) símbolo de destruição linha de vida 4

Termos e conceitos Objetos Linhas de vida Mensagens Focos de controle 5

Objetos Apresentados na dimensão horizontal do diagrama Ordem dos objetos não é considerada Dispô-los de forma a tornar o diagrama mais legível Objetos tem nomes obj:classe Ex.: joão:dentista :Floricultor (um objeto floricultor não identificado) obj1: (um objeto obj1 sem classe definida) 6

Objetos jose Floricultor central CentralFloricultura floricultorpetropolis Floricultor joao:dentista 1: enviarflores("rosas","maria","petropolis","rua x, 9"):boolean 1.1: atendecidade("petropolis"):boolean 1.2:[se nao na cid...] getfloricultornacidade("petropolis"):floricultor 1.3: aceitaencomenda("rosas","rua X,9"):boolean 7

Linhas de Vida Dimensão vertical do diagrama Apresentam o tempo de vida dos objetos Pode apresentar a ativação ou a desativação dos objetos Indicam que os objetos estão executando algo Foco de controle Caixas de ativação podem ser empilhadas Indica chamada de método do próprio objeto Objeto jose no slide anterior Podem representar a criação e a destruição de objetos 8

Linhas de Vida estoque Criação vendedor 1: new() pedido Linhas de vida 2:*[*] //adicionaritem 2.1: verificardisponibilidade 2.2: reservaritem 3: confirmarpedido 3.1: confirmarpedido Destruição 4: kill() (Caixas de) Ativação 9

Mensagens Objetos interagem através da troca de mensagens Setas sólidas que vão do objeto solicitante para o solicitado Para o próprio objeto: auto-delegação Rotulados com os nomes dos estímulos mais os argumentos (ou valores dos argumentos) do estímulo Sintaxe return := message(parameter:parametertype):returntype onde return é o nome do valor de retorno message é o nome da mensagem parameter é o nome de um parâmetro da mensagem parametertype é o nome do tipo desse parâmetro returntype é o tipo do valor de retorno 10

Mensagens - Tipos Tipos de ação que uma mensagem pode representar call Invoca uma operação sobre um objeto Objeto pode mandar uma chamada para si próprio» Resultando na execução local de uma operação return Representa o retorno de um valor para o objeto que chamou a operação Opcional create Criação de um objeto destroy Eliminação de um objeto new() kill() <<create>> <<destroy>> 11

Mensagens - Representações Símbolo Significado Mensagem síncrona Mensagem assíncrona Mensagem de retorno (opcional) 12

Mensagens Auto-delegação jose Floricultor central CentralFloricultura floricultorpetropolis Floricultor joao:dentista 1: enviarflores("rosas","maria","petropolis","rua x, 9"):boolean 1.1: atendecidade("petropolis"):boolean 1.2:[se nao na cid...] getfloricultornacidade("petropolis"):floricultor 1.3: aceitaencomenda("rosas","rua X,9"):boolean mensagens 13

Mensagens Condições de Guarda Mensagens podem apresentar condições de guarda condições em que a mensagem é enviada [condição de guarda] :Aluno :Sistema :Impressora login() Matrícula sistemaok matricula() [sem vaga] turmacheia matriculado [com vaga] imprimirrelatório() 14

Mensagens - Iteração Uma mensagem pode ser enviada repetidas vezes * mensagem(...) estoque vendedor 1: pedido vendedor * adicionaritem pedido 2:*[*] //adicionaritem 3: confirmarpedido 2.1: verificardisponibilidade 2.2: reservaritem 3.1: confirmarpedido 4: 15

Diagrama de Seqüência - Construção Escolher um caso de uso Identificar os objetos que fazem parte da interação Identificar o objeto que começa a interação Identificar as mensagens trocadas entre os objetos Identificar a sequência destas mensagens 16

Estereótipos para Objetos Fronteira (boundary) Classes de interface com o mundo externo (ex: GUI, sistemas externos) Controle (control) Coordenam o comportamento do caso de uso definindo uma interface entre classes fronteira e entidade Entidade (entity) Classes que armazenam informações manipuladas pelo sistema 17

Blog - Casos de uso Criar Blog blogsystem Criar Comentario <<include>> Ler Conteudo Ler Nota Usuario Ler Comentario <<include>> <<include>> Remover Comentario Remover Conteudo Remover Nota Dono do blog Criar Nota 18

Blog - Diagrama de Classes 19

Blog - Diagrama de Seqüência: Criar blog : UsuarioBlog : GUIBlog : ControladorBlog : Blog 1: criarblog(titulo, usuario) 2: criarblog(t it ulo, usuario) 3: new Blog(titulo, usuario, datacriacao) 20

Blog - Diagrama de Seqüência: Criar Nota : UsuarioBlog : GUIBlog : ControladorBlog : Blog : Nota 1: criarnota(usuario, idblog, comentario) 2: criarnot a(usuario, idblog, comentari o) 3: consultarblog(idblog) 4: getdono() 5: [se dono == usuario] new Nota(comentario, usuario) 21