Vous êtes sur la page 1sur 61

CYCLE DE VIE D’UN

SYSTÈME D’INFORMATION
Plan

1 Introduction

2 Processus de développement

3 Modèles de processus de Développement

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 1 1
Plan

1 Introduction

2 Processus de développement

Modèles de processus de
3 Développement

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 2 2
Introduction
« La qualité du processus de développement d’un produit est
garante de la qualité du produit »

Pour obtenir un logiciel de qualité, il faut en maîtriser le processus


d’élaboration :

ISSATM - ISI2 – 20021/2022


 La vie d’un logiciel est composée de différentes étapes ;

 La succession de ces étapes forme le cycle de vie du logiciel ;

 Il faut contrôler la succession de ces différentes étapes.

Méthodologies de Conception de Logiciels Houda Benali 3 3


Introduction
« La qualité du processus de développement d’un produit est
garante de la qualité du produit »

 Dans la réalisation d'un programme simple, fait par une personne, il est possible de
distinguer 3 phases:
1. la phase d'analyse du problème;

ISSATM - ISI2 – 20021/2022


2. la phase de codage et de mise au point;
3. la phase d'opération (le programme est opérationnel).
 Cette approche n'est pas appropriée pour un projet important impliquant plusieurs
personnes.

Méthodologies de Conception de Logiciels Houda Benali 4 4


Plan

1 Introduction

2 Processus de développement

Modèles de processus de
3 Développement

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 5 5
Processus de développement

Définition (Processus)
Ensemble d’activités coordonnées et contrôlées dont le but est de créer
un produit.

Un processus décrit 2 choses importantes:

ISSATM - ISI2 – 20021/2022


Les activités (étapes) (= quoi?)
L’enchainement des activités (= quand?)

Méthodologies de Conception de Logiciels Houda Benali 6 6


Processus de développement
Il n’existe pas de processus idéal.
Définition (processus de
La plupart des entreprises adapte les processus
développement logiciel) existants à leurs besoins.

Un processus de développement logiciel Ces besoins varient en fonction du domaine,


des contraintes de qualité, des personnes
est un ensemble (structuré) d’activités
impliquées.
que conduisent à la production d’un

ISSATM - ISI2 – 20021/2022


logiciel

Méthodologies de Conception de Logiciels Houda Benali 7 7


Les activités d’un processus

Les activités d’un processus sont souvent décrites en


termes de:
 Entrées de l’activité (matière première)

 Sorties de l’activité (résultat)

ISSATM - ISI2 – 20021/2022


 Intervenants et rôles (qui?)

 Description de l’activité (quoi ?– quel est le problème à traiter?)

 Standards, guides, « best practices » à appliquer (comment?)

Méthodologies de Conception de Logiciels Houda Benali 8 8


Les activités d’un processus
 Analyse des besoins: besoins, contraintes
 Conception globale: architecture générale

 Conception détaillée: définir précisément les sous‐ensembles

 Implémentation: (Codage ou programmation)


 Tests

 Installation

ISSATM - ISI2 – 20021/2022


 Maintenance
 Vérification et validation

 Documentation: informations nécessaires (utilisateur et développeur ultérieurs)

Méthodologies de Conception de Logiciels Houda Benali 9 9


Approche traditionnelle
POURQUOI ? Pré-Analyse Non => Abandon

Oui + Cahier des charges du Projet

QUOI ? Analyse
Document de spécification

COMMENT ? Conception
Découpage en modules Développement

Implémentation

ISSATM - ISI2 – 20021/2022


Code

Test
Logiciel opérationnel

Maintenance

Méthodologies de Conception de Logiciels Houda Benali 1010


Le cycle de vie d’un logiciel
 L’objectif d’un tel découpage est de permettre de définir des jalons intermédiaires
– la validation du développement logiciel,
 la conformité du logiciel avec les besoins exprimés,

– la vérification du processus de développement,


 l’adéquation des méthodes mises en œuvre.

 L’origine de ce découpage provient du constat que les erreurs ont un coût d’autant

ISSATM - ISI2 – 20021/2022


plus élevé qu’elles sont détectées tardivement dans le processus de réalisation.

 Le cycle de vie permet de détecter les erreurs au plus tôt et ainsi de maîtriser la
qualité du logiciel, les délais de sa réalisation et les coûts associés.

