Un attribut est une information élémentaire qui caractérise une classe et dont la valeur dépend de l'objet instancié.
Un attribut est typé : Le domaine des valeurs que peut prendre l'attribut est fixé a priori.
Un attribut peut être multivalué : Il peut prendre plusieurs valeurs distinctes dans son domaine.
Un attribut peut être dérivé : Sa valeur alors est une fonction sur d'autres attributs de la classe
Un attribut peut être composé (ou composite) : Il joue alors le rôle d'un groupe d'attributs (par exemple une adresse peut être un attribut composé des attributs numéro, type de voie, nom de la voie). Cette notion renvoie à la notion de variable de type Record
dans les langages de programmation classiques.
En UML on préfère l'usage de méthodes aux attributs dérivés. On utilisera toujours des méthodes dès que la valeur de l'attribut dérivé dépend d'autres attributs extérieurs à sa classe.
En UML on préfère l'usage de compositions aux attributs composés. On utilisera toujours des compositions pour les attributs composés et multivalués.
Un attribut peut être multivalué
Un attribut peut être dérivé (on préfère les méthodes en UML)
Un attribut peut être composé (on préfère les compositions en UML)