UML. Máquina de Estados



Documentos relacionados
Modelagem Dinâmica com UML

Gerenciamento da Integração (PMBoK 5ª ed.)

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

Guia de utilização da notação BPMN

DIAGRAMA DE ATIVIDADES

Eduardo Bezerra. Editora Campus/Elsevier

Apêndice A Objetivos PEI

MODELAGEM DE SISTEMAS

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

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

MODELAGEM DO SISTEMA: DIAGRAMA DE ATIVIDADES

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

DESENVOLVENDO O SISTEMA

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

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

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

Nome do Processo: Recebimento de produtos em consignação

REQUISITOS DE SISTEMAS

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Banco de Dados Orientado a Objetos

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

UML: Diagrama de Casos de Uso, Diagrama de Classes

Modelos de Sistemas Casos de Uso

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

Análise e Projeto Orientado a Objetos

Uma visão mais clara da UML Sumário

Como fazer a Renovação de Matrícula online no Sistema Acadêmico

o bje tiv o f in a l d o C oa c h in g é fa z e r c o m qu e o s c lie n te s t o rn e m -s e a u tô no m o s.

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO GERAL DE MODERNIZAÇÃO E INFORMÁTICA SISAU

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

REGULAMENTO DO RANKING PARAIBANO 2015

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

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Sistema de Gestão de Ciclo de Vida de Farmácias & Gestão de Ciclo de Vida de Locais de Venda MNSRM AVP003 Manual de Utilizador Externo - Comunicação

ITIL v3 - Operação de Serviço - Parte 1

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

BANCO DE DADOS MODELAGEM ER GENERALIZAÇÃO / ESPECIALIZAÇÃO. Prof.: Jean Carlo Mendes carlomendes@yahoo.com.br

Manual de Utilização

Atividade de Recuperação- Física

Usando o Conference Manager do Microsoft Outlook

Unidade III MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

MANUAL DE UTILIZAÇÃO DO SISTEMA HERMES

4.4. UML Diagramas de interacção

Gerenciamento de Mensagens e Tarefas / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

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

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

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

INTRODUÇÃO À LINGUAGEM C++

Engenharia de Requisitos Estudo de Caso

Aula 5 UML: Casos de Uso

Modelode Casosde Usoe. Prof. Anderson Cavalcanti UFRN-CT-DCA

Mapa Mental de Engenharia de Software - Diagramas UML

4.1. UML Diagramas de casos de uso

Sobre o Sistema FiliaWEB

Engenharia de Software Unidade XI UML Parte 2

INVESTIMENTO A LONGO PRAZO 1. Princípios de Fluxo de Caixa para Orçamento de Capital

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

Edital N.º 11/PROAD/SGP/2015 e complementares

REGISTRO DE PROJETOS

Diagrama representativo de uma Máquina de Estados (DME)

4- PROJETO DE BANCO DE DADOS

3. Fase de Planejamento dos Ciclos de Construção do Software

COTAÇÃO DE COMPRAS COM COTAÇÃO WEB

MANUAL DA SECRETARIA

Manual de candidatura por via electrónica

Modelo Ambiental: Define as fronteiras entre o sistema e o resto do mundo.

Modelagem de Sistemas Orientado a Objetos com UML. Capítulo 8. Diagrama de Estados. Ana Paula Gonçalves Serra, Dr.

CATMAT SISTEMA DE CATALOGAÇÃO DE MATERIAIS CATSER SISTEMA DE CATALOGAÇÃO DE SERVIÇOS

UML Itens Estruturais - Interface

PROGRAMAÇÃO OO DIAGRAMA DE CLASSES. Engenheiro Anilton S. Fernandes (asfernandes.com) Janeiro 2012

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

A avaliação será baseada nos conteúdos deste roteiro. Bons estudos!

Princípios de Análise e Projeto de Sistemas com UML

BR DOT COM SISPON: MANUAL DO USUÁRIO

Trabalho de Implementação Jogo Reversi

SISTEMA DE BILHETAGEM ELETRÔNICA. MANUAL MÓDULO EMPRESA Revisão 01 / Julho de 2006

Sistema de Memórias de Computadores

Máquina Para Desobstruir Tubos e Esgotos

ISBN Apresentação

Manual dos Responsáveis

Manual do Usuário. Protocolo

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

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

Diagrama de Fluxo de Dados (DFD)

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

NORMA BRASILEIRA DE CONTABILIDADE NBC TSC 4410, DE 30 DE AGOSTO DE 2013

Manual SAGe Versão 1.0

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

IMPLEMENTAÇÃO DE UM SISTEMA DE SELEÇÃO DE PEÇA USANDO CONCEITOS DE PROGRAMAÇÃO DE SISTEMA DE AUTOMAÇÃO. João Alvarez Peixoto*