Méthodologies de Conception de Logiciels Houda Benali 1111


Le cycle de vie d’un logiciel
Avant-projet Exploitation & Retrait
Développement Maintenance
de projet
Gestion

Initiation Planification, Pilotage & Suivi


du projet Gestion de qualité Évaluation

Analyse

Conception
Activités techniques

Implémentation

Maintenance

ISSATM - ISI2 – 20021/2022


Étude Tests
&
préalable
Installation Assistance

Documentation
Vérification et Validation (V&V)
Gestion des configurations

Méthodologies de Conception de Logiciels Houda Benali 1212


Étude Préalable

Définition globale du problème

Évaluation des stratégies possibles

Documents : rapport d’analyse + cahier des charges du projet

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 1313
Phase d’analyse et spécification des besoins
 Entrée
 Cahier des charges du projet
 Tâches
 analyse des besoins de l’utilisateur
 spécification du logiciel à réaliser
 Sortie
 Spécification des :
 fonctions du logiciel

ISSATM - ISI2 – 20021/2022


 interfaces (utilisateur, autres logiciels, matériel)
 contraintes de réalisation
 Document produit
 Document de spécification

Méthodologies de Conception de Logiciels Houda Benali 1414


Conception globale
Processus durant lequel on doit IMAGINER, PROPOSER une architecture
pour satisfaire les spécifications (objectifs et contraintes)
Décomposition en modules, et mise en évidence des frontières entre ces
modules => structuration de l’ensemble
Recherche de plusieurs solutions, comparaison et choix entre les différentes
alternatives de conception
A la fin de cette étape on doit disposer d’un modèle :

ISSATM - ISI2 – 20021/2022


COMPLET
COHERENT
MAINTENABLE
TESTABLE

Méthodologies de Conception de Logiciels Houda Benali 1515


Conception globale
Entrée
Document de spécification
Tâches
Trouver une solution pour réaliser le logiciel
Définir l’architecture du logiciel
les composants de l ’architecture
les interfaces entre les composants
 Sortie

ISSATM - ISI2 – 20021/2022


Architecture du logiciel à réaliser
Document produit
document de conception globale

Méthodologies de Conception de Logiciels Houda Benali 1616


Conception détaillée

 Étape qui achève la conception globale, sur le plan ALGORITHMIQUE et


STRUCTURATION de DONNEES, jusqu’à un niveau satisfaisant pour
permettre le CODAGE.

 Les principales activités sont :


 Description précises des traitements, des données et des interfaces de chaque

ISSATM - ISI2 – 20021/2022


module

 Proposition des algorithmes

Méthodologies de Conception de Logiciels Houda Benali 1717


Conception détaillée
 Entrée
 Document de conception globale

 Tâches
 raffiner la décomposition jusqu’à aboutir à des composants élémentaires
 détailler chaque composant élémentaire

 Sortie
 description détaillée de chaque composant :
 interfaces

ISSATM - ISI2 – 20021/2022


 algorithmes

 Documents produits
 document de conception détaillée

Méthodologies de Conception de Logiciels Houda Benali 1818


Implémentation
 Entrée
 Document de conception détaillée
 Tâches
 Transformation des descriptions des composants en code, écrit dans un langage
de programmation
 Sortie
 composants logiciels compilés

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 1919
Tests

Tests unitaire
 Tests des modules

Tests d’intégration
 Tester que des composants interagissent correctement

Tests du système

ISSATM - ISI2 – 20021/2022


 Test en vraie grandeur du système complet

Documents
 rapport de test

Méthodologies de Conception de Logiciels Houda Benali 2020


Installation
 Entrée
 logiciel assemblé
 Tâches
 Installer le logiciel chez le client, dans son environnement d’exploitation
 Effectuer les tests de réception en utilisant un dossier de validation.
 rendre le logiciel opérationnel sur le site du client
 Sortie

ISSATM - ISI2 – 20021/2022


 logiciel installé
 fourniture des documents suivants :
 manuel d’installation
 manuel d’exploitation

Méthodologies de Conception de Logiciels Houda Benali 2121


Exploitation et Maintenance

 Les étapes de ce processus sont les suivants :


 La correction des défauts résiduels (MAINTENANCE CORRECTIVE : 20%)

 L’adaptation du logiciel à un nouvel environnement (MAINTENANCE ADPATATIVE :


20%)

 La mise à jour du logiciel à la suite de modification des spécification d’un point de vue

