Genie Logiciel Cycle de Vie d'Un Logiciel

30
Le Cycle de Vie d'un Logiciel

Transcript of Genie Logiciel Cycle de Vie d'Un Logiciel

Page 1: 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

Page 2: 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 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

Page 3: 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 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

Page 4: 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 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

Page 5: 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 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

Page 6: 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 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)

Page 7: 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 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

Page 8: 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 8/30

Page 9: 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 9/30

9

Moyens Plan l'entretien entre : clients, utilisateurs, concepteurs,

Méthodes

Revues

Phase d'étude pr éalable

(ou d'opportunité)

Page 10: 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 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

Page 11: 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 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

Page 12: 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 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

Page 13: 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 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

Page 14: 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 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)

Page 15: 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 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 

Page 16: 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 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

Page 17: 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 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é

Page 18: 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 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

Page 19: 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 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

Page 20: 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 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

Page 21: 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 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

Page 22: 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 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

Page 23: 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 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

Page 24: 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 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

Page 25: 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 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

Page 26: 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 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

Page 27: 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 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

Page 28: 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 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)

Page 29: 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 29/30

Page 30: 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 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