Vous êtes sur la page 1sur 45

2018/2019

Cours Atelier Génie logiciel


Notions de base sur le GL et Applications

Dr. Aymen LOUATI

Aymen.louati@live.fr
Avant-propos

 Ce cours concerne le module « Ateliers GL". Ce module s'adresse aux


étudiants des 3ème année LA et 2ème LFSI. Notre objectif est d’avoir une
bonne connaissance du génie logiciel, ses enjeux et ses Applications.
 Des méthodes et techniques permettant d’assurer le développement
et la maintenance des systèmes logiciels sûrs et de qualités seront
introduites pour les phases du cycle de vie du logiciel.
 Définir ce qu’est le génie logiciel, son application (AGL + exemple) et en
comprendre les enjeux.
 Expliquer le cycle de vie d’un logiciel, décrire et comparer certains
processus de développement
 Décrire les qualités d’un logiciel et ses principes de base.
Plan

Chapitre1: Introduction au Génie Logiciel (AGL)


Chapitre2: Fonctionnalités de base pour le management
d’un projet
Chapitre3: Processus de développement – Exemple
d’une démarche de développement objet basée UML
Chapitre4: Les découpages et les modèles de
développement
Chapitre5: Facteurs et Critères de Qualité du logiciel

14/10/2018 Dr. Aymen LOUATI 3


Plan

Chapitre1: Introduction au Génie Logiciel (AGL)


Chapitre2: Fonctionnalités de base pour le management
d’un projet
Chapitre3: Processus de développement – Exemple
d’une démarche de développement objet basée UML
Chapitre4: Les découpages et les modèles de
développement
Chapitre5: Facteurs et Critères de Qualité du logiciel

14/10/2018 Dr. Aymen LOUATI 4


Définition du « logiciel »

« Un logiciel est :

1) L’ensemble des instructions qui après leurs exécutions


nous fournissent la fonction et la performance désirée,

2) Les structures de données qui permettent aux


programmes de manipuler adéquatement l’information,

3) Des documents qui décrivent les opérations et l’utilisation


des programmes.
»

14/10/2018 Dr. Aymen LOUATI 5


La nature du logiciel

 Facilité à reproduire
 Tout le coût se trouve dans son développement
 Pour d’autres produits, la fabrication est souvent le processus le plus
coûteux

 Intangibilité
 Il est difficile d'estimer l’effort de développement

 Difficulté à automatiser le processus de développement


 L’industrie du logiciel exige beaucoup de main d’œuvre

14/10/2018 Dr. Aymen LOUATI 6


Utilité du logiciel

En dépit des énormes succès, la réputation de l’industrie du


logiciel n’est pas si glorieuse que cela:

 Dépassement de budget,
 Dépassement d’échéance,
 Mauvaises fonctions livrées,
 Erreurs (bugs) et autres problèmes,

14/10/2018 Dr. Aymen LOUATI 7


Source d’échec (1)

Raisons pour lesquelles le logiciel vieillit


 maintenance (e.g., bug fixes)
 inflexibilité dès le début
 documentation insuffisante ou inconsistante
 manque de modularité
 complexité croissante
 ...

14/10/2018 Dr. Aymen LOUATI 8


Quelques statistiques

14/10/2018 Dr. Aymen LOUATI 9


Source d’échec (2)

• Beaucoup de logiciels sont mal conçus et se détériorent


rapidement

• La demande du logiciel est toujours croissante

L’ingénierie du logiciel est une nécessité


(un processus systématique au lieu d’un bricolage)

14/10/2018 Dr. Aymen LOUATI 10


Génie Logiciel: Définition

14/10/2018 Dr. Aymen LOUATI 11


Génie Logiciel: Définition

 Autrement dit:
C’est « l'art » de produire de bons logiciels, au meilleur rapport
qualité/prix.
14/10/2018 Dr. Aymen LOUATI 12
Génie Logiciel: Définition

14/10/2018 Dr. Aymen LOUATI 13


Atelier Génie Logiciel (AGL): Définition

• Objectifs? • Comment ?
– Améliorer la – En faisant le suivi des
productivité, différentes phases du
– Améliorer le suivi, processus logiciel,
– Améliorer la qualité – En offrant un cadre
• fiabilité, cohérent et uniforme de
• maintenance, production.
• évolutivité.

Adaptation et Exploitation des outils CASE


(Computer Aided Software Engineering)
14/10/2018 Dr. Aymen LOUATI 14
Un peu d’histoire …

• Années 50 et 60 : programmation empirique


– production "artisanale" de logiciels scientifiques
– royaume des "codeurs" et les "grands gourous"

• Fin des années 60 : la "crise du logiciel"


– difficulté de décrire de grands programmes
– difficulté de les utiliser, difficulté de les faire évoluer
– de nombreux projets échouent