ISSATM - ISI2 – 20021/2022


fonctionnel ou performance (MAINTENANCE EVOLUTIVE : 60%)

La facilité de la maintenance est préparée lors des étapes précédente.

Méthodologies de Conception de Logiciels Houda Benali 2222


Documentation
 C'est l'enregistrement de tout ce qui pourrait être connu à propos d'un système.
 Communication entre les différents intervenants, Développeurs.

 Indication de l'évolution et du comportement du système, Gestion du projet.

 Trace de toute prise de décision, toutes les informations du système, Maintenance.

 Utilisation et administration du système, Utilisateurs.

ISSATM - ISI2 – 20021/2022


Tâche consommatrice de ressources ==> à planifier.

Méthodologies de Conception de Logiciels Houda Benali 2323


Documentation
 Cahier des charges
 Spécifications
 Modèle objet
 Scénarios des cas d'utilisation
 Calendrier du projet
 Plan de test du logiciel

ISSATM - ISI2 – 20021/2022


 Plan d'assurance qualité
 Manuel utilisateur
 Code source
 Rapport des tests

Méthodologies de Conception de Logiciels Houda Benali 2424


Documents et Phases

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 2525
Vérification & Validation
Validation : « Est ce que nous construisons le bon produit? »
 Validation des besoins
=> Respect des spécifications du logiciel et des besoins

=> Démonstration que les performances réelles sont conformes aux spécifications de performances

Vérification :« Est ce que nous construisons bien le produit? »


 Vérification de tous les éléments constituant la fourniture du logiciel : code, rapports,

ISSATM - ISI2 – 20021/2022


manuels, documentation, jeux de tests, etc.

Méthodologies de Conception de Logiciels Houda Benali 2626


Plan

1 Introduction

2 Processus de développement

3 Modèles de processus de Développement

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 2727
Les modèles de développement
 Modèles classiques
 Modèles linéaires
 modèle en cascade
 modèle en V
 Modèle en W
 Modèles itératifs
 modèle de développement en spirale

ISSATM - ISI2 – 20021/2022


 modèle de développement incrémental
 modèle par prototypage
 Modèles agiles : SCRUM, RAD, XP, …
 Modèles de la transformation formelle

Méthodologies de Conception de Logiciels Houda Benali 2828


Le modèle en « V »
 Objectifs
 Validations intermédiaires pour prévenir les erreurs tardives : meilleure
planification et gestion

 Principes du cycle de vie en V


 Processus linéaire

ISSATM - ISI2 – 20021/2022


 Validation à chaque étape
 Préparation des protocoles de validation finaux à chaque étape descendante

 Validation finale montante et confirmation de la validation descendante

Méthodologies de Conception de Logiciels Houda Benali 2929


Le modèle en « V »
Etude de Installation et test
faisabilité système

V&V Validation
Spécification
fonctionnelle

Conception Tests
Globale d’intégration

ISSATM - ISI2 – 20021/2022


Conception
Tests unitaires
Détaillée

Codage

Méthodologies de Conception de Logiciels Houda Benali 3030


Le modèle en « V »

 On distingue donc deux sortes de dépendances :

 enchaînement et itération
se déroulent essentiellement de gauche à droite

 préparation des phases ultérieures

ISSATM - ISI2 – 20021/2022


Par exemple à l'issue de la conception architecturale le protocole et les jeux de
test de l'intégration doivent être complètement décrits.

Méthodologies de Conception de Logiciels Houda Benali 3131


Le modèle en « V »

 On insiste sur la partie test, réalisée à chaque étape et permettant de s’assurer que le
composant correspond à la description.

 Par ailleurs on s’assure de la recomposition (intégration) de chaque composant.


 obligation de concevoir les jeux de test et leurs résultats ;
 réflexion et retour sur la description en cours ;

ISSATM - ISI2 – 20021/2022


 meilleure préparation de la branche droite du V.

Méthodologies de Conception de Logiciels Houda Benali 3232


Le modèle en « V »

 Intérêts
 Validations intermédiaires
 bon suivi du projet : avancement éclairé et limitation des risques en cascade
d’erreurs

 génération de documents et outils supports

