GEF Processus de développement logiciel conventionnels vs

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

1 Modéliser Ou comment RE-présenter sa connaissance.
Eléments de Génie Logiciel
Julie Dugdale Génie Logiciel 2 Julie Dugdale
Séminaire sur les Politiques pharmaceutiques à lattention des Experts francophones, Genève, juin 2011 | Séminaire sur les Politiques pharmaceutiques.
Introduction Aux Systèmes en temps réel
Tolérance aux défaillances de logiciel
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
Rational Unified Process (RUP)
Les Ateliers de Génie Logiciel
MIAGE MASTER 1 Cours de gestion de projet
Control des objectifs des technologies de l’information COBIT
Cycle de vie dun logiciel Origine des erreurs La spécification 50% 40% 10% Le design Le codage.
MANAGEMENT DU PRODUIT Organisation Technique du Produit (OTP) Objet Arborescence Produits Relation autres domaines Décomposition du système Gestion.
le profil UML en temps réel MARTE
Les Systèmes Multi-Agents pour la Gestion de Production
Le Reengineering.
Feature Driven Development (FDD)
Méthode AGILE : SCRUM Réalisé par : Imen SADKI Ines GHERAB
Techniques de test Boulanger Jean-Louis.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
Présentation du mémoire
Équipe de projet Méthodologie
Le Contrôle de gestion Laspect humain. Le contrôle de gestion et répartition des responsabilités Aide les responsables à déterminer leurs objectifs et.
La gestion par activités (ABM)
Conception des Réalisé par : Nassim TIGUENITINE.
Processus d'un projet F.Pfister
Sensibilisation a la modelisation
ECOLE DES HAUTES ETUDES COMMERCIALES
ANALYSE METHODE & OUTILS
Cycle de vie: « Waterfall » GEF492A Automne 2014 [HvV § 3.1]
GEF492 - PPL09 Estimation de projets logiciels
UML.
Projet de Développement: Planification et Mise en Œuvre
GEF COCOMO pour maintenance et réutilisation
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Mesures orientées objet GEF492A 2014 Référence: [HvV §12.1.6] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
Vue d’ensemble des outils du PRISM Dakar, 3 au 21 Mai 2010
Les principes de la modélisation de systèmes
GEF Techniques de plannification et de contrôle
Objectifs de vérification logiciels GEF492A 2014 Référence: [HvV §14.1] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Une introduction au eXtreme Programming (XP) GEF492A 2014 Référence: [Jefferies et al ch. 1,2, 7, 9-14] Capt Vincent Roberge Collège Militaire Royal du.
Développement d'application rapide GEF492A Automne 2014 [HvV § 3.2.3]
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Mesure de la structure du système GEF492A 2014 Référence: [HvV §12.1.5] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
GENIE LOGICIEL
INF8505: processeurs embarqués configurables
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
Estimer la distribution en personnel GEF492A 2014 Référence: [HvV §7.3] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le Rational Unified Process GEF492A 2014 Référence: [Roy ch ] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique.
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
Introduction au Génie Logiciel
COCOMO II GEF492A 2013 Référence: [HvV §7.1.2, & Boehm]
GEF Mesures de qualité Automne 2013 Mesures de qualités - attributs et perspectives GEF492A 2014 Référence: [HvV §6.1-3] Capt Vincent Roberge.
Initiation à la conception des systèmes d'informations
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Problèmes du génie logiciel. H. Lounis Les problèmes zTaille et complexité des logiciels ; zTaille croissante des équipes ; zSpécifications peu précises.
Année 2006 – 2007 ENSEA © Emeric Rollin
ISO 31000: Vers un management global des risques
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Conférence 2TUP Stéphane Barthon 03/12/
Document de spécification d’exigences Normes IEEE et 29148:2011
Modèles de cycle de vie et processus de génie
Programmation Collège militaire royal du Canada Génie électrique et génie informatique.
L’entreprise et sa gestion
Transcription de la présentation:

GEF492 - 07 Processus de développement logiciel conventionnels vs GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement logiciel classiques vs modernes GEF492A Automne 2014 [Roy ch. 1,4 & 17] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et génie informatique Vincent.roberge@rmc.ca roberge.segfaults.net PPL07-ClassiqueVModerne.pdf Sylvain P. Leblanc

Aperçu Motivation pour le changement GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Aperçu Motivation pour le changement Caractéristiques de processus de développement classiques Caractéristiques de processus de développement évolutionnaires Comparaison de principes Faire la transition Résistance culturelle versus résistance objective Difficultés spécifiques au MDN Automne 2014 GEF492 Sylvain P. Leblanc

