PCS3413 Engenharia de Software e Banco de Dados

Documentos relacionados
Tema 2: Modelo Dinâmico

Diagrama de Seqüência

INF1013 MODELAGEM DE SOFTWARE

Diagrama de Sequência.

INF1404 MODELAGEM DE SISTEMAS

Diagrama de Sequência

Fatec Ipiranga - Engenharia de Software I 18/02/2013. Agenda. 0. Relembrando os Relacionamentos do Diagrama de Classes

MODELAGEM DE INTERAÇÕES

POO29004 Programação Orientada a Objetos

Linguagem UML. Linguagem de Modelagem Unificada UML. Diagramas de Comportamento Parte 2. Rosemary Silveira Filgueiras Melo

Diagramas de Package

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

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

PCS3413 Engenharia de Software e Banco de Dados

Diagramas de Interacção

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

UML & Padrões Aula 6. UML & Padrões - Profª Kelly C C Silva

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

Introdução ao método de projeto OO

Introdução ao método de projeto OO. Prof. Cesar Augusto Tacla

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

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

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Introdução a UML. Aula 04 Analise de Sistemas Profª Rita de Cassia Gaieski

Análise de Sistemas 4º Bimestre (material 3)

Modelagem de Sistemas

Pontifícia Universidade Católica

Marcelo Henrique dos Santos

PCS3413 Engenharia de Software e Banco de Dados

Análise e modelação de sistemas

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Análise e Projeto Orientados a Objetos

Exemplo. Solange N. Alves de Souza 1

Interações entre objetos

INSTITUTO FEDERAL DE MINAS GERAIS CAMPUS SÃO JOÃO EVANGELISTA

MÓDULO. Diagramas de Seqüência

UML Diagramas de Interação

Simbolos/Componentes desse diagrama:

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

C A R T I L H A. - Recursos Humanos Códigos Funcionais

DIAGRAMAS DE SEQUÊNCIA

Lógica de Programação UML Caso de Uso

Modelos de Sistemas Casos de Uso

Sistema de Gerenciamento de Serviços em Estética - SisGSE

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

Prática interdisciplinar em desenvolvimento de software I

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

UNIVERSIDADE FEDERAL DO CEARÁ UFC CENTRO DE CIÊNCIAS DEPARTAMENTO DE COMPUTAÇÃO

MANUAL MÓDULO PESSOA FÍSICA

Análise e projeto de sistemas

Análise e Projeto de Software Parte I. Marcos Dósea

Documento de Análise e Projeto Versão 1.0

Requisitos de sistemas

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

Diagrama de Atividades

UML - Diagramas de Sequência

UML e seus diagramas

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Engenharia de Software Engenharia de Requisitos Software SCAA - Documento de Requisitos Professor: Danilo Giacobo

Lista Diagrama de Casos de Uso

Manual do Sistema de Digitação de Contas Médico-Hospitalares para WEB

Diagrama de Atividades

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Rotina: Módulo Pessoal > Cadastros > Parâmetro > Ponto Eletrônico > Tela REP. Figura 1 - Cadastro de REP

MANUAL DE ORIENTAÇÕES PARA REQUISIÇÃO DE MATERIAL DE CONSUMO

Objetos. Diagramas de. PDF created with pdffactory trial version

Estruturas de Repetição

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

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

Primeiro Trabalho Prático Projeto de Software - CI /1 Prof. Andrey Pimentel

Engenharia de Software. UML Unified Modeling Language

A modelagem de Negócio com UML

C A R T I L H A. - Recursos Humanos Cargos

Casos de Uso. Viviane Torres da Silva

Casos de Uso. Leonardo Gresta Paulino Murta

Diagrama de Casos de Uso. Interagindo com o Usuário

Modelagem Estática e Dinâmica: Estudo de Caso - Sistema de Caixa Automático

Servidor ou Pensionista: Tutorial da criação de senha no SIGAC/SIGEPE

Modelagem Temporal com UML

QUESTÃO 2: Sobre os relacionamentos utilizados no diagrama de caso de uso, analise as assertivas a seguir.

Análise de Sistemas. Aula 5

Diagrama de Sequência

Diagramas de Seqüência

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

Trilha é agrupamento de cursos, onde pode ser configurado o sequenciamento dos cursos (pré-requisitos)

Tutorial Agendamento para Carregamento de Carga Solta e Container Regime: ARMAZÉNS GERAIS Solicitação via Web

MANUAL EXPORTA FÁCIL PRÉ-POSTAGEM DOCUMENTO

Análise e Projeto de Sistemas

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

PROJETO EM SISTEMAS DE INFORMAÇÃO. Unidade III Análise do Sistema. Luiz Leão

Esse guia apresenta os passos necessários para ativação e utilização de integração do First com o PDV.

Manual Cuidados Pela Vida Autorizador Integrado Versão

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Estudo de Caso - Sistema de Controle de Ponto

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

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

Transcrição:

PCS3413 Engenharia de Software e Banco de Dados Aula 7 Escola Politécnica da Universidade de São Paulo 1

Diagramas de Interação Diagramas de Sequência Diagrama de Comunicação 2 Solange N. A. de Souza

Principais Modelos! Modelo de Casos de Uso: descreve as funções do sistema. q Diagrama de Casos de Uso! Modelo Estrutural: descreve a estrutura do sistema. q Diagrama de Classes! Modelo Dinâmico: descreve o comportamento do sistema. q Diagrama de Interação q Diagrama de Estados Solange N. A. de Souza 3

Descrição de casos de uso Descrição de casos de uso Classes e relacionamentos Solange N. A. de Souza 4

Diagramas de Interação! interação: q conjunto de mensagens trocadas entre objetos, com o objetivo de alcançar determinado propósito, respeitando-se o contexto do sistema. Ana Cristina Melo! Diagramas de Sequência e de Comunicação - representam: cenário de caso de uso Solange N. A. de Souza 5

Diagramas de Interação! diagrama de sequência q sequência de mensagens no tempo! diagrama de comunicação (antigo colaboração) q relacionamento estrutural entre objetos! Diagrama de visão geral q uma variação do diagrama de atividades que mostra de uma forma geral o fluxo de controle dentro de um sistema ou processo de negócios. Cada nó ou atividade dentro do diagrama pode representar outro diagrama de interação Solange N. A. de Souza 6

Perguntas! No modelo de casos de uso: q Quais são as operações que devem ser executadas internamente ao sistema? q A que classes estas operações pertencem? q Quais objetos participam da realização deste caso de uso? Solange N. A. de Souza 7

Perguntas! No modelo de classes de análise: q De que forma os objetos colaboram para que um determinado caso de uso seja realizado? q Em que ordem as mensagens são enviadas durante esta realização? q Que informações precisam ser enviadas em uma mensagem de um objeto a outro? q Como as classes se comportam? Solange N. A. de Souza 8

Elementos do Diagrama TEMPO :objetoa objeto :objetob linha de vida foco de controle operaçãoobjetob() destroy() create() operaçãoobjetoc() :objetoc Solange N. A. de Souza 9

Mensagens! Uma mensagem representa a requisição de um objeto remetente para um objeto receptor.! Uma mensagem é o acionamento de uma operação do objeto receptor por um objeto remetente.! O envio de uma mensagem corresponde à chamada de uma rotina de linguagens de programação. Solange N. A. de Souza 10

Mensagem Mensagem síncrona Mensagem assíncrona Mensagem de retorno O remetente fica bloqueado, esperando que o receptor termine de atender à requisição. O remetente não espera a resposta para prosseguir o processamento. <<create>> <<destroy>> Mensagem para criação de objeto Mensagem para destruição de objeto Especifica o término de atendimento de uma mensagem. Solange N. A. de Souza 11

Diagrama de Sequência quero um relatório de comissões do mês passado. Pedir a Joana! Preciso do total de vendas de cada vendedor. * Preciso da Lista de vendedores com o total de suas vendas no mês x. * Sei a matrícula e o total de vendas de cada vendedor, e os nomes? Comissões 100 Afonso 15.000,00 215 Ana 23.000,00... 500 Maria 42.000,00 Total 124.000,00 Joana * Augusto 100 Afonso 15.000,00... 500 Maria 42.000,00 * * * João * De quem são as matrículas 100,..., 500? 100 (Afonso),..., 500(Maria) * Solange N. A. de Souza 12

:Tela de Relatório de Comissão :Vendas :Vendedor Gerente relatório de comissão do mês X totalvendas(mês) obtervendas(mês) relatório de comissões lista de vendas *[para cada vendedor] obternome(matrícula) nome do vendedor Solange N. A. de Souza 13

Objetos objeto nomeado umadisciplina: Disciplina objeto anônimo : Disciplina objeto em uma coleção prerequisitos [i]: Disciplina faz referência a uma instância da classe que está armazenada numa coleção de objetos Solange N. A. de Souza 14

Exemplo Exemplo Loja 1,99 Solange N. A. de Souza 15

Modularização de interações (UML2)! Usado para identificar o diagrama de sequência.! Usado também para representar diagramas como parte de outros.! Usado para definir o fluxo de controle da interação.! Os frames (ou quadros) são opcionais (compatibilidade com modelos antigos). Solange N. A. de Souza 16

Frames - continuação! Serve para encapsular um diagrama de sequência. rótulo objeto1 mensagem objeto2 Um diagrama (ou um nome de um diagrama) é posicionado no interior do quadro Solange N. A. de Souza 17

Diagramas Referenciados Solange N. A. de Souza 18

sequence diagram Frames - continuação sd BuscaProduto :TelaSistema :Produto Atendente Codigo_produto Qtd para alteração Confirmação da atualização Busca(codigo_produto) Produto_encontrado Atualiza_qtd(qtd) Solange N. A. de Souza 19

