Download - Genie Logiciel Cycle de Vie d'Un Logiciel
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 1/30
Le Cycle de Vie d'un
Logiciel
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 2/30
2
Développement logiciel : un
processus complexe
Le développement de logiciel n'est pas simplement l'écriture
de programmes sur une durée variant de quelques heures à
quelques jours :
c'est un processus beaucoup plus complexe auquel on
applique le vieil adage : «diviser pour régner», qui
permet de le maîtriser en le divisant en sous-tâches
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 3/30
3
Etapes de la vie d'un logiciel
La structure des logiciels suit une progression logique Etude du problème (analyse conceptuelle)
Etude d'une solution (analyse logique)
Etude technique détaillée (design et analyse physique) Codage
Tests
Utilisation (Mise en exploitation)
Maintenance et Evolution
Cet ensemble d'éléments se traduit par le cycle de vie d'unlogiciel
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 4/30
4
Grandes phases d'un cycle de vie
Un cycle de vie se décompose en deux grandes phases :
la construction ou développement
la maintenance
Un cycle est un ensemble de phases permettant de
transformer les besoins en traitement automatique de
l'information à travers un logiciel opérationnel répondant à
ces besoins
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 5/30
5
Maintenance
La phase de maintenance permet une utilisation optimale du
logiciel et donne lieu à des phases de construction de peu
d'importance : constructives et évolutives
En pratique, la phase de maintenance est la phase qui coûte le
plus cher, pas parce qu'elle est la plus longue,
mais parce que les phases pr écédentes n'aboutissent pas
toujours complètement à ce qu'elles devraient.
La cause de ces inadéquations est la faiblesse desméthodologies disponibles pour ces phases
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 6/30
6
Cycle de vie : déf initions
Le cycle de vie d'un logiciel est la période située entre ledébut de la conception et l'arrêt de l'exploitation de celogiciel.
« Le cycle de vie regroupe un ensemble d'activités suivant lesnormes AFNOR Z 67 150. Il est envisagé à un instant donnéet va comprendre les progrès technologiques et lescontraintes organisationnelles » (A. Carlier, 1994)
Le cycle de vie d'un logiciel « correspond à l'identificationdes états successifs d'une application ou d'un produit déterminé. Il est essentiellement dynamique, évolutif et
presque toujours progressif » (A. Carlier, 1994)
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 7/30
7
Phases d'un cycle de vie
Il existe de nombreux modèles de cycle de vie, les plus
courants comportent les phases suivantes :
Analyse du problème et des besoins
Spécif ication des besoins
Conception
Codage/Implantation
Test Mise en exploitation
Maintenance
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 8/30
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 9/30
9
Moyens Plan l'entretien entre : clients, utilisateurs, concepteurs,
Méthodes
Revues
Phase d'étude pr éalable
(ou d'opportunité)
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 10/30
10
Phase de spécif ication
Cette phase débouche sur un cahier des charges (CC) dont
l'énoncé souffre souvent de possibilités de multiples
interprétations
Pour y remédier : lexique du CC indiquent le sens contextuel de chaque terme
enrichissement par des exemples illustratif s
revues du CC par des experts externes
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 11/30
11
Le Cahier des Charges, en plus de son rôle de descripteur des besoins du client sert de document contractuel et juridique entre le client et de développeur (tout ce qui n'est pas écrit, n'existe pas)
Propotypage : solution idéale pour un CC précis et lemoins incomplet possible = développement d'un sous-pbreprésentatif du problème global à traiter et examiner
l'appréciation du client vis-à-vis du prototype afin de préciser au mieux ces besoins sans omissions ou ambiguïtés
Cahier des Charges
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 12/30
12
Structure du Cahier des Charges (1)
1. Présentation du CCa. identité du maître d'ouvrage
b. organisation du document
c. convention et terminologie
2. Présentation du logiciel à développer a. pr ésentation de la problématique visée
b. domaine d'application
c. objectif technique et économique
d. marché
e. utilisateurs
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 13/30
13
Structure du Cahier des Charges (2)
3. Description de l'environnement d'utilisationa. pr érequis d'accueil
b. contraintes
c. ressources (variantes)
4. Description des fonctions à satisfairea. f onctions principales
b. f onctions secondaires
c. options
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 14/30
14
Structure du Cahier des Charges (3)
5. Description qualitativea. inter f ace utilisateur
b. per f ormances : tps de r éponses, économie en espace
mémoire
c. f iabilité
d. sureté de f onctionnement ( robustesse, dépendabilité,
protection)
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 15/30
15
Structure du Cahier des Charges (4)
6. Documentation à développer a. documentation des spécif ications f ormelles
b. code source + binaire
c. plan de test
d. manuel qualité
e. manuel de r éférence (f inalité du logiciel)
f . manuel d'installation
g. manuel utilisateur
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 16/30
16
Structure du Cahier des Charges (5)
7. Plan de certification isoa. critères d'évaluation
b. f ichiers de tests
c. standards et normes
8. Plan de développementa. Planning de développement (dates et documents à f ournir)
b. Coût et dates de paiement
c. Sanctions éventuelles
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 17/30
17
Prototype du Cahier des Charges
En GL un prototype a un sens contextuel différents de celui
utilisé dans l'industrie : un prototype logiciel est différent d'un prototype d'un avion
ou d'une voiture
Un prototype réalise partiellement des fonctions mais
totalement l'interface utilisateur, il peut fonctionner sur un
sous-ensemble de machines ciblées et diffère de l'application
finale quant aux aspects qualité d'efficacité et de fiabilité
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 18/30
18
O bjectifs Décrire le modèle f onctionnel du système
Elaborer le calendrier du développement
Estimer les ressources exigées
R ésultats Déf inition des différentes f onctions
CC détaillé
Planif ication du cycle de vie
Moyens Rapport des entretiens
Méthodes et langages de spécif ication Techniques de planif ication
Phase de spécif . f onctionnelle
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 19/30
19
Phase de conception pr éliminaire
O bjectifs décrire l'architecture du logiciel
obtenir une décomposition du système comme un ens.
de modules et des structures de données
obtenir une description du rôle de chaque module et
de l'inter f ace inter modulaire
Moyens méthodes, langages, outils de conception : HIPO,
SADT, JACKSON, MERISE,...
Revues de conception
R ésultats Structure modulaire du système
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 20/30
20
Phase de conception détaillée (1)
Cette phase donne une forme plus précise de la conception
préliminaire du système, la précision porte sur l'interface de
chaque composant :
les données requises pour son f onctionnement
les f onctions sous-traitées ou importées
les r ésultats retournés par chaque module
les ser vices
f ournis par le module
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 21/30
21
Phase de conception détaillée (2)
O bjectifs obtenir une description détaillée des traitements et
des structures de données par des expressionstraduisibles directement dans un langage deprogrammation choisi
Moyens pseudo-code : outils
revues de conception : HOOD, PDL
R ésultats structure modulaire détaillée
Inter f aces pr écises bien explicites
Texte détaillé de chaque module
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 22/30
22
Phase de codage
Cette phase consiste à traduire ce qui est issu de laconception détaillée en termes de langage de
programmation exécutable par une machine physique
O bjectifs obtenir les programmes, eff ectuer les tests unitaires des
modules
Moyens langages de programmation, outils de test, analyseurs
statique, inspection du code
R ésultats programmes, documentation technique, r ésultats de test
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 23/30
23
Phase de test unitaire
Cette phase consiste à appliquer à chaque module développé
un ensemble de tests selon une méthode bien définie
L'exhaustivité du test individuel est normalement
proportionnelle à la fréquence estimée à priori de l'utilisation
du module
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 24/30
24
Phase d'intégration des modules
et test global
Cette phase consiste à faire coopérer, à assembler les
composants modulaires testés individuellement
L'intégration se fait graduellement (intégration incrémentale)
La difficulté est proportionnelle au nombre de modules
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 25/30
25
O bjectifs Intégrer les modules testés
Tester le système obtenu
Développer la documentation utilisateur
Moyens Editeurs
Documents de la conception
R ésultats programme intégr é, documentation utilisateur détaillé, plans
l'installation
Phase d'intégration des modules
et test global
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 26/30
26
Phase d'installation (1)
Mis en exploitation et utilisation du logiciel résultant dans
l'environnement réel
Livraison du manuel d'utilisation
Formation des utilisateurs
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 27/30
27
Phase d'installation (2)
O bjectifs valider le logiciel dans des conditions très proches de celle
l'exploitation
obtenir un programme opérationnel et testé
Moyens revues, inspections, tests
R ésultats programme installé, testé et accepté par le client
recette
début du cycle : exploitation maintenance
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 28/30
28
La maintenance recouvre des activités différentes qui
sont regroupées en 5 catégories :
La maintenance corrective :
Acti
vité
de maintenance quiconsiste à corriger les déf auts r ésiduels des logiciels
(erreurs de programmation, déf auts de per f ormance, erreurs
d'implémentation, de spécif ication...)
La maintenance adaptative : Activité de maintenance qui
consiste à modif ier un logiciel af in de l'adapter aux
changements dans les spécif ications des données ou aux
évolutions de l'environnement (modif ication des inter f aces
du logiciel, An 2000, Euro,...)
Phase de Maintenance (1)
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 29/30
8/7/2019 Genie Logiciel Cycle de Vie d'Un Logiciel
http://slidepdf.com/reader/full/genie-logiciel-cycle-de-vie-dun-logiciel 30/30
30
Phase de maintenance (3)
L'ensemble des activités de maintenance sont : liées aux changements, aux modif ications ou à tout ce qui
peut altérer les logiciels
nécessaires pour garder un système opérationnel après qu'ilait été accepté et mis en production.
La maintenance résulte en partie de la nature de + en + f luctuante de l'environnement dans
lequel évolue les organisations
de la diff iculté des inf ormaticiens à produire des logiciels quir épondent aux besoins des utilisateurs et qui s'adaptent à
leur évolution à l'âge, la taille, la sophistication de l'application logicielle