1 ANALYSE DES DEMARCHES DE TYPE XUP METHODES DE DEVELOPPEMENT CENTREES COMPOSAN

1 ANALYSE DES DEMARCHES DE TYPE XUP METHODES DE DEVELOPPEMENT CENTREES COMPOSANTS Livrable 5.1. du projet TRAFIC Transports : Réutilisation, Adaptation, Fiabilité, Intermodalité et Coopération inter-systèmes Projet de la Région Rhône-Alpes 2003-2005 Thématiques prioritaires Thème 6 : Aide à la décision – Transports Auteurs : Emmanuel Jausseran, Agnès Front, Jean-Pierre Giraudin, Dominique Rieu. Date : Mars 2005 2 TABLE DES MATIERES Table des Matières ...............................................................................................................................2 Introduction..........................................................................................................................................3 Partie A Comparatif orienté méthode..............................................................................................5 1 Critères d’évaluation..............................................................................................................5 1.1 Origines et évolutions .......................................................................................................5 1.2 Utilisation industrielle ou académique..............................................................................6 1.3 Cycle de développement ...................................................................................................7 1.4 Adaptabilité du processus de développement ...................................................................8 1.5 Langages de modélisation...............................................................................................11 1.6 Outils de modélisation.....................................................................................................11 1.7 Plateformes de développement cibles .............................................................................13 1.8 Complexité d’apprentissage............................................................................................13 2 Tableau de synthèse.............................................................................................................14 Partie B Comparatif orienté composants.......................................................................................15 1 Critères d’évaluation............................................................................................................15 1.1 « Design for reuse » versus « Design by reuse »............................................................15 1.2 Composants et architecture logicielle .............................................................................17 1.3 Patterns ...........................................................................................................................18 1.4 Niveaux d’introduction et représentation des composants..............................................20 1.5 Traçabilité des composants .............................................................................................22 1.6 Gestion des configurations..............................................................................................22 2 Tableau de synthèse.............................................................................................................24 Conclusion .........................................................................................................................................25 Abréviations.......................................................................................................................................27 Bibliographie......................................................................................................................................28 Annexes..............................................................................................................................................30 A.1 Fiche signalétique : Catalysis..........................................................................................30 A.2 Fiche signalétique : Rational Unified Process (RUP).....................................................31 A.3 Fiche signalétique : Select Perspective ...........................................................................33 A.4 Fiche signalétique : Two Tracks Unified Process (2TUP)..............................................35 A.5 Fiche signalétique : eXtreme Programming (XP)...........................................................37 3 INTRODUCTION Réutiliser a de tout temps constitué une action clé de l’ingénierie des systèmes logiciels et des systèmes d’information. En 1968, M. McIlroy, dans une conférence de l’OTAN (Organisation du Traité de l’Atlantique Nord) sur l’ingénierie du logiciel (article réédité en 1976 [MCI 76]), annonce une idée tout à fait nouvelle pour l’époque : celle de développer les logiciels « à partir de bibliothèques de composants logiciels produits en masse ». Cette idée a mis un certain temps pour faire son chemin. L’industrie du composant n’a vraiment émergé que dans les années 90. En effet, le développement des logiciels à base de composants (CBDSE, Component-Based Development Software Engineering) est devenu une réalité avec l’évolution des technologies web et Java qui ont facilité la distribution, la recherche, et l’interopérabilité des composants. De nombreuses technologies à base de composants sont aujourd’hui proposées : CORBA de l’OMG, EJB de SUN, COM/DCOM et .NET de Microsoft, etc. Aujourd’hui, dans tous les systèmes, quel que soit le secteur d’activité concerné, les ventes de logiciels à base de composants augmentent constamment [AVA 02]. Les avantages potentiels sont en effet multiples :  diminution considérable des coûts et du temps de conception par la réutilisation ou l’achat de composants déjà réalisés,  augmentation de la fiabilité des logiciels par l’utilisation de composants largement testés,  réduction des coûts de maintenance et d’évolution des systèmes par le remplacement de composants,  rentabilisation des développements par la vente de « COTS Components » (Commercial Of The Shelf Component, ou composants sur étagère en français). Il existe donc un réel enjeu sur l’utilisation et la réutilisation de composants. De plus, cela va dans le sens des entreprises qui, actuellement, doivent régulièrement et rapidement s’adapter à de nouveaux besoins. Ces évolutions nécessitent la mise en œuvre de systèmes d’information flexibles et rapidement adaptables. Créer et faire évoluer des logiciels par assemblage de composants est devenu incontournable. Si les technologies à base de composants ont atteint un niveau de maturité et d’utilisation important dans le monde industriel, les méthodes de développement à base de composants existantes tardent à s’imposer dans les entreprises. Pourquoi ? Quels sont les points forts et les points faibles de ces méthodes ? A partir de quel moment ces méthodes considèrent-elles et intègrent-elles la notion de composant ? De quelle manière ? Quelle est ou quelles sont, aujourd’hui, les meilleures méthodes ? Quelle serait la méthode idéale ? Du moins, quelles sont les améliorations attendues dans les prochaines années ? L’objectif de ce livrable consiste à apporter des éléments de réponse à ces questions. Pour cela, nous établissons un comparatif des méthodes de développement à base de composants suivantes :  Catalysis proposé en son temps par la société Icon Computing,  Rational Unified Process (RUP) proposé par la société IBM Rational Software,  Select Perspective proposé par la société Select Business Solutions Inc.,  Two Track Unified Process (2TUP) proposé par la société Valtech,  eXtreme Programming (XP), proposé par la société First Class Software Inc. 4 La première partie de ce comparatif permet de se familiariser avec ces différentes méthodes en faisant abstraction des composants. La deuxième partie s’attache plus particulièrement à étudier l’implication des composants dans chaque processus de développement. Enfin, la conclusion apport des réponses aux questions posées dans cette introduction. Les annexes proposent une fiche signalétique pour chaque méthode prise en compte dans ce comparatif. 5 Partie A Comparatif orienté méthode Cette première partie du comparatif s’attache aux aspects généraux relatifs à toutes les méthodes de développement. Il convient donc, au préalable, de préciser ce qu’est une méthode de développement. Pierre-Alain Muller [MUL 98] explique qu’une méthode, au sens large du terme, définit une démarche reproductible pour obtenir des résultats fiables. De manière plus précise, une méthode d’élaboration de logiciels décrit :  les règles de modélisation et de construction de systèmes logiciels de manière fiable et reproductible,  les règles de mise en œuvre qui décrivent l’enchaînement des actions, l’ordonnancement des tâches et la répartition des responsabilités. Cette partie se décompose en deux sections :  présentation et application des critères d’évaluation aux méthodes en présence,  consolidation des informations recueillies dans un tableau de synthèse. 1 Critères d’évaluation Les critères retenus pour ce comparatif orienté méthode sont les suivants :  origines et évolutions,  utilisation industrielle ou académique,  cycle de développement,  adaptabilité du processus de développement,  langages de modélisation,  outils de modélisation,  plateformes de développement cible,  complexité d’apprentissage. 1.1 Origines et évolutions La figure 1 présente de manière chronologique l’apparition et les évolutions des différentes méthodes concernées par ce comparatif et en parallèle les différentes versions du langage de modélisation unifié UML (Unified Modeling Language). Temps RUP 4.0 RUP 4.0 RUP 5.0 RUP 5.5 RUP 2000 RUP 2001 RUP 2002 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 ... 2TUP avec UML 1.3 SELECT PERSPECTIVE (approche orientée objet et composants) 2TUP avec UML 1.4 UML 1.1 UML 1.2 UML 1.3 UML 1.4 UML 1.5 UML 2.0 (en cours de validation) RUP 2003 XP ... 1992 1993 CATALYSIS avec UML 1.0 CATALYSIS SELECT PERSPECTIVE UML 0.8 Figure 1 : Chronologie des méthodes comparées 6 Contrairement aux autres méthodes toujours utilisées actuellement, nous pouvons remarquer que le développement de la méthode Catalysis a été arrêté en juin 1998 (suite au rachat de la société Icon Computing par la société Computer Associates). Nous pouvons également voir que la méthode RUP [KRU 03] évolue régulièrement en terme de nouvelles versions. RUP et Select Perspective [SEL01 03] constituent les méthodes les plus anciennes et les plus utilisées. XP et 2TUP peuvent être considérées comme les méthodes les plus récentes et innovantes. Il est intéressant de voir que toutes les méthodes de ce comparatif ne sont pas nées de rien. Elles ont emprunté et capitalisé des concepts, des modèles et des démarches de méthodes plus anciennes. La figure 2 permet de s’en rendre compte. OMT Rumbaugh 1991 Catalysis D'Souza et Wills 1992 - 1999 Spécification formelle Larch, Z, VDM 1980 Fusion Coleman et al. 1994 Syntropy Cook et Daniels 1994 BON Meyer 1988 OORAM Reenskaugh, Wold, Lehne 1995 RUP Booch, Jacobson, Rumbaugh 1996 Objectory Jacobson et al. 1992 Booch Booch 1991 UML Booch, Jacobson, Rumbaugh 1996 DSDM Consortium DSDM 1995 Select Perspective (orienté CBD) Allen, Frost 1997 Select Perspective Allen, Frost 1994 RAD Circa 1991 XP Beck, Cunningham 2000 2TUP Rocques, Vallée 1999 Périmètre du comparatif des méthodes de développement à base de composants Temps Catalyst CSC 1991 Figure 2 : Origines des méthodes comparées Nous pouvons remarquer que la majeure partie des méthodes de développement à base de composants de ce comparatif utilise le langage de modélisation UML [OMG 03a], [MUL 98]. Catalysis s’appuie sur un large éventail de démarches (Bon, Fusion, OMT, OORAM, Syntropy, UML) qui fait d’elle une méthode particulièrement riche. XP est le seul à se démarquer de par ses origines RAD (Rapid Application Development) et une approche dénuée de modélisation. 1.2 Utilisation industrielle ou académique Compte tenu de ce qui a été dit dans le paragraphe précédent, la méthode Catalysis a vécu pendant une période limitée, de 1992 à 1999. Effectivement sa société adoptive, Icon Computing Inc, a fait l’objet d’un rachat par le groupe Computer Associates en juin 1998. Depuis, Catalysis n’est plus utilisée dans le monde industriel. En revanche, cette démarche constitue encore aujourd’hui un formidable gisement d’informations et d’idées utilisé couramment par le milieu universitaire [CAT01 99]. Les autres méthodes sont utilisées en milieu industriel, dans le cadre de projets concrets. 7 En terme de nombre d’entreprises utilisant ces méthodes, les informations sont approximatives. Per Kroll et Philippe Kruchten indiquent dans leur livre [KRO 03] que le RUP est utilisé par une dizaine de milliers d’entreprises. Pour 2TUP, Pascal Rocques et uploads/Industriel/ trafic-livrable5-1.pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager