MODELAGEM COMPORTAMENTAL
DIVINÓPOLIS
ARIL/2011
FACULDADE PITÁGORAS DE DIVINÓPOLIS
MODELAGEM COMPORTAMENTAL
DIVINÓPOLIS
ABRIL/2011
DEDICATÓRIA
Sumário
Conceitos: ...................................................................................................................... 11
Estado ............................................................................................................................ 11
Transições ...................................................................................................................... 12
Ações .............................................................................................................................. 14
Eventos Adiados............................................................................................................ 16
Subestados ..................................................................................................................... 17
Conclusão ...................................................................................................................... 25
Modelagem Comportamental
Um caso de uso é um padrão de comportamento que o sistema exibe. Cada caso de uso
é uma sequencia de transações relacionadas executadas por um ator e o sistema num
diálogo.
Como os casos de uso representam um objetivo do ator é comum dar como nome aos
casos de uso frases verbais curtas no infinitivo (EmprestarMaterial) ou no gerúndio
(EmprestandoMaterial) onde o sujeito é normalmente o ator.
Ex.
Cada caso de uso deve receber uma descrição textual que permita o entendimento do
objetivo. Esta descrição pode ser detalhada em cenários. Um cenário é uma instância de
um caso de uso, isto é, é uma situação onde o ator utilizou o sistema para conseguir
atingir o objetivo do caso de uso. Um cenário pode ser considerado otimista de o ator
obteve sucesso no seu objetivo, pode ser pessimista se o ator não conseguiu e ocorreu
uma situação de exceção, ou o cenário pode ser alternativo, quanto frente a uma
situação de exceção o ator optou por caminhos alternativos. Os diagramas de caso de
uso são importantes principalmente para a organização e modelagem dos componentes
de um sistema.
Máquinas de Estado
Conceitos:
(saídas)
Estado
Um estado é uma condição de um objeto em que ele realiza alguma atividade ou espera
um evento. Um objeto pode permanecer em um estado durante um tempo limitado. Um
estado tem várias propriedades:
Uma transição pode ter várias origens (nesse caso, ela representa uma junção de vários
estados simultâneos) e vários alvos (nesse caso, ela representa uma forquilha para vários
estados simultâneos).
Condições de Guarda
Uma condição de guarda é avaliada após o evento trigger acionar a transição. É possível
que haja várias transições do mesmo estado de origem e com o mesmo trigger de
evento, contanto que as condições de guarda não se sobreponham. Uma condição de
guarda é avaliada apenas uma vez para a transição no momento em que o evento ocorre.
A expressão booleana pode fazer referência ao estado do objeto.
Ações
Uma ação é um cálculo indivisível executável, ou seja, ela não pode ser interrompida
por um evento e, portanto, é executada até a sua conclusão. Isso contrasta com uma
atividade, que pode ser interrompida por outros eventos. As ações podem incluir
chamadas de operação (para o proprietário da máquina de estado, bem como para outros
objetos visíveis), a criação ou a destruição de outro objeto, ou o envio de um sinal para
outro objeto. No caso de envio de um sinal, o nome do sinal recebe como prefixo a
palavra-chave 'send'.
As ações de entrada e de saída permitem que uma mesma ação seja enviada sempre que
um estado entra ou sai, respectivamente. As ações de entrada e de saída permitem que
isso seja feito adequadamente, sem precisar colocar ações explícitas em todas as
transições de entrada e de saída. As ações de entrada e de saída não devem ter
argumentos ou condições de guarda. As ações de entrada no nível mais alto da máquina
de estado para um elemento de modelo podem ter parâmetros que representam os
argumentos que a máquina receberá quando o elemento for criado.
Transições Internas
Os eventos adiados são aqueles cuja manipulação é adiada até que um estado em que o
evento não seja adiado se torne ativo. Quando esse estado se torna ativo, a ocorrência do
evento é disparada e pode causar transições como se ele tivesse acabado de ocorrer. A
implementação de eventos adiados requer a presença de uma fila interna de eventos.
Quando um evento ocorre mas está listado como adiado, ele é enfileirado. Os eventos
sairão da fila tão logo o objeto entre em um estado que não adie esses eventos.
Subestados
Um estado simples é aquele que não possui subestrutura. Um estado que possui
subestados (estados aninhados) é denominado estado composto. Os subestados podem
ser aninhados em qualquer nível. Uma máquina de estados aninhados deve ter no
máximo um estado inicial e um estado final. Os subestados são usados para simplificar
máquinas complexas de estados simples mostrando que alguns estados são possíveis
apenas dentro de um determinado contexto (o estado confinado).Ver Figura1.
Figura 2. Subestados.
A partir de uma origem externa ao estado composto confinado, uma transição pode ter
como objetivo um estado composto ou um subestado. Se o seu alvo for o estado
composto, a máquina de estados aninhados deverá conter um estado inicial, para o qual
o controle passará após entrar no estado composto e após enviar sua ação de entrada (se
houver alguma). Se o seu alvo for o estado aninhado, o controle passará para o estado
aninhado após enviar a ação de entrada do estado composto (se houver alguma) e, em
seguida, a ação de entrada do estado aninhado (se houver alguma).
Uma transição orientada para fora de um estado composto pode ter como sua origem o
estado composto ou um subestado. Nos dois casos, o controle sai primeiro do estado
aninhado (e sua ação de saída, se houver, é enviada) e, em seguida, sai do estado
composto (e sua ação de saída, se houver, é enviada). Uma transição, cuja origem é o
estado composto intrinsecamente, interrompe a atividade da máquina de estados
aninhados.
Diagramas Estáticos e Dinâmicos
Os diagramas de estado não são escritos para todas as classes de um sistema, mas
apenas para aquelas que possuem um número definido de estados conhecidos e onde o
comportamento das classes é afetado e modificado pelos diferentes estados.
Diagrama de Sequência
Diagramas de sequência possuem dois eixos: o eixo vertical, que mostra o tempo e o
eixo horizontal, que mostra os objetos envolvidos na sequência de uma certa atividade.
Eles também mostram as interações para um cenário específico de uma certa atividade
do sistema.
Os diagramas de sequência podem mostrar objetos que são criados ou destruídos como
parte do cenário documentado pelo diagrama. Um objeto pode criar outros objetos
através de mensagens. A mensagem que cria ou destroi um objeto é geralmente
síncrona, representada por uma seta sólida.
Diagrama de Colaboração
Os estados no diagrama de atividade mudam para um próximo estágio quando uma ação
é executada (sem ser necessário especificar nenhum evento como no diagrama de
estado).
Outra diferença entre o diagrama de atividade e o de estado é que podem ser colocadas
como "swimlanes". Uma swimlane agrupa atividades, com respeito a quem é
responsável e onde estas atividades residem na organização, e é representada por
retângulos que englobam todos os objetos que estão ligados a ela (swimlane).
Para mostrar como uma instância pode ser executada em termos de ações e
objetos.