CIn-UFPE1 Statechart UML. 2 Modelagem Comportamental Modelagem Comportamental n Diagramas de Use...
-
Upload
henrique-ronaldo-carvalho-philippi -
Category
Documents
-
view
216 -
download
2
Transcript of CIn-UFPE1 Statechart UML. 2 Modelagem Comportamental Modelagem Comportamental n Diagramas de Use...
CIn-UFPECIn-UFPE 11
StatechartStatechart
UMLUML
CIn-UFPECIn-UFPE 22
Modelagem ComportamentalModelagem Comportamental
Diagramas de Use Case Diagramas de Seqüência
Diagramas de Colaboração
Statecharts
Diagramas de Atividades
CIn-UFPECIn-UFPE 33
Máquinas de EstadoMáquinas de Estado
Podem ser aplicadas para modelar o comportamento de vários elementos de UML: casos de uso específicos, objetos individuais, conjuntos de objetos, ou um sistema por completo.
Especificam as seqüências de estados de um elemento em resposta aos eventos. Estado Transição Evento Ação e Atividade
CIn-UFPECIn-UFPE 44
É uma situação durante a vida de um elemento, na qual ele satisfaz alguma condição, executa alguma atividade, ou espera por algum evento.
Exemplos: Ocioso Recebendo Pagamento Entregando item
EstadoEstado
CIn-UFPECIn-UFPE 55
Máquina de VendasMáquina de Vendas
OciosaRecebendo R$
Oferendo serviços
Entregando Troco Despachando Item
entrada de moedas(quant.)
cancelar / devolver moedas
[ item vazio ] [ troco < 0 ]selecionar
(item)
[ troco > 0 ]
[ troco = 0 ]
CIn-UFPECIn-UFPE 66
Estado inicialEstado inicial
É um estado especial que, explicitamente, mostra o início da máquina de estado.
Pode existir exatamente um estado inicial em cada diagrama de estado.
O ícone de estado inicial é um círculo compacto com uma flecha.
CIn-UFPECIn-UFPE 77
O estado de parada é um círculo englobando um círculo compacto com uma flecha.
Normalmente, você pode assumir que a máquina de estado associada a uma classe sairá de sua existência quando o estado final é atingido.
Estado finalEstado final
CIn-UFPECIn-UFPE 88
EstadosEstados
Ocisoso ExecutandoteclaPresioanda
término
Estado Inicial
EstadoFinal
Estado
Nome
Nome
desligar
CIn-UFPECIn-UFPE 99
Partes de um EstadoPartes de um Estado
Nome
Ações de entrada (entry): Quando entrar no estado, a ação será executada
Ações da saída (exit): Quando sair do estado, a ação será executada.
Atividades (do): Enquanto no estado, o objeto faz algo que continuará a ser
executado até ser interrompido por um evento
CIn-UFPECIn-UFPE 1010
Partes de um estado: exemploPartes de um estado: exemplo
Nome-do-estadoentry/ação-de-entradaexit/ação-de-saídado/atividade
CIn-UFPECIn-UFPE 1111
TransiçãoTransição
É um relacionamento entre dois estados, indicando que o objeto no primeiro estado irá executar certas ações e entrar no segundo estado quando o evento especificado ocorrer e as condições especificadas forem satisfeitas.
Uma transição de estado é uma mudança de estado causada por um evento.
Utiliza-se transições de estado para conectar dois estados em um diagrama de estado ou para mostrar transições de um estado para ele mesmo.
CIn-UFPECIn-UFPE 1212
Pode-se mostrar uma ou mais transições de estado desde que cada transição seja única.
O ícone para uma transição de estado é uma linha com uma ponta de flecha apontando para o próximo estado.
Ocioso EsfriandoQuente demais
TransiçãoTransição
CIn-UFPECIn-UFPE 1313
Partes da transiçãoPartes da transição
Estado fonte
Evento de disparo
Condição de guarda
Ação
Estado alvo
CIn-UFPECIn-UFPE 1414
Ocorrência de um estímulo que pode disparar uma transição de estado. Ex: Apertar o botão do mouse; Discar um dígito (número)
É possível haver uma transição sem um evento de disparo.
Evento de disparoEvento de disparo
CIn-UFPECIn-UFPE 1515
Condição de guardaCondição de guarda
Expressão booleana entre [ ], colocada após o evento de disparo.
A condição de guarda é avaliada apenas após a ocorrência do evento de disparo da transição.
CIn-UFPECIn-UFPE 1616
encerrado o tempo
Norte/Sulseguir em
frente
Norte/Sulvirar à
esquerda
Leste/Oesteseguir em
frente
Leste/Oestevirar à
esquerda
encerrado o tempo [carros na via N/S esq.]
encerrado o tempo [carros na via L/O esq.]
encerrado o tempo
encerrado o tempo [sem carros na via N/S esq.]
encerrado o tempo [sem carros na via L/O esq.]
Exemplo: Sinal de trânsitoExemplo: Sinal de trânsito
CIn-UFPECIn-UFPE 1717
Ação e AtividadeAção e Atividade
Ação: uma resposta instantânea a uma transição Usualmente associada a uma transição, embora possa ser
associada a um estado
Atividade (do): Uma operação que tem uma certa duração, normalmente associada a um estado.
CIn-UFPECIn-UFPE 1818
Problemas com Maq. EstadosProblemas com Maq. Estados
Máquinas de estados não estruturadas não possuem bom poder de expressão e tornam-se impraticáveis para problemas grandes.
As formas de estruturação: Subestados seqüenciais Subestados concorrentes
CIn-UFPECIn-UFPE 1919
Subestado seqüencialSubestado seqüencial
Ocioso
Manutenção
fazerManutenção
Validando
Selecionando Processando
Imprimindo
H
entry / lerCartão exit / ejetarCartão
cartãoInserido
cancelar
Ativo
CIn-UFPECIn-UFPE 2020
Subestado concorrenteSubestado concorrente
Pode ser mostrado com partições pontilhadas.
Relógio
alarmeON
alarmeOFF
12hs
24hs
Acabou Bateria
Inserir Bateria
CIn-UFPECIn-UFPE 2121
Divisão do Controle:
Subestado concorrenteSubestado concorrente
Subestado 1
Subestado 2 Subestado 4
Subestado 3evento 0
evento 1
evento 2
evento 3
evento 4
CIn-UFPECIn-UFPE 2222
De um estado para um estado no mesmo nível.
Diretamente para um subestado, ou diretamente de um subestado.
Diretamente de um superestado, o que significa que a transição de estado aplica-se para cada subestado do superestado (Supertransição).
Diretamente para um superestado com subestados, o que significa transição para o estado inicial do superestado.
Transições e Estados CompostosTransições e Estados Compostos
CIn-UFPECIn-UFPE 2323
Freqüentemente, quando transiciona-se diretamente para um estado com subestados, você quer retornar ao estado visitado mais recentemente no super-estado.
Use a letra H dentro de um círculo para representar o log da história.
H
HistóriaHistória
CIn-UFPECIn-UFPE 2424
HistóriaHistória
Neste exemplo, quando ocorrer uma falha,Neste exemplo, quando ocorrer uma falha,o super-estado Failure poderá começar em qualquero super-estado Failure poderá começar em qualquer
dos subestados, dependendo da última visita ao super-estado.dos subestados, dependendo da última visita ao super-estado.
CIn-UFPECIn-UFPE 2525
Statecharts especificam uma seqüência permitida de mudanças de estado nos objetos associados às classes do Diagrama de Classes.
Constrói-se um Statechart para cada classe com comportamento temporal significativo.
Objetos se comunicam pelo envio e resposta a eventos.
Relação entre diagrama de classes e Relação entre diagrama de classes e statechartsstatecharts
CIn-UFPECIn-UFPE 2626
Eventos, ações e atividades podem ser representados como operações das Classes.
Diferenças temporais de estado de um objeto são apropriadamente modeladas através de estados diferentes de uma mesma classe.
Relação entre diagrama de classes e Relação entre diagrama de classes e statechartsstatecharts
CIn-UFPECIn-UFPE 2727
Digramas de Use Cases e Interação ajudam o início do processo de construção de Statecharts.
Somente construa Statecharts para classes de objetos com um comportamento dinâmico significativo.
Nem todas as classes de objeto necessitam de um Statechart.
Somente considere os atributos relevantes quando da definição de um estado. Nem todos os atributos mostrados nas classes precisam ser usados num Statechart.
DicasDicas