Vous êtes sur la page 1sur 91

Gnie Logiciel & Atelier de Logiciel

Dr. Slim Mesfar Mail: mesfarslim@yahoo.fr

A.U. 2009-2010

Plan du cours

Chap1: Introduction au GL et dfinitions Chap2 : Cycle de vie dun logiciel Chap3 : 1. Gestion de configuration Chap3 : 2. Gestion de la documentation Chap3 : 3. Atelier Gnie Logiciel Chap4 : Gestion de projet GL Chap5 : Analyse et spcification des besoins Chap6 : Conception: mthodes, architectures, Chap7 : Implmentation et intgration Chap8 : Test Chap9 : Qualit du logiciel

S. Mesfar

Introduction au GL & dfinitions

A.U. 2009-2010

Dfinitions Objectifs - Principes

Quest-ce que le gnie logiciel?...


Le gnie logiciel Le gnie logiciel est l'ensemble des activits de conception et de mise en uvre des produits et des procdures tendant rationaliser la production du logiciel et son suivi (arrt du 30 dc. 1983) Autrement dit, le gnie logiciel est l'art de produire de bons logiciels, au meilleur rapport qualit/prix.
S. Mesfar

Dfinitions Objectifs - Principes

Crise du logiciel ...


- augmentation des cots - difficult d'volution - non fiabilit - non respect des spcifications - non respect des dlais

besoin dune approche mthodologique pour le dveloppement et la maintenance des logiciels

S. Mesfar

Dfinitions Objectifs - Principes

Crise du logiciel ...


Dfaillances dues au manque de mthodologie de dveloppement logiciel : en 1972, lors d'une exprience mtorologique en France 72
ballons contenant des instruments de mesure furent dtruits cause d'un dfaut dans le logiciel en 1981, le premier lancement de la navette spatiale a t retard de deux jours cause d'un problme logiciel. en 1986, chec du projet TAURUS pour linformatisation de la bourse londonienne en 1993, la SNCF a rencontr des difficults importantes pour la mise en service du systme Socrate. arrt de Transpac pour 7.000 entreprises et 1.000.000 d'abonns : surcharge du rseau, L'explosion d'Ariane 5, le 4 juin 1996, qui a cot un demi milliard de dollars (non assur !), est due une faute logicielle d'une composante dont le fonctionnement n'tait pas indispensable durant le vol

S. Mesfar

Dfinitions Objectifs - Principes

Quest-ce que le gnie logiciel?...


Enqute effectue aux USA en 1986 auprs de 55 entreprises rvle que 53% du budget total d'un logiciel est affect la maintenance. Il est rparti comme suit :
34% maintenance volutive : modification des spcifications initiales 10% maintenance adaptative : nouvel environnement, nouveaux utilisateurs 17% maintenance corrective : correction des bogues 16% maintenance perfective : amliorer les performances sans changer les spcifications 6% assistance aux utilisateurs 6% contrle qualit 7% organisation/suivi 4% divers.

S. Mesfar

Dfinitions Objectifs - Principes

Quest-ce que le gnie logiciel?...


Le choix du terme de gnie fait directement rfrence celui du gnie civil : construire un btiment constitue un tout, qui comprend des activits de :
conception architecturale, maonnerie, Plomberie, lectricit,

Coordination

matrise des dlais et des budgets.

S. Mesfar

Dfinitions Objectifs - Principes

Quest-ce que le gnie logiciel?...


-Lobjectif majeur du GL est de discipliner lactivit de dveloppement afin de rduire les chances dchecs dun logiciel - 3 principaux facteurs sont lorigine de cet chec, savoir :
un planning de travail qui nest pas matris, des besoins mal identifis (mal compris), des erreurs survenant lors de la livraison du logiciel

La Rgle CQFD

(Cot Qualit Fonctionnalits Dlai)

S. Mesfar

Dfinitions Objectifs - Principes

Quest-ce que le gnie logiciel?...


Fonctionnalit : le systme rpond aux besoins des utilisateurs cots : Les cots restent dans les limites prvues au dpart Dlais : Les dlais restent dans les limites prvues au dpart Qualit : contrat de service initial. Validit Fiabilit Robustesse Extensibilit
S. Mesfar

Rutilisabilit Compatibilit Efficacit Portabilit

Traabilit Vrifiabilit Intgrit Facilit dutilisation

Dfinitions Objectifs - Principes

Quest-ce que le gnie logiciel?...


Le GL comporte des aspects de gestion de projet afin de produire un logiciel dans les dlais prvus, avec un budget matris et donnant satisfaction au client (un logiciel de qualit) Fabrication collective dun systme complexe, concrtise par un ensemble de documents de conception, de programmes et de jeux de tests avec souvent de multiples versions Les principales branches du GL couvrent: La conception La validation / vrification La gestion de projet et lassurance qualit Les aspects socio-conomiques

S. Mesfar

Dfinitions Objectifs - Principes

le gnie logiciel...
Le gnie logiciel utilise pour cela des principes d'ingnierie comprend des aspects la fois techniques et non techniques : Il est bas sur des mthodologies et des outils qui permettent de formaliser et mme d'automatiser partiellement la production de logiciels, Il est galement bas sur des concepts plus informels, et demande des capacits de communication, d'interprtation et d'anticipation. Le gnie logiciel demande de la part de l'informaticien : Une bonne formation aux diffrentes techniques (le savoir ) Un certain entranement et de l'exprience (le savoir faire ).

S. Mesfar

Les diffrentes catgories de logiciels


Sur mesure (custom)
Pour un client spcifique

Gnrique (generic)
Vendu sur le march exemples : un tableur (spreadsheet), un outil de base de donnes (database), un outil de traitement de texte (word processor), COTS = Commercial Off-The-Shelf software

S. Mesfar

Les diffrentes catgories de logiciels


Logiciel temps rel (real-time)
e.g. systmes de contrle et de surveillance manipulent et contrlent le matriel technique Raction immdiate requise Environnement souvent trs contraignant

Logiciel de traitement de donnes (data processing)


Ils stockent, recherchent, transforment et prsentent l'information aux utilisateurs Grandes quantits de donnes avec des corrlations complexes, enregistres dans les bases de donnes Largement utiliss en administration des affaires Fiabilit des rsultats Scurit dans laccs aux donnes

S. Mesfar

Les diffrentes catgories de logiciels


Les systmes embarqus (embedded) sexcute dans du matriel lectronique isol (machine laver, tlvision, lecteur DVD, tlphone mobile, magntoscope, four micro-ondes, rfrigrateur, ...) Difficile modifier Les systmes distribus synchronisent la transmission, assurent lintgrit des donnes et la scurit, ... Technologies utilises : CORBA, DOM/DCOM, SOAP, EJB,

Les systmes de matriel Systmes d'exploitation, excutions de matriel, de bas niveau Les systmes d'entreprise dcrivent les buts, les ressources, les rgles et le travail rel dans une entreprise
S. Mesfar

Dfinitions Objectifs - Principes

Les Principes de Gnie Logiciel


Sept principes fondamentaux (proposs par Carlo Ghezzi):

Rigueur sparation des problmes ( separation of concerns ) Modularit Abstraction anticipation du changement Gnricit Construction incrmentale

S. Mesfar

Dfinitions Objectifs - Principes

Les Principes de Gnie Logiciel Rigueur

La production de logiciel est une activit crative, qui doit se conduire avec une certaine rigueur

Le niveau maximum de rigueur est la formalit

S. Mesfar

Dfinitions Objectifs - Principes

Les Principes de Gnie Logiciel Sparation des Problmes

Consiste considrer sparment diffrents aspects dun problme afin den matriser la complexit (e.g. Diviser pour rgner ) une multitude de formes :
sparation dans le temps sparation des qualits sparation des vues sparation du systme en parties Etc.

S. Mesfar

Dfinitions Objectifs - Principes

Les Principes de Gnie Logiciel Modularit

Un systme est modulaire sil est compos de sous-systmes plus


simples, ou modules

Forte cohsion interne des modules Faible couplage entre les modules
S. Mesfar

Dfinitions Objectifs - Principes

Les Principes de Gnie Logiciel Abstraction, etc.

Abstraction : permet une meilleure matrise de la complexit


logiciel, par rapport dautres produits, est quil est presque toujours soumis des changements continuels

Anticipation du changement : La caractristique essentielle du

