35
L2ARS/SIL – 2011/2012 AGL – Chapitre 5 LES OUTILS CASE Mme. Lilia SFAXI Mme. Abir Gallas

Chp5 - Les outils CASE

Embed Size (px)

DESCRIPTION

Visitez http://liliasfaxi.wix.com/liliasfaxi

Citation preview

Page 1: Chp5 - Les outils CASE

L2ARS/SIL – 2011/2012

AGL – Chapitre 5

LES OUTILS CASE

Mme. Lilia SFAXI

Mme. Abir Gallas

Page 2: Chp5 - Les outils CASE

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

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

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

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

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

Outils Horizontaux

25/12/11 Atelier de Génie Logiciel 7

Page 8: Chp5 - Les outils CASE

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

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

Classification des Outils CASE

25/12/11 Atelier de Génie Logiciel 10

Page 11: Chp5 - Les outils CASE

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

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

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

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

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

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

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

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

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

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

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

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

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

Types d’AGL

25/12/11 Atelier de Génie Logiciel 24

Page 25: Chp5 - Les outils CASE

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

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

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

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

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

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

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

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

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

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

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