Tutorial de diagrama de classe

Diagramas de classe são mais fáceis do que parecem. Eles são apenas diagramas que descrevem a estrutura de um sistema, modelando suas classes, atributos, operações e relações entre objetos.

Para criar um diagrama de classe próprio, basta clicar nos botões abaixo. O Lucidchart é gratuito e fácil de usar, e você pode colaborar com um número ilimitado de membros de sua equipe.


O que é um diagrama de classe em UML?

A Linguagem de modelagem unificada ajuda a modelar diversos subconjuntos de diagramas, incluindo diagramas de comportamento, diagramas de interação e diagramas de estrutura. Os diagramas de classe são um tipo de diagrama da estrutura porque descrevem o que deve estar presente no sistema a ser modelado. Normalmente são utilizados por engenheiros para documentar a arquitetura de software.

O diagrama de classe é parte central da UML. Ele representa as principais finalidades da UML pois separa os elementos de design da codificação do sistema. A UML foi criada como um modelo padronizado para descrever uma abordagem de programação orientada ao objeto. Como as classes são os componentes básicos dos objetos, diagramas de classe são os componentes básicos da UML. Os componentes de diagramação em um diagrama de classe pode representar as classes que serão realmente programadas, os principais objetos ou a interação entre classe e objeto.

A forma de classe em si consiste em um retângulo com três linhas. A linha superior contém o nome da classe, a linha do meio, os atributos da classe e a linha inferior expressa os métodos ou operações que a classe pode utilizar. Em um diagrama, classes e subclasses são agrupadas juntas para mostrar a relação estática entre cada objeto. A biblioteca de formas UML no Lucidchart ajuda você a criar praticamente qualquer diagrama de classe por meio da nossa ferramenta de diagramas UML.

O que é um diagrama de classe em UML?

O básico dos diagramas de classe

Classe - anatomia do diagrama

O diagrama de classe é composto de três partes:

  • Parte superior - Nome da classe - Esta parte é sempre necessária, seja falando do classificador ou de um objeto.
  • Parte do meio - Atributos da classe - Os atributos descrevem as variáveis ​​que descrevem as qualidades da classe. É necessária somente quando se descreve uma instância específica de uma classe.
  • Parte inferior - Operações da classe (métodos) - Exibida em formato de lista, cada operação ocupa sua própria linha. As operações descrevem como uma classe pode interagir com dados.

Modificador de acesso de membro

