Diagramas de Transição de Estados - Engenharia de Software 30

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.

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. "

[...] continue lendo...

Artigos relacionados