Buscar

Aula_0012-Modelagem-de-Estados

Prévia do material em texto

Princípios de Análise 
e Projeto de Sistemas 
com UML 
2ª edição 
Eduardo Bezerra 
 
Editora Campus/Elsevier 
Capítulo 10 
Modelagem de Estados 
Tópicos 
• Introdução 
• Diagrama de Transição de Estados 
• Construindo o DTE 
• Importância do DTE 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 3 
Tópicos 
• Introdução 
• Diagrama de Transição de Estados 
• Construindo o DTE 
• Importância do DTE 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 4 
Introdução 
• Objetos de um sistema sempre se encontram em um estado em 
particular; 
 
• Quando um objeto muda de um estado para outro há uma 
transição de estados; 
 
• Os objetos mudam de estado quando ocorre um evento interno 
ou externo; 
 
• Os objetos passam por um número finito de estados. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 5 
Introdução 
• O diagrama da UML que modela os estados de um sistema e 
suas transições é chamado de Diagrama de Transição de 
Estados; 
– Também chamado de Máquina de Estados 
 
• O diagrama descreve o comportamento dos objetos de uma 
classe, modelando os estados e suas transições; 
 
• Também não é necessário modelar todas as classes do 
sistema; 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 6 
Tópicos 
• Introdução 
• Diagrama de Transição de Estados 
• Construindo o DTE 
• Importância do DTE 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 7 
Diagrama de Transição de Estados 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 8 
Diagrama de Transição de Estados 
ESTADOS 
 
• Situação na vida do objeto a qual ele satisfaz alguma condição 
ou realiza alguma atividade. 
– Ex.: O atributo reservado de um quarto está setado como verdadeiro; 
 
• No diagrama: 
– Estado – Retângulo com bordas arredondadas 
– Estado inicial – Circulo preenchido (só existe um) 
– Estdo final – Circulo eclipsado (opcional e podem existir vários) 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 9 
Diagrama de Transição de Estados 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 10 
Estado inicial Estado Estado final 
Diagrama de Transição de Estados 
TRANSIÇÕES 
 
• Ligam os estados, quando ocorre uma transição dizemos que 
ela foi disparada; 
 
• Pode haver uma transição em um mesmo estado; 
 
• Uma transição pode ser rotulada: 
– evento (lista-parâmetros) [guarda] /ação 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 11 
Diagrama de Transição de Estados 
TRANSIÇÕES 
 evento (lista-parâmetros) [guarda] /ação 
• Existem eventos vinculados às transições 
 
• É algo que acontece que pode modificar o estado de um objeto 
 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 12 
Em sistemas de software Em processos de negócio 
Mouse pressionado Pedido realizado 
Disco inserido Fatura paga 
Cheque devolvido 
Diagrama de Transição de Estados 
TRANSIÇÕES 
 evento (lista-parâmetros) [guarda] /ação 
• Um evento pode conter uma lista de parâmetros; 
 
• Os parâmetros fornecem informações para o receptor de 
evento. 
– Exemplo: Mouse pressionado(local) 
– Local é a posição da tela onde foi pressionado 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 13 
Diagrama de Transição de Estados 
TRANSIÇÕES 
 evento (lista-parâmetros) [guarda] /ação 
• Os eventos podem ser classificados em: 
– Evento de chamada: Recebimento de mensagem de outro objeto, 
solicitação de serviço de um objeto; 
– Evento de sinal: objeto recebe um sinal de outro objeto que o faz 
mudar de estado, é raramente utilizado, nele o objeto continua seu 
processamento após enviar o sinal; 
– Evento Temporal: passagem de um intervalo de tempo predefinido. 
Exemplo: after(30 segundos) 
– Evento de Mudança: Uma condição se torna verdadeira. Exemplo: 
when(saldo > 0) 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 14 
Diagrama de Transição de Estados 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 15 
Diagrama de Transição de Estados 
TRANSIÇÕES 
 evento (lista-parâmetros) [guarda] /ação 
• É uma expressão de valor lógico, pode utilizar parâmetros do 
evento, atributos da classe, valor de um estado, dentre outros. 
 
• Uma transição com condição de guarda só é disparada se essa 
condição for verdadeira; 
 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 16 
Diagrama de Transição de Estados 
TRANSIÇÕES 
 evento (lista-parâmetros) [guarda] /ação 
• Ao passar de um estado para outro, um objeto pode realizar 
ações; 
 
• Ações são execuções de uma operação; 
 
• Sempre coloca-se uma barra (/) antes da ação. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 17 
Diagrama de Transição de Estados 
ATIVIDADES 
 
• Semelhantes as ações, é algo que é executado pelo objeto. 
 
• Diferenças: 
– Podem ser interrompidas; 
– Estão associadas a um estado 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 18 
Diagrama de Transição de Estados 
PONTO DE JUNÇÃO 
 
• Em algumas situações, o próximo estado varia de acordo com 
a condição de guarda: 
– Se verdadeiro E1, se falso E2... 
 