Motivation pour le changement GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Motivation pour le changement Synopsis de l'histoire du développement logiciel Le développement logiciel est très difficile à prédire Environ 15 % des projets de développement logiciel finissent en temps, selon le budget alloué La discipline de gestion est un meilleur indicateur de succès que les avances technologiques Des changements réels et permanents doivent avoir lieu! Le taux de rebuts ou de logiciel devant être refait indique un processus immature (et inacceptable) Le MDN et ses sous-traitants doivent changer Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement classique GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement classique L’identification des besoins du système L’identification des besoins du logiciel L’analyse Le design Le testage Le codage La maintenance En théorie En pratique La rétro-action est très peu utilisée Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement classique GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement classique Décomposition fonctionnelle, selon les besoins Les besoins sont spécifiés complètement et de façon précise avant que le développement commence. Traite naïvement tous les besoins comme étant également important Seulement 1 % — 5 % des besoins pousse le design et la performance Présume que les besoins demeurent constants Tracer chaque besoin (entier ou partiel) au travers de chaque stade de design, codage et test est onéreux et non efficient Créer un cauchemar de traçabilité et de testage La décomposition fonctionnelle est souvent ancrée dans les contrats et dans la structure de répartition du travail Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement classique GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement classique Intégration retardée et émersion du design tardive Succès initialement démontré à l'aide de design papier et par révisons détaillées Plusieurs formats papier pour chaque stade Codage arrive tard dans le cycle de vie (gel du design) Cauchemars d'intégration causés par des problèmes inattendus et interfaces ambigües Les tests consomment généralement plus de 40 % de l'horaire Fortes pressions au budget et à l'horaire pour rendre le système fonctionnel Le rapiéçage de dernière minute donne des résultats non optimaux Trop tard (et trop de pression horaire) pour capturer le nouveau design Résultats: un système très fragile, difficile à maintenir, de qualité douteuse (du point de vue du client) qui est livré en retard Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement classique GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement classique Résolution de risques tardive Les activités du début du cycle de vie mettent l'accent sur les révisions papier. Le design, l'implémentation et les éléments à haut risque d'intégration sont difficiles à cerner sur papier Ex.: les facteurs de performances en temps réels comme le synchronisme et les interblocages Les facteurs de design importants ne sont souvent identifiés que lors de l'intégration Habituellement trop tard pour considérer des compromis d'ingénierie sérieux Les changements importants faits lors de l'intégration sont très dispendieux – en partie parce que les artefacts papier « gelés » sont nombreux et difficiles à changer. Intégration est retardée L'intégrité du design est compromise, la qualité est dégradée Les risques font l'objet de débats chauds, les problèmes sont souvent cachés Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement classique GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement classique Accent sur les documents et les réunions de révisions Beaucoup de documents volumineux sont créés pour démontrer le progrès. Souvent des tonnes de papier (littéralement) Réunions cérémonieuses, centrées sur l’achèvement de documents importants REL, RDP, RDC Grande auditoire, réviseurs souvent incapables de comprendre les détails de bas niveau. Résultant en plusieurs personnes qui révisent les mêmes détails étant simples et non-risqués – peu de valeur Ressources précieuses consommées pour activités à basse valeur Le producteur est habituellement content de participer dans ces taches inutiles, puisque ces paiements sont basés sur le papier et non le produit REL – Révision d'exigences logicielles, Révision de design préliminaire, Révision de design complet. TCCCS a vue une lettre donnée comme une donnée livrable pour remplacer une fonctionalité Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement classique GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement classique Relations contradictoires entre les parties prenantes Les besoins gelés causent de la friction Les révisions subjectives des documents causent souvent des échanges très néfastes Processus typique de soumission/approbation de document Le sous-traitant prépare une ébauche (délibérément) incomplète de la donnée livrable Le client doit fournir des commentaires dans les x prochains jours (15-30) Le sous-traitant incorpore les commentaires dans les y jours qui suivent Répétez au besoin Un processus avec tant de surcharge encourage de hauts niveaux de sensibilités et de méfiance Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement évolutionnaire 1. Établir les objectifs, limitations, et alternatives du prochain niveau 2. Évaluez les alternatives pour les produits et le processus; identifier et résoudre les risques 3. Développez et vérifiez le produit du prochain niveau 4. Planifiez les prochaines phases 5. Examinez le progrès, confirmez l’engagement à continuer Automne 2014 GEF492