Gnricit : Il est parfois avantageux de remplacer la rsolution


dun problme spcifique par la rsolution dun problme plus gnral la rutilisation est favorise

Construction incrmentale : Un procd incrmental atteint son but


par tapes en sen approchant de plus en plus ; chaque rsultat est construit en tendant le prcdent.

S. Mesfar

Cycle de vie dun logiciel

A.U. 2009-2010

Processus/Modle de dveloppement de logiciel (Cycle de vie)


Un modle de dveloppement du logiciel est une description, un niveau trs abstrait et idalis, des diffrentes manires dorganiser la production du logiciel. Il dcrit :
les tapes, leur ordonnancement, les critres pour passer dune tape une autre : Critres de terminaison dune tape Revue de documents Critres de choix de ltape suivante Critres de dmarrage
S. Mesfar

Processus/Modle de dveloppement de logiciel (Cycle de vie)


Caractristiques :
Importance majeure l'analyse des besoins, la conception et la validation Raffinements successifs Certaines tapes peuvent dclencher la rvision des tapes prcdentes (e.g.: un manque de prcision des spcifications peut tre dtect lors de la conception, une erreur de conception peut ne paratre que lors des tests) Production de documents intermdiaires l'invisibilit pallier au problme de

Maintenance remise en cause des fonctions du systme (modifications et/ou un re-dveloppement)


S. Mesfar

Processus de dveloppement de logiciel (Cycle de vie)


Etapes principales du cycle de vie de logiciel (CVL):

Analyse des besoins Spcification globale Conception architecturale et dtaille Programmation Gestion de configuration et intgration Validation et vrification

S. Mesfar

Processus de dveloppement de logiciel (Cycle de vie)


Analyse des besoins
But : viter de produire un logiciel non adquat. Dmarche : pour tablir les besoins (le cahier des charges), il faut tudier : -le domaine d'application -l'tat actuel de l'environnement du futur systme -le rle du systme -les ressources disponibles et requises -les contraintes d'utilisation -les performances attendues
S. Mesfar

Dialogues avec des experts, entretiens, questionnaires, observation de lexistant et tude des situations similaires

Processus de dveloppement de logiciel (Cycle de vie)


Spcification globale
But : tablir une premire description du futur systme. Utilisation des rsultats de l'analyse des besoins

Dmarche : produire une description de ce que doit faire le systme mais sans prciser comment il le fait : le quoi mais pas le comment

S. Mesfar

Processus de dveloppement de logiciel (Cycle de vie)


Conception architecturale et dtaille But : enrichir la description du logiciel de dtails d'implmentation afin d'aboutir une description trs proche d'un programme (dcrire le comment). La conception architecturale (ou conception globale) : fournit les composants du logiciel dfinis par leurs interfaces et leurs fonctions La conception dtaille fournit pour chaque composant une description de la manire dont les fonctions ou les services sont raliss : algorithmes, reprsentation des donnes.

S. Mesfar

Processus de dveloppement de logiciel (Cycle de vie)


Programmation But : ralisation, partir de la conception dtaille, d'un ensemble de programmes ou de composants de programmes ______________ Gestion de configuration et intgration Buts : Gestion de configuration: matriser l'volution et la mise jour des composants tout au long du processus de dveloppement Intgration: raliser un ou plusieurs systmes excutables partir des composants

S. Mesfar

Processus de dveloppement de logiciel (Cycle de vie)


Validation et vrification But de la validation : rpondre la dlicate question : a-t-on dcrit le bon systme? Est-ce que le logiciel est correct? But de la vrification : rpondre la question : Est-ce que le logiciel fonctionne correctement?

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en cascade ou waterfall

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en cascade ou waterfall
+ Simplicit + tches rparties + Permet de faire des retours arrire + Pour les petits projets Une phase ne remet en cause que celle qui la prcde Vision retreinte Intgration tardive Problme de synchronisation

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en V

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en V
+ Validations intermdiaires + Bon suivi: points de mesure concrets de lavancement du travail avec des tapes cls + Aide la dcomposition fonctionnelle de lactivit + Contrle et limitation des risques du modle en cascade par validation chaque tape + Modle trs utilis pour les grands projets - Les validations intermdiaires nempchent pas la transmission des insuffisances des tapes prcdentes - Manque dadaptabilit - Maintenance non intgre Syndrome du logiciel jetable - Adapt aux problmes sans zones dombre : besoins bien connus + conception claire
S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en Spirale

