GLAO Dossier sur l Inventaire des Composants Intégrables Groupe Caïman Epita - SIGL Promo 2004 http://caiman-sigl.fr.st Nb de Pages : 78 Taille : 1 835 008 bytes Version : 1.0 / 23.02.03 Référence : Auteurs : Validé par : LJA en tant que RD Caïman ECH en tant que RQ Destinataires : Hervé Durand Caïman Remarques : Impression du : 07/03/2003 2:10
Historique du document : N de version Date Auteur Description des modifications 0.1 03/02 LJA CAIMAN Initialisation des recherches (1 er draft) 0.2 12/02 LJA CAIMAN Poursuite, approfondissement et amélioration des parties de chacun (2 ème draft) 0.3 18/02 LJA CAIMAN Approfondissement en vue de la finalisation de l ICI, explication des éléments essentiels dans le choix de l AGL final 0.4 22/02 LJA Première version de l ICI exploitable 1.0 23/02 CAIMAN 1 ère version finale de l ICI Glossaire : Abréviation EPITA GLAO SIGL ICI AGL OGL XP SGBD UML SI IDE OS OMT Description Ecole Pour l Informatique et les Techniques Avancées Système d Information et Génie Logiciel Inventaire des Composants Intégrables Atelier de Génie Logiciel Outil de Génie Logiciel extreme Programming Système de Gestion de Bases de Données Unified Modeling Language Système d information Integrating Development Environment Operating System (système d exploitation) Object Modeling Technique Page 2 de 78
Sommaire 1 INTRODUCTION... 5 1.1 OBJECTIFS DU DOCUMENT...5 1.2 CONCEPTS MANIPULES DANS LE PRESENT DOCUMENT...5 1.3 I NSCRIPTION DANS LE PROJET...5 1.4 GUIDE DE LECTURE/ UTILISATION DU DOCUMENT...6 2 ETAT DE L'ART DES OGL... 7 2.1 OGL LIE A UNE PHASE DE DEVELOPPEMENT DU LOGICIEL...7 2.1.1 Outils d analyse...7 2.1.1.1 Définition... 7 2.1.1.2 Synoptique des outils d analyse présentés... 7 2.1.1.3 Etat de l art... 8 2.1.2 Outils de conception...11 2.1.2.1 Définition...11 2.1.2.2 Synoptique des outils de conception présentés...11 2.1.2.3 Etat de l art...12 2.1.3 Outils de réalisation...16 2.1.3.1 Définition...16 2.1.3.2 Synoptique des outils de réalisation présentés...17 2.1.3.3 Etat de l art...18 2.1.4 Outils de documentation...23 2.1.4.1 Définition...23 2.1.4.2 Synoptique des outils de documentation présentés...24 2.1.4.3 Etat de l art...25 2.1.5 Outils de test...33 2.1.5.1 Définition...33 2.1.5.2 Etat de l art...35 2.2 OGL TRANSVERSES, NON LIES A UNE PHASE PARTICULIERE...39 2.2.1 Outils de gestion de configuration, de version...39 2.2.1.1 Définition...39 2.2.1.2 Etat de l art...40 2.2.2 Outils de gestion de projet...42 2.2.2.1 Définition...42 2.2.2.2 Etat de l art...43 3 ETAT DE L'ART DES METHODES... 49 3.1 METHODES ORIENTEES OBJET...49 3.1.1 Définition...49 3.1.2 Synoptique des méthodes orientées objet présentées...49 3.1.3 Etat de l art...50 3.2 METHODES TEMPS REEL...54 3.2.1 Définition...54 3.2.2 Synoptique des méthodes temps réel présentées...54 3.2.3 Etat de l art...55 3.3 MERISE...57 3.3.1 Présentation de la méthode...57 3.3.2 Les trois niveaux de représentation d'un système d'information par la méthode Merise : 57 3.4 EXTREME PROGRAMMING... 58 3.4.1 Présentation de la méthode...58 Page 3 de 78
3.4.2 Les trois pôles méthodologiques de l XP...58 4 LISTES DES OUTILS D'EXECUTION... 60 4.1 LIES AU SYSTEME D EXPLOITATION...60 4.1.1 Système d exploitation...60 4.1.1.1 Définition...60 4.1.1.2 Enumération...60 4.1.2 Bibliothèque Runtime...61 4.1.2.1 Définition...61 4.1.2.2 Enumération...61 4.1.3 Machine virtuelle/interpréteur...63 4.1.3.1 Définition...63 4.1.3.2 Enumération...63 4.2 CONTENEUR DE DONNEES...64 4.2.1 Définition...64 4.2.2 Les principaux SGBD...64 4.3 CONTENEURS D APPLICATION...67 4.3.1 Les serveurs Web...67 4.3.1.1 Définition...67 4.3.1.2 Fiche synoptique...67 4.3.1.3 Enumération...68 4.3.2 Serveurs d application...70 4.3.2.1 Définition...70 4.3.2.2 Enumération...70 4.3.3 Portail Web...72 4.3.3.1 Définition...72 4.3.3.2 Enumération...72 4.3.4 Middleware...74 4.3.4.1 Définition...74 4.3.4.2 Enumération...75 Page 4 de 78
1 Introduction 1.1 Objectifs du document Ce document a pour but de réaliser un inventaire des OGL (outils de génie logiciel) existant sur le marché en vue de la création d un AGL (atelier de génie logiciel). Pour cela, il présente un état de l art des outils techniques et des méthodes utilisables pour chacune des phases du cycle de développement d un projet. Il présente aussi une liste des outils d exécution servant à héberger certains modules du projet final. Cet inventaire ne se veut pas exhaustif, mais le plus complet possible. Il a pour but de nous donner une bonne vision de ce que le marché propose en terme d outils et de méthodes nécessaires à la mise en œuvre d un projet d envergure. Ainsi nous pourrons faire un choix plus judicieux des composants de notre AGL. Il est important de dégager aussi dans ce document les interopérabilités qu il peut exister entre les OGL. Ainsi nous pourrons choisir, par exemple, des OGL qui s intègrent bien ensemble pour obtenir un AGL uniforme et cohérent mais également adopter une stratégie dans la réalisation de cet AGL. 1.2 Concepts manipulés dans le présent document Un AGL est un ensemble cohérent de logiciels aidant au développement d un logiciel. Autrement dit, il s agit d un système de développement assisté par ordinateur qui intègre des outils, appelés OGL, adaptés à chacune des phases du développement d un logiciel. Il facilite la communication et la coordination entre ces différentes phases et s appuie aussi sur des méthodes qui formalisent le processus de développement du logiciel, et ce pour chacune des phases qui le composent. Ainsi, il a pour but d augmenter la productivité de l équipe de projet et la qualité du produit final. Notamment, il permet le suivi du projet dans son ensemble en offrant un environnement de production cohérent. 1.3 Inscription dans le projet Le projet de GLAO comporte deux parties principales : la réalisation d un AGL et le développement d un projet en utilisant cet AGL. Ce document se situe en amont de la phase de réalisation de notre AGL. Il dresse un inventaire des OGL et des méthodes existants sur le marché. Ainsi il facilitera le choix des composants de l AGL final, rendant ainsi le développement du projet «mu» plus efficace. D autre part il nous permet de nous donner une vision globale du génie logiciel assisté par ordinateur tant en termes techniques que méthodologiques, nous apprenant ainsi à mieux connaître le marché pour être le plus productif possible à l avenir. Page 5 de 78
1.4 Guide de lecture/utilisation du document Ce document se divise en trois parties : Un état de l art des OGL Ces OGL sont répartis par phase du cycle de développement. Certains sont utilisés tout au long du cycle de développement. Un état de l art des méthodes de développement. Elles sont réparties en deux catégories : Les méthodes orientées objet. Les méthodes temps réel. Une liste des outils d exécution Ils sont répartis en trois catégories : Les outils liés à l OS. Les conteneurs de données. Les conteneurs d application. Chaque état de l art comporte les informations suivantes : Le nom et la version du produit Le nom et l url de l éditeur L url du produit Une description du produit et de ses fonctionnalités Le prix/la licence La plate-forme d utilisation et l interopérabilité avec d autres programmes Pour les outils d exécution nous ne faisons qu un inventaire contenant le nom du produit ainsi qu une brève description du produit. Page 6 de 78
2 Etat de l'art des OGL 2.1 OGL lié à une phase de développement du logiciel 2.1.1 Outils d analyse 2.1.1.1 Définition Ces outils permettent l'analyse des besoins, les considérations techniques et la faisabilité informatique pour produire une description de ce que doit faire le système mais sans préciser comment il le fait (on précise le quoi mais pas le comment). Elle précise les fonctionnalités, les contraintes, l environnement du système. Outil d analyse Page Mega Process 5.3 8 Mega Architecture 6 8 Rational Requisite Pro 2002 9 Rational AnalystStudio 2002 9 CaseWise Corporate Modeler 8 e 10 Gota Analyst Pro 3.6.4 10 2.1.1.2 Synoptique des outils d analyse présentés Pour cette partie les critères de choix seront les suivants : l interopérabilité des OGL L OS sur lequel l OGL tourne Mega Process 5.3 Office XP/2000 Produits Mega Mega Architecture 6 Office XP/2000 Produits Mega Rational Requisite Pro 2002 Word Produits rational Rational AnalystStudio 2002 Word Autres produits rational CaseWise Corporate Modeler 8 e Gota Analyst Pro 3.6.4 Page 7 de 78
2.1.1.3 Etat de l art Mega Process 5.3 MEGA http://www.mega.fr/fr/product/megaprocess/. Trial 30 jours disponible MS Office XP/2000 Mega Process propose des fonctions d analyse et de conception pour identifier, formaliser, documenter les processus et les procédures de l entreprise et fournit un support d aide à la décision et à l analyse d impact lors du choix de scénarios d organisation. Il assiste les organisateurs dans l amélioration ou la reconception des processus de l entreprise. Ce logiciel permet de décrire les processus ainsi que les principaux acteurs de l entreprise, évaluer les procédures et quantifier les ressources nécessaires à leur mise en œuvre. Fonctionnalités : Définition des Processus et Procédures Evaluation des Activités Analyse d Impact Production de Sites Web et de Documentation Travail en équipe Support complet du multilinguisme Mega Architecture 6 MEGA http://www.mega.fr/fr/product/megaarchitecture/. Trial 30 jours disponible MS Office XP/2000 Mega Architecture permet de modéliser et d analyser les systèmes d information et leurs relations avec les processus entreprise. Il est également possible de définir une cartographie précise des systèmes existants et les développements ou maintenances à réaliser. Fonctionnalités : Arbre applicatif Architecture Applicative Collaborations entre systèmes et partenaires Flux d'information Vue Métier du système Modèle de données d'un système Page 8 de 78
Requisite Pro 2002 RATIONAL http://www.rational.com/products/reqpro/ http://www.rational.com/media/products/reqpro/d502f_reqpro.pdf 1 888. Version d évaluation téléchargeable limitée 15 jours Word, autres produits Rational Requisite Pro est un outil de gestion des spécifications conçu pour les environnements multi-utilisateurs. L outil intègre des extensions vers Ms Word. De plus, Requisite requiert l utilisation d un moteur de base de données pour stocker ses données. Fonctionnalités : Management et priorisation Analyse du changement en temps réel AnalystStudio 2002 RATIONAL http://www.rational.com/products/astudio/ 4875. Version d évaluation téléchargeable limitée 15 jours Word, autres produits Rational Rational Suite AnalystStudio fait le lien entre l analyste et le reste de l équipe de développement, en simplifiant le processus de gestion des besoins. Fonctionnalités : Logiciel d'analyse du système et des intervenants sur un projet Permet le management et la communication au sein du groupe de projet Gère le changement en temps réel sur un projet Page 9 de 78
Corporate Modeler 8e Analyst Pro 3.64 CASEWISE http://www.casewise.com/solutions/corpmodeler.php. Version d évaluation téléchargeable Casewise Corporate Modeler sert à modeler et documenter les processus d affaire de l entreprise en vue de les faciliter. Fonctionnalités : Modeleur de hiérarchie Modeleur d interactions entre les processus Modeleur générique Modeleur générique Modeleur de flux de données Modeleur de structures de données Manager de repository Tableur GOTA Software http://www.analysttool.com/products.html 500$ pour la Personal Edition 1000$ pour la version réseau + 250$ par poste Version de Démo téléchargeable sur http://www.analysttool.com/products.html Analyst Pro est un outil de gestion des exigences fonctionnelles, spécifications et analyses. C est un outil libre utilisé pour des conditions de logiciel de gestion, cahier des charges, traçage et analyse. Il permet de faciliter la communication entre les membres d une équipe Fonctionnalités : Versions single et réseau Management des spécifications Management des tests cases Analyse et tracing Gestion des workflow intégré à l outil Aide à la rédaction de documentation Aide à l assurance qualité du produit Multiprojets Page 10 de 78
2.1.2 Outils de conception 2.1.2.1 Définition Les outils de conception permettent de construire des représentations abstraites sous forme de diagrammes qui vont décrire le comportement des composants du logiciel à réaliser. En outre, la plupart d entre eux permettent de produire du code à partir de ces diagrammes. Les critères de sélections pour ce type d outils sont généralement les suivants : Les langages qu ils manipulent L interopérabilité éventuelle avec d autres outils, ou l appartenance à une suite (bien qu inutile dans notre AGL) Outil de conception Page Rational Rose 12 Together ControlCenter 12 ModelMaker 13 SoftTeam Objecteering 13 Mega Development 14 TIGRIS ArgoUML 14 I-LOGIX Rhapsody 15 Microsoft Visio 15 2.1.2.2 Synoptique des outils de conception présentés Editeur / Nom Environnement Langages Interopérabilité Rational Rose, Unix, Borland, JBuilder, Suite Rational Linux Visual Cafe, Oracle Jdeveloper IBM s VisualAge, Dreamweaver Ultradev, Delphi, Ada, C++, Java, Smalltalk, Power- Builder, VisualBasic Together, Unix, Java, C++, VB.net, ControlCenter Linux C#, VB 6 ModelMaker Delphi Delphi SoftTeam,Linux Java, C++, Corba Objecteering IDL et SQL Mega Development Java, EJB, C++, Produits de la gamme Mega VB, CORBA, COM, XML (XDR, XSD, ), VisualAge pour Java, XMI TIGRIS ArgoUML Portabilité Java Java I -LOGIX Rhapsody, Solaris C, C++, Java, ADA Microsoft Visio Produit des diagrammes Page 11 de 78
2.1.2.3 Etat de l art Rose, Unix, Linux Rational http://www.rational.com Immeuble de la Gare Bâtiment B 4ème étage 1, Place Charles de Gaulle 78180 Montigny-le-Bretonneux Tel : +33 (0)1 30 12 09 50 Fax : +33 (0)1 30 12 09 66 E-mail : info- fr@rational.com Version d évaluation http://www.rational.com/tryit/rose/index.jsp $4194 Borland, JBuilder, Visual Cafe, Oracle Jdeveloper IBM s VisualAge, Langage produit : Dreamweaver Ultradev, Delphi, Ada, C++, Java, Smalltalk, Power- Builder, VisualBasic Suite Rational Méthodologie supportée RUP, Booch, OMT-2, UML Rose est le Leader du marché en outil de modélisation UML, et comprend un ensemble d outils de modélisation visuels. Fonctionnalités : facilite la gestion des projets de développements. Together ControlCenter Possibilité d avoir une liaison bidirectionnelle synchronisée entre un modèle UML de Rose et du code Java, Unix, Linux TogetherSoft http://www.togethersoft.com TogetherSoft France Le Patio 104 Avenue Albert Premier 92563 Rueil Malmaison Cedex France Tél: +33 (0) 1 41 39 06 30 Fax: +33 (0) 1 41 39 06 39 Version d évaluation http://www.togethersoft.com/downloads/index.jsp Langage produit : Java, C++, VB.net, C#, VB 6 Méthodologie supportée UML Together ControlCenter est un outil de modélisation UML permettant de produire du code ainsi que de la documentation Page 12 de 78
ModelMaker Le distributeur en France est Diffuslog http://www.modelmaker.demon.nl TEL 01 34 63 07 01 Version d évaluation http://www.modelmakertools.com/download.htm Langage produit : Delphi Delphi Méthodologie supportée UML ModelMaker est un outil de modélisation UML qui est bidirectionnel synchronisé entre le modèle UML et le code Delphi. De plus il permet aussi le reverse engineering. En outre il permet de générer des applications, d'aide au développement et d'aide à la génération de fichier d'aides ou de documentation d applications et de classes. Objecteering, Linux SOFTEAM http://www.softeam.fr Softeam - Siège Social - Paris - France 144 Avenue des Champs-Elysées 75008 PARIS Tél : +33 (0)1 53 96 84 00 - Fax : +33 (0)1 53 96 84 01 info@softeam.com Version d évaluation http://www.objecteering.com/downloads.php Langage produit : Java, C++, Corba IDL et SQL Méthodologie supportée UML Objecteering est un outil de modélisation UML Fonctionnalités : - Génération de documentation au format HTML et Rtf - Importation et Exportation de model UML a travers le format XMI Page 13 de 78
Mega Development Version d évaluation Langage produit : Méthodologie supportée MEGA http://www.mega.com/fr/product/megadevelopment France, siège social MEGA 10 boulevard du Montparnasse 75015 Paris FRANCE Phone: 33-(0)1 42-75-4000 Fax: 33-(0)1 42-75-4096 info.fr@mega.com http://www.mega.com/fr/download/product/ Java, EJB, C++, VB, CORBA, COM, XML (XDR, XSD, ), VisualAge pour Java, XMI Produits de la gamme Mega UML Mega Development est un outil de modélisation UML Fonctionnalités : - Documentation automatique des projets (Word, html) - Génération automatique des spécifications ArgoUML Portabilité Java TIGRIS http://argouml.tigris.org/ Version d évaluation Version freeware : http://argouml.tigris.org/servlets/projectdocumentlist BSD License Langage produit : java Logiciel utilisant le XMI Méthodologie supportée UML ArgoUml est un outil de modélisation UML pour java et fait en java Page 14 de 78
Rhapsody, Solaris I-LOGIX http://ilogix.com I -Logix Inc. Three Riverside Drive Andover, Massachusetts 01810 US Tel: (978) 682-2100 Fax: (978) 682-5995 Email: info@ilogix.com Version d évaluation http://ilogix.com/quick_links/downloads.cfm Langage produit : C, C++, Java, ADA Méthodologie supportée UML Outil de modélisation UML Fonctionnalités : - supporte tous les diagrammes UML standard - permet le Reverse Engineering - échange de données possible au format XMI Visio Microsoft http://www.microsoft.com/office/visio/ Service Clients Microsoft France 18 avenue du Québec 91957 Courtaboeuf Cedex E-mail : MSFrance@Microsoft.com Version d évaluation http://www.microsoft.com/office/visio/evaluation/trial.asp Langage produit : Produit des diagrammes Méthodologie supportée UML, SADT, Visio permet de créer tous type de diagrammes ainsi que des dessins techniques. Page 15 de 78
2.1.3 Outils de réalisation 2.1.3.1 Définition Un outil de réalisation permet de développer une application résultant de l analyse et de la conception. IDE et RAD sont les deux grandes principales familles d outils de réalisation. Bien qu aujourd hui la limite entre les deux tends de plus en plus à se rapprocher. Un IDE est un environnement complet regroupant tous les outils nécessaires au développement d'une application. C est un logiciel mettant à la disposition du développeur, tous les éléments dont il aura besoin pour mener à bien son projet. A savoir, un éditeur de code source, une interface de manipulation du compilateur, un débogueur Les RAD proposent des solutions de développement rapide et de haute productivité. Pour cela la réalisation d une application s effectue majoritairement à la souris. Cette approche s avère aujourd hui surtout efficace pour la réalisation d interface graphique. Les éléments suivants influencent sur le choix d un outil de réalisation : Le langage L ergonomie, la souplesse de l environnement La productivité de l environnement Un ensemble de composants intégrables Outil de réalisation Page Borland C++ Builder 18 Borland Delphi 7 18 Borland JBuilder 8 19 Borland Kylix 3 19 IBM Visual Age 19 MS Visual Studio.NET 20 Metrowerks Codewarrior 20 Glade 20 SUN Forté 21 Windev 21 Oracle 9i developer suite 22 I-Logix Rhapsody 22 Rational Apex duo 22 Page 16 de 78
2.1.3.2 Synoptique des outils de réalisation présentés Editeur / Nom Environnement Langages Interopérabilité Borland C++ Builder C/C++ Microsoft Visual C++ Oracle 8i Delphi Microsoft BizTalk Sun ONE Borland Delphi 7 Delphi Microsoft Visual C++ Oracle Microsoft BizTalk Sun ONE Borland JBuilder 8 Java Microsoft Visual C++ Oracle 9i Microsoft BizTalk Sun ONE Borland Kylix 3 Linux C/C++, Delphi Microsoft Visual C++ Oracle 9i Delphi Microsoft BizTalk Sun ONE IBM Visual Age Java, C++, Cobol Rational Rose IBM WebSphere Rational ClearCase Merant PVCS MS Visual Studio.NET C# de préférence Rational Rose IBM WebSphere Rational ClearCase Merant PVCS Metrowerks C/C++, Java, VB Codewarrior Glade Linux C, C++, ADA95, Python / Perl SUN Forté Linux/windows C++, Java Javadoc Windev C, C++, Java, VB, Pascal, Cobol, Fortran Oracle 9i developer suite Java J2EE DB Oracle I -Logix Rhapsody C/C++, Java, ADA Rational Rose Rational ClearCase PVCS Version Manager (Merant) Rational Apex duo C/C++, ADA Page 17 de 78
2.1.3.3 Etat de l art C++ Builder 6 Langage(s) : C/C++ (Ansi/ISO) BORLAND http://www.borland.fr/cbuilder Revendeur de licence Education (étudiant et formateur) : http://info.borland.fr/ou_acheter/education/ Version professionnelle pour étudiant : 154,28 Microsoft Visual C++, Oracle 8i, Delphi, Microsoft BizTalk, Sun ONE RAD haute productivité. Dédié à la conception d application dans les technologies Web émergentes. Développement d IHM rapide et aisé Support des Web service Permet le développement rapide d application Web Développement multiplateformes : et Linux Support des principales bases de données du marché Delphi 7 Langage(s) : Pascal / Delphi BORLAND http://www.borland.fr/delphi Revendeur de licence Education (étudiant et formateur) : http://info.borland.fr/ou_acheter/education/ Version professionnelle pour étudiant : 154,28 Microsoft Visual C++, Oracle, Delphi, Microsoft BizTalk, Sun ONE Méthodologie supportée UML Delphi est une solution de développement haute productivité pour Internet et les environnements distribués Support des Web service Développement d application.net Permet le développement rapide d application Web Développement d utilitaires aisé Développement multiplatformes : et linux Support des principales bases de données du marché Page 18 de 78
JBuilder 8 Langage(s) : Java BORLAND http://www.borland.fr/jbuilder Revendeur de licence Education (étudiant et formateur) : http://info.borland.fr/ou_acheter/education/ Version professionnelle pour étudiant : 154,28 Méthodologie supportée Microsoft Visual C++, Oracle 8i, Delphi, Microsoft BizTalk, Sun ONE UML JBuilder est un ensemble complet d outils visuels de développement pour construire des applications Java, des applets, servlets, javabeans, des applications J2EE. C est un environnement RAD. Développement de servlet, de JSP et d XML Support de J2EE Support des Web service Support de tests unitaires évolués. Kylix 3 Linux Langage(s) : C/C++, Delphi BORLAND http://www.borland.fr/kylix Revendeur de licence Education (étudiant et formateur) : http://info.borland.fr/ou_acheter/education/ Version professionnelle pour étudiant : 154,28 Microsoft Visual C++, Oracle 8i, Delphi, Microsoft BizTalk, Sun ONE Méthodologie supportée Création d'une manière simple et rapide d applications sophistiquées de rendement élevé sous Linux Développement d application graphique aisé Développement multi plateformes. Visual Age Langage(s) : Java, C++, Cobol IBM http://www-3.ibm.com/software/ad/vajava/ Service commercial France : 08 10 26 08 10 Rational Rose, IBM WebSphere, Rational ClearCase, Merant PVCS Méthodologie supportée Environnement de programmation Java. Aide au développement et au test d applets, servlets et Enterprise JavaBeans Interface API Tool Integrator, pour supporter des outils du marché, Liens améliorés vers les produits PVCS de Merant, SourceSafe de Microsoft et ClearCase de Rational, Possibilité de tester, directement dans l'environnement de programmation VisualAge for Java, des agents de Lotus Domino. Page 19 de 78
Visual Studio.net Méthodologie supportée CodeWarrior Méthodologie supportée Glade Méthodologie supportée Langage(s) : C# de préférence MICROSOFT http://www.microsoft.com/france/vstudio Revendeur de licence Education (étudiant et formateur) : http://www.microsoft.com/france/education/acheter/ouacheter Trial disponible Rational Rose, IBM WebSphere, Rational ClearCase, Merant PVCS Conception, développement et mise en production d'applications de nouvelle génération sur la plate-forme.net. Il propose un modèle de développement unifié pour les applications, Web ou mobiles exposant ou consommant des services Web XML. Langage(s) : C/C++, Java, VB METROWERKS http://www.metrowerks.com http://www.metrowerks.com/mw/about/contact.htm Trial disponible Suite de produit intégrant plusieurs logiciels de développement couvrant les langages les plus utilisés. Développement d application Java en drag and drop Optimisation du code évoluée Développement d exécutable pour et Macintosh Linux Langage(s) : C, C++, ADA95, Python / Perl Open Source http://glade.gnome.org/ Gratuit / OpenSource Outils de construction d interface graphique pour GTK+ et GNOME. Page 20 de 78
Forté Méthodologie supportée Langage(s) : / Linux C++, Java SUN http://fr.sun.com/produits-solutions/logiciels/forte/ http://fr.sun.com/howtobuy/ Javadoc Forte for Java Environnement de développement intégré, puissant et évolutif (IDE) destiné aux développeurs de technologie Java, utilisant la plate-forme NetBeans Tools Open Source. Son architecture modulaire permet d'ajouter aisément des fonctionnalités à l'ide, ce qui simplifie le développement tant des applications simples que des applications d'entreprise évolutives. Forte C++ Environnement de développement de premier plan destiné aux développeurs C et C++ professionnels travaillant dans l'environnement d'exploitation Solaris. Les professionnels peuvent ainsi créer des applications 32 et 64 bits fiables, évolutifs et très performants, optimisés pour tourner sur les processeurs UltraSPARC. Windev Langage(s) : C, C++, Java, VB, Pascal, Cobol, Fortran PC SOFT http://www.pcsoft.fr/ France : 01.48.01.48.88 890 Méthodologie supportée Merise Windev est un AGL complet dans lequel on peut tout programmer à la souris. Le SGBD est intégré. Toutes les phases sont couvertes, de la conception à la maintenance (analyse, RAD, IHM, L4G, débogueur, installateur, générateur de dossier, support de toutes les bases de données, nombreux exemples et assistants,...). Cette intégration de tous ces modules facilite et fiabilise le développement. Page 21 de 78
Oracle 9i developer suite ORACLE http://www.oracle.com/ip/develop/ids/ France : 08 00 90 47 16 5000 J2EE, DB Oracle Méthodologie supportée Merise Langage(s) : Java Suite complète et intégrée d application de développement et d outils pour l ebusiness. Basée sur l utilisation des standards ouverts de l industrie : XML, Java, SQL. Couvre une grande partie du cycle de vie de développement logiciel (modélisation, implémentation, configuration) Rhapsody Méthodologie supportée Langage(s) : C/C++, Java, Ada I-Logix http://www.ilogix.com/products/rhapsody/index.cfm http://www.ilogix.com/quick_links/contact.cfm Trial disponible Rational Rose, Rational ClearCase, PVCS Version Manager (Merant) UML Environnement de développement d applications temps réel et de travail collaboratif, modélisation UML, génération de code Apex duo Langage(s) : C/C++, ADA RATIONAL http://www.rational.com/products/apex/apexnative.jsp France : 01 30 12 09 50 595 Méthodologie supportée Environnement intégré dédié au design, développement et à la maintenance d'applications complexes écrites en Ada, C ou C++. Page 22 de 78
2.1.4 Outils de documentation 2.1.4.1 Définition La documentation a pour principaux objectifs de : - Centraliser la documentation pour permettre à tous les acteurs d avoir accès à l information (mises à jour, disponibilité de la dernière version, aide à la compréhension du code, etc.) - Offrir un standard pour les documents et garantir l homogénéité et la qualité des documents produits (cohérence documentaire, traçabilité, fiabilité, rapidité, qualité, gestion des versions) - Stocker les performances, les résultats, les difficultés techniques relatives au projet donné La gestion documentaire permet de : - Etablir des règles concernant la spécification technique du produit, la conduite de projet (organisation, délais, coûts,..) et les évènements clés - Rédiger des critères de nature de documents (documents applicables, de référence, d information, etc.) Les critères observés qui permettront de savoir quel outil utiliser plutôt qu un autre, seront : - L aptitude de l outil à gérer tel ou tel langage - Ce qu il prend en entrée et ce qu il génère en sortie Outil de documentation Page Cocoon 4.1 25 Doc++ 26 Doc-o-Matic 3 26 DocBuilder 27 Doc Express 28 Doxygen 29 Javadoc 30 Mega Process 31 Soda 32 Page 23 de 78
2.1.4.2 Synoptique des outils de documentation présentés Ces outils peuvent générer une documentation sous différents formats en analysant le code source ou en ne tenant compte que des commentaires fournis par les développeurs à l intérieur des fichiers. Il est donc important de savoir quels langages supporte l outil mais aussi quelles informations il requiert en entrée et ce qu il génère en sortie. Editeur / Nom Langages supportés Entrée Sortie Cocoon 4.1 C/C++ code source HTML Doc++ C / C++ / Java code source Latex ou HTML Doc-o-Matic 3 C++ / C++.Net / Delphi / Pascal / code source VB.Net / C# / Java DocBuilder C / C++ / Delphi / Pascal code source Doc Express Rapport généré par un outil compatible Doxygen C / C++ / JAVA / IDL / code source CORBA / PHP / C# PDF, HTML, HTML Help, Win Help, RTF RTF, WinHelp et HTML. document publié sous un format compatible Latex, HTML, PostScript, Unix Man Pages, PDF et RTF. JavaDoc Java code source HTML Mega Process HTML / XML / Java / fichier Word, HTML, Excel SQL Soda HTML Page 24 de 78
2.1.4.3 Etat de l art Cocoon 4.1 Langage(s) : 9x / 2000 / XP - Unix C/C++ Jeffrey Kotula http://www.stratasys.com/software/cocoon/ Créateur du soft : jkotula@vitalimages.com Mailing-list : cocoon-users-subscribe@egroups.com & Site Web de la ML : http://groups.yahoo.com/group/cocoon-users/ Gratuite Génération configurable de pages HTML à partir du code formaté. Le logiciel se repose sur un ensemble de conventions de formatage de code source afin d'extraire les informations dont il a besoin pour en faire des pages de documentation. L'endroit des fichiers d'entrée et de sortie, les listes de librairies à employer et les options de personnalisation sont commandés par un fichier de configuration en entrée. Entrée : code source. Sortie : pages HTML de documentation reliées entre-elles et organisées dans une structure de fichiers définie dans le fichier de configuration. Possibilité de configurer et de personnaliser la génération de pages Seuls les langages C/C+ + sont supportés par cette application (prochainement JAVA?) Conventions spécifiques quant au formatage du code imposées pour un bon fonctionnement - Documentation : http://www.stratasys.com/software/cocoon/userguide.htm Page 25 de 78
Doc++ Langage(s) : Linux, Sun et IRIX C / C++ / Java Roland Wunderling et Malte Zöckler http://www.zib.de/visual/software/doc++/ doc++@zib.de Gratuite DOC++ est un système de documentation pour C/C++ et Java produisant à la fois du Latex et de l HTML Génère des fichiers Latex et HTML à partir de fichiers sources codes en Java ou C/C++. Génère automatiquement une documentation hiérarchique structurée des classes, des graphes de classes et crée les référencements croisés. Entrée : fichier code source Sortie : fichier de documentation en latex ou HTML Doc-o-Matic 3 Langage(s) : C++ / C++.Net / Delphi / Pascal / VB.Net / C# / Java Toolsfactory http://www.doc-o-matic.com/ support@toolsfactory.com Shareware Avec les systèmes d aide comme MSDN, l aide de Visual C++, Borland Delphi / C++Builder et cie. Création de documentation hyperliée (source + application) Création totale de systèmes de documentation hyperliée, incluant à la fois la documentation du code source mais aussi de l application et des manuels d utilisateurs Entrée : code source Sortie : document PDF, HTML, HTML Help, Win Help, RTF Page 26 de 78
DocBuilder Langage(s) : C / C++ / Delphi / Pascal Pueschel http://www.gfai.de/produkte/docbuilder/e_index.htm http://www.gfai.de/produkte/docbuilder/e_download.htm info@docbuilder.de Gratuite génération d une documentation flexible et automatique Génération de documentation à partir de différents types de fichiers et langages de programmation et mises en forme possibles selon différents formats Entrée : fichiers sources Sortie : document au format RTF, WinHelp et HTML. récupération les commentaires des fichiers sources création automatique de hiérarchie des classes possibilité de mise en forme de la documentation générée plusieurs types de format de sortie Page 27 de 78
DocExpress Langage(s) : 98/2000/NT Telelogic http://www.telelogic.com/products/additional/docexpress/ info@telelogic.com Telelogic France 6/8, rue de la réunion 91978 Courtaboeuf cedex Tel: +33 (0)1 64 86 77 77 Fax: +33 (0)1 64 86 77 00 Payante Liste d outils compatibles : http://www.telelogic.com/products/additional/docexpress/integrations.cfm http://www.telelogic.com/products/additional/docexpress/factory.cfm Microsoft Word / Interleaf / FrameMaker Automatisation de documentation technique et intégration avec d autres outils tiers Le logiciel permet surtout de produire et de maintenir une documentation à jour dans de nombreux formats d archivage (Word, RTF, FrameMaker, Interleaf) Entrée : rapport généré par un outil compatible (cf http://www.telelogic.com/products/additional/docexpress/integrations.cfm) Sortie : document publié sous un format compatible (cf http://www.telelogic.com/products/additional/docexpress/factory.cfm) interopérabilité avec d autres outils très intéressante (Word Core, Factory Core, Tau UML, Tau SDL, Estrel SCADE, DOORS, CM Synergy, XML, ODBC, Rose, Microsoft Visio, Microsoft Office, FrameMaker, HTML, etc ) importance du nombre des formats possibles en entrée et générés par la suite processus de documentation technique automatisé nécessite Microsoft Word, FrameMaker ou un éditeur HTML Page 28 de 78
Doxygen Linux, Unix, 9x/NT, Mac OS X NDimitri van Heesch http://www.doxygen.org/ dimitri@stack.nl Gratuite (GNU) Langage(s) : C / C++ / JAVA / IDL / CORBA / PHP / C# Génère de la documentation en ligne au format html et/ou un manuel de référence en Latex à partir des fichiers sources (mais aussi format RTF, PostScript, PDF, Unix man pages). Peut extraire la structure du code à partir de sources non documentées. La visualisation des différents éléments se fait au moyen de graphes de dépendance, diagrammes de succession et des diagrammes de collaboration qui sont générés automatiquement. Entrée : fichiers sources Sortie : Génère des fichiers au format Latex, HTML, PostScript, Unix Man Pages, PDF et RTF. plusieurs langages supportés Page 29 de 78
Javadoc Langage(s) : Solaris,, Linux et Unix Java Sun http://java.sun.com/j2se/javadoc/index.html javadoc-tool@sun.com Gratuite Permet de générer des fichiers de documentations à partir de votre code Java au format HTML Génère des fichiers au format HTML, SGML, XML, RTF et MIF qui décrivent les classes, les interfaces, les constructeurs, les méthodes et les attributs des fichiers sources. Parcourt uniquement des fichiers sources Java. Entrée : code source Java commenté Sortie : documentation HTML Inclus dans le kit de développement JAVA. dédié uniquement au Java - Documentation : http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/index.ht ml Page 30 de 78
Mega Process 95/98/NT/2000 / XP + Navigateur Internet Langage(s) : Mega http://www.mega.com/fr/product/megaprocess/ - MEGA 10 boulevard du Montparnasse 75015 Paris FRANCE Phone: 33-(0)1 42-75-4000 Fax: 33-(0)1 42-75-4096 - Créateur du soft : info@mega.com HTML / XML / Java / SQL - Relation vente FR : sales.fr@mega.com Payante Outil destiné à l analyse et conception (cf fiche précédente) Production automatique de documentation Word et de sites HTML Mega Process rassemble le savoir-faire dans un environnement sécurisé et produit automatiquement de la documentation Word et des sites HTML. Mega Process permet de partager la connaissance avec tous les acteurs de l entreprise et tous les interlocuteurs concernés, internes ou externes. MEGA Process propose des fonctions d'analyse et de conception pour identifier, conserver et documenter les processus et les procédures de l'entreprise. Entrée : Sortie : Fichier Word / HTML / Excel automatise la production de documentation Word et HTML couvre surtout le cycle d analyse Page 31 de 78
Soda Langage(s) : 95/98/NT/XP Rational Software http://www.rational.com/products/soda support@europe.rational.com +31 (0)20 4546 200 Possibilité d obtenir une version d évaluation pour 15 jours. Payante. Outil destiné à l analyse et conception (cf fiche précédente) automatisation de la documentation et de la maintenance de la documentation d un projet Le logiciel permet la création de documents pour le code, les tests, la conception et l analyse (mise à jour et modification de documents) et génère les formats de fichiers Doc et HTML. Il permet de créer également des documents qui incluent des objets d autres outils de gestion de projet. Lors de la mise à jour d un des objets, Rational Soda le met à jour dans le document (extraction de données de sources multiples). En créant des documents templates, Rational Soda facilite la standardisation des documents. Entrée : (sources multiples non définies) Sortie : document HTML S incorpore dans Word et l utilise pour le format de document, dans Adobe FrameMaker et dans MS Visual Studio Intégration avec les autres outils de Rational Suite Création de templates (infos sur la structure, le style de document et la localisation des éléments ) Interopérable avec tous les OGL proposés par Rational (mais aussi Microsoft Word 2000, Adobe Framemaker 6.0, MS Visual Studio) - Documentation : http://www.rational.com/products/soda Page 32 de 78
2.1.5 Outils de test 2.1.5.1 Définition Le but d un outil de test est de vérifier et valider une application On peut décomposer les outils de tests en 5 grandes catégories, en fonction du type de vérifications qu ils proposent : Les outils de tests structurels (unitaires) : ils visent à valider l architecture du produit et à mesurer la qualité du code o Etude du pourcentage du code parcouru o Etude de la complexité du code. o Etude de la gestion de la mémoire. Les outils de tests fonctionnels : o Rejouer des scénarios enregistrés. o Clics rejoués en automatique. o Tests déployés ou distants. Les outils de tests d efficacité : o Tests de charge du serveur, du réseau, des données o Tests de performance (temps de réponse utilisateur) Les outils de tests d erreurs : o Tests de fiabilité (tolérance aux fautes) o Tests de sécurité (intégrité des données) o Tests aux limites o Tests en mode dégradé o Tests de vieillissement o Tests de stress Les outils de tests de portage et de configuration De plus, chaque test répond à une nature spécifique : 1. Les tests statiques : n exécutant pas le code, ils se pratiquent «au repos» 2. Les tests dynamiques : exécutant le code de l application Ici, la nature statique ou dynamique ne sera pas un axe prioritaire. On préférera s orienter suivant la catégorie du test en elle-même, en s intéressant plus particulièrement aux tests fonctionnels, sans pour autant oublier les autres. Il va de soi que chaque éditeur est libre d intégrer plusieurs types de tests dans son logiciel. On peut mélanger plusieurs types de tests au sein d une même application de test de logiciels. Les principaux critères de choix seront : Pour les test unitaires : o Bonne vérification de la mémoire o Couverture du code Pour les tests fonctionnels : o Exécution de scenarii o Exécution automatique des tests et rapports Page 33 de 78
Pour la gestion d anomalies : o Liaison avec le gestionnaire de configuration, exécution des builds OUTILS DE TESTS PAGE Tests Structurels AQTime 35 Sleuth QA Suite 35 Tests Fonctionnels Rapid SQL Debugger 36 Test Partner 36 Robot 37 Visual Test 37 WinRunner 38 Tests de charge Abend AID 38 Tests d efficacité Load Runner 38 Page 34 de 78
2.1.5.2 Etat de l art AQTime 95/98/2000/XP Type de test : Dynamique, structurel (unitaire) Delphi, C++ Builder AutomatedQA Corp http://www.automatedqa.com/products/aqtime.asp sales department by phone at: (702) 891-9424 or write to sales@automatedqa.com 349.99 $ Description : outil de recherche de bogues mémoire et d'optimisation de code Fonctionnalités : S intègre à AQTest (outil d automatisation de tests) Effectue des rapports complets sur l exécution d une application Sleuth QA Suite 95/98/2000/XP Type de test : Dynamiques, structurels et d erreurs C++ Builder, Delphi, Visual C++ Turbo Power http://www.turbopower.com/products/sleuth/ Energy 6-3ème étage 150-154 bld de Verdun 92413 courbevoie Cedex Tél 01 49 04 11 11 Fax 01 49 04 11 10 ventes@pparadise.fr aide à trouver et à résoudre rapidement les problèmes de fuites de mémoires, les erreurs d'allocations de ressources, et les écritures mémoire hors limites. Page 35 de 78
Rapid SQL Debugger Description : 98/2000/NT/XP Embarcadero Type de tests : Dynamiques, fonctionnels http://www.embarcadero.com/products/rapidsql/index.asp Embarcadero Technologies, Inc. 425 Market Street, Suite 425 San Francisco, CA 94105 Debugger de requêtes SQL Fonctionnalités : Contrôle les paramètres d exécution via une interface graphique Supporte les SGBD : Oracle, Sybase, MS SQL Server TEST Partner 98/2000/NT/XP Compuware Type de tests : Dynamiques, fonctionnels http://www.compuware.com/products/qacenter/testpartner/ Fonctionnalités : Crée et joue des scénarios de tests Idéal pour les plates-formes Java, Microsoft Page 36 de 78
ROBOT 98/2000/NT Rational Type de tests : Dynamiques, fonctionnels Rational TeamTest, Rational TestStudio http://www.rational.com/worldwide/france/edu/test_teamtest.jsp permet de créer, modifier et exécuter des tests automatiques sur des applications de type Web, ERP et Client/Serveur dans les environnements. Il offre une possibilité de réutilisation et une portabilité des tests enregistrés sur les plateformes. Fonctionnalités : Automatiser la détection des erreurs. Enregistrer et réutiliser des scripts de tests capables d'identifier les objets. Acquisition, Compte-rendu et exploitation graphique de toutes les informations se rapportant au processus de test pour une meilleure assurance qualité génère des scripts de test en SQABasic Visual Test 98/2000/Me/NT/XP Type de test : Dynamique, fonctionnel Visual C++, MS Developer Studio Rational Software http://www.rational.com/products/visual_test/index.jsp Programmers paradise : www.pparadise.com 1-800-445-7899 Ces tests sont réalisés à partir de script générés par Microsoft Developer Studio. Page 37 de 78
WinRunner 7.5 98/2000/Me/NT/XP Type de test : Dynamique, fonctionnel Mercury Interactive http://www.mercuryinteractive.fr/products/winrunner Avantages : Prend en charge les serveurs terminaux TestDirector, PowerBuilder, Visuel C++ Peut s installer en mode silencieux, c est-à-dire qu il n entre pas en conflit s il existe un mécanisme de gestion automatisé de logiciels. Compatibles avec les applications Java (JSP, ) Abend-AID LoadRunner 98/2000/NT Type de test : Dynamiques, charge, performance, structurels Compuware http://www.compuware.fr/produits/abendaid/cics/index.php Par mail fournit une solution complète et unique qui répond aux exigences des programmeurs applicatifs en matière de résolution d'incidents CICS. Quand une transaction provoque un incident, CICS Abend-AID/FX permet une analyse immédiate et approfondie de celui-ci, en indiquant ce qui s'est passé, où, pourquoi et quand il est survenu. 95/98/2000/NT Type de test : Dynamique, d efficacité (de charge) Java, Borland Delphi, Borland C++ Builder Mercury Interactive http://www.mercuryinteractive.fr/products/loadrunner/ LoadRunner repose sur une suite de moniteurs de performances intégrés qui isolent rapidement les goulets d'étranglement de sorte que ceux-ci n'ont qu'une incidence minime sur le système. Cette suite intègre des moniteurs pour le réseau, pour les serveurs d'applications, pour les serveurs Web et pour les serveurs de bases de données. Les moniteurs ont été conçus pour mesurer précisément les performances à chaque niveau, serveur et composant individuel du système pendant le test de charge. Page 38 de 78
2.2 OGL transverses, non liés à une phase particulière 2.2.1 Outils de gestion de configuration, de version 2.2.1.1 Définition L outil de gestion de configuration est un outil qui est au cœur toutes les étapes du développement. La gestion de la configuration consiste à gérer la description technique d un système (et de ses divers composants), ainsi qu à gérer l ensemble des modifications apportées au cours de l évolution du système Objectifs de la gestion de configuration : - connaître à tout instant la description technique du système et de ses composants, grâce à une documentation approuvée - maîtriser les évolutions des produits et de leur description technique - assurer la cohérence entre les différents composants du système (interfaces) - identifier la configuration applicable et la configuration réalisée, afin de traiter les modifications à apporter Outil de gestion de configuration, de version Page Visual Source Safe 40 CVS 40 ClearCase / ClearQuest 40 PVCS Professionnel 41 Perforce 41 Continuus 41 Page 39 de 78
2.2.1.2 Etat de l art Visual Source Safe MICROSOFT http://msdn.microsoft.com/ssafe/ Revendeur de licence Education (étudiant et formateur) : http://www.microsoft.com/france/education/acheter/ouacheter 550 Outils de développement Microsoft, MS Project Cet outil est compatible avec une grande partie des outils de réalisation disponibles sous Microsoft. Il dispose de multiples fonctionnalités à travers son interface graphique. Il permet de faire un audit sur tout fichier. S interface avec MS Project. Semble être délaissé par Microsoft au profit de BizTalk. CVS ClearCase/ClearQu est Posix, Open source http://www.cvshome.org/ Outil très répandu pour la gestion de versions de fichiers. Dispose de nombreux clients efficaces sur de nombreuses plateformes. Manque de fonctionnalités évoluées. Mal adapté pour Java. Unix, Linux, RATIONAL http://www.rational.com/products/scm.jsp Adobe FrameMaker, IBM VisualAge for Java, IBM WebSphere Studio. Gestion de configuration versioning, historisation gestion des demandes de changements de fabrication développement parallèle multi-site. Content Studio gère du code (développement logiciel) et des pages de contenu web. Offre construite à la demande de clients de gestion de configuration. Logiciel supporté par IBM, donc grande interopérabilité. Page 40 de 78
PVCS Professionel Perforce Continuus Unix, Linux, MERANT http://www.merant.com/fr/products/ info@synergex.com VMS, MVS/Oracle Applications, SAP, Peoplesoft, Référentiels distribués. PVCS Professional combine PVCS Version Manager, PVCS Tracker et PVCS Configuration Builder au sein d'une suite unique dédiée à la gestion de la configuration logicielle. Permet aux équipes de toutes tailles de protéger leurs actifs logiciels, d'automatiser les tâches de développement et de gérer les nombreux changements et problèmes. Produit ancien, qui était l origine un produit de gestion de versions. Ses fonctionnalités ont été étendues pour prendre en compte des besoins de gestion de configuration, mais l architecture du produit n a pas évolué. L ensemble ne semble pas très cohérent. Une 50aine de plateformes PERFORCE Corp. http://www.perforce.com/ Microsoft Visual C++, Visual Basic, TogetherSoft Together, IBM VisualAge for Java, Webgain VisualCafé, Metrowerks CodeWarrior Perforce est un outil plus complexe d utilisation que les autres, mais utilisant des algorithmes avancé et un management intelligent des fichiers, il est bien plus performant que ses concurrent, et est l outil de gestion de configuration reconnu pour les projets de très grand ampleur (plus de 2 millions de fichiers, et une centaine de développeurs). Visiblement racheté très récemment par Telelogic http://www.telelogic.com Ensemble de modules (Continuus Change Management, Continuus Problem Tracking, Continuus ObjetMake) qui constituent un ensemble intégré cohérent. La caractéristique prépondérante du produit est que l approche de la problématique de la gestion de configuration se fait par l intermédiaire de la gestion des activités et non pas par la gestion des fichiers. Son utilisation est simple et conviviale mais peu personnalisation. Page 41 de 78
2.2.2 Outils de gestion de projet 2.2.2.1 Définition La phase de planification a pour but, comme son nom l indique, d organiser et de planifier les activités et les phases de développement d un projet, en tenant compte des charges de travail, des priorités des tâches mais aussi des ressources disponibles et des contraintes de réalisation. Cette phase a pour but de prévoir et de maîtriser tous les paramètres qui assureront le succès du respect des coûts et des délais imposés. Outil de gestion de projet Page Auto Plan Enterprise Suite 43 Code Plan 44 Cost Xpert 44 Intelligent Planner 45 MS Project 46 Quick Place 47 Rational Analyst Studio 47 SureTrak Project Manager 48 Page 42 de 78
2.2.2.2 Etat de l art Ce sont l ensemble des outils qui servent à gérer le bon déroulement d un projet. La plupart des logiciels incluent la gestion du planning des travaux actuels et à venir en plus de la gestion des ressources humaines et machines. Il est cependant intéressant de noter l interopérabilité des OGL (surtout lorsqu ils font partie d une suite formant un AGL). Auto Plan Enterprise Suite Tufan http://www.tufan.com/autoplan/tour/tour01.htm - Adresse : Tufan, Inc. 82 Pioneer Way, Mountain View, CA 94041 United States - Email : sales@tufan.com AutoTeam pour la couverture de la totalité du cycle de vie du dvpt logiciel solution permettant la gestion de projets, afin de faciliter la prise de décisions Ce logiciel offre les possibilités classiques et peut être associé avec la solution AutoTEAM pour couvrir la totalité du cycle de vie du développement du logiciel. Automatisation des flux d information dans un projet. Gestion de projets distribués. Optimisation des ressources d un projet, notifications des changements automatiques entre les équipes de développement. Automatisation du planning des projets. Page 43 de 78
Code Plan Azor http://www.azor.com/codeplan.html Email : azor@azor.com Payante outil basé sur le modèle de développement COCOMO qui propose un système d évaluation de charges. Planification et évaluation des besoins à partir d une estimation des lignes de code. Evaluations graphiques et numériques. Programmation du temps nécessaire aux tests du logiciel et évaluation du coût potentiel de bogues non découverts. Cost Xpert NT/95/98/2000/ME Cost Xpert Group Inc. http://www.costxpert.com/products/index.html Email : info@costxpert.com Shareware (essai 45 jours) Lotus Domino projects, et Oracle Developer/2000 projects outil d estimation des coûts (analyse) Cost Xpert est le logiciel leader du marché en tant qu outil d estimation des coûts. Il intègre des modèles multiples d estimation en un outil pour fournir des estimations précises et globales et supporte la méthodologie COCOMO II. Page 44 de 78
Intelligent Planner Linux - Server 2000 (Serveur) Win 95/98/2000 (Client) Augeo http://www.augeo.com/ info.fr@augeo.com Payante création de projets et modélisation Permet également la gestion des ressources au cours du développement du projet, en cherchant à faire correspondre les capacités des membres de l équipe avec les prérequis d une activité. automatise et optimise les processus métier critiques tout au long du cycle de vie des projets. définit, crée et modélise de nouveaux projets afin de mettre en place des plannings réalistes. saisit le statut détaillé des projets ainsi que l'état des ressources afin de pouvoir procéder à des ajustements en temps réel. gère l'affectation des ressources en fonction des compétences, des types de ressource et de leur disponibilité, pour améliorer la planification des activités et la performance de l'entreprise. facilite la mise en correspondance des ressources avec les besoins, le suivi des plannings et dépenses par l'intermédiaire d'une interface Web. permet de suivre avec précision les opérations ainsi que les délais d'exécution et les besoins en matière de ressources. gestion multi projets (plannings, délais) Page 45 de 78
MS Project Microsoft Microsoft http://www.microsoft.com/france/project/ http://www.microsoft.com/france/project/decouvrez/bref.asp - Microsoft France 18, avenue du Québec Z.A. Courtaboeuf 1 91957 LES ULIS CEDEX - Tél : 04-71-05-37-09 licence Elève/Etudiant/Enseignant, achat à l unité pour des besoins personnels (210 ) Microsoft Visio 2002 Cet outil permet de planifier, d organiser et d analyser les tâches du projet, les contraintes de temps et de ressources. gestion des tâches affectation des ressources intégration de diagramme de GANTT et PERT intégration à l outil de conception Microsoft Visio 2000 application client - serveur 3 Tiers qui s'appuie sur un serveur Web et des technologies de base de données outil de planification gestion de la connaissance accès aux données projet à travers leur explorateur Internet en fonction des droits d accès. moteur de base de données en mode client serveur fonctions d'auto réparation du logiciel gestion du code WBS plusieurs phases du cycle de développement nombreuses possibilités offertes par le logiciel, dont fonctionnalités très intéressantes Page 46 de 78
Quick Place - Solaris IBM / Lotus http://www.lotus.com/home.nsf/welcome/quickplace http://commerce-13.www.ibm.com/cgibin/ncommerce/categorydisplay?cgrfnbr=2294551&cgmenbr=1&cntry=2 50&lang=fr_FR&cntrfnbr=1 - Info_FR@Lotus.com - Immeuble Lotus, La Défense 6 35-41, rue du Capitaine Guynemer, 92925 Paris La Défense Cedex Tel : +33 801 835 426, 01 41 99 58 00 Payante outil Internet en libre service pour le travail en collaboration Il permet la création d un espace de travail sécurisé et centralisé sur l Internet, instantanément. Coordination : personnes, tâches, plans et ressources. Collaboration : idées partagées, discussions, issues trouvées, documents co-rédigés, échange de fichiers. Communication : actions & décisions, etc. outil de création instantanée d'espaces collaboratifs sur le Web au sein d'intranets, extranets ou sur l'internet compatible avec Office Rational Analyst Studio Rational http://www.rational.com/products/astudio/index.jsp Payante Rational Requisite Pro, Rational Rose, Rational ClearQuest outil de modélisation visuelle UML Rational Analyst Studio intègre une solution de modélisation visuelle, de gestion des use cases et des processus. Cet outil apporte une aide au management et aux problèmes liés à l analyse. Page 47 de 78
SureTrak Project Manager 9x, ME, 2000, NT (client) & Solaris - Linux - Server 2000 Primavera http://www.primavera.com/products/sure.html Email : info@primavera.com Payante Gestion de projets très complexes, comprenant beaucoup d activités, de ressources. Le logiciel permet à plusieurs utilisateurs de travailler sur un même projet ou sur plusieurs projets différents en même temps et propose également une interface web. Planification des ressources Adapté aux projets de petites et moyennes tailles Outil d analyse de graphes avec exposé sous forme Web ou graphique. Planification des ressources avec gestion des contraintes horaires de chacun des membres du groupe. Possibilité de faire des représentations graphique des données. Plusieurs vues possibles pour les représentations. Utilisation d Email pour la communication entre les membres. Gestion de projets complexes Page 48 de 78
3 Etat de l'art des méthodes 3.1 Méthodes orientées objet 3.1.1 Définition Les méthodes orientées objet vont permettre d'examiner un problème en mettant en évidence les classes et les objets correspondants, sous forme de composants indépendants qui interagissent selon des modalités bien définies. Pour la plupart des méthodes orientées objet, l étude d un problème se fait suivant 3 aspects : - un aspect statique (ou descriptif), on identifie les propriétés des objets ainsi que leurs interaction avec les autres objets, - un aspect dynamique, on précise le comportement des objets, les différents états par lesquels ils passent et les événements qui déclenchent ces changements d'états. (Cycle de vie d'un objet). - un aspect fonctionnel, dans lequel on précise les fonctions réalisées par les objets par l'intermédiaire des méthodes. Méthodes orientées objet Page Extreme Programming 50 HOOD 50 UML 50 MOSES 51 RUP 51 Fusion 51 Coad et Yourdon 52 Booch 52 Shlaer-Mellor 52 OMT 53 3.1.2 Synoptique des méthodes orientées objet présentées Nom Extreme Programming HOOD UML MOSES RUP Fusion Coad et Yourdon Booch Shlaer-Mellor OMT Phases Planification, Conception, Implémentation, Test Conception, Implémentation Analyse, Conception Toutes Toutes Analyse, Conception, Implémentation Analyse, Conception Conception Analyse, Conception, Implémentation Analyse, Conception Page 49 de 78
3.1.3 Etat de l art Phase(s) : Extreme Programming Planification, Conception, Implémentation, Test Nom complet : Auteur : L avantage principal de l extrême programming (XP) est d éviter d avoir à spécifier dès le début d un projet des fonctionnalités complètes ou immuables. De plus, elle favorise ce que l on appelle l approche «client sur site», autrement dit, elle permet au client d avoir un regard sur le produit à tout instant. Ainsi le client pourra affiner ses besoins, si besoin est, sans que cela n influe trop sur les coûts. - XP prône le développement piloté par des tests automatisés, afin d éviter la régression du code. - L XP s applique à des équipes de développement de taille modeste (environ 10 personnes) afin d assurer la meilleure communication possible au sein de l équipe. - Le projet est préalablement découpé en tâches élémentaires de courtes durées. Les planifications sont effectuées au cours des réunions avec toute l équipe et la présence obligatoire du client, où chacun estime la durée des tâches, par l intermédiaire de scénarios utilisateurs. En fait, le client (ou son représentant) est directement intégré à l équipe de développement. HOOD UML Phase(s) : Conception, Implémentation Nom complet : Hierarchical OO Design Auteur : A. Burns, A. Wellings HOOD permet de générer du code ADA, C, C++. Son cadre d'utilisation est étendu à de nombreux domaines industriels, notamment dans les transports, l'énergie et le nucléaire. HOOD à pour principe de découper un programme à réaliser en module. Phase(s) : Analyse, Conception Nom complet : Unified Modeling Language Auteur : Rumbaugh, Booch et Jacobson UML est (comme son nom l indique) l union de différentes méthodes orientées objet. UML est basé sur un méta-modèle, c'est-à-dire qui fait abstraction de l implémentation. UML est donc valable pour n importe quel langage. UML permet de représenter un système selon différentes vues complémentaires grâces aux diagrammes. Page 50 de 78
MOSES Phase(s) : Toutes Nom complet : Methodology for Object-oriented Software Engineering of Systems Auteur : Henderson-Sellers & Edwards MOSES propose un cycle de développement logiciel basé sur le modèle fontaine, un cycle de vie du produit (composé de 3 étapes orientées commerciale), un cycle de vie du processus (constitué de 5 étapes orientées technique ainsi qu une vingtaine d activités décrivant comment mener la méthode. RUP Nom complet : Auteur : Phase(s) : Toutes Rational Unified Process Rational Le RUP est un processus de développement logiciel. Il se présente sous forme d un guide méthodologique, couplé à une base de connaissances et capable de s interfacer avec divers outils d expression des besoins, de modélisation UML, d'automatisation des tests, de gestion de configuration, de production de documents, de gestion de projet. RUP comprend 4 phases: l Initialisation, l Elaboration, la Construction, la Transition. Elle a pour particularité de tenir compte de tous les intervenants d un projet. Fusion Phase(s) : Analyse, Conception, Implémentation Nom complet : Auteur : Coleman et All Fusion propose : - Une démarche de développement : Phases Critères de fin de phase - Des outils de gestion les concepts (ontologies) les sorties de chaque phase sont définies vérifications croisée entre les phases des composants réutilisables - Des notations. Page 51 de 78
Coad et Yourdon Nom complet : Auteur : Phase(s) : Analyse, Conception Coad et Yourdon La méthode de Coad et Yourdon propose 5 activités: définition des classes&objets (c'est un terme qui signifie "une classe et les objets qu'elle contient"); identification des structures (d'héritage et de composition); identification des sujets (domaines) suivant la complexité du problème; définition des attributs ; définition des services (appelés communément méthodes). Booch Phase(s) : Conception Nom complet : Booch Auteur : Grady Booch Cette méthode propose 4 étapes : - identification des classes et les objets à un niveau d'abstraction donné, - identification de la sémantique de ces classes et de ces objets en précisant pour chaque classe son interface, - identification des relations entre ces classes en distinguant d'une part les aspects statiques, d'autre part les aspects dynamiques, - implémentation les classes et les objets. Shlaer-Mellor Nom complet : Auteur : Phase(s) : Analyse, Conception, Implémentation Shlaer-Mellor Selon cette méthode, un système à analyser est découpé en plusieurs sous-systèmes et l on associe à chacun d eux : - un modèle d'information (Information Model pour décrire les objets; il traduit un point de vue global du système. - un modèle d'état-transition (State Model) pour caractériser le cycle de vie d'un objet. - un modèle de traitement (Process Model) pour chaque action d un objet. L'algorithme associé à chaque action permet de préciser les processus qui s'enchaînent. De plus cela se traduit par un diagramme de type DFD (Data Flow Diagram). Page 52 de 78
OMT Nom complet : Auteur : Phase(s) : Analyse, Conception Object Modeling. Technique L'analyse repose sur les trois points de vue: statique, dynamique, fonctionnel qui donnent lieu à trois sous modèles. Ces 3 sous modèles n'a pas la même importance suivant le type de problème étudié; on établira donc ces sous-modèles dans l'ordre d'importance au sein de l'analyse. Le modèle statique de cette méthode permet de prendre en compte pratiquement tout ce qui est modélisé dans l'ensemble des autres méthodes. En plus de la conception du système, la méthode OMT présente la conception des objets. Cette méthode peut être employée pour des applications très diverses et c'est sans doute un de ses plus grands points forts parmi les autres méthodes orientées objet. Page 53 de 78
3.2 Méthodes temps réel 3.2.1 Définition Ces méthodes sont basées sur la décomposition fonctionnelle, une approche pas à pas et la fragmentation de systèmes complexes en sous tâches. Elles traitent des données simples via des processus complexes. Méthodes temps réel Page SDL 55 OMT SART 55 ROOM 55 GRAI 56 DARTS 56 Les réseaux de Pétri 56 3.2.2 Synoptique des méthodes temps réel présentées Dans cette partie le principal critère de choix est la phase du cycle de développement à laquelle se rapporte la méthode : Phase(s) : SDL toutes OMT Analyse Conception Spécifications du besoin SART Analyse Conception Analyse ROOM Conception Implémentation GRAI Analyse Conception DARTS Analyse Conception Les réseaux de Pétri toutes Page 54 de 78
3.2.3 Etat de l art SDL Nom complet : Auteur : Phase(s) : Toutes Specification and Description Language Cette méthode est utilisé principalement dans le domaine des télécommunications. Elle est basée sur la structure des automates finis étendus modélisés sous forme de signaux échangés entre processus. Elle possède des extensions orientées objet. SA-RT Phase(s) : Spécification du besoin, Analyse, Conception Nom complet : System Analysis Real Time Auteur : Ward en 1985 et Hatley en 1987 Cette méthode apporte un aspect temporel à la méthode SA-DT afin de répondre aux demandes des systèmes temps réel dans les domaines industriels. Elle dissocie le modèle des besoins de celui d'architecture, tout en prenant en compte les aspects temporels des différents processus. Elle est dédiée à l analyse et la conception d un système. Particulièrement d un système temps réel comme les applications de contrôle (vastement utilisée dans l aéronautique et l armée). Approche descendante (drop-down) hiérarchique et graphique. Elle suit le cycle de développement en V. Elle se présente sous forme de diagrammes de transformation de flux et de diagrammes hiérarchiques (comme SA-DT) Elle regroupe : Des diagrammes d états transitions Des tables des états transitions Des tables de décisions ROOM Nom complet : Auteur : Phase(s) : Analyse, Conception, Implémentation Real-Time Object Oriented Modeling Bran Selic, Garth Gullekson, Paul Ward Elle a pour but la modélisation des systèmes temps-réel répartis. Elle s applique uniformément sur les phases d analyse, de conception et d implémentation et supprime ainsi les transitions entre ces phases. Elle se compose d acteurs communiquant entre eux par des protocoles. Les acteurs sont des composants centraux représentés en hiérarchie Elle se compose de : De structures et de notations De séquences de messages D états de transition Page 55 de 78
GRAI Nom complet : Auteur : Phase(s) : Analyse, Conception Laboratoire GRAI de Bordeaux Elle s adresse au développement de systèmes industriels Elle prend en compte la notion de décision conditionnelle ou chronologique DARTS Nom complet : Auteur : Phase(s) : Analyse, Conception Design Approach for Real-Time Systems Gooma Cette méthode structure et identifie les tâches afin d identifier les interfaces les reliant. Les réseaux de Pétri Nom complet : Auteur : Phase(s) : Toutes Permet d analyser qualitativement et quantitativement les projets temps réel Traduit le comportement dynamique de l accomplissement du projet Elle s appuie sur l «animation comportementale» qui consiste à gérer ou piloter des entités (sorte d'objets graphiques intelligents), dotés d'attributs spécifiques et d'un comportement réactif. On introduit la notion d'acteur ou agent comportemental, en associant à chaque entité d'une scène une cellule : ``Perception- Décision- Action- Communication''. Les évolutions résultent alors directement des interactions qui se produisent sous des formes très variées : interactions des acteurs avec leur environnement, interactions entre acteurs. Un scénario peut également être spécifié afin de transmettre des directives visant à coordonner l'animation. Page 56 de 78
3.3 Merise 3.3.1 Présentation de la méthode La méthode d'analyse Merise a été créée à la fin des années 70, par la volonté des autorités publiques (le Ministère de l Industrie), désireuses de doter les administrations et les entreprises publiques d'une méthodologie rigoureuse tout en intégrant les aspects nouveaux pour l'époque : informatique répartie, bases de données... Elle est citée en France par 70% des entreprises déclarant utiliser une méthode. La méthode Merise propose une approche de la conception séparant l'étude des données de celle des traitements, en avançant progressivement par niveaux. Chacun de ces niveaux a pour objectif principal de fournir un certain nombre de documents (MCD, MPD, MCT,...) permettant ainsi la synthèse textuelle d'un processus de réflexion. La mise en place des modèles de traitements a non seulement pour but de définir les traitements à effectuer, mais également de valider les options prises lors de l'élaboration des modèles de données. Ainsi la méthode Merise préconise, non pas d'effectuer l'analyse des données, puis ensuite celle des traitements, mais plutôt de mener en parallèle, à chaque niveau, l'analyse des données et celle des traitements 3.3.2 Les trois niveaux de représentation d'un système d'information par la méthode Merise : Le niveau conceptuel Le niveau conceptuel représente les informations et leurs relations d'une part, les utilisations qui en sont faites et les contraintes d'autre part. Ces définitions sont établies en faisant abstraction de toute contrainte liée à l'organisation. En terme de données, cette description fait appel au formalisme Entité-Association et se traduit par des entités de base et par des relations avec ces entités. En terme de traitements, ces mêmes entités vont être décrites par leurs sollicitations ou par les réactions qu'elles déclenchent de la part du système d'information, donc par les traitements dont elles sont les causes et les conséquences. Ceci se fait à l aide d'événements, de synchronisation et d'opérations. Le niveau organisationnel ou logique Le niveau organisationnel exprime la réalité telle qu'elle est vécue par les acteurs quels qu'ils soient. A ce niveau, aucune différence n'est faite entre les hommes et les machines. On intègre à l'analyse les critères liés à l'organisation. - En terme de données, les entités et relations suscitent la création de tableaux. La vue logique est nécessairement orientée vers une classe de solutions. - En terme de traitements, les événements décrits ne sont pas des événements temporels mais des événements à dominante spatiale. Le niveau opérationnel ou physique Page 57 de 78
C'est une représentation des moyens qui vont effectivement être mis en œuvre pour gérer les données ou activer les traitements. Le niveau physique apporte des solutions techniques. - En ce qui concerne les données, il y a passage d'une classe de solutions à un produit de cette classe. Concrètement, cela se traduira par l'utilisation d'un SGBD. On effectue des choix sur les méthodes de stockage et d'accès. - En terme de traitements, le modèle opérationnel décrira l'architecture des programmes qui vont activer les différentes tâches de l'ordinateur. En aucun cas à ce niveau, il n'y a de programmation effective. 3.4 Extreme Programming 3.4.1 Présentation de la méthode C est une méthodologie de développement, basée sur : Un ensemble de règles Une souplesse dans le codage La mise en valeur du contact humain L avantage principal de l extreme programming (XP) est d éviter d avoir à spécifier dès le début d un projet des fonctionnalités complètes ou immuables. De plus, elle favorise ce que l on appelle l approche «client sur site», autrement dit, elle permet au client d avoir un regard sur le produit à tout instant. Ainsi le client pourra affiner ses besoins, si besoin est, sans que cela n influe trop sur les coûts. Cette méthodologie s organise autour de 3 pôles : 3.4.2 Les trois pôles méthodologiques de l XP 1. Les pratiques de codage : XP prône le développement piloté par des tests automatisés, afin d éviter la régression du code. Pour cela, on suit la règle des 3A (valable pour un langage orienté objet), par exemple dans la fonction main de chaque classe : Acteur : on crée une instance de l objet à tester Action : on applique la méthode à tester à l objet Assertion : on teste le résultat obtenu et on renvoi un code d erreur ou la valeur des attributs si échec de la méthode Des scripts permettent la nuit de tester les méthodes crées le jour, de façon à avoir le bilan le lendemain matin. 2. Les pratiques de collaboration : L XP s applique à des équipes de développement de taille modeste (environ 10 personnes) afin d assurer la meilleure communication possible au sein de l équipe. Les développeurs doivent de prime abord suivre les règles de codage établies dans la charte qualité ou le plan qualité du projet. De surcroît, ils travaillent en binôme, de façon à avoir une meilleure vision et un esprit critique de la technique utilisée ou de la logique du code. Le code source est la propriété de toute l équipe. Chaque membre peut apporter une idée ou émettre une critique sur une portion de code. Les développeurs doivent synchroniser leurs travaux respectifs aussi souvent que possible : au moins une fois par jour. Page 58 de 78
3. Les pratiques de gestion de projet : Le projet est préalablement découpé en tâches élémentaires de courtes durées. Les planifications sont effectuées au cours des réunions avec toute l équipe et la présence obligatoire du client, où chacun estime la durée des tâches, par l intermédiaire de scénarios utilisateurs. En fait, le client (ou son représentant) est directement intégré à l équipe de développement. L équipe de développement d un projet qui se conforme à l XP doit comprendre des personnes devant occuper les rôles spécifiques suivant : Le manager : il demande à l équipe de faire ses preuves Le coach : il veille au rôle de chaque membre et au respect des pratiques XP Les programmeurs Les testeurs (souvent les programmeurs eux-mêmes) Le client ou son représentant (maître d ouvrage) Page 59 de 78
4 Listes des outils d'exécution 4.1 Liés au système d exploitation 4.1.1 Système d exploitation 4.1.1.1 Définition Première couche logicielle permettant d'utiliser un ordinateur, le «SE» supervise et coordonne les différents modules qui le composent et se fait l'interface indispensable entre les différentes ressources matérielles et les applications logicielles. Il rend ainsi totalement transparent à ces logiciels les éléments matériels composant l'ordinateur. 4.1.1.2 Enumération 2000 Microsoft http://wwww.microsoft.com 455,82 2000 est le remplaçant de NT4, il est de plus en plus présent dans les entreprises et chez les particuliers car il est conviviale et stable. XP Microsoft http://wwww.microsoft.com 448,00 XP est le remplaçant de 98, mais est beaucoup plus stable que ce dernier. Il est de plus en plus présent chez les particuliers. FreeBSD Linux Mandrake Microsoft http://www.freebsd-fr.org/ Gratuit FreeBSD est un système d'exploitation de type Unix fonctionnant sur compatibles PC. Son utilisation est libre de tout droit et le code source est disponible gratuitement. Microsoft http://www.linux-mandrake.com/ Gratuit (GNU-linux) Mandrake est un système d exploitation de type Linux fonctionnant sur x86, Alpha AXP, PPC, SPARC et IA64. Mandrake est une des distributions linux les plus facile à utiliser. Page 60 de 78
4.1.2 Bibliothèque Runtime 4.1.2.1 Définition Elle désigne l ensemble des librairies (regroupement de fonctions de «base») qui forment l environnement d exécution permettant le développement, la gestion et le déploiement d'applications dans un système d exploitation. 4.1.2.2 Enumération Runtime Visual Basic 4.0 (Microsoft) 3.x / 95 Fichiers "runtime" constituant le "tronc commun" et indispensables pour tous les programmes développés avec VB4. premier pas vers un véritable langage Orienté Objet avec l apparition de la notion de classe. considérée comme version hybride (mi 16 mi 32 bits) et compatibilité avec deux systèmes d exploitations (VB40016.dll pour 3.1 et VB40032.dll pour 95) Runtime Visual Basic 5.0 (Microsoft) Description : 95 / NT ajout d un compilateur C++ par rapport à l ancienne mouture (gain en rapidité) Runtime Visual Basic 6.0 (Microsoft) 95 / 98 / NT aboutissement des concepts des précédentes versions de VB (à partir de SP4) Page 61 de 78
Visual Basic.Net (Microsoft) Runtime Java (Java Runtime Environment) 95 / 98 / NT / 2000 / XP ensemble de bibliothèques mises à disposition des développeurs Visual Basic, mais aussi C++, Cobol, Eiffel, C#, etc. (plus de 30 langages supportés) nécessitant la mise au point du CLR, Common Language Runtime (dénominateur commun obligatoire à tous les langages). Le compilateur génère un exécutable en IL, Intermediate Language. Pour un même code écrit en VB, C#, C++, etc., le code IL est le même. Ce n est qu à l exécution du code que le compilateur JIT (Just In Time) de MS.net compile l application. Multi plateforme Java 2 Runtime Environment contient la machine virtuelle Java, les bibliothèques de classes d exécution et le lanceur d applications Java. Tous ces composants sont nécessaires à l exécution de programmes écrits dans le langage de programmation Java. Page 62 de 78
4.1.3 Machine virtuelle/interpréteur 4.1.3.1 Définition Machine virtuelle : Machine abstraite simulée au sein d'une autre machine bien réelle celle-là, et utilisée comme environnement d'exécution d'un langage portable de haut niveau (ex. virtual machine, en anglais) Interpréteur : A la différence d'un compilateur, il s agit d une application servant à exécuter des programmes (interprétés) ou des scripts. 4.1.3.2 Enumération JRE CLR Editeur URL Editeur URL Java Runtime Environment SUN www.java.sun.com JRE est la plate forme Java standard pour faire tourner des applications écrites dans le langage Java. En édition standard, elle consiste en une machine virtuelle en Java. Elle interprète et exécute du byte-code Java. Common Language Runtime Microsoft http://www.microsoft.com Le Common Language Runtime est l environnement d exécution des programmes créés à partir des spécifications des langages de.net. Il tient son nom du fait qu il est compatible, non seulement avec les langages de Visual Studio.Net mais aussi avec d autres langages à condition qu ils suivent les recommandations du framework. L avantage du CLR est qu il permet à des langages de communiquer les uns avec les autres. La seule condition est que ces langages utilisent les classes mises à leur disposition par le framework. Il a pour but de gérer le fonctionnement des applications lancées. Le CLR a pour tâche de simplifier le travail du développeur, il se charge ainsi de la gestion de l allocation mémoire, de la gestion des tâches et des processus. Page 63 de 78
4.2 Conteneur de données 4.2.1 Définition Entité qui permet de stocker des données (telle un table dans une base de données) Conteneur de données Page Oracle 9i DataBase 64 PostgreSQL 65 MySQL 65 Adaptive Server Entreprise 65 DB2 66 SQL Server 2000 66 4.2.2 Les principaux SGBD ORACLE 9i Database 98/2000/NT Oracle http://www.oracle.com/fr 40.000 $ / processeur pour la version Entreprise??? SGBD le plus performant du marché Fonctionnalités : Possède 15 certifications de sécurité Traitement des transactions Supporte le langage PL/SQL pour les requêtes l'apparition de Real Application Cluster (RAC) Page 64 de 78
PostgreSQL UNIX, Linux, Solaris, HP-UX PostgreSQL Global Development Group http://www.postgresql.org/ Gratuite SGBR Relationnel très stable Fonctionnalités : gestion des clés étrangères triggers et vues roll-back transactions gère des tables de grande capacité (To) Parfaitement compatible ACID Requêtes imbriquées Intégrité référentielle MySQL UNIX, Linux,, Solaris GPL : payant à 200 $ pour un emploi commercial, gratuit sinon SGBD léger et pratique pour des petites bases de données Fonctionnalités : multithread (utilisation de plusieurs CPU) rapide et léger défaut : non stable à long terme Adaptive Server Entreprise Sybase http://www.sybase.com/products/databaseservers/ase conçu pour gérer les exigences des environnements internet et des applications critiques traditionnelles OLTP et DSS Fonctionnalités : Serveur transactionnel «Multithread»incluant parallélisme, verrouillage au niveau ligne, évolutivité et outils de productivité Répartition des charges dans un environnement en clusters Page 65 de 78
DB2 AIX, HP-UX, linux, UNIX, BSD, NT/2000 IBM http://www-5.ibm.com/fr/software/data/db2/ Version de démonstration téléchargeable sur le site Prix : 1.145,29 SGBD Relationnel Fonctionnalités : S adapte aux solutions e-business de toutes tailles Très stable SQL Server 2000 NT server Microsoft http://www.microsoft.com/france/sql/default.asp Version d évaluation téléchargeable sur le site SGBD Relationnel Fonctionnalités : Parfaite intégration avec windows NT server Communique suivant le protocole TCP/IP C est un exécutable autonome (pas de dll exécutées) Page 66 de 78
4.3 Conteneurs d application 4.3.1 Les serveurs Web 4.3.1.1 Définition C est un système logiciel installé sur une machine serveur ou machine serveur dédiée (machine accessible à distance) dont le rôle est de servir des documents hypertextes sur des réseaux de type TCP/IP. On parle aussi de serveur HTTP. Serveur Web Page Apache 68 Microsoft IIS 68 Zeus 69 4.3.1.2 Fiche synoptique Nom du serveur Web Points forts Points faibles Apache - Gratuité - Peu gourmand en ressources matérielles - Installation et administration plus laborieuses (pas d'interface graphique) - Pas de support technique - Excellente stabilité Microsoft IIS - Grande simplicité d'installation et d'utilisation - Coût du support technique - Très gourmand en ressources matérielles Zeus - Peu gourmand en ressources matérielles - Excellente stabilité - Capacité à tenir de très gros pics de fréquentation - Interface native avec certaines bases de données - Coût de la licence (1700 ) - Coût du support technique Page 67 de 78
4.3.1.3 Enumération Apache Microsoft IIS Unix/Linux et Serveur de pages Web open source extensible (via des modules) et conforme aux protocoles standards. Il est très utilisé dans l industrie. Il représente 60% du marché des serveurs Web. > Compétences fortes, tous types d'exigences: Apache Le Serveur Web le plus populaire est fort complexe à paramétrer et à administrer : tout se passe sur un écran noir, en mode ligne de commande. Aucun support technique téléphonique n'est fourni puisqu' Apache n'a pas de distributeur officiel. Il faut donc assurer soi même son support en surfant sur les sites d'information consacrés à Apache, ou encore souscrire à un contrat de support auprès d'une société spécialisée. Cependant, Apache est gratuit, il consomme des ressources matérielles très modestes, et il est irréprochable en termes de fiabilité. Apache est donc un très bon choix pour les entreprises qui disposent de compétences informatiques fortes - et plus spécifiquement sous Unix et Linux. Notons qu'il sera parfois intéressant d'acquérir ces compétences : les linuxiens chevronnés se font de moins en moins rares sur le marché, et Apache demande - à charge égale - beaucoup moins de ressources matérielles qu'iis, ce qui rend son TCO excellent pour les applications lourdes. Intégré à 2000 Server, IIS fait office de serveur Web, serveur de messagerie, serveur de news et serveur ftp. Intégration complète au système d'exploitation 2000. Il représente 30% du marché des serveurs Web. > Compétences faibles et exigences modestes: IIS Le Serveur Web de Microsoft est très facile à installer et relativement facile à administrer. Il dispose d'une fonction de redémarrage automatique en cas de plantage. Et il est inclus par défaut dans l'os serveur de Microsoft. Mais si l'on souhaite confier à IIS un gros site Web - ou un gros Intranet -, la facture hardware monte beaucoup plus vite que celle d'apache ou Zeus, de même que la facture logicielle : la base de données Microsoft SQL devient rapidement indispensable, et l'on sait son tarif conséquent. On réservera donc IIS aux entreprises qui disposent de compétences informatiques moyennes, et dont les exigences en terme de performances vont de modérées à moyennes. Page 68 de 78
Zeus Outsider qui représente 1,4% de part de marché. > Compétences moyennes et exigences très fortes: Zeus Zeus simplifie la tache de l'administrateur. L'installation démarre en mode ligne de commande, mais elle est rapidement facilitée par des boites de dialogue judicieusement conçues. L'administration se fait à distance à travers un navigateur Web : c'est un modèle d'ergonomie. Quant aux performances de Zeus, elles sont équivalentes à celles d'apache, avec un avantage de taille : Zeus est capable de tenir le choc de plusieurs milliers de requêtes par seconde. Une assurance contre le plantage en cas de pic de fréquentation. Zeus est compatible en natif avec une foule d'api qui lui permettent de s'interfacer sans effort avec un grand nombre de bases de données. Le seul défaut de Zeus : son prix (1700 pour la licence sans compter le support). Zeus sera le meilleur choix pour les entreprises aux exigences très fortes - aussi bien en nombre de connexions simultanées qu'en terme de disponibilité. Page 69 de 78
4.3.2 Serveurs d application 4.3.2.1 Définition Ces serveurs mettent à disposition des clients, les données et fichiers, mais surtout les applications. Ils assurent l'exécution de la partie serveur des applications client/serveur. La base de données reste sur le serveur, et seuls les résultats des requêtes sont téléchargés vers l'ordinateur client. On comprendra que ce type de serveur doit être performant et dimensionné en fonction du type d'application et du nombre d'utilisateurs. Serveur d application Page.Net Enterprise Servers 70 Tomcat 70 Websphere 71 BEA Weblogic 71 4.3.2.2 Enumération.NET Enterprise Servers Url Editeur: Version d évaluation Tomcat Url Editeur: Version d évaluation http://www.microsoft.com/france/serveurs/dotnet/decouvrir.asp Microsoft http://www.microsoft.com/france/ http://www.microsoft.com/servers/evaluation/trial/default.asp http://support.microsoft.com/default.aspx?scid=/isapi/gomscom.asp?targ et=/france/support/home/tel.asp Ces serveurs d entreprises permettent de créer, déployer et gérer des solutions et des Web services. Portabilité Java http://jakarta.apache.org/tomcat/ Sun http://www.sun.com http://jakarta.apache.org/site/binindex.cgi http://jakarta.apache.org/site/contact.html Gratuit Apache Tomcat est un conteneur Web compatible J2EE qui peut faire office de serveur web. Il est compatible avec les servlets et le JSP. Page 70 de 78
Websphere Url Editeur: Version d évaluation Portabilité Java http://www-5.ibm.com/fr/software/websphere/ IBM http://www.ibm.com Non disponible IBM France 2 avenue Gambetta Tour Descartes - La Défense 5 92066 Courbevoie France Tél : 0 810 835 426 44 120,92 - Websphere est un ensemble de solution e-business basée sur des standards tels que les technologies Java XML et J2EE. Des extensions permettent d avoir une certaine flexibilité dans le développement et le déploiement des solutions e-business. - Connecteurs pour des applications Microsoft, C++ ou Corba - Support de la plupart des serveurs HTTP et bases de données BEA WebLogic Url Editeur: Version d évaluation Portabilité Java http://www.beasys.fr/produits/serveurs_applications.jsp Bea http://www.beasys.fr http://commerce.bea.com/downloads/weblogic_platform.jsp Centre de support Européen (Paris, France) : M-F, 9h00am - 18h00pm GMT +1, couverture 24h/24, 7j/7 Téléphone : (33) 01 41 45 70 90 Fax : (33) 01 41 45 70 09 Bea WebLogic offre des outils et une infrastructure pour le développement des solutions e-commerce. Fonctionnalités : - Il permet de gérer des données pour une transaction hétérogène - Il est ouvert au standard J2EE, Corba, XML Page 71 de 78
4.3.3 Portail Web 4.3.3.1 Définition Un portail Web est une application réseau qui intègre un certain nombre de services sous forme de modules. Le but est de fournir à un utilisateur inscrit sur le portail l ensemble des services en un ensemble cohérent. Portail Web Page Portal Suite 6.0 72 WebLogic Portal 6.1 73 One Portal 6.0 73 OptimalView 2.3 73 4.3.3.2 Enumération Portal Suite 6.0 Editeur URL ATG Enterprise http://www.atg.com/en/products/portalsuite/ Solution qui permet la personnalisation via un moteur de scénarios métiers. S'y ajoutent des composants, "les gears", pour accéder aux applications depuis le portail. Doc : http://www.atg.com/repositories/contentcatalogrepository_en/products/ ATG_Portal_Solution_Sheet.pdf Fonctionnalités : Moteur de scénarios Ajout de composants possible S intègre avec des infrastructures comme BEA, IBM, Oracle, Sun et HP Page 72 de 78
Weblogic Portal 6.1 Editeur BEA URL http://www.bea.com/products/weblogic/portal/index.shtml Fonctionnalités : Connexion avec Tuxedo J2EE Java 2 Secutity JTA 1.01 JMS 1.02 Serlet 2.3 JSP 1.2 EJB One Portal 6.0 Editeur URL Sun http://wwws.sun.com/software/products/portal_srvr/home_portal6.html Serveur intégrant un ensemble de services dont la gestion aisée de l administration et des utilisateurs. Fonctionnalités : Administration du portail étendue Moteur de recherche Personnalisation basée sur les rôles Gestion centralisée des utilisateurs et accès sécurisé OptimalView 2.3 Editeur Compuware URL http://www.compuware.com/products/optimalview/ Portail intranet/extranet qui permet de : Fonctionnalités : Intégrer des applications dans un seul point d acces Mettre en œuvre des processus d entreprise complexes Partager des informations Fonctions de recherche avancées Classification du contenu Possibilité de personnalisation facile Page 73 de 78
4.3.4 Middleware 4.3.4.1 Définition Le but premier de la technologie Middleware est de résoudre le problème de l'interaction et de l'intégration des applications dans un environnement hétérogène et distribué. En effet, l'ajout d'une application à un environnement informatique, peut conduire à construire autant de liens de communication, et jusqu'à deux fois plus d'interfaces. De plus, les changements de l'infrastructure engendrent la création de nouvelles interfaces. Une façon de résoudre ce problème est d'introduire le concept de bus unique de communication ou Middleware, auquel les applications se connectent par l'intermédiaire des interfaces clairement définies. L'utilisation d'un Middleware et donc de l'architecture Client/Serveur à plusieurs niveaux offre des avantages par rapport à l'architecture classique à 2 niveaux : Adaptabilité : Les composants fondamentaux d'une infrastructure (tels que des plates-formes, des bases de données, des OS) peuvent être ajoutés ou remplacés sans que cela implique des modifications du système applicatif. Réduction du temps de développement : La division logique et la modularité permettent d'améliorer la qualité du système et de réduire le temps de mise en œuvre et de modification. Flexibilité : Les capacités et les caractéristiques d'une application peuvent être remplacées ou modifiées sans changement de l'architecture technique. Réduction de coût : L'utilisation d'un Middleware offre la possibilité de choisir des solutions standards du marché, non seulement en fonction des caractéristiques techniques, mais aussi de leur rapport qualité/prix. Middleware Page Tuxedo 75 Encina 75 Biztalk 75 One 76 RPC 76 Corba 77 DCOM 77 PeopleTools 8.4 78 Together 78 Page 74 de 78
4.3.4.2 Enumération TUXEDO Editeur BEA URL http://www.beasys.fr/produits/tuxedo.jsp BEA Tuxedo est une plate-forme pour concevoir de robustes systèmes e- business simples à administrer et pour lancer rapidement de nouveaux produits et services afin d'asseoir sa position concurrentielle. ENCINA Editeur URL Les conditions économiques actuelles exigent des entreprises de déployer des applications traditionnelles et e-business afin de prendre pied rapidement sur des marchés émergeants, de toucher et fidéliser de nouveaux clients et de lancer de nouveaux produits et services. Pour y parvenir, il est nécessaire de disposer d'infrastructures applicatives éprouvées, fiables, évolutives, accessibles à tous types d'utilisateur et intégrant les données et applications existantes dans de puissantes solutions e-business souples et globales. BEA Tuxedo est un outil essentiel pour satisfaire toutes ces exigences en limitant les délais, la complexité et les coûts de déploiement. IBM http://www.transarc.ibm.com/product/txseries/encina/ Biztalk Méthodologie supportée Langage(s) : MICROSOFT http://www.microsoft.com/biztalk Revendeur de licence Education (étudiant et formateur) : http://www.microsoft.com/france/education/acheter/ouacheter/ Outils Borland, IBM Websphere Permet l intégration de solutions en réduisant la complexité en offrant l infrastructure et les outils nécessaires pour créer des communautés de commerce électronique. Fournis des bibliothèques de connecteur Prise en charge de XML, SOAP, MIME Page 75 de 78
ONE Méthodologie supportée Langage(s) : SUN http://fr.sun.com/produits-solutions/solutions/sunone Revendeur de licence Education (étudiant et formateur) : http://fr.sun.com/howtobuy/ Trial disponible Outils Borland, IBM Websphere Structure architecturale ouverte et évolutive au niveau fonctionnel, avec laquelle les clients peuvent décider du degré d'intelligence qu'ils souhaitent intégrer dans leurs services Web. RPC Remote Procedure Call La technologie RPC permet à un client d'exécuter une fonction d'un serveur distant. C'est un système essentiellement basé sur la procédure, qui n'intègre pas l'orienté objet (exception faite de DCE-RPC). Les caractéristiques principales de RPC sont les suivantes: Les procédures peuvent être distribuées sur la même machine ou sur un réseau. C'est un système non connecté (Connectionless). La connexion n'existe que pour le temps de l'appel à la procédure. Les détails du mécanisme de transport utilisés par RPC sont cachés au programmeur. L'appel à une procédure distante apparaît comme s'il était fait localement. RPC supporte la portabilité et l'interopérabilité et ce, sous différents systèmes d'exploitation. RPC supporte également le Multithreading, la sécurité réseau, l'intégrité des ressources et l'intégrité des données (lors des transferts). Page 76 de 78
CORBA DCOM Common Object Request Broker Adapter CORBA permet à une application cliente d'effectuer une requête à un objet distant (serveur) et de recevoir en retour le résultat de l'opération effectuée. Tout le travail de communication est automatiquement effectué par le Middleware (processus de localisation des objets distribués, le Un/Multiplexing, la gestion des erreurs de communications, le Un/Marshaling, etc). Les principales caractéristiques de CORBA sont les suivantes: CORBA offre une complète interopérabilité. Les applications intégrant CORBA communiquent en utilisant le protocole de communication IIOP (un sous ensemble de GIOP) qui est un véritable standard de l'industrie. Ce protocole ne dépend pas des langages de programmation ni des plates-formes. Il peut faire communiquer n'importe quel élément supportant TCP/IP. Intégration aux systèmes existants. L'architecture de CORBA est ouverte et permet l'intégration de systèmes hétérogènes. Les objets CORBA externationalisent leur définition dans une interface. L'implémentation et la définition d'un objet CORBA sont complètement dissociées. CORBA entretient un lien privilégié avec la dernière version de Java (et le C++). Distributed Component Object Model C'est un Middleware qui ressemble à CORBA, à la différence qu'il est fortement adapté aux produits et plates-formes Microsoft. Il est une extension de COM en ce sens qu'il permet de séparer une application en plusieurs parties et de les distribuer sur un réseau. C'est cette technologie qui permet, entre autres, l'utilisation d'une feuille de calcul du logiciel Excel à l'intérieur du logiciel Word et ce, sans que Excel ne soit en fonction. La technologie COM est donc une spécification propriétaire. Certaines des caractéristiques importantes sont les suivantes: Les composantes (objets) DCOM peuvent fonctionner dans des processus différents et sur des ordinateurs différents. DCOM favorise la réutilisation des composantes. Microsoft affirme que les composantes DCOM sont indépendantes du langage de programmation utilisé. Le concept de client avec DCOM: C'est une application qui invoque les méthodes d'une composante DCOM fonctionnant sur un serveur. Le concept de serveur DCOM: C'est une application qui rend accessibles des composantes DCOM à des clients. Le concept d'interface dans DCOM: C'est un pointeur à un groupe de fonctions qui peut être appelé via DCOM. Le concept de classe dans DCOM: C'est la définition d'une abstraction qui implémente une ou plusieurs interfaces. Le concept d'objet dans DCOM: C'est une instance d'une classe. Le Marshaling: C'est une opération qui consiste à transformer et à transférer des données entre le client et le serveur. Page 77 de 78
PeopleTools 8.4 Méthodologie supportée Together Méthodologie supportée Langage(s) : Java PEOPLESOFT http://www.rational.com/products/apex/apexnative.jsp Outil de développement RAD, permet de personnaliser rapidement les progiciels Peoplesoft. S'adapte aux architectures Clients/Serveurs et Intranet/Internet. Langage(s) : BORLAND http://www.borland.fr/together Revendeur de licence Education (étudiant et formateur) : http://info.borland.fr/ou_acheter/education/ Outils Borland, IBM Websphere Couvre les phases de conception, développement et déploiement d'applications, afin que les équipes puissent planifier, construire et déployer rapidement des systèmes professionnels. Page 78 de 78