Modelo conceptual em UML

Classes, multiplicidades, associações, generalizações e regras do domínio.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Classes e multiplicidades

  • Uma classe representa objetos com identidade e propriedades comuns. Uma cidade é atributo se for só texto para mostrar. É classe se tiver população, país ou ligações próprias.
  • A chave identifica o objeto. Um id artificial não elimina outras unicidades, como o número fiscal.
  • No modelo conceptual, desenha a associação. Não escrevas idCliente em Encomenda. A chave estrangeira pertence à tradução relacional.
  • A multiplicidade conta objetos da classe onde está escrita, para um objeto da outra. 1 exige exatamente um. 0..1 admite ausência. * significa 0..*. 1..* exige pelo menos um.
  • Em Cliente 1 ── 0..* Encomenda, cada encomenda tem um cliente. Um cliente pode ter zero ou muitas encomendas.
  • O mínimo decide participação. O máximo decide cardinalidade. Mia sem compras satisfaz 0..* e viola 1..*.

Modelo da loja

Modelo conceptual da lojaCada encomenda tem exatamente um cliente. Cada cliente tem zero ou mais encomendas. Cada encomenda contém um ou mais produtos e cada produto aparece em zero ou mais encomendas. A classe de associação Item guarda quantidade e preço unitário da compra.ClienteidnomeemailEncomendaiddata10..*faz0..*1..*contémItemqtdprecoUnitarioProdutoidnomeprecoCentimosstock
As multiplicidades estão junto da classe que contam. O tracejado liga Item à associação entre Encomenda e Produto. Num ecrã pequeno, desliza o diagrama.
  • A data pertence à Encomenda. O preço atual pertence ao Produto. A quantidade e o preço acordado pertencem ao par em Item.
  • Mudar o preço atual não reescreve compras antigas. São factos diferentes mesmo quando os números coincidem.
  • O modelo admite clientes sem encomendas e produtos sem vendas. Exige pelo menos um produto em cada encomenda. Cada produto aparece no máximo uma vez na mesma encomenda.

Ligações com contexto

  • Uma classe de associação guarda atributos da ligação. Guarda qtd em Item porque o valor depende do par.
  • Se o mesmo par puder participar várias vezes, modela o acontecimento como classe própria. Uma candidatura repetida do mesmo aluno à mesma faculdade precisa de chave que distinga os acontecimentos.
  • Numa associação reflexiva, os papéis distinguem as referências, como progenitor e filho. Proibir alguém de ser o próprio progenitor exige outra regra.
  • Um qualificador identifica uma ligação num contexto. O número de membro é único dentro do clube. A identificação é (clube, numeroMembro).
  • Uma associação ternária conserva o facto conjunto. Três relações de pares podem inventar combinações que nunca foram registadas.
  • A multiplicidade junto de um participante aplica-se a uma combinação fixa dos outros dois.

Generalizações e composição

PropriedadeCondição
CompletaTodo o objeto da superclasse pertence a alguma subclasse.
ParcialPode haver objetos só na superclasse.
DisjuntaCada objeto pertence no máximo a uma subclasse.
SobrepostaUm objeto pode pertencer a várias subclasses.
  • Completude e disjunção são independentes. A subclasse herda atributos e associações da superclasse.
  • A composição liga uma parte a um único todo de cada vez, com ciclo de vida dependente. A agregação é mais fraca. Nenhuma dispensa decidir a política de eliminação.
  • Um atributo derivado, marcado com /, calcula-se de outros. Guardá-lo exige mantê-lo consistente.
  • Regras como “o capitão pertence aos jogadores da equipa” precisam de restrições além das multiplicidades.

Associações com três participantes.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.