0% ont trouvé ce document utile (0 vote)
55 vues32 pages

Chp1 IntroCOO

Transféré par

lechapo210
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
55 vues32 pages

Chp1 IntroCOO

Transféré par

lechapo210
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INTRODUCTION AUX

MÉTHODOLOGIES DE
CONCEPTION

1
MCOO–Chapitre
Plan
 Introduction aux systèmes d’information
 Introduction à la conception
 Le langage UML
 Le paradigme Objet

Méthodologie de
Conception Orientée Objet 2
Chp1: Introduction aux Méthodologies de Conception

LES SYSTÈMES
D’INFORMATION
Méthodologie de
Conception Orientée Objet 3
Introduction aux SI
 Un système d’information représente l’ensemble des
éléments participant à la gestion, stockage, traitement,
transport et diffusion de l’information au sein d’une
organisation
 Rôle:
 Collecte d’informations
 Stockage de l’information
 Traitement de l’information
 Diffusion de l’information

Méthodologie de
Conception Orientée Objet 4
Etapes de Réalisation d’un
SI (1/3)
Expression des besoins

Spécification

Analyse

Conception

Implémentation

Tests et vérification

Validation

Maintenance et Evolution
Méthodologie de
Conception Orientée Objet 5
Etapes de Réalisation d’un
SI (2/3)
 Expression des besoins
 Définition d’un cahier des charges
 Spécification
 Ce que le système doit être et comment il peut être utilisé
 Analyse
 Éléments intervenant dans le SI, leurs structures et relations
 Adéfinir sur 3 axes
• Savoir-faire de l’objet  axefonctionnel
• Structure de l’objet  axestatique
• Cycle de vie de l’objet  axedynamique
 Conception
 Apport de solutions techniques: architecture, performance et
optimisation
 Définition des structures et des algorithmes

Méthodologie de
Conception Orientée Objet 6
Etapes de Réalisation d’un
SI (3/3)
 Implémentation
 Réalisation et programmation
 Tests et vérification
 Contrôles de qualité
 Instaurés tout au long du cycle de développement
 Validation
 Vérification de la correspondance avec le cahier des charges +
discussion avec l’utilisateur
 Maintenance et Evolution
 Maintenance corrective: traiter les erreurs (bugs)
 Maintenance évolutive: intégration de nouveaux changements

Méthodologie de
Conception Orientée Objet 7
Chp1: Introduction aux Méthodologies de Conception

ÉTAPE DE CONCEPTION

Méthodologie de
Conception Orientée Objet 8
Conception
 Processus créatif pour la mise au point d’un logiciel
 Permet de donner une architecture au logiciel en le
découpant en briques, chacune en charge de
fonctionnalités différentes
 2 types de conception
 Conception architecturale
• Définition de la structure interne du logiciel
• Décomposition en composants de taille maîtrisable
• Définition des interfaces et interactions entre composants
 Conception détaillée
• Définition du rôle de chacun des composants
• Définition des sous-composants

Méthodologie de
Conception Orientée Objet 9
Modélisation
 Support de la conception
 Formalisation de la solution, en utilisant des notations ou
des règles connues
 Permet de réduire la complexité d’un phénomène
 Éliminer les détails non significatifs
 Refléter ce qui est important pour la compréhension et
prédiction du phénomène modélisé
 Création d’un Modèle
 Représentation abstraite et simplifiée d’une entité du monde réel
en vue de le décrire, de l’expliquer ou de le prévoir
 Exemple : Plan

Méthodologie de
Conception Orientée Objet 1
0
Méthode et Langage
 Méthode de conception
 Description normative des étapes de la modélisation
 Exemple: Merise
 Problème:
• Existence de plusieurs cas particuliers  difficulté de représenter
une méthode exhaustive
 Langage de modélisation
 Langage graphique pour représenter, communiquer les
divers aspects d’un système d’information
 Possède un vocabulaire et des règles qui permettent de
combiner les mots afin de communiquer

Méthodologie de
Conception Orientée Objet 1
1
Chp1: Introduction aux Méthodologies de Conception

UML: UNIFIED MODELING


LANGUAGE
Méthodologie de
Conception Orientée Objet 12
Historique
 Années 80:
 Méthodes pour organiser la programmation fonctionnelle
(Merise)
 Séparation des données et des traitements
 Début des années 90:
 Apparition de la programmation objet: nécessite d’une
méthodologie adaptée
 Apparition de plus de 50 méthodes entre 1990 et 1995
 1994
 Consensus sur 3 méthodes
• OMT de James Rumbaugh : représentation graphique des aspects
statiques, dynamiques et fonctionnels d’un système
• OOD de Grady Booch: concept de package
• OOSEde Ivar Jacobson: description des besoins de l’utilisateur
Méthodologie de
Conception Orientée Objet 13
UML
 Consensus entre les « 3Amigos » pour créer une méthode
