Comentários

0%

FOCO NO MERCADO DE TRABALHO

MODELAGEM DE ESTADOS

Iolanda Cláudia Sanches Catarino

Elaboração do diagrama de máquina de estados

Na elaboração do diagrama de máquina de estados, é fundamental identificar as regras de negócio aplicadas ao contexto dos objetos, a fim de auxiliar na definição dos seus estados e das suas transições.

Fonte: Shutterstock.

Deseja ouvir este material?

Áudio disponível no material digital.

Sem medo de errar

Na descrição da situação-problema do módulo recepção de um sistema de hotelaria, você observou que a identificação dos requisitos funcionais, referentes aos cadastros e controles da reserva, check-in e check-out, está explícita na descrição e reflete diretamente na modelagem dos casos de uso do sistema. Assim, considerando que a UML foi adotada para modelagem do sistema, recomenda-se iniciar a modelagem comportamental da atividade de análise com o Modelo de Casos de Uso e a documentação de cada caso de uso. Na sequência, inicia-se a modelagem estrutural, elaborando o Diagrama de Classes, que é considerado a principal técnica de modelagem da UML, para especificar as classes e seus relacionamentos em diferentes perspectivas de visões e detalhes. A partir da identificação e definição das classes de objetos com os estados relevantes e diante da compreensão do contexto das regras do sistema, você deve evoluir com a modelagem comportamental de análise.

Na Figura 3.4, você conferiu a primeira versão do Diagrama de Classes com ênfase na listagem dos atributos, na qual se pode observar que as classes de objetos “Reserva”, “Hospede”, “Empresa” e CheckInOut” possuem estados relevantes, porque entre os atributos foi definido o atributo “situacao”, que consiste naquele que armazenará os valores correspondentes aos estados dos objetos dessas classes.

Considerando os estados (realizada, confirmada, cancelada ou efetivada) definidos para os objetos da classe “Reserva”, a Figura 3.5 apresenta o Diagrama de Máquina de Estados correspondente à classe “Reserva”. Para a solução proposta, foram definidas as seguintes regras de transição entre os estados:

Figura 3.5 | Diagrama de Máquina de Estados – Classe Reserva
A imagem ilustra o diagrama de máquina de estados da classe Reserva, mostrando os estados inicial,  Realizando, Confirmando, Cancelando e Efetivando. No estado Realizando há as ações entry validar Data Entrada e do realizar Reserva. No estado Confirmando há as ações entry validar Data Entrada e do confirmar Reserva. O estado cancelando é um estado composto com dois estados internos Cancelando automaticamente com as ações entry validar data entrada e do cancelar reserva e Cancelando não automaticamente com as ações entry validar data entrada e do cancelar reserva. No estado Efetivando há a ação do efetivar reserva.  Do estado inicial para o Realizando há o texto realizar [se tipo apartamento disponível na data de entrada. A transição de Realizando para Confirmando e Cancelando há uma escolha, para o estado cancelando há o texto cancelar e para o estado confirmando há o texto confirmar [se data entrada maior data atual (igual a 23 horas e 59 minutos)]. No estado composto Cancelando, para o cancelamento automaticamente na transição há o texto [se data entrada maior data atual (mínimo com 48 horas de antecedência)] e para o cancelamento não automaticamente há o texto [se data entrada maior data atual (entre 24 horas a 47 horas de antecedência)]. Na transição de confirmando para efetivando há o texto efetivar [se check-in realizado] Os estados Efetivando e Cancelando tem transições para o estado final.
Fonte: elaborada pela autora.

Observe, na figura, que foi representado um estado composto para o estado reserva “Cancelada”, considerando a regra que uma reserva pode ser cancelada automaticamente pelo hóspede ou não, mediante o prazo estipulado.

Posteriormente, na implementação do sistema, os estados relevantes definidos para os objetos das classes, respeitando as condições de guarda especificadas nos eventos que ocasionam as transições de estados, bem como a definição das ações de estados indicadas pelas cláusulas “Do” e “Entry”, devem ser fielmente implementados para garantir a consistência e integridade das validações do sistema com sua modelagem.

Bons estudos!

AVALIE ESTE MATERIAL

OBRIGADO PELO SEU FEEDBACK!