Esse artigo faz parte da revista SQL Magazine edição 63. Clique aqui para ler todos os artigos desta edição

tulo style="MARGIN: 0cm 0cm 0pt"> 

Introdução

O principal objetivo da análise de sistemas é realizar um mapeamento prévio do comportamento requerido para os elementos de modelagem no sistema a serem implementados posteriormente nas fases de construção. Durante as etapas iniciais de um projeto, é comum realizarmos um refinamento nos detalhes e na precisão do “desenho do sistema” a fim de conseguir classes de análise que possam evoluir antes de serem detalhadas durante as atividades de especificação e implementação.

No presente artigo, falaremos sobre um importante diagrama da UML, o diagrama de classes, cujo principal objetivo é permitir a visualização e o relacionamento existente entre as classes obtidas nas etapas iniciais através da modelagem conceitual.

 

O Diagrama de Classes

O diagrama de classes é considerado por muitos autores como o mais importante e o mais utilizado diagrama da UML. Seu principal enfoque está em permitir a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como em demonstrar como as classes do sistema se relacionam, se complementam e transmitem informações entre si. Este diagrama apresenta uma visão estática de como as classes estão organizadas, preocupando-se em definir a estrutura lógica das mesmas. O diagrama de classes serve como base para a construção da maior parte dos demais diagramas da UML.

Basicamente, o diagrama de classes é composto por suas classes e pelas associações existentes entre elas, ou seja, os relacionamentos entre as classes. Segundo Guedes em seu livro “UML – Uma Abordagem Prática”, o objetivo do diagrama de classes é mostrar os relacionamentos existentes entre as classes que são abstraídas no projeto, e como esses relacionamentos colaboram para a execução de um processo específico.

 

Perspectivas de Construção de Diagramas de Classe

Existem três perspectivas que você pode usar quando projetar diagramas de classes:

·       Conceitual: Se tomarmos a perspectiva conceitual, você projeta um diagrama que representa os conceitos do domínio que está sendo estudado. Estes conceitos serão naturalmente relacionados às classes que irão executá-los. Na verdade, um modelo conceitual deve ser projetado com pouca ou nenhuma preocupação com o software que poderá implementá-lo. Portanto, deve ser considerado independente da linguagem implementada. Esta perspectiva recebe o nome de perspectiva essencial.

·       Especificação: Agora estamos examinando o software, mas estamos analisando as suas interfaces, não a sua implementação. O desenvolvimento orientado a objetos dispõe muita ênfase na diferença entre interface e implementação, mas isso é freqüentemente negligenciado na prática porque a noção que temos de classe em uma linguagem orientada a objetos combina interface com implementação.

·       Implementação: Nesta visão, realmente temos classes e estamos pondo a implementação às claras. Esta é, provavelmente, a perspectiva usada com mais freqüência.

 

A compreensão das diversas perspectivas é crucial tanto para desenhar como para ler diagramas de classes. Infelizmente, as linhas entre as perspectivas não são rígidas, e a maioria dos analistas de sistemas não se preocupa em ter suas perspectivas classificadas quando eles estão desenvolvendo a modelagem de um sistema.

 

Classes, Atributos e Métodos

As classes, atributos e métodos são os principais elementos que compõem um diagrama de classes.

Classes costumam possuir atributos, que, como já foi explicado no artigo anterior desta série (ver Nota 1), armazena os dados dos objetos da classe, e métodos, que são as funções que uma instância da classe pode executar. Os valores dos atributos podem variar de instância para instância. Graças a essa característica, aliás, é possível identificar cada objeto individualmente, ao passo que os métodos são idênticos para todas as instâncias de uma classe específica.

 

Nota 1. Classes

No último artigo da série pudemos ver que uma classe descreve um conjunto de objetos com as mesmas propriedades (atributos), o mesmo comportamento (métodos), os mesmos relacionamentos com outros objetos e a mesma semântica.

 

Embora os métodos sejam declarados no diagrama de classes, identificando os possíveis parâmetros que são por eles recebidos e os possíveis valores por eles retornados, o diagrama de classes não se preocupa em definir as etapas que estes métodos deverão percorrer quando forem chamados, sendo esta função atribuída a outros diagramas, como o diagrama de seqüência, que se preocupa com a ordem temporal de execução dos métodos.

Uma classe, na linguagem UML, é representada por um retângulo com até três divisões, descritas a seguir (ver Figura 1):

 

Figura 1. Exemplo de classe contendo atributos e métodos de um cliente.

 

·       Descrição ou Nome da Classe: A primeira divisão contém a descrição ou nome da classe, que no exemplo apresentado na Figura 1 é Cliente;

·       Atributos da Classe: A segunda divisão armazena os atributos e seus tipos de dados (o formato que os dados devem possuir para serem armazenados em um atributo). Neste caso, a classe Cliente contém o atributo ‘ ...

Quer ler esse conteúdo completo? Tenha acesso completo