chp1 intro conception

35
L2ARS/SIL – 2011/2012 MCOO– Chapitre1 INTRODUCTION AUX MÉTHODOLOGIES DE CONCEPTION

Upload: mohamed-awadhi

Post on 14-Nov-2014

1.070 views

Category:

Education


0 download

DESCRIPTION

conception_introduction1

TRANSCRIPT

Page 1: Chp1 intro conception

L2ARS/SIL – 2011/2012

MCOO–

Chapitre1

INTRODUCTION AUX MÉTHODOLOGIES DE

CONCEPTION

Page 2: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

2

Plan

Introduction aux systèmes d’information

Introduction à la conception Le langage UML Le paradigme Objet

Page 3: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

3

LES SYSTÈMES D’INFORMATION

Chp1: Introduction aux Méthodologies de Conception

Page 4: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

4

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’informationsStockage de l’informationTraitement de l’informationDiffusion de l’information

Page 5: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

5

Etapes de Réalisation d’un SI (1/3)

Maintenance et Evolution

Validation

Tests et vérification

Implémentation

Conception

Analyse

Spécification

Expression des besoins

Page 6: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

6

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 A définir sur 3 axes

• Savoir-faire de l’objet axe fonctionnel• Structure de l’objet axe statique• Cycle de vie de l’objet axe dynamique

Conception Apport de solutions techniques: architecture, performance

et optimisation Définition des structures et des algorithmes

Page 7: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

7

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

Page 8: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

8

ÉTAPE DE CONCEPTIONChp1: Introduction aux Méthodologies de Conception

Page 9: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

9

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

Page 10: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

10

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

Page 11: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

11

Méthode et Langage

Méthode de conceptionDescription normative des étapes de la modélisationExemple: MeriseProblème:

• Existence de plusieurs cas particuliers difficulté de représenter une méthode exhaustive

Langage de modélisationLangage graphique pour représenter, communiquer

les divers aspects d’un système d’informationPossède un vocabulaire et des règles qui permettent

de combiner les mots afin de communiquer

Page 12: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

12

UML: UNIFIED MODELING LANGUAGE

Chp1: Introduction aux Méthodologies de Conception

Page 13: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

13

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• OOSE de Ivar Jacobson: description des besoins de l’utilisateur

Page 14: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

14

UML

Consensus entre les « 3 Amigos » pour créer une méthode commune: UML : Unified Modeling Language (Langage de Modélisation

Unifié) 1997: Définition de la norme UML comme standard de

modélisation des systèmes d’information objet par l’OMG (Object Management Group)

UML est 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.

Page 15: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

15

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

Page 16: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

16

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Ù

Page 17: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

17

Les 4+1 Vues

Vue Logique- Classes- Interfaces- Collaboration

Vue d’implémentation- Fichiers- Ressources externes

Vue de déploiement

- Nœuds

Vue des processus

- Processus- Threads

Vue des cas d’utilisation

- Cas d’utilisation- Acteurs

Page 18: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

18

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)

Page 19: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

19

LE PARADIGME ORIENTÉ OBJET

Chp1: Introduction aux Méthodologies de Conception

Page 20: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

20

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

Page 21: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

21

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

A les 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

Page 22: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

22

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 : • « Vous vous promenez dans la campagne, vous croyez avoir

rencontré des troupeaux de chevaux. Quelle erreur! (…) Car le Cheval-Modèle, le Cheval-Idée, n’est ni noir ni blanc, il n’est d’aucune race chevaline. Il est cheval pur et vos sens ne vous le montreront jamais… » [Civilisation Grecque – A.Bonnard ]

Voilà, la classe, c’est l’ « idée » du cheval Un pur sang arabe de couleur noire, dont le nom est

ASWAD et qui boîte légèrement, est un objet instancié à partir de cette classe!

Page 23: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

23

Exemples Classe Objet

Voituremarquecouleurimmatriculation

démarrerconduirearrêter

twingo : Voiture

marque : Renautcouleur : griseimmatriculation : 102 102تونس

class Voiture {// attributs

String marque;String couleur;String immatriculation;

//méthodesvoid démarrer( ){ }void conduire( ){ }void arrêter( ){ }

}

Voiture twingo = new Voiture( );

Page 24: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

24

Caractéristiques de l’approche objet :

Encapsulation

Héritage

Polymorphisme

Agrégation

Concepts fondamentaux de l’approche OO

Page 25: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

25

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

Page 26: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

26

Encapsulation : ExempleVoiture

marquecouleurimmatriculation

démarrerconduirearrêter

Affiche : La voiture est

démarrée

Voiture twingo = new Voiture( );

twingo.démarrer( );

J’aimerais créer une nouvelle twingo

Que se passe-t-il si je démarre ma twingo?

Concepteur

Utilisateur

Page 27: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

27

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

Page 28: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

28

Héritage : Exemple

Oeuvre

titreauteur

Livre

ISBNcouverture

Opéra

genre_musicalcompositeur

Film

réalisateurbande_originale

Roman

nb_chapitres

BD

dessinateur

spécialisation

généralisation

Page 29: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

29

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

Page 30: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

30

Polymorphisme : Exemple

Véhicule

seDéplacer( )

Train

seDéplacer( )

Voiture

seDéplacer( )

Bateau

seDéplacer( )

seDéplacer(){ Print (« Sur des rails »);}

seDéplacer(){ Print (« Sur la route »);}

seDéplacer(){ Print (« Sur l’eau»);}

Page 31: Chp1 intro conception

31

Abstraction

L’abstraction est la caractérisation d’un objet par une partie publique, une partie privée et une partie implémentation.L’accès public L’accès privé La partie implémentation

Page 32: Chp1 intro conception

32

Abstraction

Ce concept d’abstraction engendre deux catégories d’acteurs : les concepteurs des classes les utilisateurs des objets

Ces derniers peuvent utiliser les méthodes d’une classe indépendamment de leurs structures internes.

Ils n’utilisent que les signatures des méthodes (interface de l’objet)

Ce qui permet aux concepteurs des classes d’objets de modifier la structure interne des méthodes des classes sans altérer le travail de leurs utilisateurs.

Page 33: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

33

FIN du Chapitre 1

Page 34: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

34

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?

AvantagePartir d’objets de base pour construire des objets

complexes

Page 35: Chp1 intro conception

08/04/2023 Méthodologie de Conception Orientée Objet

35

Agrégation : Exemple

Voiture

roues[ ]moteurchâssis

Roue

Moteur

Châssis

1

4

11

1

1

Relation d’agrégation

Cardinalité