Chp1 intro conception

2 152 vues

Publié le

conception_introduction1

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 152
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
99
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chp1 intro conception

  1. 1. INTRODUCTION AUX MÉTHODOLOGIES DE CONCEPTION MCOO– Chapitre 1L2ARS/SIL – 2011/2012
  2. 2. Plan  Introduction aux systèmes d’information  Introduction à la conception  Le langage UML  Le paradigme Objet Méthodologie de15/11/2011 Conception Orientée Objet 2
  3. 3. Chp1: Introduction aux Méthodologies de Conception LES SYSTÈMES D’INFORMATION Méthodologie de15/11/2011 Conception Orientée Objet 3
  4. 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’informations  Stockage de l’information  Traitement de l’information  Diffusion de l’information Méthodologie de15/11/2011 Conception Orientée Objet 4
  5. 5. 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 de15/11/2011 Conception Orientée Objet 5
  6. 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 Méthodologie de15/11/2011 Conception Orientée Objet 6
  7. 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 Méthodologie de15/11/2011 Conception Orientée Objet 7
  8. 8. Chp1: Introduction aux Méthodologies de Conception ÉTAPE DE CONCEPTION Méthodologie de15/11/2011 Conception Orientée Objet 8
  9. 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 Méthodologie de15/11/2011 Conception Orientée Objet 9
  10. 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 Méthodologie de15/11/2011 Conception Orientée Objet 10
  11. 11. 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 Méthodologie de15/11/2011 communiquer Conception Orientée Objet 11
  12. 12. Chp1: Introduction aux Méthodologies de Conception UML: UNIFIED MODELING LANGUAGE Méthodologie de15/11/2011 Conception Orientée Objet 12
  13. 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 package15/11/2011 • OOSE de Ivar Jacobson:de Méthodologie description des besoins de 13 l’utilisateur Conception Orientée Objet
  14. 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. Méthodologie de15/11/2011 Conception Orientée Objet 14
  15. 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 Méthodologie de15/11/2011 Conception Orientée Objet 15
  16. 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Ù Méthodologie de15/11/2011 Conception Orientée Objet 16
  17. 17. 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 de15/11/2011 Conception Orientée Objet 17
  18. 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) Méthodologie de15/11/2011 Conception Orientée Objet 18
  19. 19. Chp1: Introduction aux Méthodologies de Conception LE PARADIGME ORIENTÉ OBJET Méthodologie de15/11/2011 Conception Orientée Objet 19
  20. 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!15/11/2011 Solution : Exploiter le concept de réutilisation pour 20 Méthodologie de Conception Orientée Objet
  21. 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 Méthodologie de15/11/2011 21  L’objet informatique Orientée projection Conception est une Objet de l’objet du monde
  22. 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 cettede Méthodologie classe!15/11/2011 Conception Orientée Objet 22
  23. 23. 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 de15/11/2011 Conception Orientée Objet 23
  24. 24. Concepts fondamentaux de l’approche OO  Caractéristiques de l’approche objet :  Encapsulation  Héritage  Polymorphisme  Agrégation Méthodologie de15/11/2011 Conception Orientée Objet 24
  25. 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 Méthodologie de15/11/2011 Conception Orientée Objet 25
  26. 26. 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-il si je démarre ma twingo? twingo.démarrer( ); Méthodologie de15/11/2011 Conception Orientée Objet 26
  27. 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 Méthodologie de15/11/2011  Encourager la réutilisation du code Conception Orientée Objet 27
  28. 28. 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 de15/11/2011 Conception Orientée Objet 28
  29. 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 Méthodologie de15/11/2011 Conception Orientée Objet 29
  30. 30. 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 de15/11/2011 Conception Orientée Objet 30
  31. 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 31
  32. 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. 32
  33. 33. FIN du Chapitre 1 Méthodologie de15/11/2011 Conception Orientée Objet 33
  34. 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?15/11/2011  Avantage Méthodologie de 34 Conception Orientée Objet
  35. 35. 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 de15/11/2011 Conception Orientée Objet 35

×