Modelo conceptual em UML
Classes, multiplicidades, associações, generalizações e regras do domínio.
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
idClienteem Encomenda. A chave estrangeira pertence à tradução relacional. - A multiplicidade conta objetos da classe onde está escrita, para um objeto da outra.
1exige exatamente um.0..1admite ausência.*significa0..*.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 viola1..*.
Modelo da loja
- 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
qtdem 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
| Propriedade | Condição |
|---|---|
| Completa | Todo o objeto da superclasse pertence a alguma subclasse. |
| Parcial | Pode haver objetos só na superclasse. |
| Disjunta | Cada objeto pertence no máximo a uma subclasse. |
| Sobreposta | Um 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.