15.diagramas de estados. saber enquadrar a modelação e o uso de diagramas de estados no processo...
TRANSCRIPT
![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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022042721/570638711a28abb823907a3f/html5/thumbnails/27.jpg)
Questões finais