Vous êtes sur la page 1sur 20

Chapitre 1 : Introduction au

génie logiciel

GL & AGL
SYRINE KAROUI
2015/2016
Plan du module
2

 Chapitre 1 : Introduction au génie logiciel


 Qu’est-ce que le génie logiciel?
 Pourquoi le génie logiciel?
 Le génie logiciel, est-ce si simple?
 Quels sont les éléments clés du génie logiciel?

 Chapitre 2 : Cycles de vie logiciel et méthodes de développement

 Chapitre 3 : Gestion des exigences

 Chapitre 4 : Architecture & Conception de logiciels

 Chapitre 5 : Tests et validation de logiciels

 Chapitre 6 : Gestion des configurations logicielles

GL&AGL 2015/2016 Syrine Karoui


Evaluation du module
3

 Contrôle continu (60%) :


 Ateliers pratiques.

 Suivi et validation de l’application de Scrum.

 Assiduité et participation en classes.

 Examen (40%) :
 Evaluation théorique en fin de semestre.

GL&AGL 2015/2016 Syrine Karoui


Objectifs Chapitre 1
4

 Définition et enjeux du génie logiciel


 Critères de qualité d’un logiciel
 Définition du cycle de vie logiciel
 Définition des concepts de base liés au génie logiciel

GL&AGL 2015/2016 Syrine Karoui


Qu’est-ce que le génie logiciel?
5

Génie Logiciel

Génie civil Programmes


informatiques

Art de Documentation
construction

GL&AGL 2015/2016 Syrine Karoui


Qu’est-ce que le génie logiciel?
6

 Génie logiciel (anglais software engineering) :


ingénierie du logiciel.

 Ensemble d’étapes pour la production d’un logiciel.

GL&AGL 2015/2016 Syrine Karoui


Qu’est-ce que le génie logiciel?
7

Le génie logiciel :
est une science de génie industriel
qui étudie les méthodes de travail et les bonnes pratiques des
ingénieurs qui développent des logiciels
s'intéresse en particulier aux procédures systématiques qui
permettent d'obtenir des logiciels :
de grande taille,
qui correspondent aux attentes du client,
qui sont fiables,
qui ont un coût d'entretien réduit,
qui ont de bonnes performances,
tout en respectant les délais et les coûts de construction.
Patrick Jaulent, Génie Logiciel, les méthodes, Armand Collin, Paris, 1992.

GL&AGL 2015/2016 Syrine Karoui


Qu’est-ce que le génie logiciel?
8

Procédures, méthodes, langages, ateliers, imposés ou préconisés par les normes


adaptées à l'environnement d'utilisation afin de favoriser la production et la
maintenance de composants logiciels de qualité.

Ian Sommerville, Software engineering –International computer


science series, Pearson Education – 2001.

GL&AGL 2015/2016 Syrine Karoui


Qu’est-ce que le génie logiciel?
9

La production du logiciel implique des environnements de


développement, avec toute la variété d'outils et d'approches dont
on peut disposer, les méthodes et les techniques de gestion de
processus, mais aussi les aspects humains au sein de l'équipe de
développement et les relations que celle-ci entretient avec les donneurs
d’ordre, les clients et les utilisateurs du produit.

Importance d’une approche


méthodologique afin d’éviter :

 Dépassement de budget & augmentation des coûts


 Difficultés de maintenance & d'évolution
 Non fiabilité : sécurité des systèmes & personnes
 Déviation par rapport aux besoins & spécification
du produit ou système
 Dépassement des délais

GL&AGL 2015/2016 Syrine Karoui


Pourquoi le génie logiciel?
10

 Failles dans la production du logiciel :


 Production centrée sur :
 La manipulation des outils informatiques,
 La maîtrise des langages de programmation.

Insuffisante!
Plusieurs problèmes : pertes financières, pertes
matérielles, problèmes de sécurité, etc.

GL&AGL 2015/2016 Syrine Karoui


Le génie logiciel, est-ce si simple?
11

Problèmes dans
Complexité du
le développement
logiciel Vs
du logiciel
Développement
Vs
du logiciel
Utilisation du
logiciel

GL&AGL 2015/2016 Syrine Karoui


Le génie logiciel, est-ce si simple?
12
 Plusieurs problèmes :

Pas de correspondance aux


Trop d’erreurs
besoins des utilisateurs

Maintenance complexe et
Coûts rarement prévisibles
couteuse

CRISE DU
Délais de réalisation dépassés LOGICIEL

Changements des clients


Logiciels rarement portables
difficilement intégrables

Performance du système Système difficilement


inacceptable réutilisable

GL&AGL 2015/2016 Syrine Karoui


