Vous êtes sur la page 1sur 10

06/10/2020

Maturité du processus de développement


 notion définie par le SEI (Software Engineering Institute)
Cycle de vie du logiciel Capacity Maturity Model (CMM)
processus de développement logiciel 5 niveaux de maturité :
« La qualité du processus de fabrication est
 Initial
garante de la qualité du produit »  Reproductible
 Défini
 Géré
 Optimisé
75% des projets au niveau 1, 25% aux niveaux 2 et 3

52 Cours GL 2AInfo Chiraz jelassi 54 Cours GL 2AInfo Chiraz jelassi

Niveaux de maturité
Sommaire
Partie2: Cycle de vie du logiciel
 Maturité du processus de développement
 1.1. Niveaux de maturité
 1.2. Conclusion
 Processus de développement
 2.1. Composantes du cycle de vie d'un logiciel
 2.2. Documents courants
 2.3. Modèles de développement
 2.3. 1 Modèle linéaire
 2.3.2 Modèle itératifs

53 Cours GL 2AInfo Chiraz jelassi 55 Cours GL 2AInfo Chiraz jelassi

1
06/10/2020

Maturité du processus de développement Cycle de vie du logiciel (processus de


développement)
Conclusion
Modèle de développement ?
Pour maîtriser le processus de développement logiciel et
assurer la qualité du logiciel, il faut :  enchaînements et interactions entre les activités
 Séparer le développement en plusieurs étapes But pour le projet : ne pas s’apercevoir des problèmes qu’à la fin
contrôler l’avancement des activités en cours
 Organiser ces étapes et modéliser le processus de
développement  vérifier / valider les résultats intermédiaires
 Contrôler le processus de développement  Objectif général : obtenir des processus de développement
 rationnels
 contrôlables
 reproductibles

56 Cours GL 2AInfo Chiraz jelassi 58 Cours GL 2AInfo Chiraz jelassi

Cycle de vie du logiciel (processus de Composantes du cycle de vie d'un logiciel


développement)
 Etude de faisabilité
Le cycle de vie d’un logiciel est constitué de  Déterminer si le développement proposée vaut la peine
l’enchaînement des différentes activités d‘être mis en œuvre, compte tenu des attentes et de la
difficulté de développement
nécessaires à son développement.
 Étudier le marché: déterminer s'il existe un marché
Le cycle de vie permet de détecter les erreurs potentiel pour le produit.
le plus tôt possible et ainsi de maîtriser la  Spécification
qualité du produit, les délais de sa réalisation et
 Déterminer les fonctionnalités du logiciel
les coûts associés.
 Collecter les exigences
 Analyser le domaine : déterminer les tâches et les structures
redondantes dans le problème
57 Cours GL 2AInfo Chiraz jelassi 59 Cours GL 2AInfo Chiraz jelassi

2
06/10/2020

Composantes du cycle de vie d'un logiciel Composantes du cycle de vie d'un logiciel
 Organisation du projet  Implémentation
Déterminer comment développer le logiciel Ecrire le logiciel
 Analyse des coûts : établir une estimation du prix du projet
 Planification : établir un calendrier de développement
 Assurance qualité du logiciel : déterminer les actions qui
permettront de s'assurer de la qualité du produit fini
 Répartition des tâches : hiérarchiser les tâches et sous-tâches
nécessaires au développement du logiciel

60 Cours GL 2AInfo Chiraz jelassi 62 Cours GL 2AInfo Chiraz jelassi

Composantes du cycle de vie d'un logiciel Composantes du cycle de vie d'un logiciel
 Conception  Tests
Essayer le logiciel sur des données d'exemple pour s'assurer qu'il
Déterminer la façon dont le logiciel fournit les différentes fonctionne correctement
fonctionnalités recherchées  Tests unitaires : faire tester les parties du logiciel par leurs
développeurs
 Conception générale
 Tests d'intégration : tester pendant l'intégration
Conception architecturale : déterminer la structure du  Tests de validation : pour acceptation par l'acheteur
système  Tests système : tester dans un environnement proche de
l'environnement de production
Conception des interfaces : déterminer la façon dont les
 Tests Alpha : faire tester par le client sur le site de développement
différentes parties du système agissent entre elles  Tests Bêta : faire tester par le client sur le site de production
 Conception détaillée : déterminer les algorithmes pour les  Tests de régression : enregistrer les résultats des tests et les
