40
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville B.Shishedjiev - Génie logiciel 1 Le processus du logiciel Quel est le cycle de vie d’un logiciel et ses modèles?

Le processus du logiciel

  • Upload
    luella

  • View
    88

  • Download
    0

Embed Size (px)

DESCRIPTION

Le processus du logiciel. Quel est le cycle de vie d’un logiciel et ses modèles? . Le processus de logiciel. Activités Spécification – qu’est ce que le logiciel doit faire et les contraintes posées au développement Développement - production logiciel - PowerPoint PPT Presentation

Citation preview

Page 1: Le processus du logiciel

Le contenu est basé aux transparents du 7ème édition de «Software Engineering» de Ian Sommerville

B.Shishedjiev - Génie logiciel 1

Le processus du logiciel

Quel est le cycle de vie d’un logiciel et ses modèles?

Page 2: Le processus du logiciel

B.Shishedjiev - Génie logiciel 2

Le processus de logiciel• Activités

– Spécification – qu’est ce que le logiciel doit faire et les contraintes posées au développement

– Développement - production logiciel– Validation – vérification si le logiciel est celui qui est

attendu du client.– Evolution – modification du logiciel en accordance

avec les besoins.

Page 3: Le processus du logiciel

B.Shishedjiev - Génie logiciel 3

Modèles génériques• Cascade• Développement évolutif• Basé à l’assemblage de composants

Page 4: Le processus du logiciel

B.Shishedjiev - Génie logiciel 4

Cascade

Intégration et test du système

Exploitation et maintenance

Définition des besoins

Conception

Implementation et test des modules

Page 5: Le processus du logiciel

B.Shishedjiev - Génie logiciel 5

Cascade• Problèmes

– Il est difficile de séparer les étapes– On peut l’utiliser quand les besoins sont bien définis

et ils sont stables.• Avantages

– Bien documenté à chaque phase• Désavantages

– Rigide (on ne peut pas de répondre au besoins nouveaux ou modifiés des clients)

Page 6: Le processus du logiciel

B.Shishedjiev - Génie logiciel 6

Processus évolutif

Aperçu de description

Spécification

Développement

Validation

Version initiale

Versions intermédiaires

Versions finale

Page 7: Le processus du logiciel

B.Shishedjiev - Génie logiciel 7

Processus évolutif• Problèmes

– Manque de visibilité– Mauvaise structure– Exige des qualités spéciales des programmeurs

• Application– Systèmes de petite et moyenne taille– Parties de grands systèmes– Systèmes de courte vie.

Page 8: Le processus du logiciel

B.Shishedjiev - Génie logiciel 8

Développement par composants

Spécification des besoins

Analyse des composants

Modification des besoins

Conception avec réutilisation

Développement et intégration

Validation

Page 9: Le processus du logiciel

B.Shishedjiev - Génie logiciel 9

Processus itérative• Approches

– Livrer par incréments– Développement spirale

Page 10: Le processus du logiciel

B.Shishedjiev - Génie logiciel 10

Livrer par incréments

Définir l’aperçu des besoins

Affecter les besoins aux incréments

Conception de la architecture

Valider l’incrément

Intégrerl’incrément

Valider le système

Développer unincrément

Page 11: Le processus du logiciel

B.Shishedjiev - Génie logiciel 11

Développement spirale

Page 12: Le processus du logiciel

B.Shishedjiev - Génie logiciel 12

Développement spirale• Secteurs

– Préciser les objectifs– Définir et minimiser le risque– Développement et validation– Planifier l’itération suivante

Page 13: Le processus du logiciel

B.Shishedjiev - Génie logiciel 13

Activités – Encore une fois• Spécification des besoins– qu’est ce que le

logiciel doit faire et les contraintes posées au développement

• Développement - production du logiciel• Validation – vérification si le logiciel est celui qui

est attendu du client.• Evolution – modification du logiciel en

accordance avec les besoins

Page 14: Le processus du logiciel

B.Shishedjiev - Génie logiciel 14

Le processus de définir les besoins

Etude de faisabilité

Trouver les besoinset analyse

Spécification des besoins

Validationdes besoins

Rapport defaisabilité

Modèles dusystème

Besoins d’usageret du système

Document desbesoins (Cahier

de charge)

Page 15: Le processus du logiciel

B.Shishedjiev - Génie logiciel 15

Conception et implémentation• C’est le processus de convertir la spécification

en un exécutable logiciel.• Conception – conception de la structure du

logiciel qui réalise la spécification • Implémentation – Traduit la structure en un

programme exécutable.