sd AtualizaçãoEstoque :TelaSistema :Produto Atendente Codigo_produto ref BuscaProduto Uma ocorrência de interação Qtd para alteração Confirmação da atualização Atualiza_qtd(cod_prod, qtd) Solange N. A. de Souza 20

Fluxo de Controle: Iteração minint maxint [condição] Condição de guarda é opcional, se falsa o loop é abandonado. Se não aparecer, o loop ocorrerá até maxint. maxint é opcional, se omitido maxint = minint maxint = * - não há limite superior Solange N. A. de Souza 21

sd login :TelaSistema :Usuário Atendente usuário Loop 1,3 [senha not ok] senha validarsenha (senha):ok Pode-se definir mínimo (minint) e máximo (maxint) de repetições. Condição de guarda é opcional, se falsa o loop é abandonado, se não aparecer, o loop ocorrerá até o maxint. maxint é opcional, se omitido maxint = minint Confirmação login Solange N. A. de Souza 22

Fluxo de Controle: Opção! Frame opt: usado para indicar que um trecho interação é opcional. Solange N. A. de Souza 23

sd AtualizaçãoEstoque Interação opt :telasistema :Produto Atendente Codigo_produto ref Sistema.Status = BuscaProduto opt [sistema.status = OK] Qtd para alteração Confirmação da atualização Atualiza_qtd(cod_prod, qtd) Essa ação será executada se a condição de guarda for verdadeira Solange N. A. de Souza 24

Fluxo de Controle: Alternativa Frame alt é dividido em seções com interações em cada seção. Cada seção deve obrigatoriamente ter uma condição de guarda. A última seção pode utilizar a condição else (a mesma será executada se nenhuma outra tiver sido válida). Solange N. A. de Souza 25

Fluxo de Controle: Alternativa Solange N. A. de Souza 26

sd AtualizaçãoEstoque Atendente Codigo_produto :TelaSistema ref :Produto Sistema.Status = BuscaProduto alt [sitema.status = OK] Frame alt é dividido em seções com interações em Qtd para alteração cada seção. Cada seção Atualiza_qtd(cod_prod, qtd) deve obrigatoriamente ter Confirmação uma condição de guarda. A da atualização última seção pode utilizar a [else] condição else (a mesma ação será executada se cancelada nenhuma outra tiver sido válida). Solange N. A. de Souza 27

Exemplo com os frames Exemplo Loja 1,99 Solange N. A. de Souza 28

Exemplo - Diagrama de Caso de Uso Registrar vendas objetivo: permite cadastrar as vendas efetuadas pelos vendedores de uma loja. Ator: Assistente de gerência (usuário) Pré-condição: usuário na opção de registro de venda Cenário Principal 1. O sistema prepara uma lista dos vendedores cadastrados na loja. 2. O usuário seleciona o vendedor que efetuou a venda, a partir da lista já montada pelo sistema 3. O usuário informa o número da venda. DiagSeq Diag. Classe Solange N. A. de Souza 29

4. O usuário informa, ainda: 4.1. a data da venda; 4.2. o valor da venda. 5. O sistema efetua a gravação da venda e Informa (MSG) sobre venda cadastrada Pós-condição: venda registrada para um determinado vendedor DiagSeq Cenário Alternativo Venda já cadastrada 1. Se o número da venda já existir, informar ao usuário, mostrar as informações da venda na tela e entrar em modo de alteração dos dados (passo 3). Inclusão Alterar venda. Solange N. A. de Souza 30

Diagrama de Classes CU Vendedor matrícula : string nome : string dataadmissão: date saláriobruto : real /saláriolíquido : real percentualcomissão : real obterlistavendedoresativos() calcularsaláriolíquido(dataref): real 1 0..* Vendas número : integer data : date valor : real grava(número_venda, data,valor, vendedor) listavenda (número_venda, data,valor) busca (número_venda) Solange N. A. de Souza 31

Fronteira e Controle Diagrama de Sequência : TelaCadastro : Venda : Vendedor Assistente de Gerência seleção do vendedor obterlistavendedoresativos() número_venda busca (número_venda) data, valor grava (número_venda, data,valor, vendedor) Exemplo Solange N. A. de Souza 32

: TelaCadastro : Venda : Vendedor Assistente de Gerência seleção do vendedor obterlistavendedoresativos() alt número_venda busca (número_venda) [busca(número_venda) = F] data, valor grava (número_venda, data,valor, vendedor) Cenário alternativo [else] listavenda (número_venda) ref AlterarVenda Solange N. A. de Souza 33

Diagrama de Comunicação Para o exemplo inicial: auto-delegação (auto-chamada) :TelaRelatórioComissão 1: totalvendas (mês) 2: obtervendas (mês) :Vendas condição iteração * [para cada vendedor] 3: obternome (matrícula) não ficam explícitas mensagens de retorno, nem quando isso ocorre :Vendedor Solange N. A. de Souza 34