14/10/2018 Dr. Aymen LOUATI 15


Quelques statistiques

Étude du gouvernement américain en 1979

– Payés mais jamais livrés $3.2M 45%


– Livrés mais jamais utilisés $2.0M 30%
– Abandonnés ou refaits $1.3M 20%
– Utilisés après modification $0.2M 3%
– Utilisés tel quel $0.1M 2%

14/10/2018 Dr. Aymen LOUATI 16


Exemples: Pannes logicielles

 La sonde vers Vénus s'est perdue dans l'espace.


Cause : une erreur de programme FORTRAN, virgule remplacée par
un point.

 Au passage de l'équateur un F16 ...


Cause : changement de signe de la latitude mal pris en compte.

 La lutte contre le bogue de l'an 2000 a coûté à la France 500 milliards


de francs.
Cause : la donnée "année" était codée sur deux caractères pour
gagner un peu de place.

14/10/2018 Dr. Aymen LOUATI 17


Approches Méthodologiques

Crise de l'industrie du logiciel à la fin des années 60 :


– augmentation des coûts
– difficultés d'évolution
– non fiabilité
– non respect des spécifications
– non respect des délais

Importance d'approches méthodologiques

Apparition et développement du Génie Logiciel

14/10/2018 Dr. Aymen LOUATI 18


Génie Logiciel: Objectifs

 Les coûts restent dans les limites prévues


au départ.

 Les délais restent dans les limites prévues


au départ.

14/10/2018 Dr. Aymen LOUATI 19


Principes fondamentaux du GL

 Séparation des problèmes


 Modularité
 Abstraction (complexité)
 Anticipation du changement
 Construction incrémentale
 …

14/10/2018 Dr. Aymen LOUATI 20


Plan

Chapitre1: Introduction au Génie Logiciel (AGL)


Chapitre2: Fonctionnalités de base pour le management
d’un projet
Chapitre3: Processus de développement – Exemple
d’une démarche de développement objet basée UML
Chapitre4: Les découpages et les modèles de
développement
Chapitre5: Facteurs et Critères de Qualité du logiciel

14/10/2018 Dr. Aymen LOUATI 21


Le déroulement d’un projet
1. Les intervenants
1.1. Le promoteur
1.2. Le mandataire
2. Les contraintes d’un projet
3. Le groupe de processus et le cycle de vie d’un
projet
3.1. La définition
3.2. La planification
3.3. L’exécution
3.4. La clôture

14/10/2018 Dr. Aymen LOUATI 22


1. Les intervenants

1.1 Le promoteur (1)

 Qui est le promoteur ?


o L’organisation qui constate un besoin,
o L’organisation qui désire réaliser un projet pour
répondre au besoin,

14/10/2018 Dr. Aymen LOUATI 23


1. Les intervenants

1.1 Le promoteur (2)

 Responsabilités avant le projet


o Sélection du projet
o Étude de faisabilité
o Décision de réaliser

14/10/2018 Dr. Aymen LOUATI 24


1. Les intervenants

1.1 Le promoteur (3)

 Responsabilités pendant le/la:


o Choix du mandataire
o Approbation des plans d’exécution
o Surveillance de l’exécution

 Responsabilité après
o Évaluation

14/10/2018 Dr. Aymen LOUATI 25


1. Les intervenants

1.1 Le promoteur (4)

 Risques et profits du promoteur


o Investit les fonds requis pour la réalisation
o Assume les risques
o Tire son profit de l’exploitation de l’extrant du
projet

14/10/2018 Dr. Aymen LOUATI 26


1. Les intervenants

1.2 Le mandataire (1)


 Qui est le mandataire ?
o L’organisation qui exécute le projet
o Le promoteur peut agir à titre de mandataire

14/10/2018 Dr. Aymen LOUATI 27


1. Les intervenants

1.2 Le mandataire (2)

 Responsabilités avant
o Planifier le projet en détail
o Créer la liste des tâches
o Établir l’échéancier
o Répartir le budget
o Vérifier la disponibilité des ressources

14/10/2018 Dr. Aymen LOUATI 28


1. Les intervenants

1.2 Le mandataire (3)

 Responsabilités pendant
o Exécuter le projet
o Produire et livrer l’extrant
o Respecter les termes du mandat

 Responsabilité après
o Préparer un rapport de clôture

14/10/2018 Dr. Aymen LOUATI 29


1. Les intervenants

1.2 Le mandataire (4)

 Risques et profits du mandataire


o Tire ses revenus et ses profits de l’exécution efficace
du mandat
o Assume les risques prévus au contrat

14/10/2018 Dr. Aymen LOUATI 30


Résumons (1):

 Le promoteur
