CoursDocuments

génie logiciel: cours de processus logiciel

CHAPITRE 2: PROCESSUS LOGICIELS 

Avant propos 

Mythes du logiciel 

Idée grossière du logiciel suffisante pour commencer à programmer Faux : échecs dus principalement à une idée imprécise du logiciel 

Travail terminé quand programme écrit et fonctionnel Faux : maintenance du logiciel = plus du 50% du coût total 

Facile de gérer spécifications changeantes Faux : changements de spécifications souvent coûteux 

En cas de retard, solution : ajouter des programmeurs Faux : période de familiarisation et communication plus difficile impliquent perte de productivité « Ajouter des programmeurs à un projet en retard ne fait que le retarder davantage » 

Cours « Génie Logiciel 1 » Niveau II2 

AU: 2016/2017 

14/09/2017

14/09/2017

Avant propos 

Petits projets Vs Grands projets 

Avant propos 

Etude du Standish group 

14/09/2017

CHAPITRE 2: Processus Logiciels 

Plan 

  1. Introduction 2. Définitions 3. Activités du cycle de vie 4. Modèles de processus 

Modèles classiques 

Modèle orienté réutilisation 

Modèles agiles 

Modèles orientés objet 

CHAPITRE 2: Processus Logiciels 

Introduction 

SECTION 1 

Réalisation d’un programme simple développé par une personne : 

Analyse du problème; 

Ecriture de l’algorithme; 

Codage; 

Mise au point. 

Programmes de taille importante et développés par plusieurs personnes : 

Un processus de développement plus élaboré et plus rigoureux doit être mis en place 

14/09/2017

14/09/2017

14/09/2017

CHAPITRE 2: Processus Logiciels 

Définitions 

Processus: un ensemble d’activités coordonnées et contrôlées dont le but est de créer un produit. 

Cycle de vie d’un logiciel : processus 

Début: Détection d’un besoin de développement d’un logiciel 

Fin: Mise hors service du logiciel (disparition). 

Cycle de développement logiciel: processus 

Début: Décision de développer un logiciel 

Fin: Livraison du logiciel et son installation. 

Le cycle de développement est la partie du cycle de vie d’un logiciel consacrée au développement. 

CHAPITRE 2: Processus Logiciels 

Définitions 

Il existe différents modèles de cycles de vie. 

Il n’existe pas de cycle de vie idéal: 

Diversité des besoins et des contraintes de qualité. 

Différences de contexte et d’expertise aussi bien des organisations que des personnes. 

14/09/2017

CHAPITRE 2: Processus Activités de 

Logiciels 

développement 

Etude Préalable 

Les tâches effectuées: 

Dresser un état de l’existant et analyser ses forces et faiblesses; 

Identifier les besoins de l’utilisateur 

Formuler des solutions potentielles et étudier la faisabilité 

L’objectif est de répondre essentiellement aux questions suivantes: 

Pourquoi a-t-on besoin du logiciel? 

Quels moyens faut-il mettre en œuvre? 

Besoins du client 

Etude préalable Cahier des charges du logiciel 

10 

Développement Avant-projet 

Exploitation Maintenance & Retrait Planification, Pilotage & Suivi 

Gestion de qualité 

Cycle de développement du logiciel 

Cycle de vie du logiciel 

CHAPITRE 2: Processus Logiciels 

Activités du cycle de vie 

Initiation du projet 

Étude préalable 

Analyse 

Conception 

Vérification et Validation (V&V) 

Gestion des configurations 

Implémentation 

Documentation 

Tests 

Installation 

Maintenance & Assistance 

Évaluation 

Mise hors service 

14/09/2017

CHAPITRE 2: Processus Logiciels 

Analyse et spécification des besoins 

Activités de développement 

Objectif 

Répondre à la question quoi? Que doit faire le logiciel faire? 

Tâches 

Analyse des besoins de l’utilisateur 

Spécification du logiciel à réaliser (fonctionnalités, exigences de qualité, …) 

14/09/2017

14/09/2017

Étude préalable 

Analyse 

Conception 

Vérification et Validation (V&V) 

Gestion de la configuration 

Implémentation 

Documentation 

Tests 

Installation 

Maintenance & Assistance 

Maintenance & Assistance 

Mise hors service 

Mise hors service 

Mise hors service 

11 

14/09/2017

14/09/2017

14/09/2017

14/09/2017

14/09/2017

Cahier des charges du projet 

Analyse et 

spécification des besoins 

Cahier des charges du logiciel (fonctionnel) 

Cahier des charges du logiciel (fonctionnel) 

12 

Développement Exploitation & Maintenance Retrait Avant-projet 

14/09/2017

14/09/2017

14/09/2017

14/09/2017

Planification, Pilotage & Suivi Gestion de qualité 

CHAPITRE 2: Processus Logiciels 

Activités du cycle de vie 

Initiation du projet 

Évaluation 

Évaluation 

14/09/2017

14/09/2017

14/09/2017

Activités CHAPITRE 2: Processus 

de Logiciels développement Conception 

Objectif : répondre à la question comment

