Compreendendo a Multiplicidade UML

No domínio do design e modelagem de software, a Linguagem de Modelagem Unificada (UML) atua como uma ferramenta poderosa para visualizar e documentar a estrutura e o comportamento de sistemas. Um dos conceitos críticos dentro da UML émultiplicidade, que define as restrições sobre o número de objetos que podem participar de uma associação. Este artigo aprofunda o conceito de multiplicidade, sua relevância e como é aplicado em diagramas UML.

O que é Multiplicidade?

Multiplicidade na UMLé uma restrição que especifica o número de objetos que podem participar de uma extremidade de uma associação. Ela responde perguntas como ‘Quantos carros uma pessoa pode possuir?’ ou ‘Quantas pessoas podem dirigir um carro específico?’ Ao definir multiplicidade, você estabelece as regras sobre como os objetos em cada classe podem estar relacionados, fornecendo uma forma clara e concisa de expressar essas relações.

Expressando Multiplicidade

A multiplicidade é geralmente expressa como um intervalo que define o número mínimo e máximo de objetos permitidos em uma associação. O formato para expressar multiplicidade é:

  • Número Exato: Um único número que indica a contagem exata de objetos.
  • Intervalo: Um par de números separados por dois pontos (..), indicando a contagem mínima e máxima.
  • Astérisco (*): Indica um número ilimitado de objetos.

Por exemplo:

  • 1: Exatamente um objeto.
  • 0..1: Zero ou um objeto.
  • 1..*: Pelo menos um objeto, sem limite superior.
  • *: Qualquer número de objetos, incluindo zero.

What is Multiplicity

Aplicando Multiplicidade em Associações

Ao modelar associações entre classes, a multiplicidade é atribuída a cada extremidade da associação. Por exemplo, considere a associação entre umaPessoa classe e umaCarro classe:

  • Pergunta 1: Quantos carros uma pessoa pode possuir?
  • Pergunta 2: Quantas pessoas podem dirigir um carro dado?

As respostas a essas perguntas são colocadas ao lado das respectivas classes na associação. Se uma pessoa pode possuir de zero a muitos carros, a multiplicidade próxima àCarro classe seria0..*. Por outro lado, se um carro pode ser dirigido por uma a muitas pessoas, a multiplicidade próxima àPessoa classe seria1..*.

Exemplo: Remessa e Produto

Para ilustrar, considere um cenário em que umaRemessa deve conter pelo menos umProduto mas pode conter tantos produtos quantos forem necessários. A multiplicidade para oProduto final da associação seria1..*, indicando que uma remessa deve ter pelo menos um produto, mas pode ter muitos.

Notação e Símbolos

Nos diagramas UML, a multiplicidade é indicada usando notações específicas:

  • Asterisco (*): Representa um número ilimitado de objetos.
  • Faixa (min..max): Especifica o número mínimo e máximo de objetos.
  • Número Exato: Indica uma contagem precisa de objetos.

Essas notações ajudam a definir claramente as restrições e regras que regem as relações entre classes.

Exemplo 1: Pessoa e Carro

Neste exemplo, uma Pessoa pode possuir zero a muitos Carros, e um Carro pode ser dirigido por um a muitos Pessoas.

Exemplo 2: Remessa e Produto

Neste exemplo, uma Remessa deve conter pelo menos um Produto mas pode conter tantos produtos quantos forem necessários.

SoWkIImgAStDuULApaaiBbO8piWio4tDAr6evkLIKD1EpiyhISpCAmueoayfJIufrj2qKl39B2wnWGhOyNBLydB1D4C5eNepyv9pIbDIKpppO8OYjCD4OFhXrYePwkbfAIdewi9OC3Ej561kKG1gSaZDIm6x6W00 (321×218)

Exemplo 3: Biblioteca e Livro

Neste exemplo, uma Biblioteca pode ter muitos Livros, e um Livro pode ser encontrado em uma Biblioteca.

SoWkIImgAStDuULApaaiBbRmoKmgIYogLAZcvL9GqCv8B7RApyykrj2q0ieKbzY0U7QyNBMyN30D816ewhJyqhmKppoe4H0zO2PK0yni9KCb1LrT1IK3FJqj9OW1LWh9-NabYPbvnGf0unrIyrB0RW80 (210×218)

Exemplo 4: Professor e Aluno

Neste exemplo, uma Professor pode ensinar muitos Alunos, e um Aluno pode ser ensinado por um Professor.

SoWkIImgAStDuULApaaiBbO8IKrCpaWjKgZcvL9Gq2u1yug3IqfJKlDAYZKqhHHyCejBRA02ThnSjRnSCArGGPZMnDBqZ1AdIgY18ArG9bGJp2ObGoK5NLq59GCzFIqbk25M2b2x5O2MEAJcfO3T2000 (279×218)

Exemplo 5: Pedido e Item

Neste exemplo, um Pedido pode conter um ou mais Itens, e um Item pode fazer parte de zero ou mais Pedidos.

SoWkIImgAStDuULApaaiBbRmBqf9BLAevkLIKD1EpiyhISpCA_OiISqjrj2qKl39B2wn0V7iUBbgURbWUa0YK2q5GDFyqy2687I0kJ0j40kK3FNqj9GKT7KLb0p0BB0PLWemAnM0oXrIyrB0BWC0 (239×218)

Exemplo 6: Empresa e Funcionário

Neste exemplo, uma Empresa pode ter muitos Funcionários, e um Funcionário trabalha para uma Empresa.

SoWkIImgAStDuULApaaiBbPmpiyjICohLAZcvL9GqCv8B7RDBSZ9hqnDBTRGj5BmoImkiO69sF5orV9omJJ2HA4wo_EBielTyekWve4qGvbGNJ2Bb0oL57Hr5PGCzFIqb12cM2caWfd52a1h75BpKi1k1000 (277×218)

Esses exemplos ilustram como a multiplicidade é usada para definir o número de objetos participando de uma associação, fornecendo uma maneira clara e concisa de expressar relações entreclasses em UML diagramas.

Conclusão

A multiplicidade é um conceito fundamental em UML que fornece uma forma estruturada para definir o número de objetos participando de uma associação. Ao especificar multiplicidade, os projetistas podem garantir que as relações entre classes sejam bem definidas e compreendidas, levando a designs de sistemas mais robustos e sustentáveis. Seja você modelar associações simples ou relações complexas, compreender e aplicar multiplicidade é essencial para uma modelagem UML eficaz.

Recursos

  1. Desenhando Diagrama de Relacionamento de Entidade no Visual Paradigm
  2. Diagrama de Relacionamento de Entidade – Multiplicidades
  3. Diagramas de Relacionamento de Entidade
  4. Especifique multiplicidade em uma forma UML
  5. O que é Diagrama de Relacionamento de Entidade (ERD)?
  6. Diagrama ER do Visual Paradigm adicionando tabelas
  7. Como você adiciona uma multiplicidade a um diagrama de classes no Visual Paradigm?
  8. Guia para Iniciantes sobre Diagramas Entidade-Relacionamento (ER)
  9. Multiplicidade vs Cardinalidade

Leave a Reply