Diagrama de Máquina de Estados

Slides:



Advertisements
Apresentações semelhantes
DFD - Diagrama de Fluxo de Dados
Advertisements

SICAU – Sistema Integrado de Controle das Ações da União
DIAGRAMA DE COLABORAÇÃO
Construção de Algoritmos 2
Modelagem de Estados.
Aula 8 Contratos.
Análise de Casos de Uso.
Diagrama de Atividades
Diagramas de Seqüência
Orientação a Objetos: Encapsulamento e Classificação
DIAGRAMA DE ESTADOS DIAGRAMA ESTADO TRANSIÇÃO ENTRE ESTADOS.
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Estatística Básica Utilizando o Excel
Professora: Aline Vasconcelos IF Fluminense
Projeto de Software Orientado a Objetos
Prof. Luís Fernando Garcia
Curso UML Diagramas de Atividade
Objetivo: compreender e aplicar um modelo sequencial
Objetivo: compreender e aplicar um modelo sequencial
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Classes e objetos Modelagem
UML - Unified Modeling Language
Diagrama de Estados.
Análise de Casos de Uso Alexandre Motnteiro.
MANUAL CAF – CONTROLE ACADÊMICO FINANCEIRO
Diagramas de Sequência e Comunicação
Diagramas de Seqüência
DIAGRAMA DE COMPONENTES
Lógica do Sequenciamento das Operações
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
UML - Unified Modeling Language
Como controlar o caixa Supermercados.
Diagrama de Atividades
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
Análise de Projeto RUP + SOA
Projeto de casos de uso RUP + Projeto de serviços SOA
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Diagramas de Sequência e Comunicação
BENCHMARKING.
Expansão dos Casos de Uso
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 11. Comunicação Objetivo: compreender a notação do diagrama de.
Professor Mário Dantas
Resposta penhora Online
Diagrama de Atividades
Professores: Artulanez Juccelino Silas
MODELO ESSENCIAL Modelo Ambiental
Diagramas de Atividade
Projeto de Banco de Dados
Silas Juccelino Artulanez.  O que é?  Notação  Estado  Mudança de estado  Condições e ações  Diagramas subdivididos  Passos na construção  Verificação.
UNIDADE 2 UML MODELAGEM TEMPORAL
Análise e Projeto de Sistemas
Diagrama de Atividades
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
UML - Unified Modeling Language
Análise Orientada Objeto
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Diagramas de Estado.
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Modelando Sistemas em UML
Casos de Uso Tarciane Andrade
Expansão dos Casos de Uso
UML Statechart CIn-UFPE.
Diagrama Casos de Uso.
Memória de Aula 07: Desenvolvimento de Sistemas Diagramas de Sequência
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Diagrama de atividade.
Memória de Aula 07: Desenvolvimento de Sistemas Diagramas de Sequência
Análise e Conceção de Sistemas
Prof. Thales Castro. Depósito de dados Entidade externa Processo Fluxo de dados.
Transcrição da apresentação:

Diagrama de Máquina de Estados Definição: Desenvolvido em qualquer fase do projeto, qualquer elemento pode ter um diagrama de estado para melhor compreensão ou exibição de seu comportamento. Baseia-se na descrição de um Caso de Uso e apóia-se no Diagrama de Classes. É utilizado para acompanhar os estados por que passa uma instância de uma classe, ou representar os estados de um Caso de Uso ou mesmo de um subsistema ou sistema completo Sua construção é recomendada apenas quando existir um certo grau de complexidade referente a transição de estados de um dos objetos envolvidos no processo. [GUE 05]

Diagrama de Máquina de Estados – EXEMPLO 1: objeto Telefone inicial

Diagrama de Máquina de Estados Terminologia Básica: Evento – É uma ocorrência significativa ou digna de nota. Exemplo: Um aparelho telefônico é retirado do gancho. Estado – É a condição de um objeto em determinado momento no tempo – o tempo entre os eventos. Exemplo: Um telefone está no estado ocioso após o fone ter sido colocado no gancho e até que seja novamente retirado do gancho. Transição – É um relacionamento entre dois estados, indicando que, quando um evento ocorre, o objeto muda do estado anterior para o estado subseqüente. Exemplo: Quando o evento “fora do gancho” ocorre, o telefone transiciona do estado “ocioso” para o estado “ativo”. Objeto independente de estado – É um objeto que responde sempre da mesma maneira a um evento. Objeto dependente de estado – É um objeto que reage de maneira diferente aos eventos, dependendo do seu estado.