S. Mesfar

S. Mesfar

S. Mesfar

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en Spirale
+ Validations concrtes et non sur des documents + Contrle et limitation des risques chaque tape + Client partenaire : retour rapide sur les attentes + Approche progressive de dveloppement: ** Flexibilit grce aux itrations successives ** Planification renforce - Difficile de faire comprendre aux clients le mode oprationnel du modle - Evaluation des risques qui ncessite une expertise spcifique

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en W

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle en W
+ Le maquettage ou prototype rapide est une technique qui permet de surmonter: + la difficult de spcification du logiciel due la diffrence de terminologie + le manque de prcision dans lexpression des besoins + Une maquette peut-tre: ** Une maquette exploratoire: utilise pour prciser les besoins des utilisateurs ** une maquette exprimentale : utilise pour aider exprimenter diffrents choix (intervient lors de la phase de conception, par exemple)

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle incrmental

S. Mesfar

Modles de Cycle de Vie de Logiciel (CVL)


Le modle incrmental
+ chaque dveloppement est moins complexe + itrations progressives + possibilits de livraison aprs chaque intgration d'incrment + Optimisation du temps + partage des tches + diminution de leffort pendant la phase de test et intgration -Risque majeur de voir remettre en cause le noyau et/ou les incrments prcdents - Des incrments indpendants aussi bien fonctionnellement quau niveau des calendriers de dveloppement

S. Mesfar

Gestion de configuration

A.U. 2009-2010

Gestion de configuration
Dfinition:
La gestion de configuration consiste grer la description technique d'un systme (et de ses divers composants), ainsi qu' grer l'ensemble des modifications apportes au cours de l'volution du systme La gestion de configuration peut tre utilise pour stocker et tracer les diffrentes versions ou rvisions de toute information destine tre utilise par un systme (matriel, logiciel, document, donne unitaire, etc.).

S. Mesfar

Gestion de configuration

Dfinition:

Connatre l'tat de l'ensemble des composants d'un projet Contrler les volutions du logiciel

Objectif:

Contrle des modifications Gestion des versions

S. Mesfar

Constitutifs de la gestion de configuration


La gestion de configuration repose sur quatre principales pratiques:
1. Identification des articles de la configuration Cette activit d'inventaire recouvre notamment :

la slection des composants que l'on veut soumettre la gestion de la configuration, la slection des documents dcrivant ces composants et que l'on veut matriser.

identification du primtre que l'on veut grer. 2. Matrise des volutions Mise en place du cycle de vie d'une demande de modification ou d'une demande de drogation statuer sur la gravit et la priorit des diffrentes demandes de changements ou demandes de drogations soumises.
S. Mesfar

Constitutifs de la gestion de configuration


3. Enregistrement des tats de la configuration Pour grer une configuration, il faut pouvoir matriser son volution dans le temps :

Enregistrement des tats successifs d'un composant : chaque fois qu'un article est modifi, son tat prcdent est conserv. Les tats successifs sont souvent appels versions ou rvisions. Cette volution de l'article peut concerner :

la modification de ses caractristiques intrinsques (caractristiques physiques ou fonctionnelles, performances), la modification de ses liens avec les autres composants ou articles (liens de composition, de spcification, de description).

Enregistrement des tats successifs de la configuration : il s'agit de conserver, un instant donn, l'ensemble des versions des composants et les liens qui les structurent. C'est une photographie de la configuration, qui peut servir de rfrence de l'tat de la configuration cet instant.

S. Mesfar

Constitutifs de la gestion de configuration


4. Audit et revue
savoir un audit physique et fonctionnel recouvrant : la gestion des sauvegardes la vrification de l'intgrit du rfrentiel de configuration la matrice de couverture entre les exigences et les ralisations

S. Mesfar

Gestion de configuration

Les normes de dfinition:


ISO/IEC 10007:2000 Quality management. Guideline for configuration management IEEE 828 Software configuration management IEEE1042 Software configuration management plan ISO 15504 (SPICE) Software Process Improvement and Capability determination ISO 12207 Information technology software life cycle processes

