Atenção: esse artigo tem um vídeo complementar. Clique e assista!

Do que trata o artigo

Esse artigo apresenta o Diagrama de Transição de Estados, modelo disponível na UML para modelagem do comportamento individual de um objeto, além de reafirmar a necessidade de adoção de uma maneira prática de uso dos recursos da linguagem de modelagem no sentido de produzir diagramas simples, úteis e legíveis.

Para que serve

Se bem compreendida e adaptada a cada tipo diferente de sistema sendo desenvolvido, a abordagem apresentada pode auxiliar na confecção de documentação de alto nível de qualidade, mas que não consuma tempo demais das equipes.

Em que situação o tema é útil

Tanto para equipes de desenvolvimento nas organizações onde é tão preterida a atividade de documentação, quanto no ambiente acadêmico, pela imensa e generalizada aplicação que se faz nesses ambientes da UML – Linguagem Unificada de Modelagem.

A proposta de utilização dos recursos da UML – Unified Modeling Language – Linguagem de Modelagem Unificada, apresentada no primeiro artigo dessa série, baseia-se principalmente numa abordagem prática: uma maneira otimizada de utilização dos recursos da linguagem, gerando documentação de alto nível útil, sem sobrecarregar o cronograma de desenvolvimento. Se essa idéia pode ser aplicada com bons resultados ao desenvolvimento de diagramas de sequência, é lícito imaginar que produza bons resultados também na modelagem de visões complementares de um sistema.

Um aspecto de modelagem bastante rico usado na solução de problemas normalmente recorrentes é a modelagem de estados. Envolvendo um conjunto extenso e rico de elementos, esse modelo destina-se a projetar aspectos relativos ao ciclo de vida de um objeto, assim como de casos de uso, e até mesmo de sistemas inteiros. É um aspecto de modelagem dinâmico. Enquanto um Diagrama de Sequência modela uma sociedade de objetos e suas inter-relações, um Diagrama de Transição de Estados (DTE) modela o comportamento de um único objeto.

Assim, o escopo de um Diagrama de Transição de Estados é o de uma única classe, um caso de uso ou o sistema inteiro. A aplicação mais útil e corriqueira é aquela baseada no escopo de uma classe. Diagramas de Transição de Estados já estavam presentes entre ferramentas de desenvolvimento desde a década de 1980, embora se referissem apenas ao escopo do sistema como um todo. Sua idéia principal, porém, foi incorporada à UML e seus recursos e aplicação ampliados, junto com uma fabulosa coleção de denominações diferentes, criando uma imensa confusão. A literatura técnica cita: Diagramas de Estados, Diagramas de Transição de Estados, Diagramas de Máquina de Estados e Diagramas de Gráficos de Estado. Todos se referem ao mesmo diagrama, e este artigo o denomina Diagrama de Transição de Estados (DTE). No entendimento e domínio dos Diagramas de Transição de Estados, diversos conceitos devem ser apresentados e desenvolvidos, dentre eles: Eventos, Estados, Transições, Condições, Ações, Atividades, e sub-conceitos derivados desses. Tais conceitos são apresentados e discutidos nas próximas seções.

Definições básicas da modelagem de estados

O conceito básico é o de estado. Trabalhando no âmbito de uma única classe, estado é uma determinada configuração apresentada por uma instância daquela classe, ou seja, um objeto. Um estado reflete os valores particulares que têm seus atributos em determinado momento, assim como suas possíveis ligações a outros objetos nesse mesmo momento. Tal conjunto particular de atributos e ligações configuram em que estado aquele objeto se encontra.

Uma característica determinante sobre estado de um objeto é a idéia de recorrência: um estado fica perfeitamente caracterizado quando sua ocorrência puder ser detectada mais de uma vez. Isso indicará que durante seu ciclo de vida, o objeto sendo modelado exibirá esse determinado estado um número finito de vezes.

Um estado é nomeado por uma ou mais palavras, mas preferencialmente por uma única, que resuma de forma significativa, as condições naquele estado. Um sub-conjunto de características secundárias está associado a um estado: ações realizadas na entrada e saída para aquele estado, transições internas, a presença de sub-estados e uma lista de eventos adiados. Essas características serão discutidas mais à frente neste texto.

Enquanto se desenrola um ciclo de vida de um determinado objeto, o mesmo transita entre vários e diversos estados. O que altera o estado corrente de um determinado objeto, ou seja, aquilo que dispara uma transição de estados é denominado evento. Eventos são ordinariamente classificados em eventos externos e eventos internos. Um evento externo é algum acontecimento ocorrido além da fronteira do sistema e que afeta o mesmo. São causados pelos atores associados ao sistema em questão. Eventos internos são causados e recebidos por objetos que cumprem seus ciclos de vida paralelamente no interior de um sistema. A solicitação, por um objeto qualquer, de execução de uma operação de outro objeto numa colaboração é um evento interno.

...
Quer ler esse conteúdo completo? Tenha acesso completo