Diagrama de Máquina de Estados Evento externo – É causado por algo fora do limite do sistema (por exemplo, um ator). Também é conhecido como evento de sistema. Evento interno – É causado por algo dentro do limite do sistema, por exemplo, uma mensagem de um objeto para outro (equivalente ao que ocorre em um diagrama de interação). Evento temporal – Causado pela ocorrência de uma data ou hora específica, ou pela passagem do tempo. Produzido por um relógio em tempo real ou tempo simulado. Ação de transição – Representa a chamada de um método da classe. Condição de guarda – Define que a transição só ocorrerá se o resultado do teste for favorável “Os diagramas de estado mostram o ciclo de vida de um objeto, os eventos pelos quais ele passa, as suas transições e os estados em que ele está entre esses eventos. Não é necessário ilustrar todos os eventos possíveis.[LAR 04]”

Diagrama de Máquina de Estados – EXEMPLO 2: classe ContaBancaria

Diagrama de Máquina de Estados - Fixação Crie um diagrama de estado que represente a situação de um caso de uso Processar Venda. Não é válido realizar a operação fazerPagamentoComCartãoDeCrédito até que o evento terminarVenda tenha ocorrido. Sabe-se porém que quando uma venda é iniciada o pagamento somente será realizado quando todos os itens de venda tiverem sido informados. Pagamentos em cheque ou cartão de crédito necessitam de validação. Durante o caso de uso Processar Documentos em um processador de textos, não é válido executar a operação Salvar-arquivo até que o evento Novo-arquivo ou Abrir- arquivo tenha ocorrido. Resposta

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO Finalidade: Representa a situação em que um objeto se encontra em um determinado momento durante o período em que este participa de um processo. Um estado pode demonstrar: A espera pela ocorrência de um evento; A reação a um estímulo; A execução de alguma atividade; A satisfação de alguma condição Representação: Crie um exemplo de um estado de um objeto que tenha todos os eventos internos A descrição deve sempre que possível estar no gerúndio

Diagrama de Máquina de Estados - ELEMENTOS Nome: TRANSIÇÃO Finalidade: Representa um evento(Evento de Ativação) que causa uma mudança no Estado de um objeto, gerando um novo estado. Representação: Outros tipos de transições: Transição não-ativada: representa as transições geradas pela simples conclusão da atividade do Estado anterior. Transição interna: não causam mudança no Estado do objeto. Transição Interna

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO INICIAL Finalidade: Determina o início do diagrama, ou seja, o momento a partir do qual os Estados de um determinado objeto ou processo serão analisados. Representação: Nome: ESTADO FINAL Finalidade: Determina o final do diagrama. Representação:

Diagrama de Máquina de Estados - ELEMENTOS Nome: AUTO-TRANSIÇÕES Finalidade: Sai do Estado atual do objeto, podendo executar alguma ação quando dessa saída e retornam ao mesmo estado. Representação: Diagrama para um objeto Caixa ou TelaPedido. Não é de um objeto Pedido.

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO DE PONTO DE ESCOLHA DINÂMICO Finalidade: Representa o ponto de transição de Estados de um objeto que deve ser tomada uma decisão, a partir da qual um determinado estado será ou não gerado, normalmente em detrimento de diversos outros possíveis Estados. Representa então uma escolha apoiada por Condições de Guarda, em que se decidirá qual será o próximo Estado do objeto a ser gerado. Representação:

Diagrama de Máquina de Estados - ELEMENTOS Nome: BARRA DE SINCRONIZAÇÃO Finalidade: É utilizada quando da ocorrência de Estados paralelos causados por transições concorrentes. Determina o momento em que o processo passou a ser executado em paralelo e em quantos sub-processos se dividiu (bifurcação) ou determinar o momento em que dois ou mais sub-processos se uniram em um único (união). Representação: bifurcação união

