Attributs, types et méthodes

Objectifs

  • Comprendre ce qu'est un attribut au sens UML ;

  • Découvrir le typage des attributs.

Mise en situation

Toute modélisation d'un objet de la réalité se décompose en petits bouts élémentaires : pour une personne, on pourra penser à son nom, son prénom, sa date de naissance, son âge, etc.

En UML, ces petits bouts sont appelés attributs.

Or, chaque attribut a ses spécificités : on peut faire des additions avec l'âge, on peut mettre un nom en majuscule, etc. En revanche, on ne peut pas additionner deux prénoms. Comment différencier la nature des attributs, et ce que l'on peut faire avec ?

Dans ce module, vous allez apprendre à caractériser les attributs des classes UML grâce aux types et aux méthodes.

DéfinitionAttribut

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.

Exemple

@startumlskinparam defaultFontName Inconsolataskinparam classFontStyle boldskinparam nodesep 80hide circleclass Voiture {marque: varchartype: varcharnb_portes: [1..7]puissance: unsigned integerkilométrage: unsigned integer}@enduml

SyntaxeTypes

Le typage des attributs peut se faire dans une syntaxe libre, il n'est exprimé que pour :

  • consigner des contraintes,

  • expliciter la nature de l'attribut.

On peut utiliser une terminologie française, anglaise, inventée, liée à un langage, etc. On veillera néanmoins à conserver une terminologie cohérente.

SyntaxeTypes en SQL

On peut utiliser sinon les types de SQL, voici les plus courants :

  • VARCHAR pour des chaînes de caractères à longueur variable ;

  • TEXT pour de long texte ;

  • INTEGER pour les entiers ;

  • DECIMAL pour les nombres décimaux à partie entière et flottante connue ;

  • REAL pour les nombres décimaux sans restriction sur les parties entière et flottante ;

  • DATE pour les dates ;

  • DATETIME pour les horodatages ;

  • TIME pour les heures ;

  • BOOLEAN pour les booléens.

ConseilPrécision des types

On conseille d'adopter sur le schéma un typage précis qui rend compte de ce qui est exprimé dans l'analyse des besoins. Si l'on sait qu'une voiture ne peut pas avoir plus de sept portes, on le consigne dès l'UML dans le typage.

DéfinitionMéthode

Une méthode est une fonction associée à une classe qui permet d'agir sur les objets de la classe ou qui permet à ces objets de renvoyer des valeurs.

Une méthode peut donc être vue comme un attribut dans la valeur est calculée et non stockée.

Syntaxe

Les méthodes se notent sous les attributs.

@startumlskinparam defaultFontName Inconsolataskinparam classFontStyle boldskinparam nodesep 80hide circleclass Voiture {marque: varchartype: varcharnb_portes: [1..7]puissance: unsigned integerkilométrage: unsigned integeramise_en_circulation: dateage(): integer}@enduml

MéthodeMéthodes et modélisation de BD

Pour la modélisation des bases de données, les méthodes sont utilisées pour représenter des données calculées.