Vous êtes sur la page 1sur 49

Analyse et conception

orienté objet
Benreskallah Oussama
Objectifs du module

• Comprendre les besoins d’un processus de développement


• Présenter efficacement et de manière compréhensible les spécification
d’un système et sa conception
• Assimiler le langage de modélisation UML 2
• Savoir mettre en œuvre une démarche itérative et incrémentale basée sur
les raffinements successifs des modèles UML2
Contenu de la matière (1)
Chapitre I. Rappels de la technologie orienté objet
- Principes fondamentaux de l’orienté objet
Chapitre II. Introduction aux processus de développement et à la
modélisation
- Le processus de développement de la capture des besoins à la
validation
- Comprendre le rôle de la modélisation
Contenu de la matière (2)
Chapitre III. Appliquer les Designs patterns aux modèles
- Composite pattern, strategy pattern, observe pattern, abstract factory
pattern
Chapitre IV. De la conception à l’implémentation
- Comment traduire les diagrammes de classe UML dans des langages de
programmation et dans des bases de données
- Les principes de mise en œuvre d’applications objet
- Les grandes plateformes objets actuels: les technologies .NET de Microsoft
et J2EE de Oracle.
Références (1)
Références (2)
Mode d’évaluation
• Contrôle continu (TD)
• Contrôle continu (TP)
• Examen
Chapitre I
Rappels de la technologie orientée objet
Définitions (1)
Orientation objet
L’orientation objet consiste à visualiser et à modéliser le système
(monde) en tant qu’un ensemble d’objets interagissant et
interdépendants.

Les caractéristiques de l’approche Orienté-objet:


1) l'univers se compose d'objets en interaction
2) décrit et construit des systèmes composés d'objets
Définitions (2)
Programmation orienté objet

La programmation orientée objet est une méthode de mise en œuvre


dans laquelle les programmes sont organisés comme des collections
coopératives d'objets, dont chacune représente une instance de classe,
et dont les classes sont toutes membres d'une hiérarchie de classes
unies par des relations d'héritage.
Définitions (3)

Analyse orienté objet

L'analyse orientée objet est une méthode d'analyse qui examine les
exigences du point de vue des classes et des objets trouvés dans le
vocabulaire du domaine du problème.
Définitions (4)
Conception orienté objet

La conception orientée objet est une méthode de conception


englobant le processus de décomposition orientée objet et une
notation pour représenter à la fois des modèles logiques et physiques
ainsi que des modèles statiques et dynamiques du système en cours de
conception.
Eléments de base du modèle OO
Principalement, Il y a 4 éléments de base du modèle orienté objet:

Abstraction
Encapsulation
Modularité
hiérarchie
Abstraction
Un processus permettant de se concentrer sur les aspects les plus
importants tout en ignorant les détails moins importants.
L'abstraction nous permet de gérer la complexité en se concentrant sur
les aspects essentiels qui rendent une entité différente des autres.
Vendeur
Produit
Client

Un exemple d'abstraction de traitement d’une commande


Encapsulation
L’encapsulation est un mécanisme consistant à rassembler les données
et les méthodes au sein d’une structure en cachant l’implémentation
de l’objet.
Modularité
La modularité divise les systèmes complexes en de petites pièces
autonomes qui peuvent être gérées indépendamment.

saisie des commandes


Système de traitement
des commandes Traitement de la commande

Facturation
Hiérarchie
Le classement des abstractions sous forme de structure arborescente.

Un bien

Compte bancaire Immobilier

Économies ou Vérification
épargnes
Concepts de l’orienté objet
1. Object 9. Composition
2. Class 10.Generalization
3. Attribut 11.Superclasse
4. Opération 12.Sous-Class
5. Interface 13.Classe abstraite
6. Implémentation 14.Class concrète
7. Association 15.Polymorphisme
8. Agrégation 16.Réalisation
Objet
C’est quoi un objet?

1) toute abstraction qui modélise une seule chose


2) une représentation d'une entité spécifique dans le monde réel
3) peut être tangible (entité physique) ou intangible

Exemples: citoyen, agence, travail, lieu, commande, etc.


Exemples d’objets

personnes
chaises

dispositifs informatiques
Définition d’objet
Deux aspects:
 Information
a une identité unique
a une description de sa structure
a un état représentant sa condition actuelle
 Comportement
que peut faire un objet?
que peut-on y faire?
Définition d’objet –Exemple-
1) Information:

a) Numéro de série
b) Modèle
c) Mémoire
d) Statuts

2) Comportement

e) Imprimer un fichier
f) Arrêter d’imprimer
g) Vider la file
Classe
C’est quoi une classe ?
1) toute abstraction identifiée de manière unique d'un ensemble d'instances
reliées logiquement qui partagent des caractéristiques similaires,
2) règles qui définissent des objets,
3) une définition ou un modèle qui décrit comment créer une représentation
précise d'un type spécifique d'objets

Exemples: agence, citoyen, voiture, etc.


Les objets sont créés à l'aide de définitions de classe en tant que modèles.
Classe –Exemple-

Imprimante
Information
comportement
Attribut
Définition
L'attribut est une propriété nommée d'une classe décrivant une plage
de valeurs que les instances de la classe peuvent contenir pour cette
propriété.
Un attribut a un type et définit le type de ses instances.
Seul l'objet est capable de changer les valeurs de ses propres attributs.
L'ensemble des valeurs d'attribut définit l'état de l'objet.
Attribut –Exemple-
Objet

