View
219
Download
4
Embed Size (px)
Citation preview
Análise e Conceção de Sistemas
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 fundamentais de um diagrama de estados
Saber realizar um diagrama de estados usando a notação especificada pela UML
Objectivos
Enquadramento disciplinar Conceitos fundamentais
◦ Estrutura de conceitos Diagrama de estados
Conteúdos
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.
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
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
Conceitos fundamentais
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
Exemplo
Diagramas de atividade
Exemplo
Diagramas de atividade
Questões finais