Processus de développement évolutionnaire GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement évolutionnaire L'architecture a priorité Le raffinement des besoins est balancé par le design architectural Bien sûr, les besoins influencent le design, mais … … le design influence les besoins Les décisions de design principales sont prises plus tôt pour éliminer (réduire) les grands risques Une (ou plusieurs) itération du cycle de vie est exécutée, et les autres itérations sont planifiées avant de commettre les ressources pour l'implémentation complète On utilise une approche basée sur les démonstrations pour augmenter l'appui du client Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement évolutionnaire GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement évolutionnaire Développement basé sur les composantes Définition: une composante est un ensemble cohésif de lignes de code déjà existantes, en format source ou exécutable, avec une interface et un comportement bien définis L‘accent passe de la ligne de développement axé sur les lignes de code au développement axé sur les composantes Développement plutôt que construction Le but est de réduire le montant de code source généré par des humains et le développement privé N'est pas synonyme avec COTS (Commercial Off-The-Shelf) Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement évolutionnaire GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement évolutionnaire Environnement de gestion de changements L'aspect dynamique du développement itératif dicte que l'environnement doit supporter une ligne de base contrôlée objectivement. L'environnement doit supporter des flots de travaux concurrents par différentes équipes Ingénierie circulaire Un environnement intégré doit supporter la transformation de l'information (vers l'avant et vers l'arrière) De phase en phase: besoins, design, codage, déploiement Sans le soutien d'outils automatisés, le temps requis pour compléter les itérations devient non convenable Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement évolutionnaire GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement évolutionnaire Notation basée sur modèles Une approche basée sur les modèles supporte l'évolution de notations graphiques et textuelles très riches en sémantiques Une image vaut mille mots Les langages de modélisation visuels et les langages formels lisibles par les machines donnent des mesures plus objectives pour les révisions et traçages du progrès. Donne également accès à l'avantage d'étapes générées par les machines Ex.: génération automatique de code à partir de la notation de design Unified Modeling Language (UML) Finit les documents à n'en plus finir Automne 2014 GEF492 Sylvain P. Leblanc

Processus de développement évolutionnaire GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Processus de développement évolutionnaire Contrôle de la qualité et évaluation de progrès objectifs L'évaluation de la qualité et du processus est intégrée dans le processus même Les mesures sont dérivées directement des artefacts de génie Tente de minimiser les artefacts papier ayant peu de valeur La qualité est la responsabilité de l'équipe, et non d'une organisation séparée Automne 2014 GEF492 Sylvain P. Leblanc

Classique vs Evolutionnaire GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Classique vs Evolutionnaire L’identification des besoins du système L’identification des besoins du logiciel L’analyse Le design Le testage Le codage La maintenance 1. Établir les objectifs, limitations, et alternatives du prochain niveau 2. Évaluez les alternatives pour les produits et le processus; identifier et résoudre les risques 3. Développez et vérifiez le produit du prochain niveau 4. Planifiez les prochaines phases 5. Examinez le progrès, confirmez l’engagement à continuer • Basée sur les besoins • Basée sur l'architecture • Développent privé • Basée sur les composantes • Évite les changements • Gestion de changements • Outils ad hoc/papier • Ingénierie circulaire Automne 2014 GEF492 Sylvain P. Leblanc

Faire la transition Résistance culturelle vs. Résistance objective GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Faire la transition Résistance culturelle vs. Résistance objective Les gestionnaires doivent être impliqués intimement Les gestionnaires créent le plan; ils ne le révisent pas Les besoins et le design sont fluides (réalisez ceci tout de suite!) L'accent sur la production et sur le gel des documents intermédiaires n'est pas productif On doit encourager les démonstrations ambitieuses Les échecs tôt dans le cycle de vie sont positifs! Les premiers incréments seront immatures et incomplets Les clients doivent être éduqués vis-à-vis le processus On doit absolument investir dans l'automatisation Les bénéfices à long terme sont plus importantes que les dépenses à court terme Il y a toujours résistance au changement; on doit éliminer la résistance culturelle. L'automation requière un investissement – il faut payer tout de suite pour retirer des bénéfices plus tard. Automne 2014 GEF492 Sylvain P. Leblanc

Difficultés spécifiques au MDN GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Difficultés spécifiques au MDN Travaux publics et Services gouvernementaux Canada (TPSGC) et le processus d'attribution de contrats Les contrats axés sur les normes favorisent les processus traditionnels vis-à-vis les processus modernes Les contrats à prix fixe encouragent les relations contradictoires Manque de confiance historique envers les sous-traitants Les bonnes firmes doivent pouvoir faire des profits Les mauvaises firmes doivent être responsables de leurs actions Très grands projets inusités (uniques) Impossible de réussir avec un processus axé sur les besoins fixes Éducation en génie logicielle/gestion de projet Le MDN est particulièrement en retard sur l'industrie dans ce domaine TPSGC est les "négociateur" du gouvernement; il ne comprennent pas le logiciel Automne 2014 GEF492 Sylvain P. Leblanc

La gestion de configuration et de changements GEF492 - 07 Processus de développement logiciel conventionnels vs. modernes Automne 2013 Prochaine séance: La gestion de configuration et de changements Automne 2014 GEF492 Sylvain P. Leblanc