commune:
 UML: Unified Modeling Language (Langage de Modélisation Unifié)
 1997: Définition de la norme UMLcomme standard de
modélisation des systèmes d’information objet par l’OMG
(Object Management Group)
 UMLest employé dans l’ensemble des secteurs du
développement informatique
 Systèmes d’information
 Télécommunication, défense
 Transport, aéronautique, aérospatial
 Domaines scientifiques
 Mais pas seulement : on peut modéliser des comportement
mécaniques, humain, etc.
Méthodologie de
Conception Orientée Objet 14
Briques de base d’UML
 Les éléments
 Ce sont les abstractions essentielles au modèle.
 Les relations
 Les relations expriment les liens existants entre les différents éléments.
 Les diagrammes
 Un diagramme est une représentation visuelle de l’ensemble des
éléments qui constituent le système
 Ils servent à visualiser un système sous différents angles (utilisateur,
administrateur par ex.)
 Dans les systèmes complexes, un diagramme ne fournit qu’une vue
partielle du système
• L’ensemble des diagrammes réunis permet d’obtenir une vue globale du
système à concevoir
• Chaque diagramme va permettre de modéliser ou spécifier une vue (spécificité)
du système à concevoir

Méthodologie de
Conception Orientée Objet 15
Les 4+1 Vues
 Vue des cas d’utilisation
 Description du modèle vu par les acteurs du système
 Besoins attendus pour chaque acteur
 Le QUOI et le QUI
 Vue logique
 Définition du système vu de l’intérieur
 COMMENT satisfaire les besoins des acteurs
 Vue d’implémentation
 Dépendances entre les modules
 Vue des processus
 Vue temporelle et technique
 Mise en œuvre des notions de tâches concurrentes, synchronisation…
 Vue de déploiement
 Position géographique et architecture physique de chaque élément
 Le Oť
Méthodologie de 16
Conception Orientée Objet
Les 4+1 Vues

Vue Logique Vue d’implémentation


-‐ Classes -‐ Fichiers
-‐ Interfaces -‐ Ressources externes
-‐ Collaboration
Vue des cas d’utilisation

-‐ Cas d’utilisation
-‐ Acteurs

Vue de déploiement Vue des processus

-‐ Nœuds -‐ Processus
-‐ Threads

Méthodologie de
Conception Orientée Objet 17
Diagrammes d’UML 2
 Diagrammes structurels / statiques (UML Structure)
 diagramme de classes (Class diagram)
 diagramme d’objets (Object diagram)
 diagramme de composants (Component diagram)
 diagramme de déploiement (Deployment diagram)
 diagramme de paquetages (Package diagram)
 diagramme de structures composites (Composite structure diagram)

 Diagrammes comportementaux / dynamiques (UML Behavior)


 diagramme de cas d’utilisation (Use case diagram)
 diagramme d’activités (Activity diagram)
 diagramme d’états-transitions (State machine diagram)
 diagrammes d’interaction (Interaction diagram)
• diagramme de séquence (Sequence diagram)
• diagramme de communication (Communication diagram)
• diagramme global d’interaction (Interaction overview diagram)
• diagramme de temps (Timing diagram)

Méthodologie de
Conception Orientée Objet 18
Chp1: Introduction aux Méthodologies de Conception

LE PARADIGME ORIENTÉ
OBJET
Méthodologie de
Conception Orientée Objet 19
Introduction à l’approche
Orientée Objet
 Evolution foudroyante du matériel
 Premier ordinateur :
• 50 tonnes, 25 Kwatts, quelques milliers de positions de mémoire
• Quelques composants par circuit
 Actuellement : Processeurs avec 2, 4 et jusqu’à 6 cœurs
• Quelques grammes, 17 watts, jusqu’à 16 Go de RAM, environs 20 000
MIPS (millions d’instructions par seconde)
• 400 millions de transistors
Concept clef : la Réutilisation
 Evolution lente du logiciel
 Les projets informatiques repartent de zéro!
 Solution : Exploiter le concept de réutilisation pour le logiciel
 Approche orientée objet
Méthodologie de
Conception Orientée Objet 20
Objet…?
 Définitions :
 Entité cohérente rassemblant des données et du code travaillant sur ces données
 Structure de données valuées qui répond à un ensemble de messages
 Caractérisé par :
 son comportement : que peut-on faire avec cet objet?
• Méthodes
 son état : comment réagit l’objet quand on applique ces méthodes?
• Attributs (Champs)
 son identité : comment distinguer les objets qui ont le même état et le
même comportement?
• Identifiant
 Ales mêmes réactions et la même modularité que le monde réel
 L’objet informatique est une projection de l’objet du monde réel

Méthodologie de
Conception Orientée Objet 21
Classe
 Composant de base
 Contient la description d’un objet
 Modèle de l’objet effectif
 Correspond à l’« idée » qu’on se fait d’un objet
 Analogie avec la philosophie platonnienne idéaliste :