Ebauche de plusieurs variantes de solutions, comparaison et choix de celle qui offre le meilleur rapport entre coûts et avantages. 

Se compose de deux phases: 

Conception globale ou architecturale 

Conception détaillée 

Cahier des charges du logiciel (fonctionnel) 

Conception Document de 

conception 

CHAPITRE 2: Processus Logiciels 

Implémentation 

Document de conception 

Activités de développement 

Tâches 

Transformation des éléments de la conception en code, écrit dans un langage de programmation 

Choix de l’environnement de développement, du/des langage(s) de programmation, de normes de développement… 

Implémentation Logiciel 

14 

14/09/2017

CHAPITRE 2: Processus 

Activités de Logiciels 

développement 

Tests 

Durant cette phase, les composants du logiciel sont évalués et intégrés ainsi que le logiciel lui-même. 

Phase généralement subdivisée en trois phases: 

Tests unitaires 

Tests individuels des composants 

Tests d’intégration 

Assemblage progressif des composants 

Tests des composants assemblés 

Tests du système 

Test en vraie grandeur du système complet15 

Développement Exploitation & Maintenance Retrait Avant-projet 

Planification, Pilotage & Suivi Gestion de qualité 

CHAPITRE 2: Processus Logiciels 

Activités du cycle de vie 

Initiation du projet 

Étude préalable 

Analyse 

Conception 

Vérification et Validation (V&V) 

Gestion de la configuration 

Implémentation 

Documentation 

Tests 

Installation 

Maintenance & Assistance 

Évaluation 

Mise hors service 

16 

14/09/2017

CHAPITRE 2: Processus Logiciels 

Gestion de la configuration 

Activités de développement 

La constitués long documentation du cycle d’un de grand vie du (code, développement nombre tests, d’éléments documentation, et le qui logiciel évoluent etc.). sont tout au But : 

Maîtriser l’évolution du logiciel et de sa documentation. 

Utiliser un outil de gestion de la configuration: 

Identifier différentes et versions archiver les éléments de la configuration et les Tracer et archiver les changements dans la configuration; 

Gérer éléments le travail de la configuration. 

concurrent à plusieurs développeurs sur les 18 

CHAPITRE 2: Processus Logiciels 

Vérification &Validation 

Activités de développement 

V&V englobe tous les processus qui permettent de s’assurer 

Le logiciel <-> bien à son cahier des charges 

Le cahier des charges <-> aux besoins de l’utilisateur. 

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

Vérification de toutes les étapes de développement et les fonctionnalités fournies 

Validation: « Est ce que nous construisons le bon produit? » 

Vérification du respect des spécifications du logiciel et des besoins du client

17 

14/09/2017

CHAPITRE 2: Processus Logiciels 

Maintenance et assistance 

Activités de développement 

La logiciel maintenance après sa du mise logiciel en œuvre : Modifications apportées à un But: 

Corriger les fautes 

Améliorer l’efficacité ou autres caractéristiques 

Adapter à un environnement modifié 

Tâches: 

Effectuer des corrections mineures /majeures 

Réappliquer plus importantes le cycle de développement pour des modifications Assistance : 

Fournir l’assistance technique 

Maintenir un journal des demandes d’assistance et de support. 

20 

Développement Exploitation & Maintenance Retrait Avant-projet 

14/09/201710 

14/09/201710 

Étude préalable 

Analyse 

Conception 

Vérification et Validation (V&V) 

Gestion de la configuration 

Implémentation 

Documentation 

Tests 

Installation 

Maintenance & Assistance 

Maintenance & Assistance 

Mise hors service 

Mise hors service 

Mise hors service 

19 

14/09/201710 

14/09/201710 

14/09/201710 

14/09/201710 

14/09/201710 

Planification, Pilotage & Suivi Gestion de qualité 

CHAPITRE 2: Processus Logiciels 

Activités du cycle de vie 

Initiation du projet 

Évaluation 

Évaluation 

14/09/201710 

14/09/201710 

14/09/201710 

CHAPITRE 2: Processus Logiciels 

Types de maintenance 

Activités de développement 

Maintenance corrective : modification d’un logiciel afin de corriger les défauts rencontrés. 

Maintenance adaptative : modification d’un logiciel pour qu’il reste utilisable dans un environnement qui change ou a changé. 

Maintenance évolutive : mise à jour du logiciel à la suite de modification des spécifications d’un point de vue fonctionnel ou performance. 

Maintenance préventive : modification d’un logiciel pour en déceler et corriger les défauts latents avant qu’ils ne se manifestent. 

21 

Quelques chiffres ? 

14/09/201711 

14/09/201711 

CHAPITRE 2: Processus Logiciels 

Activités de développement 

22 

14/09/201711 

14/09/201711 

CHAPITRE 2: Processus Logiciels 

Avant le développement 

Activités de gestion de projet 

Initiation du projet: préparation de la gestion de projet: 

Représenter les activités à entreprendre dans un modèle 

Identifier les tâches et procédures du projet et les mesures à mettre en place pour contrôler leur application 

Prévoir les ressources nécessaires au projet 

Planifier la gestion de projet 

24 

Développement Exploitation & Maintenance Retrait Avant-projet 

