O diagrama de classes faz parte do conjunto de diagramas estruturais UML (Unified Modeling Language). Esse conjunto de diagramas foi concebido para facilitar no planejamento do desenvolvimento de softwares. O diagrama de classe em especifico busca demonstrar como as classes funcionarão em um projeto de desenvolvimento, que utiliza a orientação a objetos.

Um diagrama de classe é composto por entidades e seus relacionamentos. Suas entidades podem ser divididas entre classes e interfaces. As classes são representadas no formato de retângulos onde a primeira linha é o nome da classe, a segunda seus atributos e a última os seus métodos.  As classes também podem ser representadas concretamente ou de forma abstrata, bastando que para isso seu nome seja escrito em itálico (para classes abstratas). Para representar seus atributos e métodos como privados ou públicos pode ser adotado o sinal de “-” para privado e “+” para público.

Figura 1: Classes abstratas e concretas

Os diagramas de classe contam também com vários componentes, que permitem com que os softwares sejam representando de maneira muito clara na forma de diagramas, os mais utilizados são:

Navegabilidade e multiplicidade: As ligações entre as classes podem ser feitas tanto de forma simples, quanto de maneira mais restrita. Uma ligação simples é representada apenas por uma linha ligando as classes, ou seja, a navegabilidade entre as classes é nos dois sentidos. Como mostrado no “exemplo 1”, onde uma motocicleta pode ter rodas e as rodas podem ter uma motocicleta. Essa representação pode ser um pouco mais restrita, representando melhor a realidade como no (exemplo 2). Onde a navegabilidade é representada por uma seta, demonstrando que uma motocicleta possui as rodas e não o contrário, além da especificação da quantidade dessas rodas sendo demonstrada atravesses de números ao lado das classes (multiplicidade), significando que uma motocicleta pode ter 2 rodas e as rodas são contidas em uma motocicleta.

Figura 2: Ligações entre classes

Herança: representada pelo símbolo de uma seta fechada e com linha continua. O lado em que a seta aponta é a classe que está sendo herdada.

Figura 3: Herança

Implementação: Interfaces podem ser representadas por círculos ou também por retângulos com a identificação de interfaces. No caso da primeira opção basta ligar a classe a interface com uma linha continua que simboliza a implementação, já na segunda é utilizada uma seta fechada com linha tracejada.

Figura 4: Implementação de interfaces

Os diagramas de classe são totalmente voltados a orientação a objetos, possuem três tipos de perspectivas de representação, são elas:

-Conceitual: os diagramas são representados em um domínio mais abstrato, sua forma de demonstrar os acontecimentos é mais voltada para o cliente.

-Especificação: nessa perspectiva os diagramas são voltados a um modo de representação da arquitetura do sistema, demonstrando seus principais métodos, mas não como será feita sua implementação. Voltada para pessoas que não necessariamente precisam saber como o projeto vai ser desenvolvido, mas sim somente como será feita sua estrutura. (Gerentes de projeto).

-Implementação: maneira onde o diagrama demonstra os detalhes de como será a implementação, demonstrando a estrutura das classes e seus atributos. Perspectiva mais voltada aos desenvolvedores, que precisam saber os detalhes das classes.

Figura 5: Perspectivas dos diagramas

Graças a essas características os diagramas de classe são excelentes ferramentas para modelagem de sistemas, sejam eles complexos ou simples. Com o uso dos diagramas de classe os sistemas podem ser fielmente representados, de uma maneira que seja fácil de entender e ao mesmo tempo seja útil, facilitando o desenvolvimento do software.

Patrick Pronobi Rodrigues