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

Documentos relacionados
UML Diagramas de Interação

UML - Diagramas de Sequência

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

Marcelo Henrique dos Santos

Prática interdisciplinar em desenvolvimento de software I

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

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

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

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

Tema 2: Modelo Dinâmico

UML - Diagramas de Sequência

Diagrama de Sequência

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

Interações entre objetos

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

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

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

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.

Modelagem de Casos de Uso (Parte 1)

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

MÓDULO. Diagramas de Seqüência

Diagrama de Comunicação

Diagramas de Interacção

Simbolos/Componentes desse diagrama:

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

Prática interdisciplinar em desenvolvimento de software I

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

Interações entre objetos

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Diagrama de Sequência.

MODELAGEM DE SISTEMAS Unidade 4 Modelo de Classes de Projeto. Luiz Leão

POO29004 Programação Orientada a Objetos

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

PCS3413 Engenharia de Software e Banco de Dados

Metodologias de Desenvolvimento (I)

DIAGRAMAS DE SEQUÊNCIA

Diagramas de Seqüência

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

Análise e Projeto de Sistemas

Diagramas de Package

DIAGRAMAS DE CLASSE UML

TerraLAB Laboratório para Modelagem e Simulação de Sistemas Terrestres Departamento de Computação - UFOP

UML. Diagrama de Caso de Uso. Profº. Reginaldo Cândido

ANÁLISE DE SISTEMAS UML. por. Antônio Maurício Pitangueira

Modelagem Temporal com UML

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

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

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:

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

APÊNDICE D Unified Model Language (UML)

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Panorama da notação UML

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

Modelagem de Casos de Uso. Sistemas de Informação

S15 - Engenharia de Requisitos continuação cap.6

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

Lista Diagrama de Casos de Uso

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

INF1013 MODELAGEM DE SOFTWARE

A modelagem de Negócio com UML

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama.

Modelagem ou Diagrama de Caso de Uso

Diagramas de Sequência do Sistema e Contratos de Operações. SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

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

Diagrama de Casos de Uso

Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação

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

Realizando a Análise e Projeto

INF1404 MODELAGEM DE SISTEMAS

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

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Modelagem de Casos de Uso

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

MODELAGEM DE INTERAÇÕES

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

Aula 5 Diagramas de Seqüência do Sistema e Contratos de Operações

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

PROJETO DE ARQUITETURA

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

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

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

MODELAGEM DE SISTEMAS

Análise e projeto de sistemas

Diagrama de Máquina de Estados

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

Requisitos de Software e UML Básico. Janaína Horácio

UML e seus diagramas

Projeto Integrador II. Princípios de Análise e Projeto de Sistemas com UML (livro de Eduardo Bezerra)

Engenharia de Software. UML Unified Modeling Language

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

Análise Estruturada de Sistemas 2012 / 1

Especificação de Sistemas de Software e a UML

Diagrama de Seqüência

Use Cases e Fluxo de Eventos. Use Case e Ator. Objetivos. Algumas Definições. Algumas Definições

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Transcrição:

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

Modelagem Dinâmica Identifica e modela os aspectos do sistema de software que podem mudar durante a sua execução, devido à ocorrência de eventos. Foco no comportamento que o sistema deve apresentar. Usa os diagramas dinâmicos da UML (seqüência, colaboração, atividade e estado). Especifica uma versão inicial das interfaces públicas das classes de análise. Foco no domínio do problema!

Eventos Ocorrências dignas de modelagem envolvendo algum tipo de troca de informação. O evento não é a informação trocada e sim o fato de alguma informação ter sido trocada. O tipo de evento mais comum encontrado durante a análise é a interação entre um ator e o sistema. Modelamos o comportamento do sistema através de eventos e das ações executadas em resposta a eles.

Atividades da Modelagem Dinâmica Identificar eventos do sistema Construir diagramas de seqüência para os cenários primários dos casos de uso Construir um único diagrama de colaboração para o sistema, combinando os diagramas de seqüência Atualizar a interface pública das classes (operações) Construir diagramas de estados

