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?
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.
B.Shishedjiev - Génie logiciel 3
Modèles génériques• Cascade• Développement évolutif• Basé à l’assemblage de composants
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
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)
B.Shishedjiev - Génie logiciel 6
Processus évolutif
Aperçu de description
Spécification
Développement
Validation
Version initiale
Versions intermédiaires
Versions finale
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.
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
B.Shishedjiev - Génie logiciel 9
Processus itérative• Approches
– Livrer par incréments– Développement spirale
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
B.Shishedjiev - Génie logiciel 11
Développement spirale
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
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
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)
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.
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
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
B.Shishedjiev - Génie logiciel 18
Programmer et déboguer• Programmation est un act
individuel. • Déboguer
Localiserl’erreur
Conceptionla correction Correction Test
programme
B.Shishedjiev - Génie logiciel 19
Validation• Test des composants• Test du système• Test acceptant
Testcomposants
Testsystème
Testacceptant
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
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
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
B.Shishedjiev - Génie logiciel 23
Processus de développement unifié
Phase iteration
Inception Elaboration Construction Transition
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
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
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.
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
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
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.
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.
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
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)
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
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
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
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
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
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
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.
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
Top Related