14/09/201712 

14/09/201712 

Étude préalable 

Analyse 

Conception 

Vérification et Validation (V&V) 

Gestion de la configuration 

Implémentation 

Documentation 

Tests 

Installation 

Maintenance & Assistance 

Maintenance & Assistance 

Mise hors service 

Mise hors service 

Mise hors service 

23 

14/09/201712 

14/09/201712 

14/09/201712 

14/09/201712 

14/09/201712 

Planification, Pilotage & Suivi Gestion de qualité 

CHAPITRE 2: Processus Logiciels 

Activités du cycle de vie 

Initiation du projet 

Évaluation 

Évaluation 

14/09/201712 

14/09/201712 

14/09/201712 

CHAPITRE 2: Processus Logiciels 

Lors du développement 

Activités de gestion de projet 

  1. Affinement de la planification du projet 

La planification du projet définit les tâches, le calendrier, les ressources, l’allocation de ces ressources aux tâches et les procédures du projet. 2. Pilotage et suivi du projet 

Enregistrer les faits sur l’avancement du projet et le comparer à la planification; 

Entreprendre, si nécessaire, des mesures correctives. 

25 

14/09/201713 

14/09/201713 

CHAPITRE 2: Processus Logiciels 

Lors du développement 

Activités de gestion de projet 

  1. Gestion de la qualité: 

Définir et planifier un programme pour mesurer la qualité; 

Piloter et contrôler l’application du programme de qualité; 

Recommander des améliorations pour les programmes. 

La gestion de la qualité du logiciel et les activités de vérification et de validation sont parfois regroupées sous le nom « assurance de qualité du logiciel ». 

26 

14/09/201713 

14/09/201713 

CHAPITRE Logiciels 2: Processus Après le développement 

Activités de gestion de projet 

Evaluation du projet: 

Respect des objectifs 

Respect des coûts 

Respect des délais -> Suggestions d’améliorations pour les projets futures! 

Gestion de la maintenance et de l’assistance 

Identification des tâches et planification 

Estimation des coûts et des délais 

27 

A la prochaine séance! 

28 

14/09/201714 

14/09/201714 

Modèles classiques 

Modèles linéaires 

Modèle en cascade 

Modèle en V 

Modèles itératifs 

Modèle par prototypage 

Modèle de développement incrémental 

Modèle orienté réutilisation 

Modèles de la transformation formelle 

Modèles agiles : SCRUM,… 

Modèles orientés objet 

PU 

2TUP, … 

CHAPITRE 2: Processus Logiciels 

Aperçu 

Analyse 

Modèles de processus 

29 

14/09/201715 

14/09/201715 

14/09/201715 

CHAPITRE 2: Processus Logiciels 

Modèle en cascade 

Modèles de processus 

Présente le développement logiciel comme une suite de phases qui s’enchaînent dans un déroulement linéaire. 

30 

14/09/201715 

14/09/201715 

V&V 

Conception globale et détaillée 

14/09/201715 

14/09/201715 

V&V 

Implémentation 

14/09/201715 

14/09/201715 

V&V 

[Royce70] 

V&V 

Tests unitaires 

Intégration et Tests 

Intégration et Tests 

14/09/201715 

14/09/201715 

14/09/201715 

14/09/201715 

14/09/201715 

V&V 

Installation 

14/09/201715 

14/09/201715 

CHAPITRE 2: Processus Logiciels 

Modèle en cascade 

Modèles de processus 

Chaque étape doit être achevée avant que ne débute la suivante. 

Chaque fin d’étape est matérialisée par un événement, où s’exerce une activité de contrôle (V&V) afin d’éliminer au plus tôt les anomalies des produits réalisés. 

Le passage à l’étape suivante est conditionné par le résultat de contrôle (acceptation, rejet, ajournement) 

Les retours en arrière sur les étapes précédentes se limitent à un retour sur l’étape immédiatement antérieure. 

Adapté aux projets dont les besoins sont clairs dès le début 

du projet. 

31 

14/09/201716 

14/09/201716 

CHAPITRE 2: Processus Logiciels 

Modèle en cascade: Bilan 

Modèles de processus 

Avantage 

Facile à comprendre 

Inconvénients 

Pas toujours adapté à une production logicielle, en particulier si les besoins du client sont changeants ou difficiles à spécifier 

Le client ne reçoit pas de résultats concrets pendant le développement du logiciel (Problème de l’effet tunnel ) 

Coût de modification d’une erreur important, donc choix en amont cruciaux (typique d’une production industrielle) 

32 

14/09/201716 

14/09/201716 

CHAPITRE 2: Processus Logiciels 

Modèle en V 

Modèles de processus 

Processus linéaire dérivé du modèle de la cascade; 

La première branche correspond à un modèle en cascade classique. 

Les premières étapes du cycle doivent préparer les dernières étapes, essentiellement les activités de vérification et de validation. 

Toute description d’un composant est accompagnée de définitions de tests. 

Avec les jeux de tests préparés dans la première branche, les étapes de la deuxième branche peuvent être mieux préparées et planifiées. 

