Orientação a Objetos - continuação

Autores: Dante Carlos Antunes, Paulo Antonio Fuck de Oliveira e Rogério da Fonseca Mendes


A OMT (OBJECT MODELING TECHNIQUE) é uma metodologia de desenvolvimento de software orientada a objetos que abrange desde a etapa de análise, passando pelo projeto, até a implementação. É proposta por James Rumbaugh e outros autores no livro "Object-oriented modeling and design", publicado em 1991.

Como qualquer outra metodologia orientada a objetos, a OMT enxerga um software como sendo um conjunto organizado de objetos discretos que possuem estruturas de dados e um determinado comportamento.

Quatro aspectos principais fazem parte da abordagem da OMT:

1) IDENTIDADE

Significa que os dados são vistos como "quantas", isto é, como entidades discretas, distinguíveis entre si, chamadas objetos. Os objetos podem ser concretos ou abstratos. Por exemplo, um veículo é um objeto concreto, já uma compra de ações é um objeto abstrato. Cada objeto tem a sua própria identidade e é distinto de qualquer outro, mesmo que este outro possua os mesmos valores de atributos.

2) CLASSIFICAÇÃO

Significa que os objetos com características semelhantes (dados e comportamento) são agrupados em CLASSES. Por exemplo, as cartas de um baralho que são objetos distintos entre si, podem ser agrupadas em uma classe geral chamada baralho. A forma de estabelecer uma classificação depende da aplicação em questão. Tomando como exemplo a classe baralho, podemos, dependendo do tipo de jogo, ter subclasses específicas tais como a subclasse das cartas de ouro ou a subclasse das figuras.

3) POLIMORFISMO

Significa que a mesma operação pode ter diferentes comportamentos em diferentes classes, isto é, pode apresentar diversos MÉTODOS. Suponhamos, como exemplo, a classe figuras geométricas que possui a operação calcular-área. É fácil perceber que, para cada tipo de figura geométrica cuja área deva ser calculada, os parâmetros de entrada e a fórmula de cálculo são diferentes. Um software orientado a objetos deve ser capaz de, conforme o tipo de figura geométrica, executar a variante específica (o método) da operação calcular-área.

4) HERANÇA

É o compartilhamento de atributos e operações entre classes e respectivas subclasses. Uma SUBCLASSE herda propriedades de sua SUPERCLASSE e adiciona ao conjunto herdado as suas próprias propriedades.

Por exemplo, as subclasses quadrado, triângulo e círculo herdam o atributo cor e a operação mostrar-imagem-bitmap da superclasse figuras-geométricas e adicionam as suas próprias características, como no caso do quadrado, que adiciona os atributos posição-do-canto-esquerdo-superior e o tamanho-do-lado e a operação calcular-área-do-quadrado.

ETAPAS DA METODOLOGIA OMT

A OMT propõe quatro etapas para o desenvolvimento de um software orientado a objetos:

1) ANÁLISE

Parte-se da declaração do problema para se modelar uma situação do mundo real. O modelo produzido nesta etapa deve representar O QUE o sistema desejado deve fazer e não COMO fazer. Nesta etapa, não se deve ficar restrito aos aspectos de implementação em computador e sim enfocar todos os aspectos do domínio da aplicação, independentemente de virem ou não a ser automatizados.

2) DESENHO DO SISTEMA

Nesta etapa, decide-se a arquitetura do sistema e a plataforma onde ele vai rodar. Decompõe-se o sistema em subsistemas, projetam-se aspectos de performance e da interface homem/máquina.

3) DESENHO DOS OBJETOS

Baseando-se no modelo produzido na etapa de análise, elabora-se um modelo de objetos, contendo detalhes de implementação. Os detalhes adicionados devem estar de acordo com as estratégias de implementação estabelecidas na etapa de desenho do sistema.

4) IMPLEMENTAÇÃO

As classes de objetos e respectivos relacionamentos projetados durante a etapa de desenho dos objetos são finalmente transformados em programas de computador, em uma determinada linguagem de programação, utilizando um determinado gerenciador de bases de dados e para serem processados em um determinado tipo de plataforma computacional.

OS TRÊS MODELOS DA OMT

A metodologia OMT faz uso de três tipos de modelos para representar um sistema:

1) O MODELO DE OBJETOS

Descreve a estrutura estática dos objetos e seus relacionamentos em um sistema. É muito parecido, embora com mais riqueza de significantes, com o clássico modelo de entidades-relacionamento.

2) O MODELO DINÂMICO

Descreve a evolução dos componentes do sistema ao longo do tempo, ou seja, busca representar o ciclo de vida dos objetos do sistema. Utiliza-se, como ferramenta de representação do modelo dinâmico, o Diagrama de Transição de Estados.

3) O MODELO FUNCIONAL

Descreve os fluxos de dados de entrada e saída do sistema e os processos que transformam os dados de entrada, produzindo os dados de saída. Utiliza-se o Diagrama de Fluxo de Dados para se construir o modelo funcional.

MODELO DE OBJETOS-SIMBOLOGIA

Cada componente ou associação pertencente ao modelo de objetos utiliza uma forma de representação gráfica na forma como está resumido abaixo:





MODELO DINÂMICO-SIMBOLOGIA

Cada objeto está em um determinado estado (situação) em um determinado instante do tempo. Muda para outro estado quando ocorre um evento específico.


Bibliografia

RUMBAUGH. James e outros. Object-oriented modeling and design. Prentice Hall Internacional Editions. New Jersy, 1991.

(Trabalho realizado na disciplina Desenvolvimento Orientado a Objetos, Professor Cláudio de Oliveira, do curso de Especialização em Análise Moderna de Sistemas).