chp5 - les outils case
DESCRIPTION
Visitez http://liliasfaxi.wix.com/liliasfaxiTRANSCRIPT
![Page 1: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/1.jpg)
L2ARS/SIL – 2011/2012
AGL – Chapitre 5
LES OUTILS CASE
Mme. Lilia SFAXI
Mme. Abir Gallas
![Page 2: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/2.jpg)
Les outils CASE
§ Les AGL intègrent différents outils d'aide au développement de logiciels
Les outils CASE: Computer-Aided Software Engineering
25/12/11 Atelier de Génie Logiciel 2
![Page 3: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/3.jpg)
Plan du Cours
§ Les Outils CASE ü Catégories d'AGL ü Classification des Outils CASE ü Intégration des Outils CASE • Intégration des données • Intégration de l'interface • Intégration des activités
ü Types d'AGL • Environnements de Conception (Upper-CASE) • Environnements de Développement (Lower-CASE)
§ Les IDEs
25/12/11 Atelier de Génie Logiciel 3
![Page 4: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/4.jpg)
Catégories d'AGL
§ Les AGL peuvent être classés selon plusieurs aspects ü Richesse du support: outils intégrés, aide à la démarche ü Type de problèmes: logiciels embarqués, temps réel,
applications métiers... ü Type de projet d'ingénierie logicielle: développement
logiciel (cf. cycle de vie), intégration de systèmes, système à base de connaissance...
ü Ampleur du projet: complexité, nombre de participants, durée...
ü Gestion des ressources du projet: management des ressources du projet (planification, ordonnancement,..)
ü Phase du cycle de développement prise en compte: conception et/ou développement.
25/12/11 Atelier de Génie Logiciel 4
![Page 5: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/5.jpg)
Catégories d’AGL
§ Certains outils interviennent durant la totatlité du processus logiciel
§ Outils horizontaux ü Certains outils interviennent lors d'une ou
plusieurs phases du cycle de vie du logiciel
§ Outils verticaux
25/12/11 Atelier de Génie Logiciel 5
![Page 6: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/6.jpg)
Outils Horizontaux
§ Service pour l'ensemble du cycle de vie ü Editeurs de texte ü Gestion de projet ü Gestion du dictionnaire de données ü Administration et droit d'accès ü Gestion des configurations ü Documentation ü Service de communication
25/12/11 Atelier de Génie Logiciel 6
![Page 7: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/7.jpg)
Outils Horizontaux
25/12/11 Atelier de Génie Logiciel 7
![Page 8: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/8.jpg)
Outils Verticaux
§ Fonctions propres à chaque étape du cycle de vie ü Spécification ü Conception ü Génération de code ü IDE ü Compilateurs ü Génération d'IHM ü Génération de tests ü Validation ü Prototypage ü Maintenance
25/12/11 Atelier de Génie Logiciel 8
![Page 9: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/9.jpg)
Fonctions Supplémentaires
§ Rétro-Ingénierie (Reverse Engineering) ü Etudier un objet pour en déterminer le
fonctionnement interne ou la méthode de fabrication
§ Réutilisation (Reuse) ü Gestion des bibliothèques de composants
25/12/11 Atelier de Génie Logiciel 9
![Page 10: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/10.jpg)
Classification des Outils CASE
25/12/11 Atelier de Génie Logiciel 10
![Page 11: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/11.jpg)
Plan du Cours
§ Les Outils CASE ü Catégories d'AGL ü Classification des Outils CASE ü Intégration des Outils CASE • Intégration des données • Intégration de l'interface • Intégration des activités
ü Types d'AGL • Environnements de Conception (Upper-CASE) • Environnements de Développement (Lower-CASE)
§ Les IDEs
25/12/11 Atelier de Génie Logiciel 11
![Page 12: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/12.jpg)
Intégration d'Outils CASE
§ Un AGL intègre différents outils CASE de manière à les faire coopérer de façon uniforme
§ Cette intégration peut s'effectuer à trois niveaux: ü Intégration des données ü Intégration de l'interface utilisateur ü Intégration des activités
25/12/11 Atelier de Génie Logiciel 12
![Page 13: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/13.jpg)
Intégration des Données
§ Les outils CASE manipulent des données ü Génération ü Utilisation ü Transformation
§ Exemple ü Spécification ü Modèle conceptuel des données ü Jeux de test ü Code ü Manuel utilisateur...
25/12/11 Atelier de Génie Logiciel 13
![Page 14: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/14.jpg)
Intégration des Données
§ Différents outils sont amenés à partager une même donnée, exemples: ü Les tables générées par un éditeur de
diagrammes sont utilisées par un SGBD ü Le code généré par un éditeur de texte est
compilé par un compilateur ü A partir d'une spécification algébrique on peut
générer des jeux de tests ü …
25/12/11 Atelier de Génie Logiciel 14
![Page 15: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/15.jpg)
Intégration des Données
§ Un AGL doit prendre en charge la communication de ces données entre les différents outils ü Intégration des outils CASE par celle des
données
§ L'intégration des données peut être ü Physique ü Logique
25/12/11 Atelier de Génie Logiciel 15
![Page 16: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/16.jpg)
Intégration des Données
§ Intégration Physique ü tous les outils de l'AGL utilisent un seul format de
représentation des données • Ex: des fichiers sur une même machine.
ü Cette approche implique que tous les outils de l'AGL connaissent la structure logique (l'organisation) des fichiers qu'ils sont amenés à utiliser
§ Il est nécessaire de normaliser la structure logique des fichiers
25/12/11 Atelier de Génie Logiciel 16
![Page 17: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/17.jpg)
Intégration des Données
§ Intégration Logique ü Utilisation d'un système de gestion des objets • Gestion automatique des différentes entités et leurs
inter-relations
ü Cette approche nécessite la définition des différents types de données manipulées
ü L'AGL doit également gérer la cohérence entre les différentes versions de ces données • Gestion des configuration
25/12/11 Atelier de Génie Logiciel 17
![Page 18: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/18.jpg)
Plan du Cours
§ Les Outils CASE ü Catégories d'AGL ü Classification des Outils CASE ü Intégration des Outils CASE • Intégration des données • Intégration de l'interface • Intégration des activités
ü Types d'AGL • Environnements de Conception (Upper-CASE) • Environnements de Développement (Lower-CASE)
§ Les IDEs
25/12/11 Atelier de Génie Logiciel 18
![Page 19: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/19.jpg)
Intégration de l'Interface Utilisateur
§ Tous les outils intégrés dans l'AGL communiquent avec l'utilisateur selon un schéma uniforme ü Facilite leur utilisation
§ Intégration des outils CASE par celle des interfaces
25/12/11 Atelier de Génie Logiciel 19
![Page 20: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/20.jpg)
Plan du Cours
§ Les Outils CASE ü Catégories d'AGL ü Classification des Outils CASE ü Intégration des Outils CASE • Intégration des données • Intégration de l'interface • Intégration des activités
ü Types d'AGL • Environnements de Conception (Upper-CASE) • Environnements de Développement (Lower-CASE)
§ Les IDEs
25/12/11 Atelier de Génie Logiciel 20
![Page 21: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/21.jpg)
Intégration des Activités
§ Un AGL peut gérer le séquencement des appels aux différents outils intégrés ü Pour assurer la cohérences entre les différentes
phases du processus logiciel. § Cet aspect implique que l'on dispose d'un
modèle du processus de développement bien accepté et partagé.
§ Intégration des outils CASE par celle des activités
25/12/11 Atelier de Génie Logiciel 21
![Page 22: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/22.jpg)
Plan du Cours
§ Les Outils CASE ü Catégories d'AGL ü Classification des Outils CASE ü Intégration des Outils CASE • Intégration des données • Intégration de l'interface • Intégration des activités
ü Types d'AGL • Environnements de Conception (Upper-CASE) • Environnements de Développement (Lower-CASE)
§ Les IDEs
25/12/11 Atelier de Génie Logiciel 22
![Page 23: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/23.jpg)
Types d'AGL § On distingue essentiellement deux types
d'AGL selon la nature des outils intégrés
25/12/11 Atelier de Génie Logiciel 23
![Page 24: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/24.jpg)
Types d’AGL
25/12/11 Atelier de Génie Logiciel 24
![Page 25: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/25.jpg)
Environnements de Conception(Upper-CASE)
§ Supportent les phases d'analyse et de conception du processus logiciel
§ Généralement basés sur une méthode d'analyse et de conception
§ Exemple: Rational Rose, AnalyseSI § Intègrent généralement
ü Des outils pour l'édition de diagrammes ü Des dictionnaires de données ü Des outils pour d'édition de rapports ü Des générateurs de squelettes de code ü Des outils de prototypage ü ...
25/12/11 Atelier de Génie Logiciel 25
![Page 26: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/26.jpg)
Environnements de Développement(Lower-CASE)
§ Supportent les phases d'implémentation et de test du processus logiciel.
§ Exemple : Code::Blocks, KompoZer § Intègrent généralement
ü Des éditeurs (éventuellement dirigés par la syntaxe), ü Des générateurs d'interfaces homme/machine, ü Des SGBD, ü Des compilateurs, ü Des optimiseurs, ü Des debuggers, ü ...
25/12/11 Atelier de Génie Logiciel 26
![Page 27: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/27.jpg)
Environnements de Développement(Lower-CASE)
§ Environnements dédiés ü Certains environnements, plus évolués, sont dédiés à
un langage particulier ü Exemple: C++ Builder, Smalltalk ü Ces différents environnements proposent • Des bibliothèques de composants • Une interface graphique • Des éditeurs dédiés au langage • Des interprètes • Des debuggers • …
25/12/11 Atelier de Génie Logiciel 27
![Page 28: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/28.jpg)
Environnements de Développement(Lower-CASE)
§ Générateurs d'environnements de programmation: ü À partir de la description formelle d'un langage, ils
génèrent un environnement de programmation dédié au langage
ü Contenant: • un éditeur dédié au langage, • un pretty-printer, • un debugger, • un interpréteur, ...
ü Exemple: • Centaur • SmartTools
25/12/11 Atelier de Génie Logiciel 28
![Page 29: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/29.jpg)
Plan du Cours
§ Les Outils CASE ü Catégories d'AGL ü Classification des Outils CASE ü Intégration des Outils CASE • Intégration des données • Intégration de l'interface • Intégration des activités
ü Types d'AGL • Environnements de Conception (Upper-CASE) • Environnements de Développement (Lower-CASE)
§ Les IDEs
25/12/11 Atelier de Génie Logiciel 29
![Page 30: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/30.jpg)
Integrated Development Environement
§ IDE: Environnement intégré de développement ü Ensemble d'outils qui facilitent le développement d'application
§ Permettent de: ü Ecrire et éditer le code source ü Voir les erreurs pendant la saisie ü Voir la syntaxe spécifique du code ü Automatiser les tâches réitérées ü Compiler le code ü Accéder à la documentation, exemples... ü Offrir des utilitaires drag & drop pour la création facile des dispositifs tels
que les objets graphiques, ou créer des connexions avec les bases de données
25/12/11 Atelier de Génie Logiciel 30
![Page 31: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/31.jpg)
Integrated Development Environement
§ En outre, quelques IDEs font les tâches suivantes ü Fournir des templates pour la création rapide des
composantes ü Fournir le code completion au moment de la saisie ü Produire automatiquement du code, des rapports, des
connexions avec les données... ü S'intégrer avec des dépôts de code source, tels que CVS ü S'intégrer avec des serveurs d'application tel que Apache
Tomcat ü S'intégrer avec des utilitaires de construction tels que
Apache Ant.
25/12/11 Atelier de Génie Logiciel 31
![Page 32: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/32.jpg)
Avantages d'un IDE
§ Productivité ü Un développement plus rapide ü Peu d'erreur de syntaxe et de structure de code (améliorer le
code et corriger plus vite les erreurs) ü Aide des programmeurs inexpérimentés
§ Consistance ü Structure du code consistante ü Look & Feel
§ Courbe d'apprentissage accélérée ü Possibilité de vérifier les résultats immédiatement ü Accès immédiat à l'aide de contexte, aux portions de code visées
25/12/11 Atelier de Génie Logiciel 32
![Page 33: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/33.jpg)
Inconvénients d'un IDE
§ Coût des outils § Temps d'exécution § Attachement à un module de base de
données, à une plateforme,... § Manque de personnel expérimenté et des
ressources § L'incapacité de certains IDEs à fournir
toutes les possibilités de langages
25/12/11 Atelier de Génie Logiciel 33
![Page 34: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/34.jpg)
Quand utiliser un IDE?
§ L'utilisation d'un IDE n'est pas toujours appropriée § Un IDE est le plus utile quand: § La vitesse de développement est un facteur § Les coûts de développement et de cycle de vie sont un
facteur § De grandes équipes travaillent sur un même projet § Les demandes de l'application ne dépassent pas les
limites de l'environnement de déploiement de l'IDE utilisé.
25/12/11 Atelier de Génie Logiciel 34
![Page 35: Chp5 - Les outils CASE](https://reader034.vdocuments.site/reader034/viewer/2022042514/5585727bd8b42a472c8b4cac/html5/thumbnails/35.jpg)
Langages des IDEs
§ Certains IDEs sont basés sur des langages spécifiques, tels que ü Eclipse ou Netbeans: basés sur Java ü MonoDevelop: basé sur C#
§ L'ajout des langages alternatifs est souvent fourni par des plugins, leur permettant d'être installés sur le même IDE en même temps ü Exemple: Plugin C/C++ pour Eclipse
25/12/11 Atelier de Génie Logiciel 35