next up previous contents
Next: Empacotamento de classes Up: Desenvolvimento de Aplicações Previous: Desenvolvimento de Aplicações   Sumário

Projeto e Implementação

É relativamente fácil implementar um projeto orientado a objetos -- definido tal como as recomendações do Capítulo [*] -- com uma linguagem orientada a objetos, uma vez que as construções são semelhantes.

O primeiro passo na implementação de um projeto orientado a objetos é a declaração de classes. O mapeamento entre a representação de classes, tal como no modelo de objetos do OMT, e uma declaração de classe C ++ deve ser trivial -- o nome da classe está presente, assim como seus atributos e métodos. Da mesma forma, o diagrama apresenta o relacionamento entre classes bases e derivadas, permitindo implementar o mecanismo de herança de C ++ com um mapeamento direto.

O passo mais complexo é a representação de associações. C ++, como a maior parte das linguagens de programação orientadas a objetos, não suporta o conceito de ``objeto associação'' diretamente. Desta forma, associações devem ser mapeadas em termos de outras construções da linguagem -- tipicamente, apontadores para classes como membros de outras classes. Entretanto, a fim de se manter a consistência entre apontadores bidirecionais, é necessário utilizar o mecanismo de amizade em C ++.

Compiladores C ++ geralmente incluem uma biblioteca de classes genéricas, que podem ser utilizadas para agilizar o desenvolvimento da aplicação, promovendo reuso e uniformidade de código. Exemplos de classes usualmente fornecidas nestas bibliotecas incluem estruturas de dados tais como conjuntos, arranjos, listas, filas, pilhas, dicionários, árvores e assim por diante. Estas classes, normalmente chamadas de classes container, servem como um framework para organizar coleções de outros objetos.

Outra facilidade que tem surgido com frequência é a utilização de ferramentas CASE6.1, que permitem especificar um projeto de acordo com alguma metodologia (por exemplo, OMT) e a partir desta especificação gerar documentação e esqueletos de código C ++ contendo todas as declarações de classes necessárias -- cabe ao implementador definir os métodos associados.

O seguinte segmento ilustra um trecho do manual de uma destas ferramentas CASE, de nome OOD:

[...]

Correntemente, OOD tem as seguintes funções primárias:
[...]

Há atualmente uma grande variedade de ferramenta CASE disponível no mercado, com funcionalidades e preços abrangendo uma grande faixa -- desde sistemas em domínio público até sistemas de dezenas de milhares de dólares.


next up previous contents
Next: Empacotamento de classes Up: Desenvolvimento de Aplicações Previous: Desenvolvimento de Aplicações   Sumário
Ivan Luiz Marques Ricarte 2001-06-01