Modelos de Caso de Administração

Portal de Aprendizado Tutorial do Aluno

Transcrição:

UML Máquina de Estados

Máquina de Estados Máquinas de estado: definição Diagrama de Estados Superestados Estados concorrentes Quando usar um diagrama de estados

Máquina de Estados Faz a modelagem do comportamento de um objeto ao longo do seu tempo de vida. Empregado na modelagem dos aspectos dinâmicos de um sistema. Pode ser usado na modelagem comportamental de um sistema inteiro, em especial sistemas reativos (que respondem aos sinais de atores externos). Pode ser visualizado de duas formas: Diagrama de Estados Diagrama de Atividades

Máquina de Estados Diagrama de Estados Ênfase aos estados dos objetos e às transições entre estados. Comportamento ordenado por eventos. Diagrama de Atividades Ênfase ao fluxo de controle de uma atividade para outra. Localiza as atividades realizadas no objeto.

Diagrama de Estados É projetado para uma única classe. Mostra o comportamento de um objeto ao longo do seu tempo de vida. Descreve: todos os estados possíveis de um objeto. como o estado de um objeto muda a partir de eventos. Existem várias formas de diagramas de estado, com pequenas diferenças semânticas. O estilo UML é baseado no statechart de David Harel Auto-transição Nome do Estado evento [guarda] / ação do/atividade ponto inicial transição estado ponto final

Diagrama de Estados Ponto inicial onde o objeto nasce. Ponto final onde o objeto deixa de existir. Transição relacionamento entre dois estados. Indica que um objeto no 1º estado realizará certas ações (processos) e entrará no 2º estado quando um evento ocorrer ou uma condição (guarda) for satisfeito. Estado possui um nome a várias partes internas, que são opcionais. A atividade é um processo associado ao estado. Nome do Estado do/atividade evento [guarda] / ação rótulo de transição

Diagrama de Estados O Rótulo de transição possui 3 partes, sendo todas opcionais: evento: ocorrência de um estimulo que aciona uma mudança de estado. guarda: é uma condição lógica; a transição ocorre quando a guarda for verdadeira. ação: processo associado à transição; a mudança de estado ocorre quando a ação é executada. N o m e d o e s ta d o e n try: a ç ã o d e e n tra d a e xit: a ç ã o d e s a íd a d o : a tivid a d e o n U m E ve n to : a tivid a d e

Diagrama de Estados Entry ação executada sempre que se chega ao estado. Exit ação executada sempre que se sai do estado. Do enquanto estiver neste estado, o objeto executará esta ação. Uma seqüência de ações também pode ser especificada. On evento a ação será executada ao ocorrer este evento, sem que o objeto saia deste estado. Também chamado de transição interna.

Exemplo - Pedido [ n e m t o do s os iten s ve rifi c ad o s ] / p e g a r p ró xim o ite m ite m r ec e b id o [ a lg u n s i te n s n ã o es tã o e m es to qu e ] o b te r p rim e iro it e m Ve r ifi ca n d o [ to d o s o s ite n s ve rific a d o s & & a lg u n s ite n s n ã o e s tã o e m e s to q u e ] Ag u a rd a n d o d o: v e ri fic a r it e m [ t o d os o s ite ns ve rifi c a do s & & to d o s o s ite n s d is p o n íve is ] ite m re c e b id o [ to d o s o s ite n s d is p o n íve is ] E n tre g a n d o do : in ici a r e nt re g a e n tre g u e E n tre g u e

Exemplo - Pedido [ nem tod os os i te ns veri ficad os ] / pegar próxim o item obter prim eiro item Verificando do : verificar item A 1º transição vai do ponto inicial ao estado Verificando. Ela possui apenas a ação Obter 1º item que, uma vez realizada, permite ao objeto ir para o novo estado. O estado Verificando tem uma atividade associada a ele chamada Verificar item, que é executada para cada item. Este estado possui três transições para fora dele que não contêm eventos. A primeira é uma auto-transição com uma guarda ( nem todos os itens verificados ) e uma ação ( pegar próximo item ): enquanto a guarda for verdadeira, a ação é executada.

[ n e m to d o s o s ite n s ve rific a d o s ] / p e g a r p ró xim o ite m Exemplo - Pedido o b te r p rim e iro ite m Ve rific a n d o d o : ve rific a r ite m [ to d o s o s ite n s ve rific ad o s & & a lg u n s ite n s n ã o e s tã o e m e s to q u e ] [ to d o s o s ite n s ve r ifi c ad o s & & to d o s o s i te n s d is p o n íve is ] As outras duas transições possuem apenas uma guarda que, ao ser verdadeira, levam a uma mudança de estado. Note que a transição só pode levar a um único estado. Desta forma, as condições que compõe a guarda de cada transição devem ser mutuamente exclusivas.