comparer à ceux des anciennes versions pour vérifier si la nouvelle
différentes parties du système n'en a pas dégradé d'autres

61 Cours GL 2AInfo Chiraz jelassi 63 Cours GL 2AInfo Chiraz jelassi

3
06/10/2020

Composantes du cycle de vie d'un logiciel Documents courants


 Livraison  Plan de test du logiciel
Fournir au client une solution logicielle qui fonctionne correctement Décrit les procédures de tests appliquées au logiciel pour contrôler son
 Installation : rendre le logiciel opérationnel sur le site du client bon fonctionnement
 Tests de validation : tests choisis par le client pour déterminer s'il
 Formation : enseigner aux utilisateurs à se servir du logiciel
peut accepter le logiciel
 Assistance : répondre aux questions des utilisateurs
 Plan d'assurance qualité
 Maintenance Décrit les activités mises en œuvre pour garantir la qualité du logiciel
 Mettre à jour et améliorer le logiciel pour assurer sa pérennité  Manuel utilisateur
 Pour limiter le temps et les coûts de maintenance, il faut porter Mode d'emploi pour le logiciel dans sa version finale
ses efforts sur les étapes antérieures  Code source
Code complet du produit fini

64 Cours GL 2AInfo Chiraz jelassi 66 Cours GL 2AInfo Chiraz jelassi

Documents courants Documents courants


 Cahier des charges  Rapport des tests
Description initiale des fonctionnalités désirées, généralement écrite Décrit les tests effectués et les réactions du système
par l'utilisateur  Rapport des défauts
 Spécifications Décrit les comportements du système qui n'ont pas satisfait le client
Décrit précisément les conditions que doit remplir le logiciel  Il s'agit le plus souvent de défaillances du logiciel ou d'erreurs
 Modèle objet : indique les classes et les documents principaux
 Scénarios des cas d'utilisation : indique les différents
enchaînements possibles du point de vue de l'utilisateur
 Calendrier du projet
 Ordre des différentes tâches
 Détails et ressources qu'elles demandent

65 Cours GL 2AInfo Chiraz jelassi 67 Cours GL 2AInfo Chiraz jelassi

4
06/10/2020

Documents courants Processus en cascade (1960)


 Chaque étape doit être
terminée avant que ne
commence la suivante
 À chaque étape,
production d' un
document base de
l 'étape suivante

68 Cours GL 2AInfo Chiraz jelassi 70 Cours GL 2AInfo Chiraz jelassi

Cycle de vie du logiciel Processus en cascade


 Le modèle original ne comportait pas de possibilité de retour
 Modèles linéaires en arrière.
– modèle de la chute d’eau (en cascade)  Celle-ci a été rajoutée ultérieurement sur la base qu’une
– modèle en V étape ne remet en cause que l’étape précédente.
Dans la pratique, s’avère insuffisant.
 Modèles itératifs
 Les versions actuelles de ce modèle font apparaître
– modèle de développement incrémental
la validation-vérification à chaque étape.
– modèle de développement en spirale
– modèle par prototypage
 Autres modèles

69 Cours GL 2AInfo Chiraz jelassi 71 Cours GL 2AInfo Chiraz jelassi

5
06/10/2020

Processus en cascade Le modèle en V


Dérivé du modèle de la cascade, le modèle en V du cycle de
développement montre non seulement l’enchaînement
des phases successives, mais aussi les relations logiques entre
phases plus éloignées.

72 Cours GL 2AInfo Chiraz jelassi 74 Cours GL 2AInfo Chiraz jelassi

Processus en cascade Le modèle en V


 Avantages
 Simple à mettre en œuvre,
 La documentation est produite à chaque étape.
 Inconvénients
 Difficulté d’avoir toutes les spécifications du client,
 Preuve tardive du bon fonctionnement,
 Coût de modification d' une erreur important
 Pas transparent au client lors du développement.

73 Cours GL 2AInfo Chiraz jelassi 75 Cours GL 2AInfo Chiraz jelassi

6
06/10/2020

Le modèle par prototypage


Le modèle en V Il s’agit d’écrire une première spécification et de réaliser un sous-
 Avantages : ensemble du produit logiciel final. Ce sous ensemble est alors
– Les plans de test sont meilleurs, raffiné incrémentalement et évalué jusqu’à obtenir le produit
– Les éventuelles erreurs peuvent être détectées plus tôt. final.
 Inconvénients :
