You are on page 1of 25

ATELIER DE GÉNIE LOGICIEL

SOMMAIRE
1. Introduction
2. Qu'est ce qu'un logiciel ?
3. Crise de logiciel
4. Qu’est ce qu’un génie logiciel?
5. Qu' est ce qu' un Atelier de génie logiciel ?
6. Les objectifs de l’ AGL
7. Les qualités d’AGL
8. Les différents types d’AGL
9. Des exemples d’ AGL
10. Cycle de vie d’AGL
11. Les activités
12. Les outils utilisés
13. Etude de cas
INTRODUCTION
Les ateliers de génie logiciel ont un rôle essentiel dans l’amélioration
de la productivité et la qualité des logiciels.
Leur objectif majeur est d’automatiser au maximum le processus de
développement du logiciel.
La réalisation de cet objectif implique une assistance dans les
différentes phases du cycle de vie du logiciel.
QU'EST CE QU'UN LOGICIEL ?

 Le logiciel est l’ensemble des:


 Programmes

 Règles

 Procédés

 Documentations

Relatifs au fonctionnement d’un ensemble de traitements de


l’information.
CRISE DU LOGICIEL :
Alors que le matériel informatique a fait, et continue de faire, des progrès
très rapides, le logiciel traverse une véritable crise en 1969 et qu'elle
dure toujours:
 Le coût de développement d'un logiciel est presque impossible à prévoir
et le délai de livraison n'est que rarement respecté.
 La qualité du logiciel livré est souvent déficiente. Le produit ne satisfait
pas les besoins de l'utilisateur, il consomme plus de ressources que prévu
et il est à l'origine de pannes.
 La maintenance du logiciel est difficile, coûteuse et souvent à l'origine
de nouvelles erreurs. Mais en pratique, il est indispensable
LE GÉNIE LOGICIEL
 Le génie logiciel est l'ensemble des activités de conception et de mise
en œuvre des produits et des procédures tendant à rationaliser la
production du logiciel et son suivi.
 le génie logiciel est ``l'art'' de produire de bons logiciels, au
meilleur rapport qualité/prix.
 Le génie logiciel demande de la part de l'informaticien.

 Une bonne formation aux différentes techniques (le ``savoir'' )

 Un certain entrainement et de l'expérience

(le "savoir faire'').


DÉFINITION D’AGL
 Un AGL (Atelier de Génie Logiciel) ou atelier CASE
(Computer Aided Software Engineering) est un logiciel
aidant à la réalisation de logiciels
 Autrement dit, il s'agit d'un système pour le
développement logiciel assisté par ordinateur. Un AGL
intègre des outils adaptés aux différentes phases de la
production d'un logiciel et facilite la communication et la
coordination entre ces différentes phases.

.
OBJECTIFS D’AGL
 Objectif des AGL:
 Amélioer la productivité,
 Améliorer le suivi,
 Améliorer la qualité
o fiabilité
o maintenance
o évolutivité

 Comment ?
 En faisant le suivi des différentes phases du processus logiciel
 En offrant un cadre cohérent et uniforme de production.
QUALITÉS D’AGL
1. Lors de l’utilisation
 Fiabilité (correction et robustesse)
 Adéquation aux besoins
 Ergonomie (simplicité et rapidité d’emploi , personnalisation)
 Efficacité
 Faible coût et respect des délais bien entendu
QUALITÉS D’AGL
2.Lors de maintenance
Flexible : utilisation du paramétrage ,de
l’héritage
Portable :éviter l’assembleur et les
langages trop confidentiels
Structuré : utilisation de modules ou de
classe ,de procédures ou de fonctions
LES DIFFÉRENTS TYPES D’AGL
 Les environnements de conception (upper-case)
 Supportent les phases d’analyse et de conception du processus
logiciel
 Ils intègrent généralement :

 des outils pour l'édition de diagrammes (avec vérification


syntaxique)
 des dictionnaires de données

 des outils pour le prototypage

Ces ateliers sont généralement basés sur une méthode


d'analyse et de conception(UML, Merise, ...)
 Les environnements de développement (lower-case)
 Ces ateliers s'intéressent plus particulièrement aux phases
d'implémentation et de test du processus logiciel
 Ils 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
 optimiseurs
Exemples d’AGL
 Visual Studio.Net:
 Windev :
CYCLE DE VIE D’AGL
Le « cycle de vie d'un logiciel » (en
anglais software lifecycle), désigne toutes les
étapes du développement d'un logiciel, de sa
conception à sa disparition.
L'expression, le recueil et la formalisation des besoins du
demandeur (le client) et de l'ensemble des contraintes

Conception générale: Il s'agit de l'élaboration des


spécifications de l'architecture générale du logiciel.
Conception détaillée: consistant à définir précisément
chaque sous-ensemble du logiciel.

Soit la traduction dans un langage de programmation des fonctionnalités


définies lors de phases de conception.

Permettant de vérifier individuellement que chaque sous-ensemble du


logiciel est implémentée conformément aux spécifications

Comprenant toutes les actions correctives (maintenance corrective) et


évolutives (maintenance évolutive) sur le logiciel
En vue de la mise en place d’un logiciel dédié à l’industrie textile, nous
étudions principalement quelques fonctionnalités permettant de recueillir
l’information sur les produits développés dans l’entreprise. Tout le
personnel de l’entreprise peut consulter le système, soit pour vérifier qu’un
produit particulier existe, soit pour un parcours libre des informations. Toute
consultation doit être précédée par une authentification légère dans
laquelle la personne précise son nom et son service à des fins de
statistiques ultérieures.
Les ingénieurs peuvent effectuer différentes opérations de mise à jour
pour les produits dont ils sont responsables : ajout, retrait et modification
des informations sur les produits. Ces opérations doivent être précédées
d’une authentification plus approfondie lors de laquelle l’ingénieur précise
son nom, son service et introduit un mot de passe qui est vérifié en
contactant le système de gestion du personnel.
Toutes les opérations (consultations et mises à jour) donnent lieu à un
enregistrement dans un journal des accès et peuvent optionnellement
s’accompagner d’une impression des documents accédés.
Merci pour votre
attention