Diagramme de classe en uml

Disponible uniquement sur Etudier
  • Pages : 5 (1030 mots )
  • Téléchargement(s) : 0
  • Publié le : 25 avril 2011
Lire le document complet
Aperçu du document
Les diagrammes de classes

Objectif
• Décrire la structure statique du système. • Sous forme de classes et de relations entre classes. • Lors de l’analyse → classes du domaine (correspondant aux ‘objets métiers’). • Lors de la conception : → ajout des classes « techniques » liées aux choix de conception (interfaces utilisateurs, persistance, patrons de conception…). • Lors de l’implantation :→ ajout des classes liées à l’implantation dans un langage de programmation donné (structures de données ...).

Le concept de classe
• Décrit un ensemble d’objets (instances de la classe). Décrit leurs éléments communs (les différences sont ignorées). • Classe = type + module Type : ‘fabrique’ d’instances (objets) ayant les mêmes propriétés et les mêmes comportements
classe objetsinstanciation (‘new’ en java)

Module : interface visible + corps caché (utilisation possible sans connaître l’implantation; si le corps évolue sans impact sur l’interface le reste du système n’est pas touché) interface corps
profil des opérations visibles (publiques) implantation cachée (privée)

• Notation de base (suffisante au niveau analyse)
Nom de classe Attributs Opérations() Compte libellésolde créditer() débiter()

• Nombreuses notations supplémentaires (aux niveaux conception et implantation) : Indicateurs de visibilité des attributs et opérations + public (visible par tous) - privé (visible dans la classe uniquement) # protégé (visible dans la classe et ses sous classes) Types des attributs et profils des méthodes

opérations et méthodes de classe : soulignées méthodesabstraites : en italiques attributs calculés : notés / attribut : type Ex : - jour:int - mois:int - annee:int - / nojour : int - nomDesMois[12]:String={"janvier", "février" ..} + getJour():int … + getFormatEtendu():String … + getNomMois(in i:int):String

Date

La hiérarchisation des classes
• La hiérarchisation des classes permet de gérer la complexité. • Généralisation : factorisation deséléments communs de classes (attributs, opérations); favorise la réduction de la complexité. • Spécialisation : adapter une classe générale à un cas particulier; favorise la réutilisation et la modification incrémentielle.
Superclasse généralisation spécialisation Sousclasse
classe plus spécialisée classe plus générale

Ceci est un commentaire UML

Remarques • Ne pas confondre spécialisation etinstanciation !
Oiseau

spécialisation (classes)
Canari titi:Canari Moineau mon-piaf:Moineau

instanciation (objets)

• Notation UML des objets : identificateur:classe ou :classe (objet anonyme) • Les objets de la classe spécialisée héritent de la description des attributs (variables) et des opérations (méthodes) de la super-classe. • Elles peuvent en ajouter d’autres et/ou en redéfinircertaines.

Héritage multiple (plusieurs super classes) Autorisé dans la notation UML. Ex :
AEROPLANE VEHICULE_DE_ TRANSPORT

PLANEUR

AVION

La collaboration des objets
Par « envoi de messages » (appels d’opérations/ méthodes). Un même message peut être traité de manière différente selon la nature de l’objet receveur (polymorphisme). L’émetteur n’a pas à connaître la classe du receveur.
Ex: paye d’employés de 2 types (‘à la tache’ et ‘mensualisés’). Par envoi du message calculerPaie() à toutes les instances de Employé. La bonne méthode est appliquée selon le type effectif de l’employé défini à la création de l’instance (liaison dynamique). Si un nouveau type d’employé est ajouté le programme, très simple, n’a pas à être modifié : pour tout e dans Employé faire e.calculerPaie();Employé calculerPaie()

méthode abstraite

Mensualisé calculer Paie()

A_la_tâche calculer Paie()

Le concept d’association
Exprime une connexion sémantique entre classes. Décrit un ensemble de liens (instances de l’association). Le concept de rôle caractérise les extrémités. Les multiplicités (cardinalités) caractérisent le nombre d’instances des classes impliquées dans l’association....
tracking img