Analyse conception orienté objet
1) Définition d’un cahier de charge :
C’est un document énumérant et décrivant les travaux (ainsi que leurs modalités d’exécution), il est nécessaire pour atteindre les objectifs d’un projet.
2) Définition d’un objet :
Un objet définit une représentation d’un élément réelle ou virtuelle, dans le but de le piloter.
Un objet associe données et traitement en ne laissant visible que l’interface de l’objet, c’est à dire les traitements que l’on peut faire dessus.
Objet = Données + méthodes
3) L’objectif de l’approche orienté objet :
Consiste à apporter une solution informatique aux questions et problèmes de l’entreprise.
Il faut donc penser en termes de solutions informatiques et de leurs implantations
4) Quelques méthodes objets :
OMT (Objet Modeling Technique)
HOOD (Hierarchical Objet Orienté Design)
OOM (Orientation Objet de Merise)
UML (Unified Modeling Langage)
…
· UML reprend en particulier les notions de partitions en sous système de Booch 93, de classes et d’association d’OMT-2 et d’expression des besoins par les interactions entre les utilisateurs et le système d’OOSE.
· UML est une approche entièrement objet : le système est décomposé en objet collaborant.
· En UML ou distingue 7 diagramme ( de cas d’utilisation, de clases-d’objet, d’état-transition, de séquence, de collaboration, de composants et de déploiement )
Historique d’UML
Le
Diagramme de classe
Définition du diagramme de classes
Le
diagramme de classes exprime la structure statique du système en termes de
classes et de relations entre ces classes.
L’intérêt
du diagramme de classe est de modéliser les entités du système d’information.
Le
diagramme de classe permet de représenter l’ensemble des informations regroupées
dans des classes (structurées). Le diagramme met en évidence les relations entre ces classes.
Le
diagramme de classes comporte 5 concepts :
- classe - attribut - identifiant - relation - opération
a) La notion de classe
Définition
: une classe est une description abstraite (condensée) d’un ensemble d’objets
du domaine de l’application : elle définit leur structure, leur comportement et
leurs relations.
Représentation
: les classes sont représentées par des rectangles compartimentés :
- le
1er compartiment représente le nom de la
classe
- le
2ème compartiment représente les attributs
de la classe
- le
3ème compartiment représente les opérations
de la classe
Formalisme
:
NOM
CLASSE
|
Attribut_1: int
Attribut_2: int
Attribut_3:
int
|
Operation_1 ():
void
Operation_2 ():
void
|
a)
La notion d’attribut
Un
attribut représente la modélisation d’une information élémentaire représentée
par son nom et son format. Une classe se
compose d’un ensemble d’attributs.
on
choisit parfois de conserver dans un attribut le résultat d’un calcul effectué
à partir d’autres classes : on parle alors d’attribut dérivé. Pour
repérer un attribut dérivé : on place un / devant son nom.
Visibilité
et portée des attributs :
UML
définit 3 niveaux de visibilité pour les attributs :
1-
public (+) : l’élément est visible pour tous les clients de la classe
2-
protégé (#) : l’élément est visible pour les sous-classes de la classe
3-
privé (-) : l’élément n’est visible que par les objets de la classe dans
laquelle il est déclaré.
NOM
CLASSE
|
+ Attribut_1
public: int
# Attribut_2
protégé: int
-
Attribut_3 privée: int
|
b)
La notion d’identifiant
L’identifiant
est un attribut particulier, qui permet de repérer de façon unique chaque
objet, instance de la classe.
FACTURE
|
+ No facture: n
+ Date: double
+ Montant: double
+/ Montant TVA: n
|
c)
La notion d’opération
Une
opération est une fonctionnalité assurée par une classe. La description des opérations
peut préciser les paramètres d’entrée et de sortie ainsi que les actions
élémentaires à exécuter.
FACTURE
|
+ No facture: n
+ Date: double
+ Montant: double
+/
Montant TVA: n
|
Editer (): void
Consulter (): void
Créer
(): void
|
Visibilité
et portée des opérations :
Comme
pour les attributs, on retrouve 3 niveaux de visibilité pour les opérations :
1-
public (+) : l’opération est visible pour tous les clients de la classe
2-
protégé (#) : l’opération est visible pour les sous-classes de la classe
3-
privé (-) : l’opération n’est visible que par les objets de la classe dans
laquelle elle est déclarée.
FACTURE
|
+ No facture: n
+ Date: double
+ Montant: double
+/
Montant TVA: n
|
+ Op publique ()
# Op protégée ()
-
Op privée ()
|
d)
La notion de relation
S’il
existe des liens entre objets, cela se traduit nécessairement par des relations
qui existent entre leurs classes respectives.
Les
liens entre les objets doivent être considérés comme des instances de relations
entre classes.
Il
existe plusieurs types de relations entre classes :
- l’association.
- la généralisation/spécialisation
- la dépendance
L’association
Une
association est une relation statique n-aire (le plus souvent : elle est
binaire) : c’est-àdire qu’elle relie plusieurs classes entre elles.
L’association
existe entre les classes et non entre les instances : Une association n-aire
possède n rôles qui sont les points terminaux de l’association ou terminaisons.
Chaque
classe qui participe à l’association joue un rôle. Les rôles sont définis par 2
propriétés :
- la
multiplicité : elle définit le nombre d’instances de l’association pour une instance
de la classe. La multiplicité est définie par un nombre entier ou un intervalle
de valeurs. La multiplicité est notée sur le rôle (elle est notée à l’envers de
la notation MERISE).
1
|
Un
et un seul
|
0..1
|
Zéro
ou un
|
N
ou *
|
N
(entier naturel)
|
M..N
|
De
M à N (entiers naturels)
|
0..*
|
De
zéros à plusieurs
|
1..*
|
De
1 à plusieurs
|