27
Análise e Conceção de Sistemas 15.Diagramas de estados

15.Diagramas de estados. Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software Compreender os conceitos

Embed Size (px)

Citation preview

Page 1: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Análise e Conceção de Sistemas

15.Diagramas de estados

Page 2: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software

Compreender os conceitos fundamentais de um diagrama de estados

Saber realizar um diagrama de estados usando a notação especificada pela UML

Objectivos

Page 3: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Enquadramento disciplinar Conceitos fundamentais

◦ Estrutura de conceitos Diagrama de estados

Conteúdos

Page 4: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Enquadramento disciplinar Engenharia

◦ Aplicação de sabedoria científica à construção de objetos e processos úteis à humanidade

Engenharia de Software [IEEE]◦ Aplicação de um processo sistemático, disciplinado e

quantificado ao desenho, desenvolvimento, operação e manutenção de software

Modelação◦ Processo sistemático, simplificado e quantificado de princípios,

técnicas, linguagens e ferramentas comprovadas para a representação dos requisitos de um sistema para satisfazer as necessidades do utilizador, que sejam efetivas em termos de tempo e custo.

Page 5: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Software Engineering

Requirements

Fundamentals

Process

Elicitation

Analysis

Specification

Validation

Consideration

Design

Fundamentals

Key Issues

Structure and Architecture

Quality Analysis and Evaluation

Notations

Strategies and Methods

Construction

Fundamentals

Managing

Considerations

Testing

Fundamentals

Levels

Techniques

Related Measures

Process

Maintenance

Fundamentals

Key Issues

Process

Techniques

ConfigurationManagement

Process management

Identification

Control

Status accounting

Auditing

Release management and Delivery

Management

Project Enactment

Review and Evaluation

Project Planning

Closure

Initiation and Scope Definition

Measurement

Process

Definition

Assessment

Implementation and Change

Measurement

Tools and Methods

Tools

Methods

Heuristic

Formal

Prototyping

Quality

Fundamentals

Management Processes

Practical considerations

KA of related disciplines

Computer Engineering

Computer Science

Management

Mathematics

Project Management

Quality Management

Software Ergonomics

Systems Engineering

Enquadramento disciplinar

Desenho e Modelação de RequisitosAnálise e Conceção de Sistemas

Page 6: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

O uso de interações permite representar aspetos dinâmicos do sistema

Um diagrama de estados é também conhecido como máquina ou gráfico de estados

Conceitos fundamentais

Page 7: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Permite modelar o comportamento de um objeto individual◦ Qualquer objeto tem um tempo de existência

É criado, executa algo e é destruído Entre esses dois instantes o objeto envia ou recebe

mensagens Síncronas (comportamento determinístico) Assíncronas (comportamento não determinístico)

Estas são melhores representadas com uma máquina de estados

Conceitos fundamentais

Page 8: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Definições◦ Estado

Conjunto dos valores dos atributos de um objeto◦ Evento

Estímulo capaz de ativar uma transição de estado◦ Transição

Relacionamento (passagem) entre dois estados como resposta a eventos

◦ Máquina de estados Especifica a sequência de estados que o objeto

atravessa durante a sua vida como resposta a eventos

Conceitos fundamentais

Page 9: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estrutura de conceitos◦ Estado inicial e final (Pseudo-estados)◦ Estado

Nome Ação de entrada/ saída Eventos adiados Atividades Compostos / Subestados Histórico

◦ Transição Eventos de ativação Condição de guarda / ação Auto-transições/ Transições internas

Conceitos fundamentais

Page 10: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Pseudo-estados◦ O estado inicial ilustra o início da máquina de

estados. O estado final representa o final.

Conceitos fundamentais

Page 11: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Condição de um objeto num determinado instante

temporal◦ Um objeto permanece num estado por uma

quantidade finita de tempo Ex. de estados para um interruptor vulgar

Ligado Desligado

Conceitos fundamentais

Page 12: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Nome

O estado tem um nome que o diferencia dos outros

Conceitos fundamentais

Page 13: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Ação de entrada/ saída

Ações executadas na entrada e saída do estado

Conceitos fundamentais

Page 14: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Eventos adiados

É uma entrada numa fila de eventos cuja ocorrência no estado é adiada até um estado em que os eventos não são adiados e tornam-se ativos. Nesse momento eles correm como se o evento tivesse acabado de ocorrer

Conceitos fundamentais

Page 15: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Atividades

Permitem especificar o trabalho a ser realizado no estado depois da ação de entrada ter sido executada

Sequências de ações (separados por “;”) Ações são interrompíveis, as sequências sim

Conceitos fundamentais

Page 16: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Composto (ou Superestado)

Estado composto por uma máquina de estados◦ Subestado

É um estado “aninhado” num estado composto Tipos

Sequenciais Concorrentes

Conceitos fundamentais

Page 17: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Subestado

Sequenciais

Conceitos fundamentais

Page 18: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Subestado

Concorrentes

Conceitos fundamentais

Page 19: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Estado◦ Histórico

Permite guardar qual o subestado que estava a ser executado antes de deixar um estado composto (por ação de uma transição de estado composto, não de subestado) e que permite depois o retorno ao mesmo subestado

Conceitos fundamentais

Page 20: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Transição◦ Relacionamento entre dois estados (origem e

saída) executado quando o evento especificado ocorrer e as condições forem satisfeitas

◦ O objeto na origem executa ações de saída e o objeto no destino executa ações de entrada

Conceitos fundamentais

Page 21: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Transição Ativada

Especifica o evento capaz de mudar o estado Os eventos podem incluir:

Sinais Chamadas Passagem de tempo Alteração de um estado

Não ativada O evento não é representado

Conceitos fundamentais

Page 22: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Transição Condição de guarda

Permite complementar o evento Podemos ter várias transições com o mesmo evento

desde que com condições de guarda diferentes É sempre representada como uma expressão booleana Só transita de estado no caso da condição ser

verdadeira Ação

Chamada de uma operação ou envio de sinal (do próprio objeto ou outro visíviel)

Conceitos fundamentais

Page 23: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Transição◦ Autotransição

Permite re-executar o estado As ações de saída e entrada são executadas

◦ Transição interna Permite executar uma ação e retornar ao estado

As ações de saída e entrada não são executadas

Conceitos fundamentais

Page 24: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Diagramas de estados Permitem modelar aspetos dinâmicos

Modo de representar as alterações de estado dos objectos do sistema ◦ Objectos mudam de estado como resposta a

eventos e à passagem de tempo

Especificam a sequência de estados que o objeto atravessa durante a sua vida como resposta a eventos

Page 25: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Exemplo

Diagramas de atividade

Page 26: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Exemplo

Diagramas de atividade

Page 27: 15.Diagramas de estados.  Saber enquadrar a modelação e o uso de diagramas de estados no processo de desenvolvimento de software  Compreender os conceitos

Questões finais