La seconde branche correspond à des tests effectifs effectués sur des composants réalisés. 

34 

Analyse des besoins 

CHAPITRE 2: Processus Logiciels 

Modèle en V 

Ecriture 

Validation 

Spécification Tests 

d’acceptation 

Conception Globale 

Conception Détaillée 

Codage 

Tests unitaires 

Tests d’intégration 

Modèles de processus 

Tests système 

33 

14/09/201717 

CHAPITRE 2: Processus Logiciels 

Modèle en V 

Modèles de processus 

Deux sortes de dépendances entre étapes : 

Traits continus : correspondent à l’enchaînement du modèle en cascade, les étapes se déroulent séquentiellement en suivant le V de gauche à droite 

Traits non continus : Une partie des résultats de l’étape de départ est utilisée directement par l’étape d’arrivée. 

Par exemple : à l’issue de la conception globale, le protocole d’intégration et les jeux de tests d’intégration doivent être décrits. 

35 

14/09/201718 

14/09/201718 

CHAPITRE 2: Processus Logiciels 

Modèle en V: Bilan 

Modèles de processus 

Avantages 

Une meilleure spécification 

évite fois le d’énoncer logiciel réalisé. une propriété qu’il est impossible de vérifier objectivement une Prévenir les erreurs 

réflexion l’obligation et à de des concevoir retours sur les jeux la description de tests et en leurs cours. résultats oblige à une Une meilleure planification du projet: 

Les étapes de la branche droite du V peuvent être mieux préparés et planifiés. 

Inconvénients 

Le logiciel client ne reçoit pas de résultats concrets pendant le développement du Les insuffisances validations des intermédiaires étapes précédentes n’empêchent pas la transmission des Adapté aux projets de taille et de complexité moyenne. 

36 

14/09/201718 

14/09/201718 

CHAPITRE 2: Processus Logiciels 

Modèle du prototypage 

Analyse préliminaire des besoins 

Modèles de processus 

38 

Analyse et sélection des nouvelles fonctions 

Construction du prototype 

État non satisfaisant 

Évaluation expérimentationÉtat satisfaisant 

Expression claire des besoins réelsInitialement, d’ordre général les

spécifications données par le client sont Spécifications 

  • Raffinement performances des par spécifications, des prototypes des successifs. 

fonctionnalités et des définitives 

  • Quand souvent le un client cycle donne de vie son linéaire. 

accord, le développement suit 

CHAPITRE 2: Processus Logiciels 

Modèle du prototypage 

Modèles de processus 

Prototype = une version de tout ou d’une partie d’un logiciel, facile à mettre en œuvre et à modifier qui va permettre de vérifier rapidement certaines fonctionnalités 

Il n’est pas construit avec les mêmes contraintes de qualité que le logiciel final. 

Technique souvent utilisée pour la validation des spécifications 

37 

14/09/201719 

CHAPITRE 2: Processus Logiciels 

Modèle du prototypage: Bilan 

Modèles de processus 

Avantages 

Pour le client: Une approche où domine l’écoute total du client. 

Le client reçoit des résultats tangibles rapidement ; 

Le client peut exprimer ses besoins plus facilement; 

Le client peut changer d’avis sans conséquences dramatiques. 

Pour l’utilisateur: 

Expérimentation rapide par les utilisateurs et feedback immédiat. 

Former les utilisateurs avant la livraison du système final. 

Pour l’équipe de développement: 

Meilleure clarification des spécifications 

Amélioration l’analyste, d’autre de la part COMMUNICATION l’analyste et le concepteur entre d’une part le client et Inconvénients 

Impatience du client qui croît avoir un logiciel final. 

Problème coûts, etc.) 

