Você está na página 1de 23

Parte 2 Anlise Orientada a Objetos Diagrama de Estados

IEC016 - MPS Modelagem e Projeto de Sistemas


Profa.: Tayana Conte - tayana@icomp.ufam.edu.br Monitor: Luis Rivero - luisrivero.cabrejos@gmail.com

Diagrama de Estados

Definio
uma representao que visa fornecer uma definio formal do comportamento de um objeto. Ele permite descrever os eventos e transies de estados aos quais ele est sujeito. Como se comporta? Quais os estados do objeto? Quais transies existem? Que eventos acontecem?

Definio
Os diagramas de estado capturam o ciclo de vida de um objeto em funo: Dos estados que esse objeto pode assumir Dos eventos que provocam essas mudanas Das aes que so tomadas a partir desses eventos.

Definio
Os diagramas de estado capturam o ciclo de vida de um objeto em funo: Dos estados que esse objeto pode assumir Dos eventos que provocam essas mudanas Das aes que so tomadas a partir desses eventos.
Os diagramas de Estado no so escritos para todas as classes de um sistema: Apenas para aquelas que possuem um nmero definido de estados conhecidos; Onde o comportamento das classes afetado e modificado por eventos.
5

Definio
Podem ser utilizados tanto durante a fase de anlise quanto durante a fase de projeto.
Modelagem Dinmica

Modelo de Casos de Uso

Diagrama de Sequncia Ciclo de vida de classes conceituais

Ciclo de vida de classes de projeto

Prottipo da Interface

Modelo Conceitual

Modelo de Classes

Modelagem Esttica 6

Elementos
Descrio
Smbolo

Estado: representado por um retngulo com os cantos arredondados com o nome do estado no seu interior. Transio: representa uma mudana de estado. Deve estar sempre associada a um evento. Evento: sempre aparece associado a uma transio indicando o evento que provoca a mudana de estado. Pode vir acompanhado de uma expresso de guarda e/ou uma ao.

Elementos
Descrio
Smbolo

Escolha: permite definir vrios estados alvo a partir de um mesmo evento. O evento deve estar associado ao segmento de entrada, enquanto as condies devem estar associadas aos segmentos de sada. Pode ser representador por um crculo (UML 1.4) ou por um losango (UML 2.0).
Juno: o ponto comum de juno de vrios estados para um mesmo estado alvo. Estado inicial: denota o estado em que um objeto criado. Deve existir apenas um estado inicial. Estado final: indica o estado final de um objeto. Pode existir mais de um estado final.
8

Representao

A modelagem completa do evento pode ser feita com a seguinte sintaxe:


nome-do-evento (lista-de-parametros) [condio de guarda] / [expresso-ao]
Estado A Estado B

Onde: nome-do-evento: obrigatrio. lista-de-parametros: opcional. condio-de-guarda: expresso que define se o evento ser ou no aceito. expresso-ao: uma ou mais aes separadas por vrgula que so disparadas quando o evento aceito.
9

Representao

Exemplo1 : estados de uma lmpada eltrica.


Ligar interruptor Apagada Desligar Interruptor Acesa

10

Representao

Exemplo 2 : estados de uma lmpada eltrica, utilizando


condio de guarda.
Ligar interruptor [ter energia] / ligar Apagada Desligar Interruptor Acesa

11

Eventos Especiais: After e When


Eventos que so modelados de uma forma particular: Evento de tempo decorrido Indica um evento disparado quando ocorre uma determinada quantidade de tempo.
After(quantidade-de-tempo)

Estado 1

Estado 2

Exemplo:
Aguardando confirmao

after(3 dias)
Cancelado

12

Eventos Especiais: After e When


Eventos que so modelados de uma forma particular: Evento de mudana Indica um evento que ocorre no momento em que uma condio satisfeita.
when(condio) Estado 1 Estado 2

Exemplo:
when(prazo pagamento > 10 dias) Pendente Em Anlise

13

Procedimento para a Modelagem de Diagrama de Estados

Procedimento adaptado de [Bezerra, 2002]:


1. 2. 3. Identifique os estados relevantes para a classe. Identifique os eventos relevantes. Para cada evento: identifique qual a transio que ele ocasiona. Para cada estado: identifique as transies possveis quando um evento ocorre.

14

Procedimento para a Modelagem de Diagrama de Estados


Exemplo: Diagrama de Estados para Objeto = Conta Bancria [Bezerra,2002]

15

Exerccios Vamos modelar diagramas de estados

16

Exerccio 1
Criar um diagrama de estado para representar o ciclo de vida de um vdeo em uma Vdeo Locadora.

17

Exerccio 1
Criar um diagrama de estado para representar o ciclo de vida de um vdeo em uma Vdeo Locadora.
1. 2. 3. 4. Qual a classe a ser modelada? Quais so os estados relevantes para a classe? Quais so os eventos relevantes? Para cada estado: quais so as transies possveis quando um evento ocorre?

18

Exerccio 1
Exemplo Diagrama de Estado da Fita de uma Locadora [Falbo, 2003]
Cancelar Reserva ( automaticamente ou no )[ existeReserva [ no existeReservaPendente Pendente do ttulo ] [ existeReservaPendente do ttulo ] do ttulo ] Cancelar Reserva( automaticamente ou no ) [ no existeReservaPendente do ttulo ] Disponvel Reservada Efetuar Devoluo [ noEfetuar Devolucao existeReservaPendente [ existeReservaPendente do ttulo ] do ttulo ] Efetuar Locao Locada Efetuar Locao

Efetuar Devoluo[ fitaInutilizada ] [ fitaInutilizada ] Inutilizada [ fitaInutilizada ]

19

Exerccio 2
Criar um diagrama de estado para representar a requisio no seguinte processo:

Em uma empresa, quando um gerente deseja conceder um aumento salarial ou uma promoo de cargo a um empregado, ele abre uma requisio no RH. Inicialmente o setor de anlise de pessoal verifica se a requisio somente para aumento salarial, somente para promoo ou ambos. Caso a requisio seja somente de aumento salarial (sem mudana de cargo), a requisio enviada para o setor de anlise financeira que verificar se o departamento ao qual pertence o empregado suporta o aumento requerido. (Continua...)

20

Exerccio 2
Criar um diagrama de estado para representar a requisio no seguinte processo:

Caso a requisio seja de promoo de cargo (com ou sem aumento salarial), ela analisada pelo prprio setor de anlise de pessoal para verificar se a mesma se encontra dentro das regras de promoo. Caso esteja, ela enviada para o setor de anlise financeira para anlise da viabilidade financeira. Caso contrrio, ela enviada para o Gerente de RH que poder aprov-la mesmo fora das regras de promoo. Nesse caso ela tambm enviada para o setor de anlise financeira. Caso a requisio seja aprovada ou reprovada, o gerente solicitante toma cincia por email.

21

Bibliografia

Booch, G. et al. UML, guia do usurio Campus, 2000. Falbo, R. Modelagem de Objetos usando UML. MiniCurso XVII SBES, Manaus, 2003. Bezerra, E. Princpios de Anlise e Projeto de Sistemas com UML Editora Campus, 2002. Pender, T., A Bblia UML, Editora Elsevier, 2005.

22

Obrigado! Perguntas?

23

Você também pode gostar