Les normes utilisatrices


S. Mesfar

Outils de gestion de configuration

Les gratuits:

CVS: Concurrent Versions System Subversion ou SVN RCS: Revision control System BitKeeper (gratuit jusqu Avril 2005) PVCS: Polytron Version Control System ClearCase dIBM Microsoft Visual SourceSafe

Les commerciaux

S. Mesfar

Gestion de la documentation

A.U. 2009-2010

Gestion de la documentation

Documentation interne (conception, ...)


reflter la vie du projet guider la majeure partie de l'activit du projet

Documentation externe (manuels, ...)

contact direct avec le client

bien inform efficace, satisfait revient, recommande bien inform vite les demandes de support superflues
S. Mesfar

Documents internes (1-2/4)

Documents lis une phase du cycle de vie:


cahier des charges spcifications fonctionnelles, plan d'intgration manuel de conception globale et dtaille procdure de validation (plan des tests unitaires, tests d'intgration, tests de validation, tests de non rgression) glossaire, liste des abrviations plan projet et plan qualit

Documents transversaux la vie du projet:


S. Mesfar

Documents internes (3-4/4)

Historiques

informations de versions et modifications suivi des bugs rsultats des campagnes de test Commentaires dans les programmes ou sur les donnes (XML, etc.) documentation extraite automatiquement du code (e. g. javadoc)

Documents lis au code


S. Mesfar

Documents externes

Documents pour l'utilisateur (manuels techniques):


Manuel d'installation Manuel d'introduction (tutoriel) Manuel utilisateur Manuel de rfrence Manuel de maintenance Foire Aux Questions (FAQ) Carte de rfrence Aide lectronique

Documents pour le dcideur

documents commerciaux

S. Mesfar

Documents pour lutilisateur


1.

Manuel dinstallation:

Procdure d'installation Guide pour les choix d'installation Fichier ALIRE (README) Peut tre implment dans un wizard Introduction pdagogique Utilisation de base Exemples simples Class par rubriques de difficult croissante

2.

Manuel d'introduction (tutoriel)


S. Mesfar

Documents pour lutilisateur


3.

Manuel de l'utilisateur (user's guide)


Description fonctionnelle simple Illustration par des exemples Couverture large, pas ncessairement exhaustive Gnralement class par thmes + version en ligne avec index... Liste exhaustive de chaque fonctionnalit Description dtaille de toutes les possibilits Souvent class par ordre alphabtique + version en ligne avec index...

4.

Manuel de rfrence

S. Mesfar

Documents pour lutilisateur


5.

Manuel de maintenance
Procdures suivre pour : Diagnostiquer un problme (troubleshooting)

e.g. : s'il se passe XXX, alors vrifier YYY s'il se passe XXX, alors faites YYY contact du support : email, tl., formulaire, ... Peut faire partie du manuel utilisateur Peut tre implment dans un wizard

Rsoudre un problme

Demander de l'aide

Signaler un bogue (bug report)


S. Mesfar

Documents pour lutilisateur


6.

Foire Aux Questions (FAQ)


Questions les plus frquentes (techniques ou non) Rponses brves mais trs pratiques(sans ncessairement expliquer pourquoi a marche) Regroupes par thme Sur 1 ou 2 pages, souvent cartonnes Vue trs schmatique et style tlgraphique pas de phrases Principales fonctionnalits du produit (chacune en 1 ou 2 lignes)

7.

Carte de rfrence (~ Aide-mmoire)


S. Mesfar

Documents pour lutilisateur


8.

Aide lectronique

S. Mesfar

Aide en ligne : par thmatique, par index, Bulles d'aide : apparition fugace sous la souris, Infobulles, Messages d'erreur Assistant : e.g. dtection d'une tche pouvant ncessiter assistance Wizard : guide progressif pour effectuer une tche, par ex. : installation, configuration, diagnostic, Trucs et astuces (tips) : une brve information chaque lancement...

Documents commerciaux

Plaquette commerciale

Jolie et simple Couleur, papier glac, ... 1 feuille avec 1 ou 2 schmas synthtiques Beaucoup d'adjectifs dithyrambiques En gros 1-4 pages Liste quasi-exhaustive des caractristiques et capacits Trs technique l'attention des utilisateurs experts qui feront des recommandations leurs dcideurs