Exemplo - Pedido [ n e m t o do s os iten s ve rifi c ad o s ] / p e g a r p ró xim o ite m ite m r ec e b id o [ a lg u n s i te n s n ã o es tã o e m es to qu e ] o b te r p rim e iro it e m Ve r ifi ca n d o [ to d o s o s ite n s ve rific a d o s & & a lg u n s ite n s n ã o e s tã o e m e s to q u e ] Ag u a rd a n d o d o: v e ri fic a r it e m [ t o d os o s ite ns ve rifi c a do s & & to d o s o s ite n s d is p o n íve is ] ite m re c e b id o [ to d o s o s ite n s d is p o n íve is ] O estado Aguardando não possui atividade e fica aguardando por um evento. Quando o evento item recebido ocorre, as guardas são avaliadas e a transição apropriada é efetuada: ou a auto-transição que continua neste estado, ou a transição que vai para o estado Entregando.

Exemplo - Pedido [ n e m t o do s os iten s ve rifi c ad o s ] / p e g a r p ró xim o ite m ite m r ec e b id o [ a lg u n s i te n s n ã o es tã o e m es to qu e ] o b te r p rim e iro it e m Ve r ifi ca n d o [ to d o s o s ite n s ve rific a d o s & & a lg u n s ite n s n ã o e s tã o e m e s to q u e ] Ag u a rd a n d o d o: v e ri fic a r it e m [ t o d os o s ite ns ve rifi c a do s & & to d o s o s ite n s d is p o n íve is ] ite m re c e b id o [ to d o s o s ite n s d is p o n íve is ] E n tre g a n d o do : in ici a r e nt re g a e n tre g u e E n tre g u e O estado Entregando tem uma atividade ( Iniciar entrega ) e uma transição sem guarda, que é acionada pelo evento Entregue. Esta transição só ocorrerá quando este evento ocorrer.

Diagrama de Estados - Superestados Ajuda a simplificar a modelagem de comportamentos complexos. Um superestado é composto de vários estados, ou Um sub-estado é aninhado em outro estado. Este é dito um estado composto. Seus sub-estados herdam as transições do superestado. Um estado composto pode ser seqüencial ou concorrente. Na UML, um estado composto é representado como um estado simples, mas com um diagrama de estados aninhado.

Exemplo de Superestados Pedido Ativado [ n e m t o do s os iten s ve rifi c ad o s ] / p e g a r p ró xim o ite m ite m r ec e b id o [ a lg u n s i te n s n ã o es tã o e m es to qu e ] o b te r p rim e iro it e m Ve r ifi ca n d o [ to d o s o s ite n s ve rific a d o s & & a lg u n s ite n s n ã o e s tã o e m e s to q u e ] Ag u a rd a n d o d o: v e ri fic a r it e m [ t o d os o s ite ns ve rifi c a do s & & to d o s o s ite n s d is p o n íve is ] ite m re c e b id o [ to d o s o s ite n s d is p o n íve is ] E n tre g a n d o do : in ici a r e nt re g a e n tre g u e cancelado E n tre g u e Cancelado

Exemplo de Superestados Pedido No exemplo do sistema de pedidos, queremos cancelar um pedido a qualquer momento antes de ele ser entregue. Uma maneira simples é criar um superestado (ou estado composto) Ativado que engloba os três estados que fazem o cancelamento, e projetar dele uma única transição.

Estados concorrentes Um objeto pode ter duas seqüências distintas de estados que retratam comportamentos independentes em situações diferentes. Estes comportamentos distintos são representados em diferentes diagramas de estados, onde um objeto pode estar em dois estados diferentes, um em cada diagrama. Estes diagramas podem ser combinados em um único diagrama de estados concorrentes. Quando o objeto deixa os estados concorrentes, ele está em um único estado.

Estados Concorrentes - Exemplo No exemplo do sistema de pedidos, temos também estados baseados em autorização de pagamento. A partir destes estados, podemos ter um diagrama como este: Au to riza n d o d o : ve rific a r p a g a m e n to [ p a g a m e n to o k ] [ p a g a m e n to n ã o o k ] Au to riza d o R e je ita d o E n tre g u e

Estados Concorrentes - Exemplo Aguardando Cancelando Verificando Entregando Entregue Autorizando Autorizado Rejeitado

Diagrama de Estados Quando usar um diagrama de estados? São bons para descrever o comportamento de um objeto através de vários casos de uso. Não são bons para descrever um comportamento que envolve vários objetos em colaboração. O diagrama de estados não deve ser descrito para todas as classes do sistema, apenas para as quais ele ajude a compreender o comportamento. Quando um objeto possui muitos conjuntos concorrentes de comportamento, gerando vários diagramas de estado concorrentes, convém dividir este objeto em objetos separados.