Le génie logiciel, est-ce si simple?
13

GL&AGL 2015/2016 Syrine Karoui


Le génie logiciel, est-ce si simple?
14

Robustesse &
Performance
Disponibilité

Fiabilité Convivialité

Eléments qualités logiciel


Portabilité Sécurité

Maintenabilité Capitalisation/
Interopérabilité Réutilisabilité

GL&AGL 2015/2016 Syrine Karoui


Le génie logiciel, est-ce si simple?
15

Elément qualité Définition

Fiabilité Conformité du logiciel vis-à-vis de ses spécifications.


Les résultats sont vérifiables et sont ceux attendus.
Robustesse & Logiciel restant stable, disponible et capable de fournir des résultats toujours
Disponibilité fiables dans les conditions de fonctionnement extrême dans le temps.
Performance Ensemble des exigences non fonctionnelles concernant la qualité en matière de
temps de réponse, de dimensionnement et de comportement système du logiciel.
Convivialité Facilité et ergonomie d’installation, de déploiement, d’apprentissage et d’utilisation.

Maintenabilité Facilité de reprise en main du logiciel pour des besoins correctifs et/ou évolutifs
afin de l’ajuster à de nouvelles conditions et contraintes d’exécution ou de répondre à
de nouveaux besoins :
•Les coûts de maintenance se jouent très tôt dans le processus d’élaboration du
logiciel.
•Usage d’architecture modulaire, adoption des bonnes pratiques de
développement et respect des règles de codage.
•Refactoring : Amélioration régulière de la qualité du code sans en modifier le
comportement. On retravaille le code pour repartir sur de meilleures bases tout
en gardant les mêmes fonctionnalités.

GL&AGL 2015/2016 Syrine Karoui


Le génie logiciel, est-ce si simple?
16

Elément qualité Définition

Interopérabilité Capacité à fonctionner et à interagir avec des systèmes ouverts :


•Usage de format standard d’échange.
•Adoption d’architecture à plugIn.
•Interface protocolaire non propriétaire.
Portabilité Logiciel indépendant de son environnement cible d’exploitation avec le
minimum de coût :
•Usage de machines virtuelles ou des conteneurs d’application.
•Usage de couche middleware d’adaptation.
Capitalisation/ Regroupement d’un ensemble de fonctionnalités semblables en librairies
Réutilisabilité partagées et réutilisables en tout ou en partie :
•Avec usage de composants prêts (Open source ou commercial).
•Adaptation des design pattern dans la conception et l’implémentation.
Sécurité Techniques d’accès et d’authentification.
Mise en place de la politique d’attribution de droit d’accès pour un ensemble de
ressources et de fonctionnalités du logiciel.

GL&AGL 2015/2016 Syrine Karoui


Quels sont les éléments clés du génie logiciel?
17

Processus de Méthodologies de
développement développement

Normes Méthodes de
Cycles de vie
qualité développement
logiciel

Outils de Ateliers de
développement génie logiciel

GL&AGL 2015/2016 Syrine Karoui


Quels sont les éléments clés du génie logiciel?
18

 Processus de développement logiciel : Ensemble


d’activités ayant pour but le développement d’un
logiciel.

 Méthode de développement :
 Une modélisation (concepts manipulés).
 Une notation associée à la modélisation.
 Un processus de développement.
 Un (ou des) langage(s) et plateforme(s) cible(s).

GL&AGL 2015/2016 Syrine Karoui


Quels sont les éléments clés du génie logiciel?
19

 Cycle de vie logiciel : Ensemble des étapes qui


composent le processus de développement et d’utilisation
du logiciel.

 Outils de développement : N’importe quel outil utilisé


lors du développement logiciel.
 Exemples : Editeurs de texte, Outils de gestion de projet,
Compilateurs, IDE, etc.

 Ateliers de génie logiciel (AGL) : Ensemble d’outils


permettant de couvrir le cycle de vie logiciel.
 Exemples : Rational Rose, Power AMC, etc.

GL&AGL 2015/2016 Syrine Karoui


Quels sont les éléments clés du génie logiciel?
20

 Méthodologie de développement :
 Ensemble de principes ou d’étapes.
 Méta-méthode (méthode des méthodes).
 Méthode + Outil.

 Norme qualité : « Document établi par consensus et


approuvé par un organisme reconnu, qui fournit, pour
des usages communs et répétés, des règles, des lignes
directrices ou des caractéristiques, pour des activités
ou leurs résultats garantissant un niveau d'ordre
optimal dans un contexte donné. » [ISO]
 Exemples : ISO, ITIL, COBIT, PMBOK, CMMI.
GL&AGL 2015/2016 Syrine Karoui

Vous aimerez peut-être aussi