Classe :Imprimante
numéroSérie=52104
Valeur de
Mémoire=64 Mb
Imprimante l’attribut
État=repos
numéroSérie
Mémoire
état

Attribut :Imprimante
numéroSérie=66637
Mémoire=128 Mb
État= actif
Opération
Définition
L'opération est l'implémentation d'un service qui peut être demandé à
partir de n'importe quel objet d'une classe donnée.
Une opération pourrait être:

1) une question - ne change pas les valeurs des attributs


2) une commande - peut changer les valeurs des attributs
Opération –Exemple-
Classe

Imprimante

ImprimerFichier
Opération ArrêterImpression
SuprimerFichFile
Application de l’abstraction
L’abstraction dans l’orienté objet

1) utilisation d'objets et de classes pour représenter la réalité


2) Le logiciel gère les abstractions basées sur les changements qui se
produisent sur les objets du monde réel
Interface
1) minimum d'informations nécessaire
pour utiliser un objet
2) permet aux utilisateurs d'accéder
aux connaissances de l'objet
3) doit être exposé
4) ne fournit aucun accès direct aux
éléments internes de l'objet
Implémentation
1) informations requises pour que
l'objet fonctionne correctement
2) une combinaison du
comportement et des ressources
nécessaires pour satisfaire
l'objectif du comportement
3) assure l'intégrité de l'information
dont dépend le comportement
Relations et liens
Les relations:
• Entre classes (relations)
• Entre objets (liens)

Types de relation entre les classes:


1) Association
2) Agrégation
3) composition
Association
1. la forme la plus simple de la relation
entre les classes
2. les relations pair-à-pair
3. un objet est conscient de l'existence
d'un autre objet
4. implémenté dans les objets comme
références
Association –Exemple-
Associations entre les classes A et B:

1) A est une partie physique ou logique de B


2) A est une sorte de B
3) A est contenu dans B
4) A est une description de B
5) A est un membre de B
6) A est une sous-unité d'organisation de B
7) A utilise ou gère B
8) A communique avec B
9) A suit B
10) A appartient à B
Agrégation
1. une forme restrictive d'association « partie-de » 
2. les objets sont assemblés pour créer un objet plus
complexe
3. l'assemblage peut être physique ou logique
4. définit un point de contrôle unique pour les objets
participants
5. l'objet agrégé coordonne ses parties
Agrégation-Exemple-

Un processeur fait partie d'un ordinateur.


CPU, périphériques, moniteur et clavier
sont assemblés pour créer un ordinateur.
Composition
1. une forme plus stricte d'agrégation
2. la durée de vie des objets
individuels dépend de la durée de vie
de l'objet global
3. Les parties ne peuvent pas exister
du vide.
4. il existe une dépendance créer-
supprimer des parties à l'ensemble.
Composition –Exemple-

Un mot ne peut pas exister s'il ne fait pas partie d'une ligne.
Si un paragraphe est supprimé, toutes les lignes du paragraphe sont
supprimé et tous les mots appartenant à ces lignes sont supprimés.
Généralisation
1) un processus d'organisation des
caractéristiques de différents types d'objets
qui partagent le même but
2) équivalent à une relation « genre de" ou
"type de"
3) la généralisation permet l'héritage
4) la spécialisation est le contraire de la
généralisation
5) pas une association
Généralisation –Exemple-

Les fonctionnalités communes sont définies dans Utilisateur.


FrontOfficeEmployee et BackOfficeEmployee en héritent.
Superclasse
Définition
Superclasse est une classe qui contient les caractéristiques communes
de deux classes ou plus.

Une superclasse est similaire à un sur-ensemble.

Exemple: Département
Sous-classes
Définition
La sous-classe est une classe qui contient au moins les caractéristiques
de sa ou ses superclasse (s).

Une classe peut être une sous-classe et une superclasse en même


temps
Sous-classe/ superclasse –Exemple-

Superclasse
Personne

Enseignant Étudiant Médecin Sous-classes


Classe abstrait
1. une classe qui manque d'une implémentation complète - fournit des
opérations sans implémenter certaines méthodes
2. ne peut pas être utilisé pour créer des objets; ne peut pas être
instancié
3. une sous-classe concrète doit fournir des méthodes pour les
opérations non mises en œuvre
Classe concrète
1. a des méthodes pour toutes les opérations
2. peut être instancié
3. les méthodes peuvent être:

a) défini dans la classe ou


b) hérité d'une super classe
Polymorphisme
1. possibilité de choisir de manière dynamique la méthode pour une
opération lors de l'exécution ou de service à temps
2. facilité par l'encapsulation et la généralisation:
a) encapsulation -
séparation de l'interface de la mise en œuvre
b) généralisation –
organiser l'information de sorte que les caractéristiques partagées résident dans une classe et les
caractéristiques uniques dans une autre

3. Les opérations pourraient être définies et mises en œuvre dans la


superclasse, mais les méthodes ré-implémentées sont en sous-classes
uniques.
Polymorphisme –Exemple-
Beaucoup de façons de faire la même chose!

Exemple: le personnel de direction et le personnel d'agence peuvent


demander de partir, mais peut-être de différentes façons.
Réalisation
1. permet à une classe d'hériter d'une
classe d'interface sans être une sous-
classe de la classe d'interface
2. hérite seulement des opérations
3. ne peut pas hériter d'attributs ou
d'associations
Questions ?