o Veut que le projet se réalise,
o Investit ($ ou ressources) dans le projet,
o Reçoit l’extrant du projet et l’exploite,

 Le mandataire
o Reçoit son mandat du promoteur,
o Fournit les ressources, est rémunéré,
o Produit l’extrant en respectant les contraintes ($, T, Q)

14/10/2018 Dr. Aymen LOUATI 31


Résumons (2):

 Le chargé de projet (Chef d’orchestre)


o Planifie, dirige, contrôle, ajuste,
o Employé par le mandataire,
o Lien entre les autres intervenants,

 L’équipe de projet réalise les tâches

 Les utilisateurs
o Bénéficiaires de l’extrant du projet,
o Déterminent la réussite ou l’échec,
o Devraient être impliqués dès le début,

14/10/2018 Dr. Aymen LOUATI 32


Résumons (3):

Le chargé de projet
Le mandataire
Le promoteur
Réalise le
projet
Lance un appel
d’offres Approuve les Livre l’extrant
plans du projet
Analyse de la Répond à l’appel Planifie le Approuve
faisabilité d’offres projet l’extrant
Identifie un Sélectionne le
projet mandataire

Constate un
Les utilisateurs
besoin
Début Fin
14/10/2018 Dr. Aymen LOUATI 33
2. Les contraintes d’un projet (1)

 Coût
o Réaliser le projet en respectant le budget
 Temps
o Réaliser le projet dans les délais prescrits
 Qualité
o Livrer l’extrant selon les spécifications du
promoteur

14/10/2018 Dr. Aymen LOUATI 34


2. Les contraintes d’un projet (2)

La gestion de projet :
une question
d’équilibre !

14/10/2018 Dr. Aymen LOUATI 35


3. Le cycle de vie d’un projet (1)

 La définition,
 La planification,
 L’exécution,
 Le suivi et contrôle,
 La clôture,

14/10/2018 Dr. Aymen LOUATI 36


3. Le cycle de vie d’un projet (2)

14/10/2018 Dr. Aymen LOUATI 37


3.1 Le cycle de vie d’un projet: Définition (1)

 But
o Prendre une décision relative à la réalisation d’un
projet

 Activités
o Identification d’un besoin
o Identification d’un projet comme réponse au
besoin
o Définition du projet : paramètres clés
o Analyse de faisabilité

 Sous la responsabilité du promoteur

14/10/2018 Dr. Aymen LOUATI 38


3.1 Le cycle de vie d’un projet: Définition (2)

 À la fin de la définition
o Décision du promoteur de réaliser le projet
o Choix du mandataire par le promoteur
o Recherche de financement

14/10/2018 Dr. Aymen LOUATI 39


3.2 Le cycle de vie d’un projet: Planification (1)

 But
o Planifier l’affectation des ressources au calendrier
d’exécution du projet

 Activités
o Déterminer le travail à faire
o Établir l’échéancier
o Répartir le budget
o Affecter les ressources

 Sous la responsabilité du mandataire

14/10/2018 Dr. Aymen LOUATI 40


3.2 Le cycle de vie d’un projet: Planification (2)

 À la fin de la planification
o Approbation du plan d’exécution par le promoteur
o Mise en route du projet par le mandataire

14/10/2018 Dr. Aymen LOUATI 41


3.3 Le cycle de vie d’un projet: Exécution (1)

 Buts
o Produire l’extrant et le livrer au promoteur
o Respecter les contraintes ($, T, Q)

 Activités
o Direction et coordination
o Contrôle de l’avancement (T)
o Contrôle des coûts ($)
o Contrôle de la qualité (Q)
o Gestion des changements

 Sous la responsabilité du mandataire


14/10/2018 Dr. Aymen LOUATI 42
3.3 Le cycle de vie d’un projet: Exécution (2)

 À la fin de l’exécution
o Approbation de l’extrant par le promoteur
o Fin du projet par le mandataire

14/10/2018 Dr. Aymen LOUATI 43


3.4 Le cycle de vie d’un projet: Clôture (1)

 But
o Dégager les leçons techniques et de gestion que l’on
peut tirer du projet complété

 Pour le promoteur
o Choix du projet et du mandataire
o Exploitation de l’extrant
o Rentabilité du projet

 Pour le mandataire
o Planification
o Choix et affectation des ressources
o Rentabilité du mandat
14/10/2018 Dr. Aymen LOUATI 44
3.4 Le cycle de vie d’un projet: Clôture (2)

 Activités du promoteur
o Clore tous les dossiers en cours
o Archiver les documents importants

 Activités du mandataire
o Clore tous les dossiers en cours
o Archiver les documents importants
o Libérer et réaffecter les ressources

14/10/2018 Dr. Aymen LOUATI 45

Vous aimerez peut-être aussi