• Nenhum resultado encontrado

Diagrama de Estados O que representam?

N/A
N/A
Protected

Academic year: 2023

Share "Diagrama de Estados O que representam?"

Copied!
6
0
0

Texto

(1)

Diagrama de Estados

O que representam?

• O comportamento interno das classes, ou seja, permitem a especificação da sua dinamica.

• Correspondem a uma especificação de como as classes devem ser implementadas.

Como construir

• Constrói-se um diagrama descrevendo o comportamento de cada classe (geralmente para o sistema todo, ou seja para todos os casos de uso.

• Eventuais diagramas complementares de certos módulos.

Estado:

• Um momento ou situação na vida do objeto.

• Ele passa, ao longo de sua vida, por vários momentos:

– momento em que foi criado,

– momento em que fez uma inicialização, – momento em que fez uma certa solicitação, – momento de seu desaparecimento, etc.

Notação para estados

Nome do estado

Estado Inicial

Estado Final

Identificação dos Estados

Os estados são identificados através dos valores dos atributos.

Curso aberto

Curso completo

Atributo numAlunos de Curso =10 Atributo

numAlunos de Curso <10

(2)

Transição de estado

• Avanço de uma situação (estado) para outra

• Caminhos no diagrama representam os fluxos de execução de um objeto.

• Notação:

Evento(argumentos) [Condição]/Ação

Evento

• Indica o nome de um sinal, mensagem, ou notificação recebida pelo objeto e que torna a transição habilitada

Exemplos:

– o recebimento de uma mensagem encaminhada pelo sistema operacional,

– o recebimento de uma notificação (timer, interrupção, entrada de dados) gerada pelo sistema operacional – a chamada de uma função feita por outro objeto.

Argumentos, Condição, Ação

• Argumentos : são valores recebidos junto com o evento

• [Condição] : (ou guarda) expressão lógica, avaliada quando o evento, associado a uma ransição ocorrer.

• Uma transição só ocorre se o evento acontecer e a condição associada for verdadeira.

• / Ação: ação (cálculo, atribuição, envio de mensagem, etc) executada durante a transição de um estado a outro.

Exemplo: Transições e Estados

Curso aberto

Curso completo matrículaEncerrada

matricularAluno

Exemplo: Condições

Curso aberto

Curso completo matrículaEncerrada

[numAlunos=10]

matricularAluno [numAlunos<=10]

Exemplo: Ações

Curso aberto

Curso completo matrículaEncerrada

[numAlunos=10]

matricularAluno

[numAlunos<=10] / numAlunos++

Transiçãao reflexiva: parte de um estado e chega No mesmo estado de partida

(3)

Estruturas no Diagrama de Estados

• Sequência: fluxo de estados representados por encadeamentos de um estado e uma transição.

• Bifurcação: representa duas ou mais transições partindo de um mesmo estado

• Junção: representa duas ou mais transições conduzindo a um mesmo estado.

• Repetição: um encadeamento cíclico de estados (laço)

Exemplo de sequência

mostrando janela

aguardando dados

recebendo dados

Exemplo de bifurcação/junção

mostrando janela

aguardando dados

recebendo dados

imprimindo mensagem fim

dados

bifurcação junção

Exemplo de repetição

mostrando janela

aguardando dados

recebendo dados

[x<=10]/x++

[x>10]

Cláusula de envio

• Representa o envio de uma mensagem (ação no diagrama de estado) do objeto que se está modelando para algum outro objeto.

• Notação:

^nome-do-objeto.nome-da-mensagem

Exemplo: Cláusula de envio

iniciando comunicação

executando

processo encerrando

processo

^interf.Iniciar() ^interf.Processar()

Diagrama de sequências:

:CCtrl interf:Interf

^interf.Iniciar()

^interf.Processar() Diagrama de estados da classe CCtrl:

(4)

Atividades nos estados

• Ações associadas a um estado; podem levar um certo tempo para serem executadas e também serem interrompidas

curso completo do: relate que não há vagas

Atividades nos estados

• Entrada: ação realizada no momento em que se alcança o estado

– Realizadas antes de qualquer outra – Devem estar nas transições que conduzem a

certo estado e, são executadas antes de se alcançar efetivamente o estado.

Ações de entrada

evento a/ x=0 recebendo

dados imprimindo

mensagem

processando evento b/ x=0

recebendo

dados imprimindo

mensagem

processando Entrada: x=0

evento b evento a

Ações de saída

• Saída: ação realizada exatamente no momento de abandonar um estado.

• Devem estar em todas as transições que partem de um determinado estado.

Ações de entrada

evento a/ x=0

recebendo dados

imprimindo mensagem processando

evento b/ x=0 evento a/ x=0

recebendo dados

imprimindo mensagem processando Saída: x=0

evento b/ x=0

Ações nos estados

• Fazer (do) atividade não atômica (não composta por mais de uma instrução) realizada no interior do estado. Executada quando o objeto alcançar o estado e tiver concluído as eventuais ações de entrada e enquanto ele permanecer neste estado.

• Evento: realizada quando o objeto estiver no estado correspondente e ocorrer o evento indicado sem mudanca de estado – transição reflexiva com ações.

(5)

Estado composto

• Um estado constituído de um conjunto de sub-estados.

• Aparece em visões expandidas do diagrama de estados. Em uma visão normal, o estado composto é mostrado sem seus subestados.

Exemplo estado composto

processando entrada de dados

recebendo dados

incializando aguardando

dados

finalizando

Concorrência

• Representa dois ou mais encadeamentos de estados e transições que são percorridos simultaneamente

• Representa mais de um fluxo de controle implementado através de threads e utilizando serviços de multitarefa ou multiprocessamento do sistema operacional.

Concorrência

• Quando um objeto alcança um estado composto, imediatamente abre-se a concorrência alcançando-se igualmente os estados iniciais de todas as concorrências.

• Após isso, o estado composto só poderá evoluir quando todas as suas concorrências tiverem alcançado seus estados finais.

Concorrência: representação

estado 1a estado 1b estado 1c

estado 2a estado 2b estado 2c

Estado composto

Concorrência:sincronismo e dependência de dados

estado 1a estado 1b estado 1c

estado 2a estado 2b estado 2c

Estado composto

1

(6)

Diagrama de estados

• Lembram DFD, fluxograma, diagrama de ações

• São mais poderosos pois incluem:

– Cláusulas de envio, comunicação entre objetos – Sincronização e concorrência

– Diferentes níveis de abstração

Referências

Documentos relacionados

Inseridos na área de LA, também encontramos vertentes teóricas como a Pragmática (LEVINSON, 2007; MEY, 2001; TAVARES, 2006) e a Sociolinguística Interacional que, apesar de

Para melhorar a eficácia no combate às formigas cortadeiras em sistemas de iLPF, deve-se levar em conta as espécies predominantes desse inseto na região, as espécies vegetais

Oncag, Tuncer &amp; Tosun (2005) Coca-Cola ® Sprite ® Saliva artificial Compósito não é referido no estudo 3 meses 3 vezes por dia durante 5 minutos Avaliar o efeito de

Esse trabalho tem o objetivo de apresentar as funções destinadas ao pedagogo no meio empresarial, dando a valorização necessária, visto que muitas pessoas não sabem

Serve o presente relatório para descrever e refletir sobre as atividades realizadas durante o Estágio Profissionalizante do 6º ano do Mestrado Integrado em

Essa revista é organizada pela Sociedade Brasileira de Planejamento Energético (SBPE) e por isso foram selecionados trabalhos que tinham como objetivo tratar a

vida de um objeto, ou seja, seus estados, os eventos que causam a transição de um.. estado para outro estado e as ações que resultam de uma mudança

Portanto, conclui-se que o princípio do centro da gravidade deve ser interpretado com cautela nas relações de trabalho marítimo, considerando a regra basilar de