Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFantine Lacombe Modifié depuis plus de 10 années
1
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 1 Agnès Conte Département Informatique - IUT2 Grenoble Transparents issus dune présentation préparée par léquipe SIGMA-LSR-IMAG, Dominique.Rieu@imag.fr, Agnes.Conte@imag.fr, Jean-Pierre.Giraudin@imag.fr Journées Patterns – Départements Informatique des IUT Contexte des patrons dans la problématique Réutilisation
2
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 2 « Il n y a quune méthode pour inventer, qui est dimiter. Il n y a quune méthode pour bien penser, qui est de continuer quelque pensée ancienne et éprouvée ». Alain Réutilisation Une évolution « naturelle » du métier - réduire les coûts et les délais de conception, dimplantation - et de maintenance si la réutilisation sallie à la traçabilité Conséquences sur les produits Plus rapides à développer, Plus faciles à maintenir, Certainement meilleurs, Moins originaux.
3
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 3 Ingénieur d applications Ingénierie d applications Application Par réutilisation Pour la réutilisation Concepteur de composants Ingénierie de composants Bibliothèque de composants Développement Pour et Par Réutilisation
4
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 4 Réutilisation dans lingénierie logicielle adaptation de J-M. Nerson, CACM 92 Spécifications Informelles Modèle Descriptif & Normatif Informatisable Modèle Effectif Informatisé Logiciel Expression des besoins Analyse (abstraction du monde réel) Conception (solution technique) Implantation (solution opérationnelle) COMPOSANTS
5
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 5 Réutilisation dans lingénierie logicielle Spécifications Informelles Modèle Descriptif & Normatif Informatisable Modèle Effectif Informatisé Logiciel Expression des besoins Analyse (abstraction du monde réel) Conception (solution technique) Implantation (solution opérationnelle) Patrons danalyse Modèles de domaine Composants métiers conceptuels Patrons darchitecture Patrons de conception ERP, Frameworks Patrons dimplantation Composants métiers logiciels Bibliothèques de classes
6
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 6 Un composant réutilisable : - traite un problème récurrent de lingénierie des SI, - capitalise un fragment de produit ou de processus, - offre une solution conceptuelle et/ou logicielle testée, acceptée et adaptable. Réutilisation dans lingénierie du logiciel èNécessité de classifier, documenter, organiser, composer les composants… èNécessité de démarches centrées réutilisation. Une très grande variété de composants réutilisables. La réutilisation ne doit plus être limitée aux produits logiciels.
7
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 7 Critères de caractérisation des composants * Type des connaissances : produit ou processus, * Couverture : générale (horizontale), métier (verticale), entreprise * Portée : étapes d ingénierie, * Nature de la solution : logicielle ou conceptuelle, * Technique de réutilisation : spécialisation, composition, instanciation, duplication… * Ouverture : boîte noire, blanche ou en verre, * Granularité : taille du composant en nombre de classes, de modules,…
8
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 8 Critères de caractérisation : application aux bibliothèques logicielles Type des connaissances Couverture Portée Nature de la solution Tech. de réutilisation Ouverture Granularité Spécialisation et Instanciation Bibliothèques de classes Logicielle Boîte en verre Très faible Produit Implantation Horizontale
9
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 9 Critères de caractérisation : application aux frameworks Type des connaissances Couverture Portée Nature de la solution Tech. de réutilisation Ouverture Granularité Framework Logicielle Forte Produit Conception globale « Un framework est un squelette dapplication qui peut être personnalisé par un développeur » R. Johnson - Un ensemble de classes qui coopèrent, - Une architecture objet réutilisable, - Un produit semi-fini à adapter. Des boites en verre à spécialiser, Des boites noires à composer, Des générateurs…
10
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 10 Type des connaissances Couverture Portée Nature de la solution Tech. de réutilisation Ouverture Granularité Framework JHotDraw Logicielle Spécialisation Boîte verre Forte > 100 classes Framework Logicielle Forte Produit Conception globale Conception globale Horizontale Produit HotDraw: J.M. Brant et R. Johnson JHotDraw E.Gamma Critères de caractérisation : application aux frameworks
11
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 11 Type des connaissances Couverture Portée Nature de la solution Tech. de réutilisation Ouverture Granularité Patron Conceptuelle Imitation puis Intégration Boîte blanche Faible Critères de caractérisation : application aux patrons « Un patron décrit à la fois un problème qui se produit très fréquemment dans votre environnement et larchitecture de la solution à ce problème de telle façon que vous puissiez utiliser cette solution des milliers de fois sans jamais ladapter deux fois de la même manière» C. Alexander Une base de savoir et de savoir-faire pour résoudre un problème récurrent dans un domaine. Permet didentifier le problème à résoudre, Propose une solution consensuelle pour y répondre, Offre les moyens dadapter cette solution.
12
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 12 Type des connaissances Couverture Portée Nature de la solution Tech. de réutilisation Ouverture Granularité Patron de conception Produit Horizontale (générale) Conception Détaillée Conceptuelle Imitation puis Intégration Boîte blanche Faible : 2 à 4 classes Critères de caractérisation : application aux patrons [Gamma 95] Exemple : lObservateur Intention : définir une ou plusieurs dépendances entre un sujet et ses observateurs de sorte que si le sujet change d'état, tous ses observateurs en soient informés et mis à jour. Motivation : 1 sujet Ouest = 33,5 Nord = 12,4 Est = 44,0 Sud=10,1 3 observateurs
13
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 13 Type des connaissances Couverture Portée Nature de la solution Tech. de réutilisation Ouverture Granularité Patron de conception Produit Horizontale (générale) Conception Détaillée Conceptuelle Imitation puis Intégration Boîte blanche Faible : 2 à 4 classes Critères de caractérisation : application aux patrons [Gamma 95] Exemple : lObservateur Solution: Sujet état_sujet lire_état () modifier_état () notifier () lier (Observateur) délier (Observateur) Observateur état_observateur mise_à_jour( ) 1..* observateurs pour tout o de observateurs o.mise_à_jour() return état-sujet
14
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 14 CoadGoF Systèmes de patrons SIGMA 2000 produit processus entreprise domaine générique analyse conception implantation SIP [Gzara 00] CoadGamma Ambler « Un langage de patrons est une collection structurée de patrons construits lun sur lautre pour transformer les besoins et les contraintes dans une architecture ». C. Alexander / J. Coplien Un patron processus fournit une collection de techniques, dactions et/ou de tâches à suivre pour le développement des logiciels. Ambler 98
15
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 15 Un patron constitue une base de savoir et de savoir-faire pour résoudre un problème récurrent dans un domaine Un système de patrons est une collection de patrons coordonnés intégrant une démarche de conception pour résoudre un problème complexe Patron & système de patrons Actuellement les systèmes de patrons sont des catalogues « papiers » - Peu organisés, formalisés, instrumentés De nombreux travaux : - Formalisation des solutions quest ce quune spécification générique ? Comment exprimer la variabilité ? - Expression des relations inter-patrons pour organiser les systèmes, exprimer les démarches,… - Mise en œuvre des patrons dans des ateliers de développement - Unification des formalismes existants….
16
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 16 Formalisme pour les patrons produit [Gamma95] : 1- nom et classification 2- intention 3- alias 4- motivation 5- indications dutilisation 6- structure 7- constituants 8- collaborations 9- conséquences 10- implantation 11- exemples de code 12- utilisations remarquables 13- modèles apparentés Diversité des formalismes Formalisme pour les patrons processus [Ambler98] : 1- nom 2- but 3- type 4- contexte initial 5- solution 6- contexte résultant 7- exemples 8- patrons liés
17
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 17 Conclusion Ingénierie logicielle : -une ingénierie « classique » avec quelques spécificités Enjeux actuels : autour des processus -traçabilité et réutilisation Réutilisation : une évolution naturelle du métier -à ne pas limiter aux produits logiciels -Conceptuel/Logiciel, Produit/Processus, Horizontal/Vertical Approche Patron : un bon compromis - Les formaliser ? Les instrumenter ?
18
Journées Patterns, Grenoble, 3-4 Avril 2003 DR /AC/JPGpage 18 Identifier les problèmes Construire un référentiel Analyser les modèles existants Identifier les problèmes Intégrer le patron associé dans le catalogue Définir de nouveaux patrons dérivant des patrons existants Décomposer le problème en sous-problèmes Définir nouvelle solution Problème déjà traité raffinement d'un problème Nouveau problème Problème décomposable Spécifier les solutions Catalogue patrons Ingénierie des Patrons Ingénierie des SIP Analyse domaine Nouveau SIP SIP existants Processus 1 Processus 2 Cahier des chargesSIP Ingénierie des patrons
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.