• Essa situação é representada por um ponto de junção: 
– Um losango em que chegam uma ou mais transições e de onde partem 
mais transições 
– Quando uma das condições é verdadeira, todas as outras devem ser 
falsas. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 19 
Diagrama de Transição de Estados 
PONTO DE JUNÇÃO 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 20 
Diagrama de Transição de Estados 
Cláusulas entry, exit e do 
 
• No retângulo de estado, podem-se especificar ações ou 
atividades a serem executadas. 
– entry – Ação a ser realizada ao entrar em um estado, é executada 
independente do estado do qual o objeto veio. 
 
– exit – Ações a serem executadas sempre que o objeto sai do estado. 
Também sempre é executada; 
 
– do – Atividade a ser executada quando o objeto passa para um 
determinado estado. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 21 
Diagrama de Transição de Estados 
Cláusulas entry, exit e do 
 
 
 
 
 
• Detalhes: 
– como não existe evento que leva de Estado 2 para Estado 3, isso é feito 
assim que Atividade2 é concluída 
– A transição de Estado3 para Estado1 pode ocorrer antes do término de 
Atividade 3. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 22 
Diagrama de Transição de Estados 
Cláusulas entry, exit e do 
Exemplo: 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 23 
Diagrama de Transição de Estados 
TRANSIÇÕES INTERNAS 
 
• É uma transição que não faz o objeto mudar de estado; 
• É preferível usar a seguinte ordem de declaração: 
– entry, do, transições internas, exit; 
 
• Importante: 
– Caso haja entry e exit em um estado a ordem de execução é a seguinte: 
– Exit, ação reflexiva, entry e por fim as demais ações ou atividades. 
 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 24 
Exemplo 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 25 
Estados aninhados 
• Podem haver estados aninhados dentro de outros estados; 
• O estado que contém outros estados é dito composto. 
• Torna o diagrama de transição de estados mais legível 
Princípios de Análise e Projeto de Sistemas comUML - 2ª edição 26 
Estados Concorrentes 
• É um tipo especial de estado composto; 
• Um objeto em um estado concorrente pode se encontrar em 
dois ou mais estados semelhantes; 
• Exemplo, um refrigerador. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 27 
Tópicos 
• Introdução 
• Diagrama de Transição de Estados 
• Construindo o DTE 
• Importância do DTE 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 28 
Identificando elementos de um DTE 
• Exemplos: 
– Um professor está livre quando não está ministrando algum curso 
durante o semestre; 
 
– Um tanque está na reserva quando o nível está abaixo de 20%; 
 
– Um pedido está atendido quando todos seus itens estão atendidos. 
 
• Uma boa saída é analisar os possíveis valores de atributos e 
suas ligações com outros objetos. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 29 
Identificando elementos de um DTE 
• Para identificar as transições devemos identificar os eventos 
que podem gera-las; 
 
• Uma boa saída para identificar os eventos é a descrição dos 
casos de uso. 
– Normalmente indica os eventos externos, também deve-se procurar os 
eventos internos; 
 
• Outra forma é analisar as regras de negócio: 
– Um cliente não pode retirar mais de R$ 1000,00 por dia de sua conta. 
– Os pedidos para um cliente comum devem ser pagos com antecedência 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 30 
Construção do DTE 
• Em sistemas grandes a construção do DTE é bastante 
complexa; 
 
• É praticamente impossível criar um diagrama só para todo o 
sistema: Exponencial; 
 
• Nem toda classe precisa de um DTE, só deve ser feito se a 
classe possuir um comportamento dinâmico relevante. 
Principalmente quando o histórico das transições precisa ser 
rastreado. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 31 
Construção do DTE 
• Uma vez identificada as classes que irão construir o diagrama, 
segue a sequência: 
– Identificar os estados relevantes 
– Identificar os eventos relevantes àquela classe 
– Para cada estado, identificar as transições possíveis 
– Para cada estado, identificar os eventos internos e ações 
correspondentes relevantes 
– Para cada transição, verificar se há fatores que influenciam seu disparo: 
Condições de guarda 
– Para cada condição de guarda, identificar atributos e ligações 
envolvidas 
– Definir estado inicial e final 
– Desenhar o DTE 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 32 
Tópicos 
• Introdução 
• Diagrama de Transição de Estados 
• Construindo o DTE 
• Importância do DTE 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 33 
Importância do DTE 
• O diagrama de classes serve de base para a construção do 
DTE, por outro lado, o diagrama ajuda a identificar novos 
atributos e operações para as classes; 
 
• Como as transições dependem dos estados, pode haver a 
reescrita de alguns métodos. 
– Por exemplo: Não faz sentido o método sacar() em uma conta 
bloqueada. 
 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 34 
Importância do DTE 
• O estado inicial do DTE também ajuda a fixar os valores 
iniciais dos atributos na hora da implementação. 
 
• São úteis na modelagem do comportamento de um objeto 
específicos e não conjuntos de objetos. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 35 
Referências 
• BEZERRA, Eduardo. Princípios de Análise e Projeto de 
Sistemas com UML. Rio de Janeiro: Editora Campus, 2006. 
Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 36

Continue navegando