Resumo do Artigo:

Introdução à Modelagem Baseada em Objetos

(Modelo Dinâmico e Modelo Funcional)

Heitor Augustus Xavier Costa


1. Modelo Dinâmico

Este modelo representa, como o próprio nome diz, a parte dinâmica do sistema. Este modelo tem como elementos básicos:

Evento: transmissão de informações entre objetos;

Estado: abstração de um objeto (atributo + ligações).

Quando um evento ocorre estimulando um objeto pode ocorrer uma resposta a este estímulo e/ou, eventualmente, a geração de um outro evento. Um evento separa dois estados e um estado separa dois eventos.

O modelo dinâmico é composto, basicamente, por dois tipos de diagramas:

Diagramas de Eventos: representam os eventos entre objetos do sistema;

Diagramas de Estados: representam os estados e os eventos ocorridos em uma classe, isto é, descreve o comportamento de uma classe de objetos.

Em suma, o modelo dinâmico é uma coleção de diagramas de estados que interagem uns com os outros através de eventos compartilhados.

 

2. Modelo Funcional

O modelo funcional especifica os resultados de um processamento sem especificar como ou quando eles serão processados. Ele especifica o significado das operações do modelo de objetos e as ações do modelo dinâmico. Este modelo descreve como os dados são transformados, mas não quem ou quando isto ocorrerá.

O modelo funcional é composto por múltiplos DFD's (Diagramas de Fluxo de Dados), que especificam o significado das operações e restrições. Um DFD contém processos que transformam dados, fluxos de dados que movimentam os dados, objetos atores que produzem e consomem dados e objetos depósitos, que armazenam dados passivamente.

 

3. Comentários

Embora não esteja explicitado no artigo o modelo dinâmico pode contribuir na construção de casos de testes.

A modelagem dinâmica consiste na construção de modelos que representam o comportamento dinâmico da interação dos objetos em termos de estados, transições, eventos e ações. Os passos para esta modelagem são:

Preparar Cenários;

Identificar Eventos entre Objetos;

Preparar um Diagrama de Fluxo de Eventos para cada Cenário;

Construir um Diagrama de Estado para cada Classe.

A aplicação do primeiro e segundo passos dá como resultado o Diagrama de Fluxo de Eventos, onde apenas as classes com maior relevância, desde o ponto de vista da modelagem dinâmica, foram incluídas.

Uma vez que os diagramas de eventos são construídos, a partir de cenários criados para um melhor entendimento do domínio da aplicação, eles podem ser utilizados como casos de testes.

Um cenário é uma seqüência de eventos que ocorrem durante a execução do sistema. Os cenários são de dois tipos:

Cenários típicos: são situações de normalidade na execução do sistema;

Cenários atípicos: são situações de anormalidade, isto é, situações de exceções que o sistema deve tratar, como por exemplo: falhas, má operação do sistema, etc.

Como os cenários representam a execução do sistema, pode-se utilizá-los na etapa de testes, gerando os casos de testes.

A potencialidade das ferramentas da modelagem dinâmica é muito grande, incluindo até aspectos funcionais. Isto permite que alguns elementos possam ser modelados duas vezes: no modelo dinâmico e no modelo funcional. Por exemplo, os parâmetros dos eventos dos diagramas de fluxo de eventos correspondem aos fluxos de dados nos DFDs, sendo que nos primeiros já foi mostrado o fluxo entre as classes e o DFD apenas mostra este fluxo ao nível das funções.

O modelo funcional não é apresentado com muitos detalhes no artigo. No livro Modelagem e Projetos baseados em Objetos, o modelo funcional também é colocado de maneira muito pobre, não permitindo uma maior e melhor abordagem.

A computação em um sistema é obtida no modelo funcional. Este modelo descreve como os valores de saída são gerados a partir dos valores de entrada e consiste na construção de um modelo funcional baseado em DFD’s para representar as transformações ao interior do sistema. O modelo funcional não tem preocupações em saber quando os valores são calculados. Os passos que devem ser realizados são:

Identificar Valores de Entrada e Saída;

Construir um DFD que mostre as Dependências Funcionais;

Descrever as Funções;

Identificar as Restrições;

Especificar Critérios de Otimização.

A aplicação do primeiro e segundo passos entrega como resultado o DFD de alto nível. As notações utilizadas nos diagramas são as convencionais da análise estruturada. A exceção corresponde aos fluxos de controle (variáveis lógicas) que são representados por setas de linhas descontínuas.

O DFD descreve hierarquicamente processos. Os diagramas podem estar em camadas. O último nível possui funções de menor nível. A recursividade pode ser representada em DFD, ou seja, um processo pode chamar a si mesmo.

Por ser útil descrever alguns fluxos de controle como funções de decisão em um DFD, isso pode ser feito por adição de fluxos de controle. Esses fluxos de controle têm que ser representados no modelo dinâmico.

Uma vez completadas as três modelagens, é proposto um passo específico para acrescentar operações. Estas operações podem vir do modelo de objetos (acesso a atributos), dos eventos, ações e atividades do modelo dinâmico e das funções do modelo funcional. Estas operações indicam que devem ser mostradas no modelo de objetos apenas aquelas funções de relativa complexidade computacional.


 

[Voltar]           [e-mail]