Vous êtes sur la page 1sur 44

DIAGRAMME DES

FGST
CLASSES
Business Plan Google Slides
Template
L’orientation Objet
r Les principes de base de l’orientation objet :
➢ Les objets, les classes, l’encapsulation
➢ l’héritage, le polymorphisme

r Organisation d’un système en une collection d’objets disssociés mais


collaborant entre eux

CLASSE
OBJET
Classe 2
Classe 3
objet2
Classe 1
objet1

objet3
Classe 4
Classe 31 Classe 32
objet4

Une architecture logicielle


Pourquoi l’approche objet ?
r But
m modélisation des propriétés statiques et dynamiques de
l’environnement dans lequel sont définis les besoins (domaine
du problème),
m formalisation de la perception du monde et des phénomènes
qui s’y déroulent,

r Avantages
m capacité à regrouper ce qui a été séparé,
m à construire le complexe à partir de l’élémentaire,
m à intégrer statiquement et dynamiquement les constituants
d’un système.
Qu ’est-ce qu ’un Objet ?
❖ Définition Générale:

❖ Pour les technologies objet:


m « c’est une abstraction du monde réel »

❖ Pour l’analyse du domaine:


m « c’est une entité pertinente du domaine »

❖ Dans un langage de programmation OO:


m « c’est un ensemble de fonctions associées à une structure
de données »
Les Objets
r Définition
m Concept, abstraction ou entité ayant des liens et un sens pour
une application donnée

m Exemples:
➢Objets matériels (table, chaise, crayon, avion…)
➢Objets immatériels, concepts (compte en banque, équation, match
de boxe…)
➢Objets virtuels (groupe de travail, division…)
➢…

r Tout objet possède les caractéristiques suivantes:

Objet = État + Comportement + Identité


Les Objets : L'état
r Regroupe des valeurs instantanées de tous les attributs d'un objet.

r L’état d’un objet est décrit par l ’ensemble de ses attributs et liens
et est exprimé au travers des opérations.

r Exemple

Ma Voiture

Bleu Couleur
979 kg Masse
12 CV Puissance fiscale
30 litres Quantité de carburant
Les Objets: L'état
r L'état évolue au cours du temps:
m Certaines valeurs d'attribut vont évoluer
m D'autres vont êtres constantes

r Exemple

Ma Voiture Ma Voiture

Bleu Après un parcours Bleu


979 kg 979 kg
de 100 km.
12 CV 12 CV
30 litres 20 litres
Les Objets: Le Comportement
r Regroupe toutes les compétences d'un objet, l’ensemble des
opérations applicables à cet objet
r Décrit les actions et les réactions de l'objet.
m Concept d'opérations (méthodes) ; une opération a une signature et
s ’applique à un objet
m Une opération est déclenchée suite à une stimulation externe:
message envoyé par un autre objet.

Un autre objet
Opération 1
Un message {…}

Un objet Opération 2
{…}
Les Objets: Caractéristiques
r L'état et le comportement sont liés:
m Le comportement, à un instant donné, dépend de l'état courant.
m L'état peut être modifié par le comportement.

r Exemple: Un avion ne peut atterrir que s'il est en vol.


m atterrir représente un comportement de l'avion.
m en vol correspond à un état de l'avion.

:Avion
Atterrir En vol

:Avion
: Tour de contrôle Décoller Au sol
Les Objets: L'identité
r L’identité caractérise l’existence propre de l’objet:

m immuable

m permanente (permet de distinguer tout objet de façon non


ambiguë indépendamment de son état)

m concept qui ne se représente pas de manière spécifique mais


qui peut être rajoutée dans l'état des objets comme un artifice
de réalisation.
Les classes d’objet
Définitions
Une classe est la description d’un ensemble d ’objets qui ont les
mêmes attributs, les mêmes opérations, les mêmes relations et
des sémantiques communes
ex : Personne, Etudiant, Compagnie

¦ Un attribut est une propriété nommée d’une classe qui décrit un


ensemble de valeurs, il représente une propriété de l’élément
modélisé

¦ Une opération est l ’implantation d’un service qui peut être


demandé aux objets d ’une même classe dans le but de
déclencher un comportement
Définition d'une classe

