image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponible sĂłlo:

367 vacantes
Article image
William Barzon
William Barzon23/06/2025 17:13
Compartir
Microsoft Azure Cloud Native 2026Recomendado para tiMicrosoft Azure Cloud Native 2026

🧠 Como diagramas podem ajudar no desenvolvimento do seu projeto !

  • #Java

🧠 Como diagramas podem ajudar no desenvolvimento do seu projeto — e de quebra vocĂȘ revisa POO

Link do Projeto: https://github.com/williaw-lira/Artigo-Uso-de-UML

Introdução

Hoje em dia Ă© muito comum encontrar desenvolvedores, principalmente quem estĂĄ começando na ĂĄrea, que ignoram o uso de ferramentas de modelagem como UML. Isso acontece, muitas vezes, por acharem desnecessĂĄrio, ou por nĂŁo saberem o quĂŁo Ăștil essa ferramenta pode ser.

A verdade Ă© que diagramas ajudam a clarear as ideias, evitam retrabalho e tornam muito mais fĂĄcil entender o projeto, seja sozinho ou em equipe. E, de quebra, ao aprender UML, vocĂȘ ainda acaba reforçando conceitos de Programação Orientada a Objetos (POO).

📌 O que Ă© UML?

UML (Unified Modeling Language) é uma linguagem visual que representa a estrutura e o comportamento de um sistema orientado a objetos. A forma mais usada é o diagrama de classes, que mostra as classes, seus atributos, métodos e os relacionamentos entre elas.

đŸ€” Por que usar diagramas?

  • 🧠 Visualizar a estrutura do sistema antes de codar
  • 🗣 Facilitar a comunicação entre devs
  • 🛠 Ajudar no planejamento e na manutenção
  • 📚 Servir de documentação

🛠 Entendendo um diagrama de classe

Um diagrama de classe mostra:

  • Nome da classe
  • Atributos (com visibilidade)
  • MĂ©todos (com visibilidade)
  • Relacionamentos entre classes (herança, associação, etc.)

💡 NotaçÔes:

SĂ­mbolo Significado

+ PĂșblico

- Privado

# Protegido

() Método

🧬 Entendendo Herança e Acesso

Herança

Classes podem herdar caracterĂ­sticas de outras (superclasses), formando uma hierarquia.

Exemplo simples:

Imagine que temos:

  • Classe Animal (pai) - Animal.java
  • Classe Vaca (filha) - Vaca.java

A vaca herda tudo que Ă© de animal, mas pode ter caracterĂ­sticas prĂłprias.

Modificadores de acesso:

Um jeito simples de entender:

  • public: Qualquer um pode acessar (como ĂĄrea pĂșblica de uma cidade).
  • private: SĂł a prĂłpria classe pode acessar (como seu quarto com chave).
  • protected: A classe e seus filhos tĂȘm acesso (como um bĂĄu escondido da famĂ­lia).

đŸŒŸ Exemplo: Diagrama UML de um joguinho de fazenda

Vamos montar um pequeno sistema de uma fazenda com:

  • Terreno
  • Arado
  • Plantado
  • Cultivado
  • Fazendeiro
  • Animal
  • Vaca
  • Galinha
  • Equipamento
  • Trator
  • Enxada

image

đŸ§‘â€đŸ’» CĂłdigo Java baseado no diagrama

Classe Animal e Vaca

java

public class Animal {
  protected String nome;
  protected int idade;

  public void emitirSom() {
      System.out.println("Animal fazendo som");
  }
}

public class Vaca extends Animal {
  public void produzirLeite() {
      System.out.println("A vaca produziu leite!");
  }
}

Classe Terreno e Plantado

java

public class Terreno {
  private int tamanho;
  private String tipoSolo;

  public void prepararSolo() {
      System.out.println("Solo preparado.");
  }
}

public class Plantado extends Terreno {
  public void plantar() {
      System.out.println("Semente plantada.");
  }
}

Classe Fazendeiro

java

public class Fazendeiro {
  private String nome;
  private int idade;

  public Fazendeiro(String nome, int idade) {
      this.nome = nome;
      this.idade = idade;
  }

  public void plantar() {
      System.out.println(nome + " estĂĄ plantando...");
  }

  public void colher() {
      System.out.println(nome + " estĂĄ colhendo...");
  }
}

📌 Conclusão

Ao usar diagramas como o UML, vocĂȘ nĂŁo sĂł ganha clareza sobre seu sistema, como tambĂ©m desenvolve um pensamento mais orientado a objetos. Com o tempo, isso se torna natural e seu cĂłdigo evolui junto com sua lĂłgica de projeto.

EntĂŁo, da prĂłxima vez que for começar um projeto, pense no seu diagrama — ele Ă© como o mapa da sua fazenda digital. đŸŒŸ
Compartir
Recomendado para ti
CI&T - Backend com Java & AWS
PcD Tech Bradesco - Java & QA Developer
Riachuelo - Primeiros Passos com Java
Comentarios (2)
DIO Community
DIO Community - 23/06/2025 17:40

William, seu artigo traz uma visão muito importante sobre como a UML pode ser uma ferramenta essencial para o desenvolvimento de projetos mais estruturados e eficientes, especialmente para quem estå começando na programação orientada a objetos.

VocĂȘ destaca de maneira prĂĄtica como diagramas de classe ajudam a visualizar a estrutura do sistema e como isso facilita a comunicação entre desenvolvedores, alĂ©m de servir como documentação importante para manutenção futura. O exemplo do "sistema de fazenda" Ă© excelente para ilustrar o uso de UML, tornando o conceito acessĂ­vel de uma maneira divertida e prĂĄtica.

Minha pergunta Ă©: como vocĂȘ vĂȘ a integração de ferramentas de modelagem UML com prĂĄticas ĂĄgeis no desenvolvimento de software? Acha que, em ambientes mais dinĂąmicos, como os de metodologias ĂĄgeis, o uso de UML pode ser adaptado ou simplificado para acompanhar o ritmo rĂĄpido dos projetos?

William Barzon
William Barzon - 23/06/2025 18:10

Ótima pergunta e a reposta sim, a UML pode ser integrada ao desenvolvimento ĂĄgil, desde que seja usada de forma adaptada. Em metodologias como Scrum e Kanban, onde o foco estĂĄ na entrega rĂĄpida e iterativa, nĂŁo Ă© viĂĄvel manter documentaçÔes extensas. No entanto, a UML continua sendo Ăștil quando aplicada de forma leve, visual e pontual.

Uma abordagem eficiente é a modelagem Just-in-Time, em que diagramas são criados apenas quando necessårio como antes de implementar uma user story complexa ou durante a definição de uma nova arquitetura.

Ferramentas como Lucidchart, PlantUML, Mermaid (suportado pelo GitHub), Draw.io e Figma tornam essa prĂĄtica ainda mais acessĂ­vel e integrada ao fluxo de trabalho da equipe.

A UML Ă© especialmente Ăștil para:

Alinhar o entendimento técnico do time

Reduzir retrabalho por falhas de design

Facilitar o onboarding de novos desenvolvedores

Apoiar refatoraçÔes com mais segurança

Por outro lado, seu uso pode ser prejudicial quando se torna burocrĂĄtico, excessivamente detalhado ou desatualizado.

Em resumo: a UML é compatível com o ågil, desde que seja aplicada com equilíbrio, foco no valor e adaptação à realidade do time.

Recomendado para tiMicrosoft Azure Cloud Native 2026