Todas as classes têm diferentes níveis de acesso, dependendo do modificador de acesso (visibilidade). Veja os níveis de acesso com seus símbolos correspondentes:

  • Público (+)
  • Privado (-)
  • Protegido (#)
  • Pacote (~)
  • Derivado (/)
  • Estático (sublinhado)

Escopos para membros

Há dois escopos para membros: classificadores e instâncias. Classificadores são membros estáticos, enquanto instâncias são as instâncias específicas da classe. Se você estiver familiarizado com a teoria OO básica, isso não será difícil de entender.


Interações de objetos / classes em diagramas de classe

Interações entre objetos e classes são fundamentais nos diagramas de classe.

Herança

A herança é quando um objeto filho assume todas as características de seu objeto pai. Por exemplo, se tivéssemos o objeto veículo, uma classe Go-go mobile filho herdaria todos os atributos (velocidade, número de passageiros, combustível) e métodos (andar(), parar(), mudar de direção()) da classe pai, além de atributos específicos (modelo e tipo, número de portas, fabricante do automóvel) e dos métodos de sua própria classe (rádio(), limpador de para-brisa(), ar condicionado/aquecedor()). A herança é exibida no diagrama de classe por meio de uma linha sólida com uma seta fechada e vazada.

Associações bidirecionais

Associações bidirecionais são as associações padrão entre duas classes e são representadas por uma linha reta entre duas classes. Ambas as classes são cientes uma da outra e da sua relação uma com a outra. No exemplo acima, a classe Go-go mobile e a classe RoadTrip (passeio) estão inter-relacionadas. Em uma extremidade da linha, o Go-go mobile assume a associação de “assignedCar” (carro atribuído) com o valor multiplicidade de 0..1, o que significa que quando a instância de RoadTrip existe, pode ter uma instância de Go-go mobile associada a ele ou nenhum Go-go mobile associado a ele. Neste caso, uma classe separada de Caravana, com valor multiplicidade de 0..* é necessária para demonstrar que uma RoadTrip pode ter múltiplas instâncias de Go-go mobiles associadas a ela. Já que uma instância Go-go mobile pode ter múltiplas associações “getRoadTrip” (obter passeio) – ou seja, um Go-go mobile pode fazer diversos passeios –, o valor multiplicidade é 0..*

Associações unidirecionais

Uma associação unidirecional é representada por uma linha ininterrupta, com uma ponta de seta aberta apontada a partir da classe conhecimento à classe conhecida. Neste caso, em seu passeio pelo estado do Arizona você pode passar por um radar de velocidade onde uma câmera registra sua atividade de condução, mas você só saberá quando receber a notificação pelo correio. Não é desenhado na imagem mas, neste caso, o valor multiplicidade seria 0..*, dependendo de quantas vezes você conduz o carro pela câmera de velocidade.


Aplicações de diagramas de classe

Diagramas de classe oferecem uma série de benefícios para qualquer organização. Eles podem ser usadas para:

  • Ilustrar modelos de dados para sistemas de informação.
  • Entender a visão geral dos esquemas de uma aplicação.
  • Expressar as necessidades de um sistema e divulgar essas informações por toda a empresa.
  • Criar gráficos detalhados que incidem sobre o código de programação necessário para implementar a estrutura descrita.
  • Fornecer uma descrição independente de implementação de tipos utilizados em um sistema e passados ​​entre seus componentes.

Componentes de diagramas de classe

Dependendo do contexto, as classes em um diagrama de classe podem representar os principais objetos, interações na aplicação e classes a serem programadas. Para responder à pergunta “o que é um diagrama de classe em UML?”, você deve primeiro entender sua composição básica.

  • Classes - um template para a criação de objetos e implementação de comportamento em um sistema. Em UML, uma classe representa um objeto ou um conjunto de objetos que compartilham uma estrutura e comportamento comum. São representadas por um retângulo que inclui linhas do nome da classe, seus atributos e suas operações.
    • Nome - a primeira linha em uma forma de classe.
    • Atributos - a segunda linha em uma forma de classe. Cada atributo da classe é exibido em uma linha separada.
    • Métodos - a terceira linha em uma forma de classe. Também conhecido como operações, são exibidos em formato de lista, com cada operação representada em sua própria linha.
  • Sinais - símbolos que representam comunicação unidirecional e assíncrona entre objetos ativos.
  • Tipos de dados - classificadores que definem valores de dados. Os tipos de dados podem modelar tipos primitivos e também enumerações.
  • Pacotes - esta forma reservatória é projetada para organizar classificadores relacionados em um diagrama. Ela é simbolizado por uma grande forma de retângulo com aba.
  • Interfaces - semelhante a uma classe, exceto que uma classe pode ter uma instância do seu tipo, e uma interface deve ter pelo menos uma classe para implementá-la.
  • Enumerações - representações de tipos de dados definidos pelo usuário. Uma enumeração inclui grupos de identificadores que representam os valores da enumeração.
  • Objetos - instâncias de uma classe ou classes. Os objetos podem ser adicionados a um diagrama de classe ao representar instâncias concretas ou prototípicas.
  • Artefatos - elementos do modelo que representam as entidades concretas em um sistema de software, tais como documentos, bancos de dados, arquivos executáveis, componentes de software e assim por diante.
  • Interações - um termo para as diversas relações e ligações que podem existir em diagramas de classe e objeto. Algumas das interações mais comuns incluem:
    • Hereditariedade - também conhecida como generalização, este é o processo de quando um filho ou subclasse assume a funcionalidade de um pai ou superclasse. É simbolizada por uma linha conectada reta com uma ponta de seta fechada apontando para a superclasse.
    • Associação bidirecional - a relação padrão entre duas classes; ambas as classes estão cientes uma das outra e de sua relação com a outra. Essa associação é representada por uma linha reta entre duas classes.
    • Associação unidirecional - uma relação um pouco menos comum entre duas classes; uma classe tem conhecimento da outra e interage com ela. A associação unidirecional é modelada por uma linha reta de ligação com uma ponta de seta aberta a partir da classe conhecimento à classe conhecida.
    O que é um diagrama de classe em UML?

Mais exemplos de diagramas de classe UML

Use o Lucidchart para colaborar e criar diagramas de UML ao criar uma conta gratuita hoje! Sem a necessidade de plugins ou download.

Cadastre-se