Page 16: Le processus du logiciel

B.Shishedjiev - Génie logiciel 16

ConceptionSpécification des besoins

Conception de l’architecture

Spécification abstraite

Conception de l’interface

Conception des composants

Conception de la structure des données

Conception des algorithmes

Architecturedu système

Activités de la conception

Produits du projet

Spécification du logiciel

Spécification de l’interface

Spécification des composants

Spécification des données

Spécification des algorithmes

Page 17: Le processus du logiciel

B.Shishedjiev - Génie logiciel 17

Modèles graphiques• Modèle objet• Modèle des séquences• Modèle de transition d’états• Modèle structural• Modèle des flux de données• Modèle des activités

Page 18: Le processus du logiciel

B.Shishedjiev - Génie logiciel 18

Programmer et déboguer• Programmation est un act

individuel. • Déboguer

Localiserl’erreur

Conceptionla correction Correction Test

programme

Page 19: Le processus du logiciel

B.Shishedjiev - Génie logiciel 19

Validation• Test des composants• Test du système• Test acceptant

Testcomposants

Testsystème

Testacceptant

Page 20: Le processus du logiciel

B.Shishedjiev - Génie logiciel 20

Validation

Spécificationdes besoins

Spécificationdu système

Conceptiondu système

Projetdétaillé

Plan du testd’intégration système

Plan du testacceptant

Услуга Testacceptant

Plan du testd’intégration sous-système

Testd’intégration système

Testd’intégration sous-système

Test du code des programmeset composants

Page 21: Le processus du logiciel

B.Shishedjiev - Génie logiciel 21

Evolution

Evaluer les sys-tèmes existants

Définir les besoins

Proposer changements

Modifierles systèmes

Système nouveau

Systèmes existants

Page 22: Le processus du logiciel

B.Shishedjiev - Génie logiciel 22

Processus de développement unifié

• Rational Unified Process (RUP)• Perspectives

– Dynamique – les phases dans le temps– Statique – les activités du processus– Pratique – les bonnes paratiques

• Phases– création (inception) – les faits pour le système et les profits – élaboration – comprendre le domaine et l’architecture– réalisation (construction) – conception et implémentation– passage (transition) – deployer dans l’environnement

opérationnel

Page 23: Le processus du logiciel

B.Shishedjiev - Génie logiciel 23

Processus de développement unifié

Phase iteration

Inception Elaboration Construction Transition

Page 24: Le processus du logiciel

B.Shishedjiev - Génie logiciel 24

CASE outils

Single-methodworkbenches

General-purposeworkbenches

Multi-methodworkbenches

Language-specificworkbenches

Programming TestingAnalysis anddesign

Integratedenvironments

Process-centredenvironments

FilecomparatorsCompilersEditors

EnvironmentsWorkbenchesTools

CASEtechnology

Page 25: Le processus du logiciel

B.Shishedjiev - Génie logiciel 25

Gestion du projet• Contraintes

– Le temps– Le budget– Le personnel

• Propriétés distinctes– Intangible– Exceptionnellement souple (flexible)– Pas standardisé– Unique

Page 26: Le processus du logiciel

B.Shishedjiev - Génie logiciel 26

Activités de la gestion• Ecrire une proposition• Planification et emploi de temps • Calculer les coûts• Suivi et révisions• Sélection et évaluation du personnel.• Ecrire des présentations et rapports.

Page 27: Le processus du logiciel

B.Shishedjiev - Génie logiciel 27

Planification du projet• C’est une tâche qui est ce déroule du début à la

fin.• On peut développer plusieurs autre plans qui

aide le plan principal qui concerne l’emploi de temps et le budget.– Plan de qualité– Plan de validation– Plan de gestion de configuration– Plan de maintenance– Plan de qualification du personnel

Page 28: Le processus du logiciel

B.Shishedjiev - Génie logiciel 28

Processus de planificationDéterminer les contraintes du projet Faire évaluation initiale des paramètres du projet Définir les étapes importantes et leur produitswhile le projet n’est pas encore fini or est cancellé loop

Dessine l’emploi de tempsInitier les activités en accord avec l’emploi de tempsAttendre (un certain temps)

Réviser le progresse du projet Réviser l’évaluation des paramètres du projet Modifier l’emploi de temps Renégocier les contraintes et les produits if ( un problème est apparu ) then Initier une étude technique et une possible révision end ifend loop

Page 29: Le processus du logiciel

B.Shishedjiev - Génie logiciel 29

