Michel Gagnon, Olivier Gendreau et Julien Gascon-Samson - École Polytechnique d

Michel Gagnon, Olivier Gendreau et Julien Gascon-Samson - École Polytechnique de Montréal Ingénierie logicielle Processus de développement logiciel Métaphores de développement logiciel Calligraphie logicielle Cultiver des logiciels Ostréiculture logicielle Construction logicielle Calligraphie logicielle Écrire du code Bonne métaphore? Calligraphie logicielle Écrire du code Bonne métaphore? • Dans le cas d’un travail individuel ou d’un projet à très petite échelle • Améliorations possibles • Réutilisation Cultiver des logiciels Croissance d’un système Bonne métaphore? Cultiver des logiciels Croissance d’un système Bonne métaphore? • Oui, pour l’aspect incrémentiel • Non, pour tous les autres aspects Ostréiculture logicielle Accrétion du système Bonne métaphore? Ostréiculture logicielle Accrétion du système Bonne métaphore? • Oui, pour les aspects incrémentiels/évolutifs et itératifs • Plus laborieux pour les autres aspects Construction logicielle Édifier un logiciel Bonne métaphore? Construction logicielle Édifier un logiciel Bonne métaphore? • Activités requises • Coût principal est le personnel • Intérêt de la réutilisation • Conséquences d’une erreur • Différent projet = différente approche Construction logicielle Phases de construction Activités logicielles Études préparatoires Modélisation d’affaires Environnement Programmation Exigences Conception Analyse et conception Réalisation de l’ouvrage et surveillance Implémentation Tests Mise en service Déploiement Phases et disciplines tiré de UPEDU - http://www.upedu.org/upedu/ Nomenclature de processus Processus • Rôles – qui accomplissent : • Activités de développement – qui regroupent : • Actions – qui incluent : • Tâches – qui peuvent produire des artéfacts • Activités d’encadrement • Production d’artéfacts Activités de développement Communication Planification Modélisation Construction Déploiement Tests unitaires Activités de développement Chaque activité comprend des actions • Cueillette des exigences • Élaboration des exigences Chaque action comprend des tâches • Établir une liste des parties prenantes du projet • Inviter les parties prenantes à une réunion • Demander aux parties prenantes d’établir une liste des caractéristiques et fonctionnalités requises Rôles et artéfacts Une activité est accomplie par un rôle donné • Analyste, programmeur, architecte, testeur, etc. Une activité peut entraîner la création d’un artéfact • Code, document, SRS, plan de tests, etc. Relations au sein d’un processus tiré de UPEDU - http://www.upedu.org/upedu/ Exemple d’artéfacts tiré de UPEDU - http://www.upedu.org/upedu/ •Varie selon le processus utilisé •Varie selon le type de projet • Risqué? • Domaine : financier, jeu, millitaire, grand public • Varie selon la taille du projet Activités de développement Les actions et les tâches varient selon le processus, donc selon: • la nature du problème à résoudre • les caractéristiques de l’équipe de développement • les parties prenantes impliquées dans le projet Activités d’encadrement Suivi et contrôle Gestion du risque Assurance qualité Révision technique Mesures Gestion de configuration Gestion de réutilisabilité Préparation et production d’artéfacts Modèles de processus logiciel Modèle séquentiel Modèle évolutif Modèle itératif Modèle séquentiel: modèle en cascade Communication Planification Modélisation Construction Déploiement Modèle séquentiel: modèle en V Conception des composantes Tests unitaires Code Tests d’intégration Tests système Tests d’acceptation Design architectural Modélisation des exigences Modèle séquentiel: désavantages Modèle séquentiel: désavantages Les projets réels suivent rarement le flux que le modèle propose Souvent difficile pour le client d’énoncer explicitement tous les requis Le client doit avoir la patience d’attendre les résultats finaux Modèle évolutif Communication Planification Modélisation Construction Déploiement Modèle itératif/évolutif Communication Planification Modélisation Construction Déploiement Modèle itératif/évolutif La première itération résulte souvent en une application qui constitue le noyau du système À chaque itération, on obtient un livrable Intimement lié au prototypage (le prototype sert souvent à clarifier les requis) Modèle itératif/évolutif: désavantages Modèle itératif/évolutif: désavantages Tentation du client de se contenter du système qui « fonctionne » (le prototype) Tentation des développeurs de laisser dans le produit final des composants du prototype qui ne sont pas optimaux en termes de qualité Évaluation et amélioration de processus L’existence d’un processus logiciel n’est pas un gage de succès Il existe des techniques formelles d’évaluation de processus logiciels • Standard CMMI Assessment Method for Process Improvement • CMM-Based Appraisal for Internal Process Improvement • SPICE (ISO/IEC 15504) • ISO 9001:2000 Modèle de maturité Le modèle CMMI (Capability Maturity Model Integration) définit une échelle à 5 niveaux de mesure de la maturité d’un processus • Niveau 1: Initial • Niveau 2: Discipliné • Niveau 3: Ajusté • Niveau 4: Géré quantitativement • Niveau 5: Optimisation En guise de conclusion En tant que professionnel créatif en développement logiciel, vous devez éprouver autant de satisfaction dans le processus que dans le produit final uploads/Litterature/ 2-processus-logiciel.pdf

  • 17
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager