SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
LES OUTILS CASE	

Mme. Lilia SFAXI	
Mme. Abir Gallas	
L2ARS/SIL – 2011/2012

AGL – Chapitre

5
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
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
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
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
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
Outils Horizontaux

25/12/11

Atelier de Génie Logiciel

7
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
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
Classification des
Outils CASE

25/12/11

Atelier de Génie Logiciel

10
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
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
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
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
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
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
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
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
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
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
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
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
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
Types d’AGL

25/12/11

Atelier de Génie Logiciel

24
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Tendances

2.2 cycles de vie
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vie
Harun Mouad
 
Gestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatiqueGestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatique
Jihed Kaouech
 

Tendances (20)

Chp4 - UML
Chp4 - UMLChp4 - UML
Chp4 - UML
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...Présentation PFE :  Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
2.2 cycles de vie
2.2 cycles de vie2.2 cycles de vie
2.2 cycles de vie
 
Test logiciel
Test logicielTest logiciel
Test logiciel
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
Application de gestion des projets en J2EE (Spring-Hibernate) avec architectu...
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Présentation de Thèse
Présentation de ThèsePrésentation de Thèse
Présentation de Thèse
 
Gestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatiqueGestion et Suivi des Projets informatique
Gestion et Suivi des Projets informatique
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
CM processus-unifie
CM processus-unifieCM processus-unifie
CM processus-unifie
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
 

En vedette

Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- tests
Lilia Sfaxi
 

En vedette (20)

Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGL
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
Chp3 - IHM
Chp3 - IHMChp3 - IHM
Chp3 - IHM
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Chp6 - De UML vers C++
Chp6 - De UML vers C++Chp6 - De UML vers C++
Chp6 - De UML vers C++
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Tp3 - UML
Tp3 - UMLTp3 - UML
Tp3 - UML
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- tests
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
Agl2012
Agl2012Agl2012
Agl2012
 
Etude sur les salaires des métiers du web 2012
Etude sur les salaires des métiers du web 2012Etude sur les salaires des métiers du web 2012
Etude sur les salaires des métiers du web 2012
 
UML 2
UML 2UML 2
UML 2
 
Business case: Le Bon Coin
Business case: Le Bon CoinBusiness case: Le Bon Coin
Business case: Le Bon Coin
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Sécurité des Systèmes Répartis- Partie2 - non interférence
Sécurité des Systèmes Répartis- Partie2 - non interférenceSécurité des Systèmes Répartis- Partie2 - non interférence
Sécurité des Systèmes Répartis- Partie2 - non interférence
 
informatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicativeinformatique_logiquarchitecture_applicative
informatique_logiquarchitecture_applicative
 
Uml
UmlUml
Uml
 
Partie3 cif et dcif
Partie3  cif et dcifPartie3  cif et dcif
Partie3 cif et dcif
 
Chp5 - Sécurité des Services
Chp5 - Sécurité des ServicesChp5 - Sécurité des Services
Chp5 - Sécurité des Services
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 

Similaire à Chp5 - Les outils CASE

Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams
Oussema ElAbed
 

Similaire à Chp5 - Les outils CASE (20)

Windev
WindevWindev
Windev
 
Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
 
templates.iafactory, guide de prise en main
templates.iafactory, guide de prise en maintemplates.iafactory, guide de prise en main
templates.iafactory, guide de prise en main
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
cours-syst (1).pdf
cours-syst (1).pdfcours-syst (1).pdf
cours-syst (1).pdf
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
DDD FOR POs.pdf
DDD FOR POs.pdfDDD FOR POs.pdf
DDD FOR POs.pdf
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMA
 
11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Eclipse Impress
Eclipse ImpressEclipse Impress
Eclipse Impress
 
Mockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice DuteilMockito - Design + tests par Brice Duteil
Mockito - Design + tests par Brice Duteil
 
Catalogue PFE 2019
Catalogue PFE 2019Catalogue PFE 2019
Catalogue PFE 2019
 
Projet Confluence - Une base de données de type Wiki
Projet Confluence - Une base de données de type WikiProjet Confluence - Une base de données de type Wiki
Projet Confluence - Une base de données de type Wiki
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022
 
Plaquette Xerox Codendi
Plaquette Xerox CodendiPlaquette Xerox Codendi
Plaquette Xerox Codendi
 
GDG Rennes - Bootcamp Initiation Android - Théorie
GDG Rennes - Bootcamp Initiation Android -  ThéorieGDG Rennes - Bootcamp Initiation Android -  Théorie
GDG Rennes - Bootcamp Initiation Android - Théorie
 
Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams
 
Design systems : Bench et reco sur les outils
Design systems : Bench et reco sur les outilsDesign systems : Bench et reco sur les outils
Design systems : Bench et reco sur les outils
 

Plus de Lilia Sfaxi

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Chp5 - Les outils CASE

  • 1. LES OUTILS CASE Mme. Lilia SFAXI Mme. Abir Gallas L2ARS/SIL – 2011/2012 AGL – Chapitre 5
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 8. 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
  • 9. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. Types d’AGL 25/12/11 Atelier de Génie Logiciel 24
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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