520 likes | 883 Views
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
E N D
Le processus du logiciel Quel est le cycle de vie d’un logiciel et ses modèles? B.Shishedjiev - Génie logiciel
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
Modèles génériques • Cascade • Développement évolutif • Basé à l’assemblage de composants B.Shishedjiev - Génie logiciel
Cascade Définition des besoins Conception Implementation et test des modules Intégration et test du système Exploitation et maintenance B.Shishedjiev - Génie logiciel
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
Spécification Version initiale Versions intermédiaires Développement Aperçu de description Versions finale Validation Processus évolutif B.Shishedjiev - Génie logiciel
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
Spécification des besoins Analyse des composants Modification des besoins Conception avec réutilisation Développement et intégration Validation Développement par composants B.Shishedjiev - Génie logiciel
Processus itérative • Approches • Livrer par incréments • Développement spirale B.Shishedjiev - Génie logiciel
Définir l’aperçu des besoins Affecter les besoins aux incréments Conception de la architecture Valider l’incrément Intégrer l’incrément Valider le système Développer un incrément Livrer par incréments B.Shishedjiev - Génie logiciel
Développement spirale B.Shishedjiev - Génie logiciel
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
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
Etude de faisabilité Trouver les besoins et analyse Spécification des besoins Validation des besoins Rapport de faisabilité Modèles du système Besoins d’usager et du système Document des besoins (Cahier de charge) Le processus de définir les besoins B.Shishedjiev - Génie logiciel
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
Conception Spécification des besoins Activités de la conception Conception de l’architecture Spécification abstraite Conception de l’interface Conception des composants Conception de la structure des données Conception des algorithmes Spécification des composants Spécification de l’interface Spécification des données Spécification des algorithmes Spécification du logiciel Architecture du système Produits du projet B.Shishedjiev - Génie logiciel
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
Programmer et déboguer • Programmation est un act individuel. • Déboguer Conception la correction Localiser l’erreur Test programme Correction B.Shishedjiev - Génie logiciel
Test Test Test acceptant composants système Validation • Test des composants • Test du système • Test acceptant B.Shishedjiev - Génie logiciel
Validation Spécification Spécification Conception Projet du système du système détaillé des besoins Test du code des programmes et composants Plan du test d’intégration sous-système Plan du test d’intégration système Plan du test acceptant Test d’intégration sous-système Test d’intégration système Test acceptant Услуга B.Shishedjiev - Génie logiciel
Evolution Définir les besoins Evaluer les sys- tèmes existants Proposer changements Modifier les systèmes Systèmes existants Système nouveau B.Shishedjiev - Génie logiciel
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
Processus de développement unifié B.Shishedjiev - Génie logiciel
ools En W or kbenches vir onments T Integ File r a ted Pr ocess-centr ed Editors Compilers compar a tors en vir onments en vir onments Anal ysis and Pr o g r amming T esting design Multi-method Single-method Gener al-purpose Langua ge-specific w or kbenches w or kbenches w or kbenches w or kbenches CASE outils CASE technology B.Shishedjiev - Génie logiciel
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
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
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
Processus de planification Déterminer les contraintes du projet Faire évaluation initiale des paramètres du projet Définir les étapes importantes et leur produits while le projet n’est pas encore fini or est cancellé loop Dessine l’emploi de temps Initier les activités en accord avec l’emploi de temps Attendre (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 if end loop B.Shishedjiev - Génie logiciel
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
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
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 Nommer du monde pour les activités Faire les tableaux et graphismes Déterminer les dépendances Déterminer les activités Besoins du logiciel Les graphiques d’activités B.Shishedjiev - Génie logiciel
Dépendances B.Shishedjiev - Génie logiciel
Réseau de Petri B.Shishedjiev - Génie logiciel
Diagramme des activités B.Shishedjiev - Génie logiciel
Diagramme de Gant B.Shishedjiev - Génie logiciel
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
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
Gestion des risques Identification des risques Analyse Planifier Suivi Plans pour éviter les risques et d’urgence Liste de risques potentiels Liste prioritaire des risques Estimer le risk B.Shishedjiev - Génie logiciel
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
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 B.Shishedjiev - Génie logiciel