Diagrama de Máquina de Estados - ELEMENTOS Nome: JUNÇÃO OU PONTO DE JUNÇÃO Finalidade: Serve para indicar a união de dois ou mais processos paralelos em um único. Representação:

Exercícios – Modifique o diagrama abaixo, utilizando junções e pontos de escolha dinamico, de modo que não exista mais de uma transição chegando em cada estado.

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO COMPOSTO Finalidade: É um Estado que contém internamente dois ou mais Estados, chamados algumas vezes de sub-Estados. É um Estado que foi “explodido”, de maneira a apresentar detalhadamente todas as etapas por que passa o objeto quando no Estado em questão. É obrigatório o uso do Estado Inicial porém não é necessário o uso do Estado Final. Representação:

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO DE HISTÓRIA Finalidade: Representa o registro do último sub-estado em que o objeto se encontrava, quando, por algum motivo, o processo foi interrompido. Representação:

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADOS CONCORRENTES Finalidade: É um Estado Composto em que ocorrem processos paralelos, o que força o processo a se dividir em dois ou mais sub-processos concorrentes. Representação:

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO DE SINCRONISMO Finalidade: Permite que os relógios de dois ou mais processos paralelos estejam sincronizados em um determinado momento do processo. Representação: Sincronizando sinais de transito

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADO DE SUB-MÁQUINA Finalidade: É equivalente a um Estado Composto ou Concorrente, no entanto, seus sub-estados não são descritos no diagrama, o que indica que estes terão de ser demonstrados em outro diagrama. Representado por um retângulo com bordas arredondadas sem divisões internas e contendo em seu canto inferior esquerdo um símbolo que representa um diagrama de gráfico de estados, significando que o estado em questão possui sub-estados. Representação: Calculando novo valor do produto

Diagrama de Máquina de Estados - ELEMENTOS Nome: ESTADOS CORTADOS (Stub States) Finalidade: São utilizados em Estados de sub-máquinas quando um Estado externo ao Estado de sub-máquina gera uma transição que será responsável pela criação de um sub-estado contido, porém não representado no Estado de sub-máquina, ou ainda, um sub-estado interno de um Estado de sub-máquina pode gerar uma transição para um Estado externo ao Estado de sub-máquina, as transições referentes a estes sub- estados atingem ou partem de uma linha representando um sub-estado contida no Estado de sub-máquina. Não podem receber ou gerar transições para Estados Iniciais e Finais. Representação: Calculando novo valor do produto

Diagrama de Máquina de Estados – Resposta Fixação 1 Exercício 2 1 2 3 4 5 Voltar

Diagrama de Máquina de Estados – Fixação 2 De acordo com a descrição equivalente ao módulo locação de fitas abaixo, crie o respectivo diagrama de estados: Durante o processo de locação de fitas deve-se verificar se o sócio encontra-se devidamente registrado, caso não esteja a locação deverá ser recusada. Em seguida deverá verificar se não há locações pendentes, caso em que também a locação será recusada. Caso não haja pendências, deve-se iniciar o registro da nova locação, bem como cada item locado. Após selecionar todas as cópias desejadas para a locação, esta deve ser finalizada. resposta

Diagrama de Máquina de Estados – Fixação 3 Construa uma diagrama de estados para uma classe Mensagem, que representa uma mensagem de correio eletrônico. Como dica, considere os estados a seguir. Recebida: este é o estado inicial. A mensagem acabou de entrar na caixa de correio e permanece nesse estado até ser lida. Lida: a mensagem é lida pelo usuário. Respondida: o usuário responde à mensagem Na lixeira: o usuário remove a mensagem da caixa de correio.

Diagrama de Máquina de Estados - Bibliografia Larman, Craig. Utilizando UML e Padrões (2ª. Edição). Editora Bookman, Porto Alegre, 2004. [LAR 04] Guedes, Guiulleanes T. A. UML Uma Abordagem Prática. Editora Novatec, São Paulo, 2005. [GUE 05]