Atividade1- Identificar eventos do sistema Deve ser realizada uma nova análise textual nas especificações dos casos de uso, prestando-se atenção aos pontos nos quais trocas de informação ocorrem. Normalmente, esses pontos estão associados a verbos. Informações relevantes: verbos e os contextos nos quais aparecem.

Exemplo: UC1- Emprestar Exemplar Fluxo Básico : 1. O cliente solicita empréstimo de um exemplar de alguma publicação (livro, periódico, tese ou manual), fornecendo o seu número de registro e o número de tombo da publicação desejada. 2. A atendente solicita o empréstimo ao sistema, fornecendo o código do cliente e o tombo da publicação 3. O sistema valida o cliente e verifica o seu status no sistema de cadastro ( Normal ou Suspenso ) através de seu número include de registro.(<< >> Validar Usuário)

4. O sistema verifica se existe algum exemplar disponível da publicação desejada. 5. Se o status do cliente for Normal e algum exemplar da publicação estiver disponível 5.1. O sistema altera status do livro para emprestado; 5.2. O sistema verifica o período do empréstimo, que depende do tipo de usuário - 7 dias para alunos e 15 para professores 5.3. O sistema gera registro do empréstimo. 5.4. O sistema comunica o sucesso do empréstimo.

Fluxo Alternativo 1 : No passo 5, se o usuário estiver suspenso, o sistema informa a atendente de sua proibição de retirar exemplares e o empréstimo não é realizado. Fluxo Alternativo 2 : No passo 5, se todas as cópias da publicação estiverem emprestadas ou reservadas, o sistema informa a atendente que a publicação não está disponível, não sendo possível realizar o empréstimo.

Eventos identificados O cliente solicita empréstimo de um exemplar de alguma publicação; O cliente fornece o seu número de registro e o número de tombo da publicação; A atendente solicita o empréstimo ao sistema; A atendente fornece o número de registro do cliente e o número de tombo da publicação; O sist. valida o cliente e verifica o seu status; O sist. verifica se existe algum exemplar disponível da publicação desejada; O sist. altera status do livro para emprestado; O sist. verifica o período do empréstimo; O sist. gera registro do empréstimo; O sist. comunica o sucesso do empréstimo; (A1) O sist. informa a atendente da proibição de retirar exemplares; (A2) O sist. informa a atendente que não será possível realizar o empréstimo- publicação indisponível.

Eliminando Redundancias... O cliente solicita empréstimo O cliente não de é um um ator exemplar desse sistema, de alguma apenas o publicação; atendente, O cliente fornece o seu perceba número que esses de registro eventos indicam e o número comunicação de tombo entre da cliente e atendente e não com o sistema... publicação; A atendente solicita Consiste o empréstimo em um evento ao sistema; onde solicita o empréstimo já A atendente fornece informando o número de de registro do cliente e tombo e o número da publicação de tombo da publicação; O sist. valida o cliente e verifica o seu status; O sist. verifica se existe algum exemplar disponível da publicação desejada; O sist. altera status do livro para emprestado; O sist. verifica o período do empréstimo; O sist. gera registro do empréstimo; O sist. comunica o sucesso do empréstimo; (A1) O sist. informa a atendente da proibição de retirar exemplares; (A2) O sist. informa a atendente que não será possível realizar o empréstimo- publicação indisponível.

Atividade2-Construir o Diagrama de Seqüência O objetivo principal desse diagrama é: determinar a ordem em que os eventos ocorrem, as mensagens que são enviadas, os métodos que são chamados, como os objetos interagem entre si dentro de um determinado processo.

Construir o Diagrama de Seqüência Primeiro constrói-se o diagrama de seqüência de sistema relativo a cada caso de uso, usando-se os eventos identificados na Atividade 1.

Diagrama de Seqüência de Sistema

Refinando o Diagrama de Seqüência Em seguida refina-se esse diagrama, construindo o diagrama de seqüência de análise substituindo-se o objeto Sistema pelas classes de análise de fronteira, controle e entidade que o materializam.