ISSATM - ISI2 – 20021/2022


 Modèle très utilisé et éprouvé

Méthodologies de Conception de Logiciels Houda Benali 3333


Le modèle en « V »

Le cycle en V est-il adapté pour:


 Bien construire le logiciel?

 Construire le bon logiciel?

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 3434
Le modèle en « V »

Construit-on bien le logiciel?


 Les choix techniques (spec, conception, codage) sont validés trop
tard par test.
 Beaucoup de choix techniques sont pris sans disposer d’information

ISSATM - ISI2 – 20021/2022


concrète (prise de risques).

 Il faut attendre longtemps pour savoir si on a bien construit le logiciel.

Méthodologies de Conception de Logiciels Houda Benali 3535


Le modèle en « V »

Construit-on le bon logiciel?


 Le logiciel est utilisé trop tard.
 Il faut attendre longtemps pour savoir si on a construit le bon logiciel.

 Difficile d’impliquer les utilisateurs lorsque qu’un logiciel utilisable n’est

ISSATM - ISI2 – 20021/2022


disponible qu’à la dernière phase.

Méthodologies de Conception de Logiciels Houda Benali 3636


Modèle de développement incrémental

Le modèle incrémental a été proposé dans les années 80

Incréments
délivrés

ISSATM - ISI2 – 20021/2022


temps

Méthodologies de Conception de Logiciels Houda Benali 3737


Modèle de développement incrémental

Un seul sous-ensemble des composants est développé à


la fois
 Un logiciel noyau est tout d’abord développé puis,

 Des incréments sont successivement développés et intégrés

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 3838
Modèle de développement incrémental
linéaires
Modèles

ISSATM - ISI2 – 20021/2022


incrémental
Modèle

Méthodologies de Conception de Logiciels Houda Benali 3939


Modèle de développement incrémental

Le cycle incrémental est-il adapté pour:


 Bien construire le logiciel?

 Construire le bon logiciel?

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 4040
Modèle de développement incrémental

Construit-on bien le logiciel?


 Les choix techniques (spec, conception, codage) sont validés trop
tôt par test.
 L’enchainement des itérations permet de régulièrement vérifier que l’on

ISSATM - ISI2 – 20021/2022


construit bien le logiciel.

Méthodologies de Conception de Logiciels Houda Benali 4141


Modèle de développement incrémental

Construit-on le bon logiciel?


 Le logiciel est utilisé trop tôt.
 L’enchainement des itérations permet aux utilisateurs de vérifier
régulièrement que l’on construit le bon logiciel.

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 4242
Modèle de développement incrémental
Difficultés
 Pour chaque version à développer après la 1ère version livrée, il faut arbitrer entre:
 les demandes de correction,

 les demandes de modification et

 les nouvelles fonctionnalités à développer.

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 4343
Méthodes agiles
But : Augmenter le niveau de satisfaction des clients tout en
rendant le travail de développement plus facile.
 Produire des systèmes très flexibles de sorte que l’impact sur le
système d’une évolution des spécifications reste minimal
Les méthodes agiles sont :

ISSATM - ISI2 – 20021/2022


 Adaptatives plutôt que prédictives

 Orientées vers les personnes plutôt que vers les processus

Méthodologies de Conception de Logiciels Houda Benali 4444


Méthodes agiles

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 4545
Méthodes agiles
Concepts formalisés en 2001 par le Manifeste Agile basé sur les
4 principes essentiels :
L'équipe >> Personnes et interactions plutôt que processus et
outils
L'application >> Logiciel fonctionnel plutôt que
documentation complète
La collaboration >> Collaboration avec le client plutôt que

ISSATM - ISI2 – 20021/2022


négociation de contrat
L'acceptation du changement >> Réagir au changement plutôt
que suivre un plan

Méthodologies de Conception de Logiciels Houda Benali 4646


Le processus SCRUM

 Scrum est emprunté au Rugby

 Scrum signifie « mêlée »

ISSATM - ISI2 – 20021/2022


L'objectif de la mêlée est de reprendre le jeu rapidement, en toute sécurité et équitablement, après
une faute mineure ou un arrêt de jeu.
Scrum se tient chaque jour une réunion informelle pour faire le point sur ce qui a été fait, ce qui
va être fait le lendemain et ce qu’il reste à faire pour la suite