Fact sheet ( feuille de faits )


S. Mesfar

Documents commerciaux

White paper

Un petit article (4-20 pages) qui dcrit le produit Argument :


pose le problme montre comment le produit le rsout

Souvent un peu technique l'attention des utilisateurs Peut tre aussi purement commercial l'attention des dcideurs

S. Mesfar

Documentation complmentaire

Documentation complmentaire Site web


annonces

: mises jour, failles dcouvertes, ... success stories (+ liste des clients prestigieux) forums d'assistance (fournisseur & utilisateurs crivent)

Et aussi :
forums

de discussion, d'entraide entre utilisateurs sites web d'utilisateurs articles de presse


S. Mesfar

Format des documents

Format spcifi par le plan qualit :

un en-tte

Nomenclature / numrotation : unique pour tout le projet Version (par ex., 2.5) Date de cration, de (dernire) mise jour Statut du document : brouillon, incomplet, partiel, stable, rvis, dfinitif ou approuv Restrictions sur les lecteurs potentiels : confidentiel, diffusion restreinte : liste explicite (groupe, individus...) Type de document : spcification, CR de runion, Mots cls : facilitent la recherche automatique Historique des modifications : table des versions prcdentes, barres de modifications

S. Mesfar

Format des documents

un contenu :

Sparation des concepts 1 concept par paragraphe Numrotation des paragraphes facilit de rfrence + traabilit
numros (par ex., 1.3.12.4 ) ou bien identificateurs courts (par ex.: interf.fich.ouvrir )

souvent conforme au manuel qualit de l'entreprise

S. Mesfar

Difficults de gestion de la documentation

Difficults de ralisation: tche technique qui ncessite :


prcision, couverture, concision, clart, pdagogie connaissance des problmes de l'utilisateur traductions pour l'internationalisation tche souvent confie des spcialistes

S. Mesfar

Difficults de gestion de la documentation

Difficults de maintenance

laboration et mise jour tout au long du projet Rptitions


invitables : redondance entre manuels, etc. dangereuses : risques d'incohrence prcieux quand il est pertinent trompeur quand il est incohrent (erron, pas jour, ...)

double tranchant : un document est


Problme dun nombre incalculable de documents qui ne sont pas/plus exploitables


S. Mesfar

Mthodologie de gestion

Fixer une nomenclature de documents

numro et version page de garde avec type, statut, version, date, ... utilisation d'un systme de gestion de version garder des liens de traabilit les mettre jour immdiatement!!!

Fixer un pattern de document

Grer l'historique de tous les documents

Veiller la cohrence des documents


S. Mesfar

Portail de projet

A.U. 2009-2010

Portail de projet
Le portail constitue un point central d'accs aux documents du projet. Il permet aux intervenants de consulter, tlcharger, publier des documents Le portail est un espace partag (en fonction de droits) d'change entre intervenants d'un mme projet

S. Mesfar

Avantages dun portail de projet


mise disposition de documents jour un accs scuris par un mcanisme de rle (agrgat de droits) stockage des documents selon un plan de classement recherche aise des documents (assiste par des mots cls) traabilit des changements disponibilit 7 J/7, 24 H/24 meilleur contrle de l'volution du projet

S. Mesfar

Portail de projet

Finalement, un portail de projet permet une meilleure exploitation du temps disponible (coordination, informations jour, connaissance de la disponibilit des ressources) pour tous les partenaires du projet. Les intervenants d'un projet ont donc intrt mettre en place des moyens de gestion collaborative pour la bonne excution du projet.

S. Mesfar

AGL : Atelier de Gnie Logiciel

A.U. 2009-2010

Qu'est ce qu'un atelier de gnie logiciel ?

Dfinitions

Logiciel aidant la ralisation de logiciels. Systme pour le dveloppement logiciel assist par ordinateur. Catgorie de logiciels offrant un environnement complet de dveloppement de logiciels en quipe. Ensemble doutils permettant de couvrir le cycle de vie du logiciel : Analyse, Conception, Ralisation, Maintenance,

S. Mesfar

Qu'est ce qu'un AGL?