● Une classe est un type abstrait caractérisé par des propriétés (attributs et
méthodes) communes à un ensemble d'objets et permettant de créer des
objets ayant ces propriétés.

Classe = attributs + méthodes + instanciation

● Les classes se désignent par un nom, contiennent des attributs et des


méthodes associées
● Exemple : une personne, une voiture, une maison, ...
Définition d'une classe

Nom :

permet de le distinguer des autres objets

Attributs :

données caractérisant l'objet

Méthodes :

actions que l'objet est à même de


réaliser
Objet d'une classe

Un objet est une instanciation d'une classe


La visibilité

La visibilité permet de définir la manière dont chaque attribut et chaque méthode de


classe
peut être vue par les autres classes. Elle se définie en trois niveaux :

● Publique (+) : les classes peuvent accéder aux données et méthodes d'une
classe définie avec le niveau de visibilité public

● Protégée (#) : l'accès aux données est réservé aux fonctions des classes
héritières

● Privée (-) : l'accès aux données est limité aux méthodes de la classe elle-même
La visibilité
Associations entre classes

● Une association exprime une connexion sémantique bidirectionnelle entre


deux classes.

● Une association est une relation structurelle qui précise que les objets d ’une
classe sont reliés aux objets d’une autre classe.

● L'association binaire est représentée par un trait entre les deux classes.

● Une association peut être nommée. Le nom est une forme verbale, au milieu
de la ligne qui symbolise l'association.
Associations entre classes - Exemple
Cardinalités ou Multiplicités

● La multiplicité ou cardinalité est indiquée pour chaque extrémité ou rôle


d'associations.

● Elle indique pour une instance d'une classe, le nombre d'instances d'une
autre classe qui peuvent lui être liées
Cardinalités ou Multiplicités

1 ou 1..1 exactement 1 (par défaut) exprime une contrainte de


totalité
0..1 optionnel
n..m de "n" à "m" (entiers naturels ou variables, m > n)
n..* de n à plusieurs (n, entier naturel ou variable)
0..*ou * de 0 à plusieurs (équivalent à x : *)
Cardinalités ou Multiplicités – Exemple 1

Chaque personne travaille pour une société,


chaque société emploie de une à plusieurs personnes
Cardinalités ou Multiplicités – Exemple 2

Une école d'ingénieur peut ne pas avoir de candidats, mais peut en avoir
plusieurs.
Un étudiant a fait au moins une demande de poursuite d'études mais peut aussi
en avoir fait plusieurs.
La Navigabilité

● Par défaut une association est navigable dans les deux sens.

Chaque instance de voiture a un lien vers le propriétaire


Chaque instance de Personne a un ensemble de lien vers les voitures
Restriction de la navigabilité

● Navigable vers un seul sens.


● Elle indiquer que les instances
d'une classe ne "connaissent"
pas les instances d'une autre.

● Le service de contravention
est associé à une ou plusieurs
voiture(s)
● La voiture ne connaît pas
service de contravention
Le rôle d’une association

● Un "rôle" peut être spécifié pour une extrémité de l'association.


● Il exprime le rôle d'une classe dans l'association.
● il facilite la lecture et la compréhension du modèle objet.
Le rôle d’une association – Exemple
Les contraintes sur l'association

● Il est possible d'exprimer des contraintes sur une association, afin de


limiter les objets mis en jeu. Cela permet de mieux cadrer l'architecture de
l'ensemble.
● Une contrainte peut être sur les participants dans une association.
● Une Contrainte peut être sur un sous-ensemble de liens entre associations
Les contraintes sur l'association

Ici, on indique qu'une personne joue


soit le rôle d'étudiant, soit le rôle
d'enseignant pour une université
donnée.
Les contraintes sur l'association

Seules les personnes


dont la date de
naissance est inférieure
au premier janvier 1979
Les généraux peuvent être conscrit
sont un sous-
ensemble des
militaires
Association n-aire :

● Il s'agit d'une association qui relie plus de deux classes.


● Exemple : Un programmeur utilise un langage donné pour un projet
informatique donné
Association n-aire :
Association réflexive :

● Une association réflexive est une association qui associe une classe avec
elle-même.

● Le nommage des rôles est essentiel à la clarté du diagramme.


Classe d'association

● Le liens entre les instances de classe peuvent porter des informations.

● Dans ce cas, l’association qui décrit de tels liens reçoit le statut de classe.
Classe d'association

● Dans l'exemple suivant, chaque personne peut avoir un emploi dans


plusieurs sociétés, mais elle ne peut pas avoir plusieurs emplois dans une
même société.
Classe d'association
Relation de contenance

Cas particulier d’association exprimant une relation de contenance, comme


exemples:
● Une voiture a 4 roues
● Un dessin contient un ensemble de figures géométriques
● Une présentation PowerPoint est composé de transparents
● Une équipe de recherche est composée d’un ensemble de personnes

Deux types de relations de contenance en UML


● Agrégation
● Composition (Agrégation forte)
Types de relation : Agrégation

Type de relations
● A « contient » des instances
de B

Propriétés de l’agrégation
● La suppression de A n’implique
pas la suppression de B
● L'élément agrégé peut être
partagé
Types de relation : Agrégation - Exemple

● L’enseignant est un
composant d’une (ou
plusieurs) équipe de
recherche d’un seul
département

● La disparition d’une
équipe de recherche
n’entraine pas la
disparition d’un
enseignant
Types de relation : Composition

La suppression de A entraine la suppression de B

Exemple:
● « Une présentation PowerPoint est composé de transparents »
● La suppression de la présentation entraine la disparition des transparents qui
la compose
Héritage

● Il permet de créer une nouvelle classe à partir d'une classe existante


● La classe dérivée contient les attributs et les méthodes de sa superclasse
Héritage

Spécialisation Généralisation

étendre les factoriser les


propriétés propriétés
d'une classe, sous groupe de classes
forme de sous- sous
classes forme de super-classe
● Chaque personne de l’université est identifiée par son nom, prénom
● Les étudiants ont plus un noEtudiant
● Les enseignants ont un numéro de téléphone interne
Exercice 1 :
Une personne est caractérisée par son nom, son prénom, son sexe et son âge. Les objets de classe
Personne doivent pouvoir calculer leurs revenus et leurs charges. Les attributs de la classe sont
privés ; le nom, le prénom ainsi que l'âge de la personne doivent être accessibles par des
opérations publiques.
Question 1 : Donnez une représentation UML de la classe Personne, en remplissant tous les
compartiments adéquats.
Deux types de revenus sont envisagés : d'une part le salaire et d'autre part toutes les autres sources
de revenus. Les deux revenus sont représentés par des nombres réels (float). Pour calculer les
charges globales, on applique un coefficient de 20% sur les salaires et un coefficient de 15% sur
les autres revenus.
Question 2 : Enrichissez la représentation précédente pour prendre en compte ces nouveaux
éléments.
Un objet de la classe Personne peut être créé à partir du nom et de la date de naissance. Il est
possible de changer le prénom d'une personne. Par ailleurs, le calcul des charges ne se fait pas de
la même manière lorsque la personne décède.
Question 3 : Enrichissez encore la représentation précédente pour prendre en compte ces
nouveaux éléments.
Exercice 2:

Soit un système d'information qui concerne le suivi des personnels d'un

ensemble d'agences locales. Chaque agence se trouve dans une région,

chaque région est pilotée par une direction régionale. La direction

régionale se charge d'un ensemble d'agences locales. Une direction

régionale est caractérisée par un code et un libellé.

Modélisez ce système d'information par un diagramme de classe.


Exercice 3

Chaque hôtel contient minimum 2 chambres qui contiennent chacune une


salle d'eau (douche, baignoire). Un hôtel peut héberger un ou plusieurs
personnes puis il peut employer des personnels. Un hôtel est dirigé par un
seul directeur. Chaque employé est caractérisé par un nom et un prénom. Une
personne peut être soit enfant ou adulte. Chaque hôtel est caractéristique par
une adresse, certain un nombre de chambres puis une catégorie.

Une chambre possède son numéro, un certain nombre de lits et le prix


d'hébergement. On veut savoir la date de réservation d'une chambre par des
personnes. Pour chaque jour de l'année, il faut calculer le prix de location de
chaque chambre selon son prix et sa durée d'occupation. La somme des prix
de location nous permet de calculer le chiffre d'affaires de l'hôtel entre deux
dates.

Question : donnez une diagramme de classes correspondant ?

Vous aimerez peut-être aussi