Méthodologies de Conception de Logiciels Houda Benali 4747


Le processus SCRUM

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 4848
Le processus SCRUM
 Stabilité pendant le sprint

Changement

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 4949
Le cadre Scrum
Rôles
•Product Owner
•ScrumMaster
•Equipe
Cérémonial
•Planification du sprint
•Revue du sprint
•Rétrospective

ISSATM - ISI2 – 20021/2022


•Scrum quotidien

Artefacts
•Backlog de produit
•Liste des tâches
•Burndowns
Méthodologies de Conception de Logiciels Houda Benali 5050
Backlog de produit
 Les exigences
 Une liste de tout ce qui va entraîner du travail pour l'équipe
 Exprimé de telle façon que chaque élément apporte de la valeur aux utilisateurs ou clients du produit
 Les priorités sont définies par le Product Owner
 Les priorités sont revues à chaque sprint

ISSATM - ISI2 – 20021/2022


Ceci est le backlog de
produit
Méthodologies de Conception de Logiciels Houda Benali 5151
ISSATM - ISI2 – 20021/2022
Méthodologies de Conception de Logiciels Houda Benali 5252
Un backlog de produit
Elément de backlog Estimation
En tant qu'invité, je peux faire une réservation 3
En tant qu'invité, j'annule une réservation 5
En tant qu'invité, je change les dates d'une
3
réservation.
En tant qu'employé de l'hôtel, je produis les rapports

ISSATM - ISI2 – 20021/2022


8
de revenu par chambre
Améliorer la gestion des exceptions 8
... 30
... 50
53
Méthodologies de Conception de Logiciels Houda Benali 53
ISSATM - ISI2 – 20021/2022
Méthodologies de Conception de Logiciels Houda Benali 5454
Une liste des tâches

Tâches Lun Mar Mer Jeu Ven


Coder l'IHM 8 4 8
Coder couche métier 16 12 10 4
Tester l'intégration 8 16 16 11 8
Ecrire l'aide en ligne 12

ISSATM - ISI2 – 20021/2022


Ecrire la classe foo 8 8 8 8 8
Tracer les erreurs 8 4

Méthodologies de Conception de Logiciels Houda Benali 5555


Planification du sprint
 L'équipe choisit, à partir du backlog de produit, les éléments qu'elle s'engage à finir.

 La liste des tâches est créée


 Les tâches sont identifiées et estimées (1-16 heures)

 Collectivement, pas seulement par le ScrumMaster

 La conception de haut niveau est abordée

ISSATM - ISI2 – 20021/2022


En tant que touriste Coder la couche de persistance (8
heures)
potentiel dans la région, je Coder l'IHM (4)
veux voir les photos des Coder la classe foo (6)
Maj les tests de performance (4)
hôtels
Méthodologies de Conception de Logiciels Houda Benali 5656
Phases de « sprints »

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 5757
Forces et faiblesses

 Avantages
 Souplesse : répondre au changement, modifier le projet et le livrables à tout moment

 Contrôle quotidien : coût; planning; fonctionnalités; et qualité.

 Partage de connaissances : améliorer la productivité

 Inconvénients

ISSATM - ISI2 – 20021/2022


 L’isolement durant un sprint : et si le client change de spécifications?

Méthodologies de Conception de Logiciels Houda Benali 5858


Conclusion
 Quel est le meilleur cycle de vie?
 Y-a-t-il des critères de choix ?

ISSATM - ISI2 – 20021/2022


Méthodologies de Conception de Logiciels Houda Benali 5959
Conclusion
 Il n’y a pas de modèle idéal car tout dépend des circonstances.
 Le modèle en cascade ou en V est risqué pour les développements innovants car les
spécifications et la conception risquent d’être inadéquats et souvent remis en cause.
 Le modèle incrémental est risqué car il ne donne pas beaucoup de visibilité sur le processus
complet.
 Souvent, un même projet peut mêler différentes approches, comme l’incrémental pour les

ISSATM - ISI2 – 20021/2022


sous-systèmes à haut risque et la cascade pour les sous systèmes bien connus et à faible
risque.
 Scrum est une approche de réalisation de produits logiciels complexes qui se base sur la
créativité, la coopération et la vitalité des participants au projet.

Méthodologies de Conception de Logiciels Houda Benali 6060

Vous aimerez peut-être aussi