Análise e Conceção de Sistemas 15.Diagramas de estados
Objectivos 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
Conteúdos Enquadramento disciplinar Conceitos fundamentais Estrutura de conceitos Diagrama de estados
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.
Enquadramento disciplinar Análise e Conceção de Sistemas Desenho e Modelação de Requisitos
Conceitos fundamentais 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 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 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 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 Pseudo-estados O estado inicial ilustra o início da máquina de estados. O estado final representa o final.
Conceitos fundamentais 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 Estado Nome O estado tem um nome que o diferencia dos outros
Conceitos fundamentais Estado Ação de entrada/ saída Ações executadas na entrada e saída do estado
Conceitos fundamentais 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 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 Estado Composto (ou Superestado) Estado composto por uma máquina de estados Subestado É um estado “aninhado” num estado composto Tipos Sequenciais Concorrentes
Conceitos fundamentais Estado Subestado Sequenciais
Conceitos fundamentais Estado Subestado Concorrentes
Conceitos fundamentais 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 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 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 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 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
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
Diagramas de atividade Exemplo
Diagramas de atividade Exemplo
Questões finais