Objectifs des AGLs :


Amliorer la productivit, Amliorer le suivi, Amliorer la qualit


fiabilit, maintenance, volutivit.

Comment ?

En faisant le suivi des diffrentes phases du processus logiciel En offrant un cadre cohrent et uniforme de production.

S. Mesfar

Qu'est ce qu'un AGL ?

Un AGL intgre des outils


Case tools : Computer Aided Software Engineering tools Adapts aux diffrentes phases de la production d'un logiciel Facilite la communication et la coordination entre ces diffrentes phases.

Un AGL est bas sur des mthodologies pour formaliser


Le processus logiciel Chacune des phases qui le composent.

S. Mesfar

Quelques exemples dAGL

Vous connaissez quels AGL ?

S. Mesfar

PowerDesigner et PowerAMC

S. Mesfar

Rational Rose

S. Mesfar

Visual Studio .Net

S. Mesfar

Windev

S. Mesfar

Les outils CASE


Et, bien dautres AGLs:

Sous licence libre


ArgoUML Eclipse KDevelop StarUML Adlia PACBASE UNIFACE Objecteering

Sous licence propritaire


S. Mesfar

Les outils CASE

Les AGL intgrent diffrents outils d'aide au dveloppement de logiciels outils CASE :

Certains outils interviennent durant la totalit du processus logiciel Outils horizontaux Ces diffrents outils interviennent lors d'une ou plusieurs phases du cycle de vie du logiciel Outils verticaux

S. Mesfar

L'intgration d'outils CASE


Un AGL intgre diffrents outils CASE, de manire les faire cooprer de faon uniforme. Cette intgration peut (devrait) s'effectuer trois niveaux:

Intgration des donnes Intgration de linterface utilisateur Intgration des activits

S. Mesfar

L'intgration d'outils CASE


1/ Intgration des donnes

Les outils CASE manipulent des donnes

Gnration, Utilisation, Transformation, Spcification, Modle conceptuel des donnes, Jeux de test, Code, Manuel utilisateur,....

Exemple

Diffrents outils sont amens partager une mme donne

Exemple

Les tables gnres par un diteur de diagrammes sont utilises par un SGBD.

S. Mesfar

L'intgration d'outils CASE

Un AGL doit prendre en charge la communication de ces donnes entre les diffrents outils. LAGL doit galement grer la cohrence entre les diffrentes versions de ces donnes

gestion de configuration.

S. Mesfar

L'intgration d'outils CASE


2/ Intgration de l'interface utilisateur Tous les outils intgrs dans l'AGL communiquent avec l'utilisateur via une interface intuitive

Facilite leur utilisation

3/ Intgration des activits Un AGL peut grer le squencement des appels aux diffrents outils intgrs

Pour assurer la cohrence entre les diffrentes phases du processus logiciel.

S. Mesfar

Les diffrents types d'AGL

On distingue essentiellement deux types d'AGL selon la nature des outils intgrs:

Les environnements de conception Les environnements de dveloppe (upper-case) (lower-case)

S. Mesfar

Les environnements de conception

Les environnements de conception (uppercase)


Supportent les phases d'analyse et de conception du processus logiciel. Ils intgrent gnralement :

des outils pour l'dition de diagrammes (avec vrification syntaxique), des dictionnaires de donnes, des outils pour le prototypage, ...

Ils sont gnralement bass sur une mthode d'analyse et de conception (UML, Merise, ...)

S. Mesfar

Les environnements de dveloppement

Les environnements de dveloppement (lower-case)


Supportent les phases d'implmentation et de test du processus logiciel. Ils intgrent gnralement

des diteurs (ventuellement dirigs par la syntaxe), des gnrateurs d'interfaces homme/machine, des SGBD, des compilateurs, optimiseurs, debugger, ...

S. Mesfar

Les environnements de dveloppement

Les environnements de dveloppement intgr - IDE:


Certains environnement, plus volus, sont ddis un ou plusieurs langages particuliers. Exemples:

NetBeans, Eclipse, SmallTalk, des bibliothques de composants, une interface graphique, des diteurs ddis au langage, des interprtes, debuggers, ...

Ces diffrents environnements proposent:


S. Mesfar

Vous aimerez peut-être aussi