Вы находитесь на странице: 1из 22

Projeto de Software

Prof. David Zanetti


Introduo
Objetos do mundo real se encontram em estados particulares a cada
momento.
uma jarra est cheia de lquido
uma pessoa est cansada.

Podemos transportar esse mesmo entendimento para objetos computacionais


num sistema OO.

Um objeto muda de estado quando acontece algum evento interno ou externo


ao sistema.

Durante a transio de um estado para outro, um objeto realiza determinadas


aes dentro do sistema.

Quando um objeto transita de um estado para outro, significa que o sistema


no qual ele est inserido tambm est mudando de estado.
Diagrama de transio de estado

Elementos de um diagrama de Transio de


Estados.
Estados
Transies
Evento
Ao
Atividade
Transies internas
Estados aninhados
Estados concorrentes
Estado
Situao na vida de um objeto em que ele satisfaz a
alguma condio ou realiza alguma atividade.

Funo dos valores dos atributos e (ou) das


ligaes com outros objetos.
Exemplos:
O atributo reservado deste objeto livro tem valor verdadeiro.
Uma conta bancria passa para o vermelho quando o seu saldo fica negativo.
Um professor est licenciado quando no est ministrando curso algum durante o
semestre.
Um tanque est na reserva quando nvel de leo est abaixo de 20%.
Um pedido est atendido quando todos os seus itens esto atendidos.

4
Estados inicial e final

Estado inicial:
Indica o estado de um objeto quando ele criado.
S pode haver um estado inicial em um DTE.

Estado final:
Indica o fim do ciclo de vida de um objeto.
opcional e pode haver mais de um estado final
em um DTE.

5
Transies
Os estados esto associados a outros pelas transies.

Uma transio mostrada como uma linha conectando estados, com uma
seta apontando para um dos estados.

Quando uma transio entre estados ocorre, diz-se que a transio foi
disparada.

Uma transio pode ser rotulada com uma expresso da seguinte forma:

evento (lista-parmetros) [guarda] / ao


Eventos
Uma transio possui um evento associado.

Um evento algo que acontece em algum ponto no


tempo e que pode modificar o estado de um objeto:
Pedido realizado
Fatura paga
Cheque devolvido

Os eventos relevantes a um sistema de software


podem ser classificados em nos seguintes tipos.
1. Evento de chamada: recebimento de uma mensagem de outro objeto.
2. Evento de sinal: recebimento de um sinal.
3. Evento temporal: passagem de um intervalo de tempo predefinido.
4. Evento de mudana: uma condio que se torna verdadeira.

7
Exemplo: ContaBancaria

8
Exemplo OfertaDisciplina
Condio de guarda
Expresso de valor lgico que condiciona o disparo de
uma transio.
Uma transio que no possui condio de guarda sempre disparada quando o evento
ocorre.

A condio de guarda pode ser definida utilizando-se


parmetros passados no evento e tambm atributos e
referncias a ligaes da classe em questo.

10
Aes
Ao transitar de um estado para outro, um objeto pode realizar uma
ou mais aes.

Uma ao uma expresso definida em termo dos atributos,


operaes, associaes da classe ou dos parmetros do evento
tambm podem ser utilizados.

A ao associada a uma transio executada se e somente se a


transio for disparada.
Atividades
Semelhantes a aes, atividades so algo que deve ser executado.

No entanto, uma atividade pode ser interrompida (uma ao no pode).


Por exemplo, enquanto a atividade estiver em execuo, pode acontecer um
evento que a interrompa.

Uma atividade sempre est associada a um estado (ao contrrio, uma


ao est associada a uma transio).

12
Ponto de juno
Estado de um objeto pode variar de acordo com
uma condio.
Se o valor da condio for verdadeiro, o objeto vai para um estado E1;
se o valor for falso, o objeto vai para outro estado E2.

Ponto de juno: permitem que duas ou mais


transies compartilhem uma trajetria de
transies.
Exemplo de ponto de juno
Clusulas
No compartimento adicional de um retngulo
de estado podem-se especificar aes ou
atividades a serem executadas.

Sintaxe geral: evento / [ao | atividade]

H trs clusulas predefinidas: entry, exit, do


Clusulas
Clusula entry
Ao a ser realizada no momento em que o objeto entra em um estado.

Clusula exit
Aes que so executadas sempre que o objeto sai de um estado.

Clusula do
Define alguma atividade a ser executada quando o objeto passa para um
determinado estado.
Ao contrrio da clusula entry, serve para especificar uma atividade, em vez
de uma ao.
Clusulas entry e exit - exemplo
Clusula do - exemplo
Exemplo (Despertador)
Exerccio
Durante o processo de locao de fitas, deve-se verificar
se o scio se encontra devidamente registrado
Em seguida, deve-se verificar se no h locaes
pendentes
Caso no haja pendncias, deve-se iniciar o registro da
nova locao, bem como de cada item locado.
Aps selecionar todas as cpias desejadas para
locao, esta deve ser finalizada.
Exerccio
Diagrama de Classes relacionado
Exerccio
Soluo

Вам также может понравиться