Diagram

Diagramas de classes estão entre os tipos mais úteis de diagramas UML pois mapeiam de forma clara a estrutura de um determinado sistema ao modelar suas classes, seus atributos, operações e relações entre objetos. Por meio do nosso software de criação de diagramas UML, criar estes tipos de diagramas não é tão assustador como pode parecer. Este guia lhe mostrará como entender, planejar e criar seus próprios diagramas de classes.

 

Leitura de 9 min

Quer criar um diagrama UML próprio? Experimente o Lucidchart. É rápido, fácil e completamente gratuito.

ou
Google MarkCadastre-se usando Google

Ao cadastrar-me, eu concordo com os Termos de serviço e Política de privacidade do Lucid Software.

O que é um diagrama de classe em UML?

A Linguagem de modelagem unificada (UML) ajuda você a modelar sistemas de diversas maneiras. Um dos tipos mais populares na UML é o diagrama de classes. Bastante usado por engenheiros de software para documentar arquiteturas de software, os diagramas de classes são um tipo de diagrama da estrutura porque descrevem o que deve estar presente no sistema a ser modelado. Não importa seu nível de familiaridade com diagramas UML ou de classe, nosso software UML foi concebido para ser simples e fácil de usar.

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 classes são os componentes básicos da UML. Os diversos componentes em um diagrama de classes podem representar as classes que serão realmente programadas, os principais objetos ou as interações entre classes e objetos. 

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. 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 classes por meio da nossa ferramenta de diagramas UML.

Os benefícios de diagramas de classes

Diagramas de classes oferecem uma série de benefícios para qualquer organização. Use diagramas de classes UML para:

  • Ilustrar modelos de dados para sistemas de informação, não importa quão simples ou complexo.
  • Entender melhor a visão geral dos esquemas de uma aplicação.
  • Expressar visualmente as necessidades específicas de um sistema e divulgar essas informações por toda a empresa.
  • Criar gráficos detalhados que destacam qualquer código específico necessário para ser programado e implementado na estrutura descrita.
  • Fornecer uma descrição independente de implementação de tipos utilizados em um sistema e passados posteriormente entre seus componentes.

Diagramar é rápido e fácil com o Lucidchart. Faça uma avaliação gratuita hoje mesmo para começar a criar e colaborar.

ou
Google MarkCadastre-se usando Google

Ao cadastrar-me, eu concordo com os Termos de serviço e Política de privacidade do Lucid Software.

Componentes básicos de um diagrama de classes

O diagrama de classes padrão é composto de três partes:

  • Parte superior: contém o nome da classe. Esta parte é sempre necessária, seja falando do classificador ou de um objeto.
  • Parte do meio: contém os atributos da classe. Use esta parte para descrever as qualidades da classe. É necessário somente quando se descreve uma instância específica de uma classe.
  • Parte inferior: inclui as operações da classe (métodos). Exibido em formato de lista, cada operação ocupa sua própria linha. As operações descrevem como uma classe interage com dados.

Modificadores 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.

Componentes adicionais de diagramas de classes

Dependendo do contexto, as classes em um diagrama de classes podem representar os principais objetos, interações no aplicativo ou classes a serem programadas. Para responder à pergunta “o que é um diagrama de classes 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. Ao desenhar uma classe em um diagrama de classes, somente a primeira linha deve ser preenchida — as outras são opcionais caso queira fornecer mais detalhes.

    • 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 conhecidos como operações, métodos são exibidos em formato de lista, com cada operação representada em sua própria linha.

  • Sinais: símbolos que representam comunicações unidirecionais e assíncronas 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: formas projetadas para organizar classificadores relacionados em um diagrama. São simbolizados por uma grande forma de retângulo com abas.

  • Interfaces: uma coleção de assinaturas de operações e/ou definições de atributos que definem um conjunto coeso de comportamentos. Interfaces são semelhantes às classes, exceto que uma classe pode ter uma instância de 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. Objetos podem ser adicionados a um diagrama de classes para representar instâncias concretas ou prototípicas.

  • Artefatos: elementos de modelo que representam as entidades concretas em um sistema de software, tais como documentos, bancos de dados, arquivos executáveis, componentes de software etc.

Interações

O termo ”interações” refere-se às diversas relações e ligações que podem existir em diagramas de classes e objetos. Algumas das interações mais comuns incluem:

  • Hereditariedade: também conhecida como generalização, é o processo de um secundário, ou subclasse, assumindo a funcionalidade de um primário, ou superclasse. É simbolizada por uma linha conectada reta com uma ponta de seta fechada apontando para a superclasse.

Neste exemplo, o objeto “Carro” herdaria todos os atributos (velocidade, quantidade de passageiros, combustível) e métodos (andar(), parar(), mudar de direção()) da classe primária (“Veículo”), além de atributos específicos (modelo e tipo, quantidade 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 classes por meio de uma linha sólida com uma seta fechada e vazada.

  • Associação bidirecional: a relação padrão entre duas classes. Ambas as classes estão cientes uma da outra e de sua relação entre si. Essa associação é representada por uma linha reta entre duas classes.

No exemplo acima, a classe Carro e a classe RoadTrip (passeio) estão inter-relacionadas. Em uma extremidade da linha, o Carro assume a associação de “assignedCar” (carro atribuído) com o valor multiplicidade de 0..1, portanto, quando a instância de RoadTrip existe, pode ter uma instância de Carro associada a ela ou nenhum Carro associado a ela. 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 Carros associadas a ela. Já que uma instância Carro pode ter múltiplas associações “getRoadTrip” (obter passeio) — ou seja, um carro pode fazer diversos passeios —, o valor multiplicidade é 0..*

  • 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 da classe conhecimento à classe conhecida.

Por exemplo, 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.

Exemplos de diagramas de classes

É fácil criar um diagrama de classe para mapear fluxos de processo. Considere os dois exemplos abaixo ao desenvolver seus próprios diagramas de classe em UML.

Diagrama de classe para um sistema de gestão hoteleira

Um diagrama de classe pode mostrar os relacionamentos entre cada objeto em um sistema de gestão hoteleira, incluindo informações de hóspedes, as responsabilidades dos funcionários e a ocupação dos quartos. O exemplo abaixo oferece uma visão geral útil do sistema de gestão hoteleira. Clique no template abaixo e comece a criar um diagrama de classe.

Clique aqui para usar este modelo

Diagrama de classe para um sistema de caixa eletrônico

Caixas eletrônicos são simples apenas por fora: embora os clientes precisem apenas pressionar alguns botões para receber seu dinheiro, existem muitas camadas de segurança que um caixa eletrônico seguro e eficaz deve satisfazer para evitar fraude e oferecer valor aos clientes do banco. As diversas partes humanas e inertes de um sistema de caixa eletrônico são ilustradas por este diagrama de fácil leitura — cada classe tem seu título, e seus atributos estão listados abaixo. Você pode editar, salvar e compartilhar este gráfico ao abrir o documento e criar uma conta gratuita no Lucidchart.

Clique aqui para usar este modelo

Como criar um diagrama de classes

No Lucidchart, é surpreendentemente simples criar um diagrama de classe. Basta seguir estes passos:

  1. Abra um documento em branco ou comece com um template.

  2. Ative a biblioteca de formas UML. No lado esquerdo do editor do Lucidchart, clique em “Formas”. Uma vez no gerenciador de bibliotecas de formas, marque “UML” e clique em “Salvar”.

  3. A partir das bibliotecas que você acabou de adicionar, selecione a forma desejada e arraste-a da caixa de ferramentas para a tela de desenho.

  4. Desenhe linhas entre as formas e adicione texto para modelar o fluxo de processo.

Aprofunde-se com este guia sobre como criar um diagrama de classe em UML para saber mais. No Lucidchart, é fácil redimensionar e estilizar qualquer elemento. É possível também importar formas SVG e arquivos do Visio para criar uma solução personalizada. Se você gostaria de saber mais sobre UML, confira nosso tutorial “O que é UML?”


Quer criar um diagrama UML próprio? Experimente o Lucidchart. É rápido, fácil e completamente gratuito.