relatif à la gestion de projet (planification, estimation des 39 

CHAPITRE 2: Processus Logiciels 

Prototype évolutif 

Modèles de processus 

Vise à pallier à la linéarité dans le modèle en cascade et au caractère « jetable » dans le prototypage; 

Le prototype est complété et amélioré jusqu’à la livraison finale du logiciel 

Principe (démarche méthodologique) 

Développer une première spécification 

Conception et réalisation du prototype 

Utiliser le prototype 

Evaluation, 

Corrections et amélioration 

Itérations 2, 3,… 

Livrer le logiciel 

40 

14/09/201720 

CHAPITRE 2: Processus Logiciels 

Prototype évolutif: Bilan 

Modèles de processus 

Avantages 

Modèle adapté aux systèmes non spécifiables (certains systèmes d’IA) 

Caractère itératif 

Inconvénients 

Difficultés liées à la gestion du projet (le temps et le coût ne sont pas maîtrisés) 

Mal adapté aux systèmes complexes. 

41 

14/09/201721 

14/09/201721 

CHAPITRE 2: Processus Logiciels 

Modèle incrémental 

Modèles de processus 

A été proposé dans les années 80 

Incrément= version 

Propose un développement du logiciel par morceaux, lesquels sont livrés successivement au client, en venant se greffer à un noyau logiciel. 

42 

14/09/201721 

14/09/201721 

CHAPITRE 2: Processus Logiciels 

Modèle incrémental 

Modèles de processus 

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 

Permet d’éviter de tout concevoir, de tout coder et de tout tester 

Les spécifications du logiciel sont figées et connues, l’étape de conception globale est terminée. 

Certains modèles proposent de développer les différents incréments en parallèle: 

44 

CHAPITRE 2: Processus Logiciels 

Modèle incrémental 

Analyse et spécification des besoins 

Conception architecturale 

Conception détaillée d’un incrément 

Codage d’un 

Validation de incrément 

l’incrément 

Intégration 

Validation du système 

Système final 

Modèles de processus 

43 

14/09/201722 

CHAPITRE 2: Processus Logiciels 

Modèle incrémental: Bilan 

Modèles de processus 

Avantages 

Des intégration livraisons d’incrément et des mises ; en service possible après chaque Faire accepter progressivement un logiciel par les utilisateurs 

Intégration progressifs ; allégée: les intégrations et leurs tests sont Maintenance allégée (par incrément) 

Inconvénients 

Remise (définition le début en du cause globale projet). du des noyau incréments ou les incréments et de leurs précédents interactions dès Pour il nouvelles faut chaque arbitrer fonctionnalités version entre les à développer demandes à développer. après de correction la 1ère version et les livrée, 45 

14/09/201723 

14/09/201723 

CHAPITRE 2: Processus Logiciels 

Modèle orienté réutilisation 

Modèles de processus 

Basée sur une réutilisation systématique de composants existants pour concevoir un nouveau système 

Les étapes du processus 

Analyse des composants 

Spécification des modifications 

Conception avec réutilisation 

Développement et intégration 

De plus en plus utilisé de nos jours 

46 

14/09/201723 

14/09/201723 

CHAPITRE 2: Processus Logiciels 

Modèle orienté réutilisation: Bilan 

Modèles de processus 

Avantages 

Réduire le coût 

Livraison et déploiement du logiciel souvent rapide Inconvénient 

Il est souvent nécessaire de faire des compromis vis à vis des spécifications d’où le risque de produire un logiciel qui ne répond pas aux vrais besoins des utilisateurs. 

48 

14/09/201724 

14/09/201724 

CHAPITRE 2: Processus Logiciels 

Types de composants réutilisables 

Modèles de processus 

Les Web services 

Développés selon des standards 

Disponibles par appel sur un serveur 

Collections d’objets intégrés dans un framework (tel que .NET ou J2EE) 

Logiciels autonomes (COTS: Commercial Off The Shelf ) configurés pour une utilisation dans un environnement particulier 

47 

14/09/201724 

14/09/201724 

CHAPITRE 2: Processus Logiciels 

Modèle de la transformation formelle 

Modèles de processus 

Une spécification d’un logiciel est formelle si elle est exprimée avec un langage qui possède: 

un vocabulaire et une syntaxe formellement définis; 

une sémantique basée sur les mathématiques. 

Ce modèle se base sur des notations mathématiques (il permet au spécifieur de décrire rigoureusement, sans ambiguïté ce que le logiciel doit faire) 

50 

A la prochaine séance! 

49 

14/09/201725 

14/09/201725 

CHAPITRE 2: Processus Logiciels 

Modèle de la transformation formelle 

T:Transformations T1 T2 T3 Tn-1 T

Modèles de processus 

51 

14/09/201726 

14/09/201726 

Spécification formelle 

R1 R

…. R

…. R

Programme Exécutable 

Programme Exécutable 

Programme Exécutable 

P P P P P 

P: Preuves de la correction (démonstration formelle) des transformations R: raffinement 

Si la spécification satisfait les propriétés et l’implémentation traduit la spécification alors l’implémentation satisfait aussi les propriétés 

14/09/201726 

14/09/201726 

14/09/201726 

14/09/201726 

CHAPITRE 2: Processus Logiciels 

Modèle de la transformation formelle 

Modèles de processus 

Avantages 

Améliorer la qualité du logiciel; 

Rigueur et précision des spécifications; 

Faciliter la validation; 

Automatiser la vérification; 

Favoriser le développement de programmes corrects et documentés formellement. 

Inconvénients 

Nécessite une certaine qualification du client, utilisateurs et développeurs; 

Ne facilite pas la communication avec les utilisateurs; 

Le produit est obtenu à la fin du processus. 

52 

14/09/201726 

14/09/201726 

CHAPITRE 2: Processus Logiciels 

Modèle agiles 

Modèles de processus 

Agilité la en environnement. valeur s’adaptant = et la à capacité ravir -à temps- son d’une client, aux organisation changements tout en favorisant à créer de son de et Les méthodes agiles: 

sont classiques limites plus humaines). pragmatiques (en adéquation que avec les les méthodes capacités et les impliquent grande réactivité au maximum à ses demandes. le client et permettent une Visent (contrat en de priorité développement). la satisfaction réelle du client 53 

14/09/201727 

14/09/201727 

CHAPITRE 2: Processus Logiciels 

Modèle agiles 

Modèles de processus 

  • Une méthode agile est une approche itérative et incrémentale, qui est menée dans un esprit collaboratif 
  • Elle génère un produit de haute qualité tout en prenant en compte l’évolution des besoins des clients 
  • Concepts formalisés en 2001 par le Manifeste Agile» (4valeurs fondamentales) 

http://agilemanifesto.org/iso/fr/ 

54 

14/09/201727 

14/09/201727 

CHAPITRE 2: Processus Logiciels 

Valeurs de l’agilité 

1.Priorité aux personnes et aux interactions par rapport aux procédures et aux outils … 

Modèles de processus 

Ce sont les individus, leur expertise, l’esprit d’équipe (plutôt que les processus et les outils) qui font la valeur du travail accompli: 

Les processus qui définissent ce que doit faire chaque personne brident le potentiel caché derrière chacun. 

Faire interagir les gens au maximum permet d’améliorer grandement l’efficacité et la qualité du travail fourni. 

56 

Modèles de processus CHAPITRE 2: Processus Logiciels 

Privilégier 

14/09/201728 

14/09/201728 

Adaptation au changement 

Collaboration avec le client 

Valeurs de l’agilité 

Personnes et interactions 

Un produit opérationnel 

Plutôt que 

Plutôt que 

Plutôt que 

Plutôt que 

Processus et outils 

Processus et outils 

Négociation d’un contrat 

Négociation d’un contrat 

Documentation pléthorique 

Documentation pléthorique 

Suivi d’un plan 

Suivi d’un plan 

55 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

14/09/201728 

CHAPITRE 2: Processus Logiciels 

Valeurs de l’agilité 

  1. Priorité à l’acceptation et la réactivité au changement par rapport au suivi d’un plan

Modèles de processus 

Planning flexible : 

Le planning est flexible pour accepter les modifications nécessaires. 

Lorsqu’un plan est défini, l’équipe essaie de s’y tenir et ne fait pas attention à des évènements extérieurs qui peuvent arriver à tout moment (Risque de conflit). 

Pour le client, pouvoir adapter les besoins en cours de projet est un atout concurrentiel. 

58 

14/09/201729 

14/09/201729 

CHAPITRE 2: Processus Logiciels 

Valeurs de l’agilité 

  1. Priorité à la collaboration avec le client par rapport à la négociation de contrats 

Modèles de processus 

Sortir de la guerre client/fournisseur et penser en équipe qui veut atteindre un but commun pour réussir le projet. 

Le client devient un partenaire qui participe au projet pour donner régulièrement son feedback. 

57 

14/09/201729 

14/09/201729 

Le coeur de Scrum est un sprint : un bloc de temps d’un mois ou moins durant lequel un incrément du produit est réalisé. 

CHAPITRE 2: Processus Logiciels 

Un modèle agile: SCRUM 

Modèles de processus 

60 

14/09/201730 

14/09/201730 

14/09/201730 

CHAPITRE 2: Processus Logiciels 

Modèle agiles 

Modèles de processus 

Parmi ces modèles, on trouve : 

SCRUM 

XP (eXtreme Programming) 

ASD (Adaptative Software Development) 

FDD (Feature Driven Development) 

DSDM (Dynamic Systems Development Method) 

AM (Agile Modeling) 

Ces méthodes sont regroupées par l’Agile Alliance 

www.AgileAlliance.org 

59 

14/09/201730 

14/09/201730 

CHAPITRE 2: Processus Logiciels 

Modèles de processus 

Un modèle agile: SCRUM 

Daily scrum meeting: Mêlée quotidienne 

14/09/201731 

14/09/201731 

Backlog du produit 

24 heures 

2 – 4 semaines Backlog du sprint 

Produit 

CHAPITRE 2: Processus Logiciels 

SCRUM 

Modèles de processus 

62 

61 

14/09/201731 

14/09/201731 

14/09/201731 

14/09/201731 

CHAPITRE 2: PROCESSUS LOGICIELS 

As a « type of user » I want « some objectives » so that « benefits value » 

Unité de mesure exprimant l’effort demandé pour effectuer une tâche 

Evolution de la quantité de travail restante par rapport au temps sur une période donnée. 

Sprint backlog 

M ODÈLES D E PR OCESS US 

64 

63 

14/09/201732 

14/09/201732 

14/09/201732 

14/09/201732 

CHAPITRE 2: Processus Logiciels 

CHAPITRE 2: Processus Logiciels 

SCRUM 

Planification du sprint (PO+SM+E+I) 

▪ Analyser et évaluer le backlog de produit (analyse) 

▪ Définir le but du sprint 

▪ Décider comment s’y prendre (conception) 

▪ Créer la liste des tâches à partir des éléments du backlog de produit 

▪ Estimer les tâches en heures 

65 

14/09/201733 

14/09/201733 

CHAPITRE 2: Processus Logiciels 

SCRUM 

Modèles de processus 

Mêlée quotidienne (E) 

Destinée à permettre à l’équipe de développement de synchroniser ses activités et planifier les prochaines 24 heures. 

Tous les jours, 15 minutes, même heure, même endroit. 

Trois questions pour chacun: 

  • Qu’avez-vous fait hier ? 
  • Qu’allez-vous faire aujourd’hui? 
  • Quels sont vos problèmes? 

66 

14/09/201733 

14/09/201733 

CHAPITRE 2: Processus Logiciels 

SCRUM 

Modèles de processus 

Revue de sprint (PO+SM+E+I) 

Tous les acteurs échangent sur ce qui a été fait durant le sprint. 

Inspecter l’incrément du produit et adapter le carnet de produit si nécessaire. Pour un sprint d’un mois, cette rencontre est limitée à un bloc 

de temps de quatre heures. 

67 

Modèles de processus CHAPITRE 2: Processus Logiciels 

SCRUM 

Rétrospective du sprint (PO+SM+E+I) 

Inspecter la manière dont le dernier sprint s’est déroulé en ce qui concerne les personnes, les relations, les processus et les outils ; 

Identifier et ordonner les éléments majeurs qui se sont bien déroulés et les améliorations potentielles ; 

Créer un plan pour améliorer les processus de travail de l’équipe Scrum 

Pour un sprint d’un mois, cette rencontre est limitée à un bloc de 

de trois heures. 

14/09/201734 

14/09/201734 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

SCRUM 

Remarque: Taille de l’équipe de développement 

Une équipe de développement de taille optimale est assez petite pour demeurer agile et assez grande pour effectuer du travail significatif. 

Moins de 3 membres : 

diminue les interactions et entraîne des pertes productivité 

Contrainte de compétences 

Plus de 9 membres : 

Trop de coordination 

Complexité non gérée par un processus empirique 

Modèles de processus CHAPITRE 2: Processus Logiciels 

SCRUM: Bilan 

Avantages 

Règles définies clairement 

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

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

Partage de connaissances : améliorer la productivité 

Résultat conforme aux attentes 

Inconvénients 

Grande disponibilité de tous les acteurs 

Non adaptée aux grands projets 

14/09/201735 

Modèles de processus CHAPITRE 2: Processus Logiciels 

Modèles orientées objet 

Le développement orienté objet conduit à des architectures logicielles fondées sur les objets (plutôt que sur les fonctions) 

Dans le cadre de développement orienté objet, UML (Unified Modeling Language) est le standard 

le PU (Processus Unifié) a été proposé afin de compléter UML avec une méthode 

Méthode générique de développement de logiciels 

Générique = pouvant être adaptée à une large classe de systèmes logiciels. 

14/09/201736 

CHAPITRE 2: Processus Logiciels 

Les modèles orientés objet 

71 

Modèles de processus 

14/09/201736 

14/09/201736 

  1. PU utilise le langage UML
  2. PU est piloté par les cas d’utilisation
  3. PU est centré sur l’architecture
  4. PU est itératif et incrémental
  5. PU gère les risques 

Modèles de processus CHAPITRE 2: Processus Logiciels 

PU: caractéristiques 

PU est piloté par les cas d’utilisation 

Cas d’utilisation: donne une vision global du comportement fonctionnel du système 

Le processus de développement est centré sur l’utilisateur. 

Toutes les activités, de l’analyse des besoins jusqu’aux tests sont guidés par les cas d’utilisation. 

A partir des cas d’utilisation, les développeurs créent une série de modèles UML. 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

PU: caractéristiques 

14/09/201737 

CHAPITRE 2: Processus Logiciels 

Modèles de processus 

P PU: caractéristiques 

Exemple de cas d’utilisation: 

75 

CHAPITRE 2: Processus Modèles de 

14/09/201738 

14/09/201738 

Logiciels 

processus 

PU: caractéristiques 

PU est piloté par les cas d’utilisation 

76 

14/09/201738 

14/09/201738 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

PU: caractéristiques 

PU est centré sur l’architecture 

Tous les intervenants au projet de développement, du chef projet au programmeur doivent s’accorder sur la vision commune du système à produire : l’architecture. 

L’architecture regroupe les différentes vues du système à construire. 

Elle doit prévoir la réalisation de tous les cas d’utilisation. 

Marche à suivre: 

  1. Créer une ébauche grossière de l’architecture. 2. Travailler sur les cas d’utilisation représentant les fonctions essentielles. 3. Adapter l’architecture pour qu’elle prenne en compte ces cas d’utilisation. 4. Sélectionner d’autres cas d’utilisation et refaire de même. 

Modèles de processus CHAPITRE 2: Processus Logiciels 

PU: caractéristiques 

PU est itératif et incrémental 

Découpe du projet en “mini-projet” : des ITÉRATIONS qui donne lieu à des INCRÉMENTS

Les itérations désignent des étapes de l’enchaînement des activités 

Une itération reprend les livrables dans l’état où les a laissé l’itération précédente et les enrichit progressivement (incrémental). 

Les incréments correspondent à des stades de développement du produit. 

14/09/201739 

CHAPITRE 2: Processus CHAPITRE 2: 

Logiciels 

Processus Logiciels 

Phases : ensemble d’itérations Activités 

PU en bref 

Inception Elaboration Construction Transition 

Itér.1 Itér.1 Itér.2 Itér.3 Itér.4 Itér.5 Itér.1 Itér.2 Itér.1 

Capture des besoins 

Analyse 

Conception 

Implémen- tation 

Test 

CHAPITRE 2: Processus 

Modèles de Logiciels 

processus 

PU: caractéristiques 

PU gère les risques (délais, financement, qualité, besoins,…) 

Il propose le maintien d’une liste de risques, tout au long du cycle de vie. 

La phase de démarrage (Inception) a pour but d’identifier et de diminuer les risques majeurs (par exemple par rapport à la faisabilité dû au financement) du projet. 

L’élaboration gère les risques significatifs, ceux qui impactent sur les planifications par exemple. 

Les phases de construction et de transition gèrent les risques spécifiques et probablement imprévisibles. 

79 

80 

14/09/201740 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

PU: Phases & Activités 

Phase de démarrage (Inception) : Identification des principaux cas d’utilisation. 

Phase d’élaboration: l’analyse et la conception de la plupart des fonctionnalités du système sont abordés. 

Phase de construction : au cours de laquelle la conception et l’implémentation du système sont achevés. 

Phase de transition : est dédiée au test des fonctionnalités du système. 

A chaque phase, un ensemble d’activités est réalisé: 

Capture des besoins 

Analyse 

Conception 

Implémentation 

Tests 

Modèles de processus CHAPITRE 2: Processus Logiciels 

PU: Bilan 

Avantages 

standard 

aide à gérer la complexité 

permet de diminuer les risques Inconvénients 

peut s’avérer lourd à mettre en place 

peu adapté au projet de petite envergure. 

14/09/201741 

CHAPITRE 2: Processus Modèles de 

Logiciels 

processus 

Agile Vs UP 

Points en commun 

Points différents 

Incrémental et itératif 

Où et comment appliquer le 

Division du travail en 

processus incrémental tâches 

UP est un Framework /Agile est un 

Test continu 

ensemble de principes (manisfeste) 

Se focaliser sur la 

Taille des projets qualité 

Agile (petits et moyens projets à) 

Intégration continue 

/ UP (grands projets) 

Maîtriser les changements 

UP est plus lourd en documents et en artéfacts 

Agile plus flexible aux changements 

UP est axé sur les risques 

84 

CHAPITRE 2: Processus Logiciels 

Agile Vs PU 

Modèles de processus 

83 

14/09/201742 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

Quelques Instances du PU 

RUP : Rational Unified Process, instanciation par Rational des préceptes UP 

EUP : Enterprise Unified Process, instanciation intégrant les phases de post-implantation. 

XUP : Extreme Unified Process, instanciation hybride intégrant UP avec Extreme Programming. 

AUP : Agile Unified Process, partie des préceptes UP permettant l’agilité du développement. 

2TUP : Two Tracks Unified Process, instanciation de UP proposé par Valtech prenant en compte les aléas et contraintes liées aux changements perpétuels et rapides des SI des entreprises. 

EssUP : Essential Unified Process, instanciation de UP proposé par Ivar Jacobson Consulting qui propose une mouture du processus unifié qui intègre certains concepts de l’agilité. 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

Un modèle OO: 2TUP 

Pourquoi 2TUP? 

Réponse aux contraintes de changement continuel imposées aux systèmes d’information de l’entreprise. 

Contraintes techniques 

Contraintes fonctionnelle 

14/09/201743 

CHAPITRE 2: Processus Logiciels 

Modèles de processus CHAPITRE 2: Processus Logiciels 

2TUP 

Idée de base 2TUP 

Axe fonctionnel 

Axe technique 

La réalisation du système consiste à fusionner les résultats des deux branches 

Modèles de processus 

87 

14/09/201744 

14/09/201744 

Modèles CHAPITRE 2: Processus de 

Logiciels processus 2TUP: Apport 

Capitalisation de la connaissance de l’entreprise 

investissement pour le moyen et long terme 

Capitalisation d’un savoir- faire technique 

investissement pour le court et moyen terme 

Conception détaillée 

Capture des besoins fonctionnels 

Capture des besoins techniques 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

2TUP et UML 

Conception générique 

Conception préliminaire 

Analyse 

  • Diagramme des cas d’utilisation, 
  • Diagrammes de séquence, 
  • Diagrammes de collaboration 
  • Diagramme de classes, 
  • Diagrammes d’états transition 
  • Diagramme des cas d’utilisation 
  • Diagramme de déploiement 
  • Diagramme de composants, 
  • Diagramme de déploiement 
  • Diagramme de classes, de séquence, 
  • Diagramme de collaboration, d’états, 
  • Diagramme d’activités, de composants 

14/09/201745 

Modèles de processus CHAPITRE 2: Processus 

Logiciels 

2TUP: Bilan 

Avantages 

Itératif, incrémental (PU) 

Cible des projets de toutes tailles 

Donne une place importante à la technologie et à la gestion des risques (2 axes) Inconvénients 

Plutôt superficiel sur les phases situées en aval du développement: support, maintenance 

FIN CHAPITRE 2 

92 

14/09/201746 

 

télécharger gratuitement génie logiciel: cours de processus logiciel

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Bouton retour en haut de la page

Adblock détecté

S'il vous plaît envisager de nous soutenir en désactivant votre bloqueur de publicité