Structure du plan du projet• Introduction.• Organisation du projet• Analyse du risque.• Besoins de ressources de matériel et de logiciel.• Décomposition du travail.• Emploi de temps.• Mécanismes de suivi et rapporter.

Page 30: Le processus du logiciel

B.Shishedjiev - Génie logiciel 30

Emploi de temps• Décomposer le projet en tâches et évaluer le

temps et les ressources exigés pour accomplir chaque tâche.

• Organiser les tâches en parallèle pour optimiser l’usage du personnel.

• Minimiser le dépendances pour éviter les retards causés par une tâche qui attend une autre de finir.

Page 31: Le processus du logiciel

B.Shishedjiev - Génie logiciel 31

L’emploi de temps

• Problèmes– Productivité n’est pas proportionnelle au nombre de

gens accomplissent une tâche. Ajout du monde va créer des problèmes de communication

– L’inattendu arrive toujours. On doit avoir toujours un peu de réserve.

– C’est trop difficile d’estimer en avant les ressources et le temps qu’on a besoin de.

Evaluer ressources pour les activités

Déterminer les dépendances

Déterminer lesactivités

Nommer du mondepour les activités

Besoins du logiciel Les graphiques d’activités

Faire les tableauxet graphismes

Page 32: Le processus du logiciel

B.Shishedjiev - Génie logiciel 32

DépendancesActivité Durée (jours) Dépendances

T1 8

T2 15

T3 15 T1 (M1)

T4 10

T5 10 T2, T4 (M2)

T6 5 T1, T2 (M3)

T7 20 T1 (M1)

T8 25 T4 (M5)

T9 15 T3, T6 (M4)

T10 15 T5, T7 (M7)

T11 7 T9 (M6)

T12 10 T11 (M8)

Page 33: Le processus du logiciel

B.Shishedjiev - Génie logiciel 33

Réseau de Petri

start

T2

M3T6

Finish

T10

M7T5

T7

M2T4

M5

T8

4/7/03

8 days

14/7/03 15 days

4/8/03

15 days

25/8/03

7 days

5/9/03

10 days

19/9/03

15 days

11/8/03

25 days

10 days

20 days

5 days25/7/03

15 days

25/7/03

18/7/03

10 days

T1

M1 T3T9

M6

T11

M8

T12

M4

Page 34: Le processus du logiciel

B.Shishedjiev - Génie logiciel 34

Diagramme des activités4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4T1T2

M1T7T3

M5T8

M3M2T6T5

M4T9

M7T10

M6T11

M8T12

Start

Finish

Page 35: Le processus du logiciel

B.Shishedjiev - Génie logiciel 35

Diagramme de Gant4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4T8 T11

T12T1

T3T9

T2T6 T10

T7

T5

Fred

Jane

Anne

Mary

Jim

Page 36: Le processus du logiciel

B.Shishedjiev - Génie logiciel 36

Gestion des risques• Qu’est ce que c’est risque?

La probabilité que quelque circonstances défavorables vont arriver

• Types de risque– De projet – affecte l’emploi de temps ou les

ressources– De produit – affecte la qualité et le comportement du

logiciel– D’organisation – affecte le l’organisation

Page 37: Le processus du logiciel

B.Shishedjiev - Génie logiciel 37

Gestion des risques• Identification de risque• Analyse de risque

– Estimer la probabilité et conséquences;• Planifier le risque

– Plans d’éviter et minimiser les effet du risque;• Suivi du risque

Page 38: Le processus du logiciel

B.Shishedjiev - Génie logiciel 38

Gestion des risques

Plans pouréviter les risques et

d’urgence

Planifier

Liste prioritaire des risques

Analyse

Liste de risques potentiels

Identification desrisques

Estimer le risk

Suivi

Page 39: Le processus du logiciel

B.Shishedjiev - Génie logiciel 39

Gestion des risques• Identification du risque

– Technologiques– Personnel.– Organisation.– Besoins.– Estimation.

• Analyse – La probabilité et les effets du sinistre– Probabilité – très basse, basse, modérée, haute, très

haute.– Effets – catastrophique, sérieux, tolérable, insignifiant.

Page 40: Le processus du logiciel

B.Shishedjiev - Génie logiciel 40

Gestion des risques• Planifier – pour chaque risque

– Stratégie d’éviter le risque – diminuer la probabilité– Stratégie de minimisation – minimiser l’effet du

sinistre– Plan d’urgence – quand l’événement arrive qu’est ce

qu’on doit faire. • Suivi

– Estimer chaque risque par périodes réguliers pour voir si la probabilité a changé.

– Estimer les effets de chaque risque– Ne pas voir peur de discuter les problèmes