– Les plans de test et leurs résultats obligent à une réflexion et à
des retours sur la description en cours.

Ce modèle est idéal quand les besoins sont bien connus,


quand l’analyse et la conception sont claires, ce modèle
est adapté aux projets de taille et de complexité
moyenne.

76 Cours GL 2AInfo Chiraz jelassi 78 Cours GL 2AInfo Chiraz jelassi

Le modèle par prototypage Le modèle par prototypage


Principe :  Avantages :
 Développement rapide d' un prototype avec le client pour valider –Validation très tôt dans le processus,
ses besoins –Visibilité (donc compréhension) du produit final,
 Écriture de la spécification à partir du prototype, puis processus – Anticipation des changements : maintenance incluse tout le long
de développement linéaire du projet.
 Inconvénients :
– Risque de déstructuration du code,
– Difficulté de planifier et de gérer le développement.

Ce modèle est bien adapté pour les projets innovants

77 Cours GL 2AInfo Chiraz jelassi 79 Cours GL 2AInfo Chiraz jelassi

7
06/10/2020

Le modèle incrémental de Parnas Le modèle incrémental


Le modèle incrémental est un modèle itératif, qui consiste à  Avantages :
sélectionner successivement plusieurs incréments. – Chaque développement est moins complexe,
Un incrément du logiciel est un sous-ensemble du logiciel complet, – Les intégrations sont progressives,
qui consiste en un petit nombre de fonctionnalités.
– Il peut y avoir des livraisons et des mises en services après chaque
intégration d’incrément.
 Dans le modèle par incréments, seul un sous ensemble est
 Inconvénients :
développé à la fois.
– Mettre en cause le noyau ou les incréments précédents,
 Dans un premier temps un logiciel noyau est développés, puis
– Ne pas pouvoir intégrer de nouveaux incréments.
successivement, les incréments sont développés et intégrés.
Ce modèle est utilisé dans de grands projets nécessitant
des livraisons rapides.

80 Cours GL 2AInfo Chiraz jelassi 82 Cours GL 2AInfo Chiraz jelassi

Le modèle incrémental Modèle en spirale (B. Boëhm en 1988)


Le modèle en spirale corrige les défauts de la démarche linéaire
 Le projet est exécuté dans une série de courts cycles de vie,
chacun se terminant par une version du logiciel exécutable.
 A chaque étape, après avoir défini les objectifs et les alternatives,
celles-ci sont évaluées par différentes techniques (prototypage,
simulation, ...)
 L’étape est réalisée et la suite est planifiée
 Chaque cycle donne lieu à une contractualisation préalable,
s’appuyant sur les besoins exprimés lors du cycle précédent (des
contrats partiels pour chaque itération.. )

81 Cours GL 2AInfo Chiraz jelassi 83 Cours GL 2AInfo Chiraz jelassi

8
06/10/2020

Modèle en spirale Modèle en spirale

84 Cours GL 2AInfo Chiraz jelassi 86 Cours GL 2AInfo Chiraz jelassi

Modèle en spirale Modèle en spirale


 Avantages:
Chaque cycle de la spirale se déroule en quatre phases :
1. Détermination des objectifs du cycle, des alternatives pour les - analyse de risques, maquettes, prototypage
atteindre, des contraintes, à partir des résultats des cycles
précédents ou s'il n’y a pas, d’une analyse préliminaire des - modèle complet, complexe et général
besoins ;  Inconvénients :
2. Analyse des risques, évaluation des alternatives, éventuellement
effort important de mise en œuvre
maquettage (prototypage) ;
3. Développement et vérification de la solution retenue ; Ce modèle est utilisé pour des projets innovants, à
4. Revue des résultats et planification du cycle suivant. risques, et dont les enjeux sont importants.

85 Cours GL 2AInfo Chiraz jelassi 87 Cours GL 2AInfo Chiraz jelassi

9
06/10/2020

Conclusion
Le choix d’un modèle dépend fortement du domaine
d’application,
 Domaine critique, les modèles adéquats sont le modèle de la
spirale et à un degré moins le prototypage.

 Applications classiques (gestion) le modèle en V ou le


modèle en cascade peuvent être appropriés

 Domaines nécessitant les livraisons rapides mais


non critiques le modèle à incrément pourra se justifier.

88 Cours GL 2AInfo Chiraz jelassi

10

Vous aimerez peut-être aussi