• « Vousvouspromenezdansla campagne, vouscroyezavoirrencontrédes troupeaux
dechevaux. Quelleerreur!(…) Carle Cheval-Modèle, le Cheval- Idée,n’est ni
noir ni blanc,il n’est d’aucune [Link] est cheval pur et vossens ne
vous le montreront jamais… » [Civilisation Grecque– [Link] ]
 Voilà, la classe, c’est l’ « idée » du cheval
 Un pur sang arabe de couleur noire, dont le nom estASWAD et
qui boîte légèrement, est un objet instancié à partir de cette
classe!
Méthodologie de
Conception Orientée Objet 22
Exemples
 Classe  Objet
Voiture twingo : Voiture
marque
couleur marque : Renaut
immatriculation couleur : grise
immatriculation : 102 102
démarrer
conduire
arrêter

class Voiture {
// attributs Voiture twingo = new Voiture( );
String marque;
String couleur;
String immatriculation;
//méthodes
void démarrer( ){ }
void conduire( ){ }
void arrêter( ){ }
}
Méthodologie de
Conception Orientée Objet 23
Concepts fondamentaux de
l’approche OO

 Caractéristiques de l’approche objet :


 Encapsulation

 Héritage

 Polymorphisme

 Agrégation

Méthodologie de
Conception Orientée Objet 24
Encapsulation
 Mécanisme consistant à rassembler, au sein d’une même
structure, les données et les traitements
 Définition des attributs et méthodes au niveau de la classe
 L’implémentation de la classe est cachée pour l’utilisateur
 Définition d’une interface : vue externe de l’objet
 Possibilité de modifier l’implémentation sans modifier
l’interface
 Facilité de l’évolution de l’objet
 Préservation de l’intégrité des données
 L’accès direct aux attributs est interdit
 L’interaction entre les objets se fait uniquement grâce aux
méthodes

Méthodologie de
Conception Orientée Objet 25
Encapsulation : Exemple
Concepteur Voiture
marque
couleur Affiche :
immatriculation La voiture est
démarrée
démarrer
conduire
arrêter

Utilisateur
J’aimerais créer une
nouvelle twingo

Voiture twingo = new Voiture( );

Que se passe-‐t-‐ilsije
démarre ma twingo?

twingo.démarrer( );

Méthodologie de
Conception Orientée Objet 26
Héritage
 Un objet spécialisé bénéficie ou hérite des caractéristiques de l’objet
le plus général, auquel il rajoute ses éléments propres
 Création de nouvelles classes basées sur des classes existantes
 Transmission des propriétés (attributs et méthodes) de la classe mère vers la
classe fille
 Traduit la relation « est un … »
 Deux orientations possibles
 Spécialisation : Ajout / adaptation des caractéristiques
 Généralisation : Regroupement des caractéristiques communes
 Possibilité d’héritage multiple
 Avantages
 Éviter la duplication du code
 Encourager la réutilisation du code

Méthodologie de
Conception Orientée Objet 27
Héritage : Exemple
Oeuvre généralisation

titre
auteur

Livre Opéra Film


ISBN genre_musical réalisateur
couverture compositeur bande_originale

Roman BD

nb_chapitres dessinateur

spécialisation

Méthodologie de
Conception Orientée Objet 28
Polymorphisme
 Définition :
 Poly : plusieurs
 Morphisme: Forme
 Faculté d’une méthode à pouvoir s’appliquer à des objets
de classes différentes
 Capacité d’une classe à redéfinir une méthode héritée à
partir d’une classe mère
 Surcharge
 Avantages
 Lisibilité du code
 Généricité du code

Méthodologie de
Conception Orientée Objet 29
Polymorphisme : Exemple

Véhicule

seDéplacer( )

Train Voiture Bateau

seDéplacer( ) seDéplacer( ) seDéplacer( )

seDéplacer(){ seDéplacer(){ seDéplacer(){


Print (« Sur des rails »); Print (« Sur la route »); Print (« Sur l’eau»);
} } }

Méthodologie de
Conception Orientée Objet 30
Agrégation
 Relation entre deux classes, de sorte que les objets de
l’une soient des composants de l’autre
 Traduit la relation « est composéde… » ou « a … »
 Toute agrégation est caractérisée par une cardinalité
 Combien définit la classe contenante d’instances de la classe
contenue?
 Àcombien de classes peut appartenir un objet?
 Avantage
 Partir d’objets de base pour construire des objets complexes

Méthodologie de
Conception Orientée Objet 31
Agrégation : Exemple

Roue
Relation d’agrégation 4

1
Voiture Moteur
1
roues[ ] 1
moteur
châssis
1 Châssis
1
Cardinalité

Méthodologie de
Conception Orientée Objet 32

Vous aimerez peut-être aussi