Comunicação entre classes Para cada tipo de classe de análise, existe um estereótipo. Classes de Fronteira Classes de Controle Classes de Entidade <<boundary>> <<control>> <<entity>> Interações devem ser organizadas da seguinte maneira: Fronteira Controle Entidade

Diagrama de Seqüência de Análise

Diagrama de Seqüência de Análise O controlador de alguma forma sabe achar os objetos.abstrai a busca (se vai buscar em arquivo, em vetor, em banco... Depois de carregado o objeto posso enviar mensagens Instanciou novo objeto empréstim o não tinha linha de vida anterior Métodos privados do controlador

Detalhando... Com os exemplos anteriores vocês puderam ter uma noção do diagrama de seqüência, mas para construí-lo precisamos detalhar seus elementos

Elementos do Diagrama de seqüência Atores: Os atores são exatamente os mesmos descritos no Diagrama de Casos de Uso, ou seja, entidades externas que interagem com o sistema e que solicitam serviços, gerando dessa forma eventos que iniciam processos. Normalmente os atores são os usuários que utilizam o sistema, mas podem representar outro software, como um sistema integrado ou um hardware especial. Esses atores costumam ser apresentados como bonecos magros idênticos aos usados no diagrama de casos de uso, porém contendo uma linha de vida.

Elementos do Diagrama de seqüência Linha de Vida: A linha de vida representa o tempo em que um objeto existiu durante um processo. As linhas de vida são representadas por linhas finas verticais tracejadas partindo do retângulo que representa o objeto. A linha de vida é interrompida com um X quando o objeto é destruído.

Elementos do Diagrama de seqüência Objetos: Objetos representam as instâncias das classes envolvidas no processo ilustrado pelo Diagrama de Seqüência. Os objetos são apresentados como retângulos (ou símbolo do estereótipo da classe)contendo um texto que identifica primeiramente o nome do objeto, em minúsculo, e depois o nome da classe, com as letras iniciais maiúsculas, a qual o objeto pertence. Essas duas informações são separadas por um símbolo de dois pontos. Os objetos também contém uma linha de vida, tracejada e vertical que surge a partir do objeto.

Elementos do Diagrama de seqüência Objetos Criação de objeto é representada por mensagem dirigida à própria caixa que representa o objeto (em vez de ser dirigida à linha de vida). Mensagem de criação pode ter estereótipo «create» Destruição de objeto é representada por um X no fim da linha de vida do objeto. Mensagem de destruição pode ter estereótipo «destroy». ob1:c1 ob1:c1

Elementos do Diagrama de seqüência Foco de controle ou Ativação: Indica os períodos em que um determinado objeto está participando ativamente do processo, ou seja, identifica os momentos em que um objeto está executando um ou mais métodos utilizados em um processo específico. Aparece sobre a linha de vida do objeto quando o mesmo recebe um estímulo. Chamadas recursivas provocam barras empilhadas

Elementos do Diagrama de seqüência Mensagem: Uma mensagem é uma comunicação entre objetos (emissor e receptor) que veicula informação na expectativa de provocar uma resposta (ação ou atividade). Uma ação de um objeto capaz de provocar uma resposta em outro objeto pode ser modelada como uma mensagem do primeiro para o segundo objeto. Uma mensagem é representada por uma seta horizontal, do emissor para o receptor, com o nome e possíveis argumentos

Elementos do Diagrama de seqüência 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 São opcionais assíncrona - o emissor não fica parado à espera de resposta corresponde tipicamente a envio de sinal entre dois objetos concorrentes simples - não define se é síncrona, de retorno ou assíncrona usadas normalmente na modelagem de interações na fronteira do sistema (entre atores e o sistema representado por um ou mais objetos)

Elementos do Diagrama de seqüência Mensagens iteradas (loop) e com retorno O valor de retorno de uma mensagem síncrona pode ser indicado na chamada, das duas formas a seguir, ou na mensagem de retorno ret := msg(args) msg(args):ret Uma mensagem iterada(loop) é indicada com asterisco *, seguido ou não de uma fórmula de iteração Exemplo: *[i:=1..n] update(i)

Elementos do Diagrama de seqüência Mensagens condicionais Uma mensagem condicional é indicada por uma condição de guarda entre colchetes [ ] Exemplo: [x<0] invert(x,color) A mensagem só é enviada se a condição for verdadeira Condições permitem mostrar várias sequências alternativas num único diagrama

Tipos de Transação Identificadas no caso de uso e transportadas para o primeiro nível do diagrama de seqüência (dos atores para a aplicação/interface): Evento e Resposta de sistema Colocadas no segundo nível (da aplicação interface para o controle/domínio), são métodos que efetivamente realizam a funcionalidade do sistema: Operação e Consulta de sistema

Evento de Sistema Informação flui de um dos atores para a aplicação

Resposta do Sistema Informação flui do sistema para o ator

Conseqüências - Métodos Eventos e respostas do sistema têm conseqüências na camada de aplicação de um sistema. Essas conseqüências são procedimentos (métodos) de entrada e saída que terão que ser analisadas, projetadas e implementadas para realizar os casos de uso.

Conseqüência de um evento Operação de Sistema, quando se tratar de entrada de dados ou controle:

Notação Operação (abstrata) especificação Método (concreto) implementação Apenas operações de sistema e consultas de sistema são métodos (chamadas de procedimento). Ou seja, apenas fluxos da aplicação para o controle precisam usar a notação nome(parametros)

Exercícios Estudo de caso: Sistema de Folha de Pagamento 1. Construa o diagrama de seqüência representando o cenário primário de sucesso dos casos de uso Adicionar evento e Gerar Demonstrativo do Funcionário

Adicionar evento

Diagrama de colaboração Semelhante ao Diagrama de Seqüência. Diferença é: diagrama de seqüência seqüência temporal em que os eventos ocorrem mensagens que são chamadas, diagrama de colaboração organização estrutural dos objetos como os objetos estão vinculados mensagens que objetos trocam entre si.

Diagrama de colaboração Representam como os eventos fluem de um objeto para outro. Visão geral das trocas de informação entre objetos do sistema Destaca necessidade de associação entre classes.

Componentes do diagrama de colaboração Objetos: instâncias de classes que participam de um processo. Conta1:Conta Vínculos: ligações existentes entre os objetos envolvidos, ocorre sempre que dois objetos colaboram entre si, seja pelo envio ou recebimento de mensagens. conta1:conta hist1:histórico

Componentes do diagrama de colaboração Mensagens:geralmente representam chamadas a métodos. A numeração das mensagens indica a ordem em que elas ocorrem. A direção da seta indica a direção para onde a mensagem foi enviada, a ponta da seta indica o objeto que receberá a mensagem. O exemplo a seguir ilustra o envio da mensagem solicitando o disparo do método Gravar, transmitida a partir do objeto conta1 para o objeto hist1 conta1:conta 1:Gravar() hist1:histórico

Componentes do diagrama de colaboração Atores: os mesmos do diagrama de caso e uso e diagrama de seqüência 1:ConCPF() fisica1:física 2:Gravar() Condições: podem ser inseridas nas mensagens 1:[Se necessário]gravar() fisica1:física

Exemplo Diagrama de colaboração

Atualizar Diagrama de classes Depois de construir os diagramas de sequencia e de colaboração, devemos associar os eventos às classes de análise e atualizar o diagrama de classes, para que passe a incluir essa informação. Os eventos recebidos por uma classe se transformam em operações de sua interface pública. Eventos produzidos por um objeto podem indicar tanto uma resposta para um evento recebido quanto o fato de que uma classe usa algum serviço oferecido por outra.

Exercícios Estudo de caso: Sistema de Folha de Pagamento 1. Construa um diagrama de colaboração representando o cenário primário de sucesso do caso de uso Gerar Demonstrativo do Funcionário