logo

Diagrama de classes UML

O diagrama de classes descreve uma visão estática de um aplicativo. Representa os tipos de objetos que residem no sistema e os relacionamentos entre eles. Uma classe consiste em seus objetos e também pode herdar de outras classes. Um diagrama de classes é usado para visualizar, descrever, documentar vários aspectos diferentes do sistema e também construir código de software executável.

Ele mostra os atributos, classes, funções e relacionamentos para fornecer uma visão geral do sistema de software. Constitui nomes de classes, atributos e funções em um compartimento separado que auxilia no desenvolvimento de software. Por ser uma coleção de classes, interfaces, associações, colaborações e restrições, é denominado diagrama estrutural.

Objetivo dos diagramas de classes

O principal objetivo dos diagramas de classes é construir uma visão estática de um aplicativo. É o único diagrama amplamente utilizado para construção e pode ser mapeado com linguagens orientadas a objetos. É um dos diagramas UML mais populares. A seguir estão os objetivos dos diagramas de classes fornecidos abaixo:

  1. Ele analisa e projeta uma visão estática de um aplicativo.
  2. Ele descreve as principais responsabilidades de um sistema.
  3. É uma base para diagramas de componentes e implantação.
  4. Ele incorpora engenharia direta e reversa.

Benefícios dos diagramas de classes

  1. Pode representar o modelo de objeto para sistemas complexos.
  2. Reduz o tempo de manutenção, fornecendo uma visão geral de como um aplicativo está estruturado antes da codificação.
  3. Ele fornece um esquema geral de um aplicativo para melhor compreensão.
  4. Representa um gráfico detalhado destacando o código desejado, que deve ser programado.
  5. É útil para as partes interessadas e os desenvolvedores.

Componentes vitais de um diagrama de classes

O diagrama de classes é composto de três seções:

    Seção Superior:A seção superior abrange o nome da classe. Uma classe é uma representação de objetos semelhantes que compartilham os mesmos relacionamentos, atributos, operações e semântica. Algumas das seguintes regras que devem ser levadas em consideração ao representar uma classe são fornecidas abaixo:
    1. Coloque a letra inicial do nome da classe em maiúscula.
    2. Coloque o nome da classe no centro da seção superior.
    3. O nome da classe deve ser escrito em negrito.
    4. O nome da classe abstrata deve ser escrito em itálico.
    Seção intermediária:A seção intermediária constitui os atributos, que descrevem a qualidade da classe. Os atributos possuem as seguintes características:
    1. Os atributos são escritos junto com seus fatores de visibilidade, que são público (+), privado (-), protegido (#) e pacote (~).
    2. A acessibilidade de uma classe de atributos é ilustrada pelos fatores de visibilidade.
    3. Um nome significativo deve ser atribuído ao atributo, o que explicará seu uso dentro da classe.
    Seção Inferior:A seção inferior contém métodos ou operações. Os métodos são representados na forma de uma lista, onde cada método é escrito em uma única linha. Ele demonstra como uma classe interage com os dados.
Diagrama de classes UML

Relacionamentos

Na UML, os relacionamentos são de três tipos:

    Dependência:Uma dependência é um relacionamento semântico entre duas ou mais classes em que uma alteração em uma classe causa alterações em outra classe. Forma um relacionamento mais fraco.
    No exemplo a seguir, Student_Name depende de Student_Id.
Diagrama de classes UML
    Generalização:Uma generalização é um relacionamento entre uma classe pai (superclasse) e uma classe filha (subclasse). Neste, a classe filha é herdada da classe pai.
    Por exemplo, a conta corrente, a conta poupança e a conta de crédito são a forma generalizada de conta bancária.
Diagrama de classes UML
    Associação:Descreve uma conexão estática ou física entre dois ou mais objetos. Ele descreve quantos objetos existem no relacionamento.
    Por exemplo, um departamento está associado à faculdade.
Diagrama de classes UML

Multiplicidade: Ele define um intervalo específico de instâncias permitidas de atributos. Caso um intervalo não seja especificado, um é considerado como multiplicidade padrão.

chave composta chave primária

Por exemplo, vários pacientes são internados em um hospital.

Diagrama de classes UML

Agregação: Uma agregação é um subconjunto de associação, que representa um relacionamento. É mais específico que a associação. Ele define um relacionamento parte-todo ou parte-do. Nesse tipo de relacionamento, a classe filha pode existir independentemente de sua classe pai.

A empresa abrange vários funcionários e, mesmo que um funcionário se demita, a empresa ainda existe.

Diagrama de classes UML

Composição: A composição é um subconjunto de agregação. Ele retrata a dependência entre pai e filho, o que significa que se uma parte for excluída, a outra parte também será descartada. Representa um relacionamento todo-parte.

Uma agenda de contatos consiste em vários contatos e, se você excluir a agenda de contatos, todos os contatos serão perdidos.

Diagrama de classes UML

Aulas abstratas

Na classe abstrata, nenhum objeto pode ser uma entidade direta da classe abstrata. A classe abstrata não pode ser declarada nem instanciada. É usado para encontrar as funcionalidades nas classes. A notação da classe abstrata é semelhante à da classe; a única diferença é que o nome da classe está escrito em itálico. Como não envolve nenhuma implementação para uma determinada função, é melhor usar a classe abstrata com vários objetos.

Vamos supor que temos uma classe abstrata chamada deslocamento com um método declarado dentro dele, e esse método será chamado como um dirigir () . Agora, este método de classe abstrata pode ser implementado por qualquer objeto, por exemplo, carro, bicicleta, scooter, bicicleta, etc.

Diagrama de classes UML

Como desenhar um diagrama de classes?

O diagrama de classes é usado mais amplamente para construir aplicativos de software. Ele não representa apenas uma visão estática do sistema, mas também todos os principais aspectos de um aplicativo. Uma coleção de diagramas de classes como um todo representa um sistema.

Alguns pontos-chave que devem ser mantidos em mente ao desenhar um diagrama de classes são fornecidos abaixo:

  1. Para descrever um aspecto completo do sistema, sugere-se dar um nome significativo ao diagrama de classes.
  2. Os objetos e suas relações devem ser reconhecidos antecipadamente.
  3. Os atributos e métodos (responsabilidades) de cada classe devem ser conhecidos.
  4. Um número mínimo de propriedades desejadas deve ser especificado, pois um número maior de propriedades indesejadas levará a um diagrama complexo.
  5. As notas podem ser usadas como e quando exigido pelo desenvolvedor para descrever os aspectos de um diagrama.
  6. Os diagramas deverão ser redesenhados e retrabalhados quantas vezes forem corretos antes de produzir sua versão final.

Exemplo de diagrama de classes

Um diagrama de classes que descreve o sistema de pedidos de vendas é fornecido abaixo.

Diagrama de classes UML

Uso de diagramas de classes

O diagrama de classes é usado para representar uma visão estática do sistema. Ele desempenha um papel essencial no estabelecimento dos diagramas de componentes e implantação. Ajuda a construir um código executável para realizar engenharia direta e reversa para qualquer sistema, ou podemos dizer que é usado principalmente para construção. Ele representa o mapeamento com linguagens orientadas a objetos que são C++, Java, etc. Os diagramas de classes podem ser usados ​​para os seguintes propósitos:

  1. Descrever a visão estática de um sistema.
  2. Para mostrar a colaboração entre cada instância na visualização estática.
  3. Descrever as funcionalidades executadas pelo sistema.
  4. Construir a aplicação de software utilizando linguagens orientadas a objetos.