Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen.

Dimension: px
Commencer à balayer dès la page:

Download "Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen. moez.krichen@gmail.com"

Transcription

1 ENIS Le génie logiciel Moez Krichen

2 Cycle de vie du logiciel Une version d'un logiciel correspond à un état donné de l'évolution d'un produit logiciel utilisant le «versionnage» (versioning) Le versionnage est le mécanisme qui consiste à conserver (et retrouver) la version d'une entité logicielle quelconque même après l'apparition et la mise en place de versions plus récentes Une version de logiciel est le plus souvent associée à une numérotation qui permet de l'identifier, voire dans certains cas à un nom symbolique 2

3 Cycle de vie du logiciel Pour les logiciels de nature commerciale (progiciels), il pourrait exister deux numérotations : 1. Numérotation interne à l'entreprise 2. Numérotation présentant un caractère commercial Cette séparation permet de séparer l'aspect marketing et/ou contractuel de l'aspect technique (nombreuses versions) Exemple : le traitement de texte Word existe en version Word 2000 (version commerciale), ce qui correspond à la version (version technique) 3

4 Cycle de vie du logiciel Gestion de l'évolution d'un logiciel : La gestion de l'ensemble des versions d'un logiciel et de celles de ses différents éléments requiert l'utilisation d'un système de gestion de versions (exemple : svn) Un système de gestion de versions permet l'existence simultanée de plusieurs versions du logiciel, en développement ou en maintenance Différentes branches permettent d'introduire des modifications, d'en comparer les versions et d'en fusionner les changements 4

5 Cycle de vie du logiciel Gestion de l'évolution d'un logiciel : Une application peut être développée en plusieurs branches indépendantes Il existe généralement la branche stable et la branche de développement, chaque branche ayant sa propre version 5

6 Cycle de vie du logiciel Types d'évolutions : Il pourrait exister des évolutions mineures et/ou des évolutions majeures d'un logiciel Les évolutions majeures apportent de nouvelles fonctionnalités, voire restructurent complètement l'application Les évolutions mineures apportent principalement des corrections de bugs ou des ajouts de fonctionnalités secondaires (exemple: ajout d'un bouton de raccourci) 6

7 Cycle de vie du logiciel Numérotation des versions : Il n'y a pas qu'une seule façon de décrire la version d'un logiciel ; il existe différents systèmes En utilisant un ou plusieurs chiffres pouvant être séparés par des points : 1.4, En suivant une règle mathématique. Par exemple, la version de TeX tend de manière asymptotique vers π ; la version actuelle est De même, la version de Metafont tend vers e ; la version actuelle est Grâce à l'année de sortie du logiciel: Adobe Illustrator 88 Grâce à la date de sortie: Wine (pour la version sortie le 5 mai 2004), Ubuntu 8.04 (pour la version sortie en avril 2008) 7

8 Cycle de vie du logiciel Numérotation des versions : On parle aussi d'édition pour désigner des évolutions mineures d'une version Dans l'exemple de la version , la version sera 2 et l'édition la 6.10 ou bien la version la 2.6 et l'édition 10 (tout dépend des habitudes de l'éditeur ou de la communauté de développement) Outre la numérotation qui permet d'identifier une version précise, il est courant de qualifier certaines versions afin de préciser à quel cycle de développement du logiciel on est. Par exemple, Mac OS 10.5 est surnommé Leopard. Le dernier numéro peut être remplacé par une lettre, au lieu de on aurait 2.5.U (c'est le cas notamment pour de nombreux éditeurs de jeux vidéo) 8

9 Forme Générale : Cycle de vie du logiciel Généralement, un numéro de version est composé d'une suite de nombres séparés par des points Les nombres sont ordonnés du plus significatif au moins significatif : une évolution du premier nombre correspond à une refonte (relative) du logiciel, tandis que le dernier correspond à une évolution mineure Ainsi, une version nommée «2.5.21» pourrait avoir le sens suivant: - 2ème version publiée - 5ème ajout de fonctionnalité dans la version 2-21ème révision de la version 2.5 9

10 Forme Générale : Cycle de vie du logiciel De manière générale plus les modifications apportées par le nouveau patch ou la nouvelle version sont importantes plus le numéro qui changera sera à gauche S'il s'agit d'une simple correction d'un bug mineur on passera de à Par contre si on a le droit à une mise à jour majeure (de nouvelles fonctionnalités, un gameplay différent, etc.) on passera de à

11 Forme Générale : Cycle de vie du logiciel Traditionnellement, la première version fonctionnelle d'un logiciel est notée 1.0. Certaines versions de logiciels sont notées 0.x ou 0.x.x, indiquant que le logiciel n'est pas abouti et correspond généralement à une version bêta Exemple : la version du noyau Linux indique la 11ème révision (la numérotation commence par 0) de la 4ème version mineure (les numéros impairs ne sont pas utilisés pour les versions stables) de la 2ème version majeure du noyau. Lorsqu'un numéro de version est composé de trois nombres, ils sont respectivement appelés : majeur, mineur et micro (en anglais major, minor, micro) 11

12 Exemple d'arbre des versions d'un logiciel 12

13 Cycle de vie du logiciel Phases de développement : Un prototype est un premier jet de l'application, ne disposant que de peu - voire pas - de réelles fonctionnalités, et permettant d'avoir un aperçu visuel de l'objectif recherché (on parle également de maquette) Version avancée se dit d'un logiciel qui est en cours de développement Ce terme permet de différencier la version en évolution d'un logiciel, qui est encore à un stade entre alpha et RC, de sa version stable Ainsi vous pouvez choisir entre un logiciel donné en version stable 1.0 par exemple, et sa version avancée 1.1 (son utilisation est déconseillée à moins d'avoir absolument besoin des nouvelles fonctionnalités qui ne sont pas dans la version stable ou dans le but de tests) 13

14 Les phases de développement d'un logiciel 14

15 Cycle de vie du logiciel Version alpha : Une version alpha n'est pas censée être accessible à un large public : c'est une version interne Généralement, un produit en test alpha (en anglais alpha-test) n'a pas toutes les fonctionnalités prévues dans le produit final L'alpha est donc dépourvue de certaines fonctionnalités, et contient un nombre de bugs encore important Cette phase est traitée à l'intérieur même du studio de développement 15

16 Cycle de vie du logiciel Version bêta : Le test bêta (en anglais beta-test) est la deuxième période d'essai d'un produit informatique avant sa publication Un produit en période de test bêta est généralement soumis à un nombre important ou représentatif de personnes: les bêta-testeurs Les bêta-testeurs peuvent être soit des employés de la société qui développe le logiciel, soit des bénévoles notamment dans le cas des logiciels libres Ces personnes ont pour but d'utiliser le logiciel et de rapporter les problèmes rencontrés ainsi que leurs suggestions 16

17 Cycle de vie du logiciel Il existe deux formes de test bêta : 1. Bêta ouverte ou bêta publique, dans laquelle n'importe qui peut participer, avec parfois une restriction technique (nombre d'utilisateurs connectés simultanément, etc.) 2. Bêta fermée ou bêta privée, dans laquelle les personnes intéressées par le produit doivent s'inscrire au préalable ou sont contactées par les fabricants du produit testé qui sélectionne les candidatures 17

18 Cycle de vie du logiciel Version admissible ou pre-release : Une version admissible est une version du logiciel qui correspond, du côté pratique, à la version «finale» ou «stable» du dit logiciel Elle est mise à disposition à des fins de «tests de dernière minute» visant à déceler les toutes dernières erreurs subsistant au sein du programme Le terme anglais release candidate (RC) est beaucoup plus utilisé 18

19 Cycle de vie du logiciel Version stable : ( Aussi appelée version finale ou or ou GA, pour General Availability ) Quand un logiciel peut accomplir toutes les tâches prévues, il arrive à sa version «stable» C'est cette version qui est généralement mise sur autre support de publication: CD-ROM, DVD, etc. Bien que finale, on trouve toujours de nouveaux besoins auxquels un logiciel doit s'adapter, en ajoutant de nouvelles fonctionnalités Un nouveau cycle de développement recommence à partir de cette version du logiciel Ces mises à jour sont mises à disposition sous forme de patch, ou sont intégrées à la prochaine version stable du logiciel 19

20 Les différents modèles de cycle de développement Le modèle en cascade ( Waterfall model ) : Un des premiers modèles qui a été proposé Il date des années 70 Ce modèle est strict et lourd Chaque phase doit être approuvée avant de pouvoir commencer l'autre 20

21 Modèle en cascade 21

22 Les différents modèles de cycle de développement Le modèle en cascade : avantages Chaque phase est finie, elle est donc gérable tant au niveau du temps que des ressources Le code est créé assez tardivement, il y a donc une bonne compréhension du système 22

23 Les différents modèles de cycle de développement Le modèle en cascade : inconvénients Il y a des risques de découvrir des erreurs qu'a la fin et qui nécessiteront de refaire toutes les étapes L'ajout de nouvelle exigence implique qu'il faille refaire toutes les étapes Plus un problème doit être résolu ou un changement doit être fait tard, plus il coûtera cher 23

24 Les différents modèles de cycle de développement Le modèle en cascade : Ce modèle est encore très utilisé Il a été revu dans sa version initiale Dans la nouvelle version, il est possible de revenir en arrière et des prototypes sont créés à chaque phase Le modèle est ainsi, dans cette nouvelle version, plus près de la réalité 24

25 Les différents modèles de cycle de développement Le modèle en V : Le modèle du cycle en V a été imaginé pour pallier le problème de réactivité du modèle en cascade Ce modèle est une amélioration du modèle en cascade qui permet en cas d'anomalie, de limiter un retour aux étapes précédentes Le cycle en V est devenu un standard de l'industrie du développement de logiciel et de la gestion de projet depuis les années

26 Modèle en V 26

27 Les différents modèles de cycle de développement Le modèle en V : Les étapes de la partie montante doivent renvoyer de l'information sur les phases en vis-à-vis lorsque des défauts sont détectés afin d'améliorer le logiciel De plus le cycle en V met en évidence la nécessité d'anticiper et de préparer dans les étapes descendantes les «attendus» des futures étapes montantes Ainsi les attendus des tests de validation sont définis lors des spécifications, les attendus des tests unitaires sont définis lors de la conception, etc. 27

28 Les différents modèles de cycle de développement Le modèle par incrément : Dans ce modèle, un seul composant est développé à la fois On débute par définir les exigences et on les décompose en sous-système À chaque version du logiciel, de nouvelles fonctionnalités venant combler les exigences sont ajoutées On continue de la sorte jusqu'à ce que toutes les fonctionnalités demandées soient comblées par le système Chaque incrément peut utiliser un autre modèle (v, en cascade...) 28

29 Modèle par incrément 29

30 Les différents modèles de cycle de développement Le modèle par incrément : Le développement sont ainsi moins complexe, L'intégration est moins brutale et le client a plus rapidement un système même s'il n'est pas complet Par contre, le cœur du système peut être à revoir lorsqu'on passe à une autre incrémentation du système Il peut ainsi s'avérer complexe d'ajouter certaines fonctionnalités Ce modèle convient au projet de grande envergure L'architecture doit être bien pensée dès le départ afin de réduire les risques par la suite. 30

31 Les différents modèles de cycle de développement Le modèle itératif : A chaque nouveau besoin, le cycle itératif propose : 1. d'étudier la faisabilité 2. puis d'imaginer son élaboration 3. puis de passer à sa fabrication 4. et enfin à la livraison Contrairement au modèle incrémental, les versions du logiciel ne sont pas planifiées à l avance 31

32 Les différents modèles de cycle de développement Le modèle itératif : Ce modèle est inspiré de la roue de Deming qui est une approche itérative dont le but est d'améliorer en permanence la qualité Elle se compose de 4 étapes : Plan, Do, Check, Act (PCDA) Plan : ce que l'on prévoit de faire, étude la faisabilité, spécifications Do : on imagine comment on va le réaliser : élaboration, architecture Check : vérification et mesure des risques Act : tests, validation et livraison au client L'idée est de livrer le plutôt possible une version qui puisse être testée par le client 32

33 Les différents modèles de cycle de développement Le modèle itératif : 33

34 Les différents modèles de cycle de développement Le modèle en spirale : Ce modèle itératif met l'accent sur l'activité d'analyse des risques Ce modèle est plus récent, il date du milieu des années 80 L'emphase de ce modèle et mise sur la réduction des risques Ce modèle est adapté pour les gros projets complexes Les risques sont sans cesse évalués à chaque cycle 34

35 Modèle en spirale 35

36 Les différents modèles de cycle de développement Comparaison des approches Cascade, V et Itératif : Le cycle en V a pour origine l'industrie lourde La particularité de ce milieu est que la phase qui suit nécessite bien plus de ressources que la précédente Par exemple, pour fabriquer un objet en matière plastique : 1. un bureau d'étude va concevoir le produit 2. puis des empreintes de moules seront usinées et placées dans des carcasses pour recevoir de la matière plastique par injection 3. et une fois que le prototype est correct, on passe à une phase de production 36

37 Les différents modèles de cycle de développement Comparaison des approches Cascade, V et Itératif : Pour un objet simple tel qu'un gobelet en plastique, la conception est une affaire d'une poignée de semaines (soit quelques milliers d'euros) Alors qu'un moule (empreinte + carcasse) nécessite plusieurs mois de fabrication et plusieurs centaines de milliers d'euros Par conséquent, dans un tel contexte, pour bien gérer son projet, il est important de ne pas négliger la validation de chaque étape sous peine de le voir déraper 37

38 Les différents modèles de cycle de développement Comparaison des approches Cascade, V et Itératif : Ce phénomène intervient sur des chantiers logiciels réunissant des dizaines voire des centaines de personnes Les décisions de l'équipe de direction ou de l'architecte projet impactent tellement d'ingénieurs pour de longues durées qu'il vaut mieux s'assurer de la validité de chaque étape 38

39 Les différents modèles de cycle de développement Pour limiter l'entropie (désordre) du système constitué par l'équipeprojet, il est nécessaire de formaliser par des documents (voire des outils) : - les processus - les besoins - les spécifications logicielles - l'architecture logicielle - les tests 39

40 Les différents modèles de cycle de développement Dans le cas d'un projet logiciel impliquant une douzaine de personnes pendant une à deux années, la configuration n'est plus la même Avec de tels projets on dispose : 1. d'une plus grande réactivité, due à : a. une proximité géographique b. une facilité (relative) de communication 2. d'un facteur de coût limité entre chaque étape Aussi, il est possible de s'orienter vers des méthodes de développement dites méthodes agiles en diminuant le formalisme et en multipliant le nombre de cycles (fonctionnement itératif). 40

41 Les méthodes agiles Les méthodes Agiles sont des groupes de pratiques pouvant s'appliquer à divers types de projets Elles se limitant plutôt actuellement aux projets de développement en informatique (conception de logiciel) Les méthodes Agiles se veulent plus pragmatiques que les méthodes traditionnelles Elles impliquent au maximum le demandeur (client) et permettent une grande réactivité à ses demandes Elles visent la satisfaction réelle du besoin du client et non les termes d'un contrat de développement La notion de méthode agile a été officialisée en 2001 par un document, le Manifeste Agile (Agile Manifesto), signé par 17 personnalités impliquées dans l'évolution du génie logiciel, en particulier, en tant qu'auteurs de leur propre méthode 41

42 Les méthodes agiles Les méthodes Agiles et les pratiques qu'elles recouvrent seraient antérieures au Manifeste Agile Ce manifeste ne serait donc pas l acte de naissance des méthodes Agiles ou du mouvement Agile, mais la formalisation consensuelle par les auteurs de ces méthodes, toutes nées dans la deuxième partie de la décennie 90 Ces méthodes avaient des valeurs communes, une structure (cycle de développement) commune (itérative, incrémentale et adaptative) et une base de pratiques, soit communes, soit complémentaires Parmi ces méthodes on trouve en premier lieu la méthode RAD (Développement rapide d'applications) de James Martin (1991), puis DSDM la version anglaise du RAD (1995) Plusieurs autres méthodes comme ASD ou FDD reconnaissent leur parenté directe avec RAD Les deux méthodes Agiles les plus connues en France sont : la méthode Scrum (1996) et la méthode XP pour Extreme programming (1999) 42

43 Les méthodes agiles La notion de méthode agile a émergé avec des pratiques ciblant uniquement le développement d'une application informatique Mais un mouvement managérial plus large (Management Agile) commencerait à coupler les valeurs Agiles aux techniques de l'amélioration continue de la qualité (MTQS ou Lean) 43

44 Les méthodes agiles Quatre valeurs fondamentales : (entre parenthèse, les citations du manifeste) 1ère valeur - L'équipe («Personnes et interaction plutôt que processus et outils») : Dans l'optique agile, l'équipe est bien plus importante que les outils (structurants ou de contrôle) ou les procédures de fonctionnement Il est préférable d'avoir une équipe soudée et qui communique composée de développeurs (éventuellement à niveaux variables) plutôt qu'une équipe composée d'experts fonctionnant chacun de manière isolée La communication est une notion fondamentale 44

45 Les méthodes agiles Quatre valeurs fondamentales : (entre parenthèse, les citations du manifeste) 2ème valeur - L'application («Logiciel fonctionnel plutôt que documentation complète») Il est vital que l'application fonctionne. Le reste, et notamment la documentation technique, est une aide précieuse mais non un but en soi Une documentation précise est utile comme moyen de communication La documentation représente une charge de travail importante, mais peut pourtant être néfaste si elle n'est pas à jour Il est préférable de commenter abondamment le code lui-même, et surtout de transférer les compétences au sein de l'équipe 45

46 Les méthodes agiles Quatre valeurs fondamentales : (entre parenthèse, les citations du manifeste) 3ème valeur - La collaboration («Collaboration avec le client plutôt que négociation de contrat») Le client doit être impliqué dans le développement On ne peut se contenter de négocier un contrat au début du projet, puis de négliger les demandes du client Le client doit collaborer avec l'équipe et fournir un feed-back continu sur l'adaptation du logiciel à ses attentes 46

47 Les méthodes agiles Quatre valeurs fondamentales : (entre parenthèse, les citations du manifeste) 4ème valeur - L'acceptation du changement («Réagir au changement plutôt que suivre un plan») La planification initiale et la structure du logiciel doivent être flexibles afin de permettre l'évolution de la demande du client tout au long du projet Les premières releases du logiciel vont souvent provoquer des demandes d'évolution 47

48 Les méthodes agiles Principes : ces 4 valeurs se déclinent en 12 principes généraux communs à toutes les méthodes agiles 1. «Notre première priorité est de satisfaire le client en livrant tôt et régulièrement des logiciels utiles» 2. «Le changement est bienvenu, même tardivement dans le développement. Les processus agiles exploitent le changement comme avantage compétitif pour le client» 3. «Livrer fréquemment une application fonctionnelle, toutes les deux semaines à deux mois, avec une tendance pour la période la plus courte» 4. «Les gens de l'art et les développeurs doivent collaborer quotidiennement au projet» 48

49 Les méthodes agiles Principes : ces 4 valeurs se déclinent en 12 principes généraux communs à toutes les méthodes agiles 5. «Bâtissez le projet autour de personnes motivées. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacité à faire le travail» 6. «La méthode la plus efficace pour transmettre l'information est une conversation en face à face» 7. «Un logiciel fonctionnel est la meilleure unité de mesure de la progression du projet» 8. «Les processus agiles promeuvent un rythme de développement durable. Commanditaires, développeurs et utilisateurs devraient pouvoir maintenir le rythme indéfiniment» 49

50 Les méthodes agiles Principes : ces 4 valeurs se déclinent en 12 principes généraux communs à toutes les méthodes agiles 9. «Une attention continue à l'excellence technique et à la qualité de la conception améliore l'agilité» 10. «La simplicité - l'art de maximiser la quantité de travail à ne pas faire - est essentielle» 11. «Les meilleures architectures, spécifications et conceptions sont issues d'équipes qui s'auto-organisent» 12. «À intervalle régulier, l'équipe réfléchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens» 50

51 Les méthodes agiles Tronc des pratiques communes des méthodes Agiles : 1. Les pratiques communes liées aux ressources humaines - Participation de l utilisateur final aux groupes de travail - Groupes de travail disposant du pouvoir de décision - Autonomie et organisation centralisée de l équipe (motivation) - Spécification et validation permanente des Exigences 51

52 Les méthodes agiles Tronc des pratiques communes des méthodes Agiles : 2. Les pratiques communes liées au pilotage du projet - Niveau méthodologique variable en fonction des enjeux du projet - Pilotage par les enjeux et les risques - Planification stratégique globale basée sur des itérations rapides - Réalisation en jalons par prototypage actif, itératif et incrémental - Recherche continue d amélioration des pratiques 52

53 Les méthodes agiles Tronc des pratiques communes des méthodes Agiles : 3. Les pratiques communes liées à la qualité de la production - Recherche d excellence technique de la conception - Vision graphique d une modélisation nécessaire et suffisante - Vision de la documentation nécessaire et suffisante - Normes et techniques raisonnables de qualité du code (métrique) - Architecture à base de composants - Gestion des changements automatisée 53

54 Les méthodes agiles Critères d'éligibilité : De multiples facteurs contextuels peuvent être pris en considération pour valider ou invalider la possibilité d'application d'une méthode agile 1. Favorisant : - Besoin rapide de mise à disposition du produit - Imprévisibilité des besoins du client - Nécessité de changements fréquents - Besoin de visibilité du client sur l'avancement des développements - Présence de l'utilisateur assurant un feedback immédiat 54

55 Les méthodes agiles Critères d'éligibilité : De multiples facteurs contextuels peuvent être pris en considération pour valider ou invalider la possibilité d'application d'une méthode agile 2. Défavorisant : - Indisponibilité du client ou de l'utilisateur - Dispersion géographique des ressources humaines - Inertie des acteurs du projet ou refus des changements 55

56 Les méthodes agiles Critiques : Dans les cas ou les critères d'éligibilité de l'utilisation d'une approche agile n'ont pas été respectés, la méthode peut montrer plusieurs limites: - Risques de dérives - Documentation insuffisante - Inadaptation à des projets de grande envergure 56

57 Exercices 1. Par quoi se distingue la méthode XP des autres méthodes agiles? 2. Le RUP fait-il partie des méthodes agiles? 3. En quoi consiste le «Test Driven Development»? 57

58 XP - Extreme Programming La méthode XP (extreme programming) est très axée sur la partie Construction de l'application Une de ses originalités réside dans l approche de planification qui se matérialise sous la forme d un jeu intitulé «Planning game» et qui implique simultanément les utilisateurs et les développeurs 58

59 XP - Extreme Programming La méthode XP (extreme programming) est très axée sur la partie Construction de l'application Une de ses originalités réside dans l approche de planification qui se matérialise sous la forme d un jeu intitulé «Planning game» et qui implique simultanément les utilisateurs et les développeurs 59

60 XP - Extreme Programming On y notera aussi des techniques particulières liées à la production du code comme : 1. La programmation en binôme (Pair programming) 2. L'appropriation collective du code 3. La refactorisation (refactoring) (Amélioration régulière de la qualité du code sans en modifier le comportement. On retravaille le code pour repartir sur de meilleures bases tout en gardant les mêmes fonctionnalités. Les phases de refactoring n'apportent rien au client mais permettent aux développeurs d'avancer dans de meilleures conditions et donc plus vite.) 4. L'intégration continue 60

61 RUP - Rational Unified Process Processus unifié (PU) est une méthode de prise en charge du cycle de vie d un logiciel et donc du développement, pour les logiciels orientés objets C est une méthode générique, itérative et incrémentale, contrairement à la méthode séquentielle Merise (ou SADT) PU vient compléter la systémique des modèles UML Elle est le résultat final d une évolution de l approche d Ericsson qui est au fondement d une des premières méthodes de développement pour applications orientées objets, la méthode Objectory Process (1987) Objectory Process (version 1 à 3.8 en 1995) a elle-même servi de base à la société Rational pour la création de Rational Objectory Process (1997) (version 4.1), parente direct de RUP en

62 RUP - Rational Unified Process RUP (Rational Unified Process) n'est pas une méthode Agile, c'est un produit propriété d'ibm Il en existe une déclinaison Agile, mais non libre, sous l'acronyme de AUP (Agile Unified Process) RUP se caractérise par une approche globale nommée «Vue 4+1» (vue ayant fortement inspiré UML) Les 5 composants de cette vue sont : la vue des Cas d'utilisation, la vue Logique, la vue d'implémentation, la vue du Processus, la vue du Déploiement RUP offre aussi, à l'identique du RAD 2, un processus guide formel et adaptable comme guide d'activité 62

63 TDD - Test Driven Development En français, Développement Piloté par les Tests Le cycle préconisé par TDD comporte cinq étapes : 1. écrire un premier test 2. vérifier qu'il échoue (car le code qu'il teste n'existe pas), afin de vérifier que le test est valide 3. écrire juste le code suffisant pour passer le test 4. vérifier que le test passe 5. puis refactoriser le code, c'est-à-dire l'améliorer tout en gardant les mêmes fonctionnalités 63

64 TDD - Test Driven Development Intérêt : Ces tests permettent aussi de préciser les spécifications du code, et donc son comportement ultérieur en fonction des situations auxquelles il sera exposé Ceci facilite la production d'un code valide en toutes circonstances et on obtient donc un code plus juste et plus fiable. En écrivant les tests d'abord, on utilise le programme avant même qu'il existe et On s'assure ainsi que le code produit est testable unitairement Il est donc impératif d'avoir une vision précise de la manière dont on va utiliser le programme avant même d'envisager son implémentation Cela évite souvent des erreurs de conception dues à une précipitation dans l'implémentation avant d'avoir défini les objectifs 64

65 TDD - Test Driven Development Intérêt : De plus, le fait d'avoir des tests augmente la confiance en soi du programmeur lors de la refactorisation du code : il sait qu'à un moment donné les tests ont réussi Il peut ainsi se permettre des changements radicaux de design en étant sûr, à la fin, d'avoir un programme se comportant toujours de la même façon (si les tests réussissent toujours) L'utilisation de TDD permet la construction conjointe du programme et d'une suite de tests de non-régression L'utilisation de TDD permet en outre d'estimer de manière plus précise l'état d'avancement du développement d'un projet 65

Méthodes Agiles et gestion de projets

Méthodes Agiles et gestion de projets Méthodes Agiles et gestion de projets Eric LELEU Consultant Solutions Collaboratives Contact ericleleu@nordnet.fr Site Personnel http://home.nordnet.fr/~ericleleu Blog http://ericleleu.spaces.live.fr La

Plus en détail

25/12/2012 www.toubkalit.ma

25/12/2012 www.toubkalit.ma 25/12/2012 www.toubkalit.ma 1 Définition Exemple des méthodes agiles Valeurs Principes Le cycle itératif et incrémental (Itération/Sprint) Schéma de travail Méthode Scrum. Méthode XP (Extreme programming).

Plus en détail

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Conduite de projets SI Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Agilité : de quoi parle-t-on? Agilité de l entreprise Urbanisme Architectures SOA Agilité du SI ERP Plateformes applicatives agiles

Plus en détail

Hubert & Bruno Saint-Quentin (02) Lundi 16 Mars 2009. lucasbruno@orange.fr 16.03.2009

Hubert & Bruno Saint-Quentin (02) Lundi 16 Mars 2009. lucasbruno@orange.fr 16.03.2009 Hubert & Bruno Saint-Quentin (02) Lundi 16 Mars 2009 Connaître, ce n'est point démontrer, ni expliquer. C'est accéder à la vision. Antoine de Saint-Exupéry Objectif Mise à jour Logiciel Pourquoi mettre

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5

Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5 Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5 Plan Chapitre 2 Modèles de cycles de vie Méthodes de développement : Méthode lourde Méthode agile Exemple

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes

Plus en détail

Gestion Projet. Cours 3. Le cycle de vie

Gestion Projet. Cours 3. Le cycle de vie Gestion Projet Cours 3 Le cycle de vie Sommaire Généralités 3 Séquentiel 7 Itératif/Incrémental 17 Extreme Programming 22 Que choisir? 29 Etats Transverse 33 Cours 3 2006-2007 2 Généralités Cours 3 2006-2007

Plus en détail

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

Plus en détail

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

Projet de Programmation Benoit Donnet Année Académique 2015-2016

Projet de Programmation Benoit Donnet Année Académique 2015-2016 Projet de Programmation Benoit Donnet Année Académique 2015-2016 1 Agenda Partie 4: Introduction au Génie Logiciel Chapitre 1: Bases du Génie Logiciel 2 Agenda Chapitre 1: Bases du Génie Logiciel - Principe

Plus en détail

Gestion de Projet Informatique

Gestion de Projet Informatique Gestion de Projet Informatique Partie 3 : Cycles de vie de projet Licence d'informatique 3 ième Année Tianxiao Liu Université de Cergy-Pontoise 1 GPI T. LIU The earliest moment is when you think it is

Plus en détail

Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM

Topologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM Méthodes agiles & SCRUM 1/ Pourquoi les méthodes agiles? Définition d une méthode agile. Fondamentaux. Quand les utiliser? 2/ SCRUM En quoi est-ce une méthode agile? Sprints et releases. Le Product Owner.

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Gestion de Projet Informatique http://www.rzo.free.fr Pierre PARREND 1 Mars 2005 Sommaire Gestion de projet informatique Cycle de vie du logiciel Modèles de Méthodes

Plus en détail

Chapitre n 3 : Présentation des méthodes agiles et Scrum

Chapitre n 3 : Présentation des méthodes agiles et Scrum Chapitre n 3 : Présentation des méthodes agiles et Scrum I. Généralités sur les méthodes agiles I-1. Définition Les méthodes agiles sont des méthodologies essentiellement dédiées à la gestion de projets

Plus en détail

Les méthodes agiles. Les méthodes agiles sont apparues dans les années 1990 (Extreme Programming, Rapid Application Development, Scrum ) :

Les méthodes agiles. Les méthodes agiles sont apparues dans les années 1990 (Extreme Programming, Rapid Application Development, Scrum ) : SCRUM Les méthodes agiles Les méthodes agiles sont apparues dans les années 1990 (Extreme Programming, Rapid Application Development, Scrum ) : capacité à réagir au changement plutôt que de suivre un plan

Plus en détail

Qu est-ce qu une milestone (jalon)? Tâche de durée nulle, sans ressource. Elle est destinée à marquer des moments clés dans un projet.

Qu est-ce qu une milestone (jalon)? Tâche de durée nulle, sans ressource. Elle est destinée à marquer des moments clés dans un projet. Cours Ephec Niv. 2 : Technique et gestion de projet Par Monsieur Bertieaux Année Académique 2014-2015 Réponse aux questions du cours, slide Cours 2_1_Planification Vous avez un projet classique qui se

Plus en détail

ITIL V 3 V v s A g A ilité Un pont trop loin?

ITIL V 3 V v s A g A ilité Un pont trop loin? ITIL V3 vs Agilité Un pont trop loin? Introduction Dans la jungle des méthodes et des pratiques deux acteurs ont percé dans toutes les organisations SI ITIL V3 par sa capacité à stabiliser «la production»

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

welcome! B enjamin Samson

welcome! B enjamin Samson welcome! B enjamin Samson GESTION DE PROJET Programme Introduction à la gestion de projet Atelier Brainstorming / Sujet de travail en équipe Introduction aux méthodes Agiles - Le sprint 0 - Les personas

Plus en détail

touscours.net Rapport de Synthèse Cycle en V, UP et SCRUM

touscours.net Rapport de Synthèse Cycle en V, UP et SCRUM Rapport de Synthèse Cycle en V, UP et SCRUM Réalisé par : BELLINI Quentin GNANAKULENTHIRAN Anitha GOVINDEN Johana MEZINE Ahcene TIMZOUERT Chabane 19/10/2011 www.sup-galilee.univ-paris13.fr Table des matières

Plus en détail

Agile 360 Product Owner Scrum Master

Agile 360 Product Owner Scrum Master Agile 360 Product Owner Scrum Master Lead Technique Equipe Agile Conception Agile Leadership Agile Software Craftmanship Test Driven Development Catalogue 2013 Liste des formations Formation Agile 360

Plus en détail

CHAPITRE 2 : CYCLES DE VIE ET MÉTHODES DE GESTION DE PROJET

CHAPITRE 2 : CYCLES DE VIE ET MÉTHODES DE GESTION DE PROJET CHAPITRE 2 : CYCLES DE VIE ET MÉTHODES DE GESTION DE PROJET UE Gestion de Projet Master 1 STIC 2015/2016 Céline Joiron celine.joiron@u-picardie.fr 2 Introduction Un aspect fondamental de la conduite de

Plus en détail

Informatiques. Module : Outils RAD

Informatiques. Module : Outils RAD Management de Projets Informatiques Module : Outils RAD Niveau : S4 du L2/ISIL Génie Logiciel Le terme génie logiciel (en anglais software engineering) désigne l'ensemble des méthodes, des techniques et

Plus en détail

SCRUM en Bref. Système comprend trois sous-systèmes:a,b,c. S-Système A S-Système B S-Système C A1, B1, C2 A2, C1, A3 B2 B3 C3

SCRUM en Bref. Système comprend trois sous-systèmes:a,b,c. S-Système A S-Système B S-Système C A1, B1, C2 A2, C1, A3 B2 B3 C3 Rappels : étapes de développement de systèmes: 1. Étude des besoins 2. Analyse 3. conception 4. Implémentation 5. Test 6. Déploiement Planification Post-Mortem Système comprend trois sous-systèmes:a,b,c

Plus en détail

Cours Gestion de projet

Cours Gestion de projet Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA

Plus en détail

Page de garde. UniFr - InfoTeam. Travail de master Méthodologie d ingénierie logicielle adaptée à une PME. Yannick Thiessoz 04.

Page de garde. UniFr - InfoTeam. Travail de master Méthodologie d ingénierie logicielle adaptée à une PME. Yannick Thiessoz 04. Page de garde UniFr - InfoTeam Travail de master Méthodologie d ingénierie logicielle adaptée à une PME Yannick Thiessoz 04.2007 Plan Contexte Travail de Master Microsoft Visual Studio Team System Méthodologies

Plus en détail

Jean-Pierre Vickoff. 2008 J-P Vickoff

Jean-Pierre Vickoff. 2008 J-P Vickoff Agilité étendue Jean-Pierre Vickoff 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Le mouvement Itératif-Incrémental (Agile) Agilité étendue au SI et PUMA Essentiel Entreprise

Plus en détail

Retour d expérience implémentation Scrum / XP

Retour d expérience implémentation Scrum / XP Retour d expérience implémentation Scrum / XP Bruno Orsier Octobre 2008 p.1 Bruno Orsier, Agile Tour 2008 Grenoble Plan Qui sommes nous? Pourquoi Scrum/XP? Historique de la mise en œuvre Bilan Sondage

Plus en détail

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique 2014-2015. Quelles sont les 4 valeurs Agiles?

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique 2014-2015. Quelles sont les 4 valeurs Agiles? Cours Ephec Niv. 2 : Technique et gestion de projet Par Monsieur Bertieaux Année Académique 2014-2015 Réponse aux questions du cours, slide Cours 2_2_Scrum Quelles sont les 4 valeurs Agiles? 1. «Les personnes

Plus en détail

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis Les Méthodes Agiles description et rapport à la Qualité Benjamin Joguet Rémi Perrot Guillaume Tourgis 1 Plan Présentation générale d'agile Qu'est ce qu'une méthode Agile? Le manifeste Les valeurs Les principes

Plus en détail

Quelle organisation pour développer? Les principes et les valeurs de l extreme programming

Quelle organisation pour développer? Les principes et les valeurs de l extreme programming Les principes et les valeurs de l extreme programming XP sont bons 1 Principes Revue de code Production systématique de cas tests Refactoring Solutions simples Métaphores Intégration quotidienne cycles

Plus en détail

Modélisation objet Le langage UML

Modélisation objet Le langage UML Modélisation objet Le langage UML Brahim HAMID La base de contrôle Robot Zone à explorer brahim.hamid@irit.fr brahim.hamid@univ-tlse2.fr http://mass-cara.univ-tlse2.fr/~brahimou/ens/uml 1 Les méthodes

Plus en détail

Modèle d implémentation

Modèle d implémentation Modèle d implémentation Les packages UML: Unified modeling Language Leçon 5/6-9-16/10/2008 Les packages - Modèle d implémentation - Méthodologie (RUP) Un package ou sous-système est un regroupement logique

Plus en détail

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES Quelques constats Etude du Standish Group Seul 1/3 des projets informatiques sont qualifiés de succès 50 % sont livrés et opérationnels, mais sont sortis du

Plus en détail

Méthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Méthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif. Méthodes agiles www.businessinteractif.com Jean-Louis Bénard jlb@businessinteractif.fr CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS 0 20 mai 2002 Sommaire Méthodes agiles : une réponse à un malaise?

Plus en détail

Les questions à se poser

Les questions à se poser Les questions à se poser SLAM5 2. Les enjeux de la gestion de projet PLAN DU CHAPITRE QU EST-CE QU UN PROJET? 2.1 Qu est-ce qu un projet? PROJET DANS L ENTREPRISE STRUCTURE D UN PROJET? ORGANISER UN PROJET?

Plus en détail

LA DEMARCHE DE PROJET

LA DEMARCHE DE PROJET LA DEMARCHE DE PROJET Baccalauréat STI2D-SIN SIN 1.1 : La démarche de projet Objectifs o Utiliser les outils adaptés pour planifier un projet (Revue de projet, Cartes mentales, Gantt, chemin critique...

Plus en détail

Modélisation des Systèmes d Information Jean-Yves Antoine

Modélisation des Systèmes d Information Jean-Yves Antoine Modélisation des Systèmes d Information Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine Processus de développement logiciel Jean-Yves Antoine U. Bretagne Sud - UFR SSI - IUP Vannes année 2001-2002

Plus en détail

Quelques chiffres 07/11/2013

Quelques chiffres 07/11/2013 F DANEL Introduction Pourquoi les projets? Apporter du nouveau / une solution la ou on en a besoin! Le projet n est pas toujours une idée nouvelle C est la façon de réaliser (mettre en place) cette idée.

Plus en détail

Développement agile. Agile Manifesto. Développement agile Hafedh Mili 2012

Développement agile. Agile Manifesto. Développement agile Hafedh Mili 2012 Développement agile Hafedh Mili 2012 1 Développement agile Un ensemble de pratiques de développement logiciel qui mettent l'emphase sur: Le pragmatisme (vs dogmatise) La réactivité aux changements L'implication

Plus en détail

Unified Modeling Langage UML. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Unified Modeling Langage UML. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Unified Modeling Langage UML Modèle musical Langage En avant la musique http://partitions.metronimo.com http://fr.wikipedia.org/ Méthode Créateur Outil En avant l informatique Modèle informatique public

Plus en détail

Gestion de projet Agile. STS IRIS Module 4.2 - «Gérer et organiser un projet informatique»

Gestion de projet Agile. STS IRIS Module 4.2 - «Gérer et organiser un projet informatique» Gestion de projet Agile Module 4.2 - «Gérer et organiser un projet informatique» Sommaire Introduction Principes et méthodes Agiles Scrum 2 Introduction Gestion de projet : démarche structurante assurant

Plus en détail

Kit de conduite de projet

Kit de conduite de projet Hugues Marchat Kit de conduite de projet Deuxième édition Éditions d'organisation, 2001, 2003 ISBN : 2-7081-2945-7 Kit de conduite de projet PHASE 4 LE PILOTAGE Cette phase comporte deux étapes et trois

Plus en détail

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint? Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Processus Unifié de développement de logiciel

Processus Unifié de développement de logiciel Processus Unifié de développement de logiciel Plan 1. SUP : une simplification de RUP 2. Les éléments de modélisation de SUP 3. Description de la dynamique de SUP 4. SUP sur une étude de cas 2 SUP : une

Plus en détail

Examen intra LOG3000 Hiver 2014

Examen intra LOG3000 Hiver 2014 Examen intra LOG3000 Hiver 2014 Vendredi le 28 février 2014. Durée : 08h30 à 10h00 (total 1h30). Local : B-415. Total des points : 20. Pondération de l'examen dans la note finale : 35%. Sans documentation,

Plus en détail

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg. vers plus d agilité F. Miller francois.miller@inpg.fr FC INPG Octobre 2008 - version 1.0 Introduction Contexte Le monde bouge économie des moyens (humains, financier,...) ; recherche de plus d efficacité

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015 INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015 Question #1 Quelle technique de mise sous test devons-nous utiliser si nous voulons simuler le comportement d'une

Plus en détail

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com Guillaume Coquelle Testeur,

Plus en détail

La réalisation des tâches de planification stratégique

La réalisation des tâches de planification stratégique Identifier les principaux composants de la réussite Pour obtenir les résultats escomptés, un projet doit bénéficier d'objectifs clairement définis et approuvés, d'une équipe motivée, ainsi que d'un plan

Plus en détail

L agile est mort vive l agile! L évolution du développement logiciel

L agile est mort vive l agile! L évolution du développement logiciel L agile est mort vive l agile! L évolution du développement logiciel L agile est mort vive l Agile. 2 3 4 L évolution 5 Une question de maturité Tiré de The Standish Group: Chaos Report 2011 Tiré de Version

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Agilitéet qualité logicielle: une mutation enmarche

Agilitéet qualité logicielle: une mutation enmarche Agilitéet qualité logicielle: une mutation enmarche Jean-Paul SUBRA Introduction : le manifeste Agile Manifeste pour le développement Agile de logiciels Nous découvrons comment mieux développer des logiciels

Plus en détail

Que se passe-t-il dans le Cloud ADELIen?

Que se passe-t-il dans le Cloud ADELIen? Que se passe-t-il dans le Cloud ADELIen? Extraits de la conférence annuelle de l Ae-SCM 2010 Thomas Morisse Pour ce numéro spécial «dans les nuages», ADELI vous rapporte quelques morceaux choisis de la

Plus en détail

Les Bonnes PRATIQUES DU TEST LOGICIEL

Les Bonnes PRATIQUES DU TEST LOGICIEL Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Gestion de projet - la phase de réalisation du projet

Gestion de projet - la phase de réalisation du projet Gestion de projet - la phase de réalisation du projet GÉRARD CASANOVA - DENIS ABÉCASSIS Paternité - Pas d'utilisation Commerciale - Pas de Modification : http://creativecommons.org/licenses/by-nc-nd/2.0/fr/

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

SigmaT Juin 2009. Gouvernance : Agile. Thierry Cros Être Agile. http://etre agile.com

SigmaT Juin 2009. Gouvernance : Agile. Thierry Cros Être Agile. http://etre agile.com SigmaT Juin 2009 Gouvernance : Agile Thierry Cros Être Agile Sommaire I Gouvernance? II Agile? III Gouvernance agile Être Agile... Ce n'est pas... Livrer en lotissements Abandonner les outils Refuser d'écrire

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process Hafedh Mili Rational Unified Process 1. Principes de base 2. Les phases 3. Les activités (workflows) Copyright Hafedh Mili 2005 2 1 Rational Unified Process Processus de développement

Plus en détail

Outils de gestion de projet informatique

Outils de gestion de projet informatique Outils de gestion de projet informatique Plan Introduction Méthodes agiles (extreme Programing) Dépôt de source (Subversion) Gestionnaire de tâches (Trac) Environnement de Développement Intégré (Eclipse)

Plus en détail

Enoncé : Planification agile et gestion des risques

Enoncé : Planification agile et gestion des risques Enoncé : Planification agile et gestion des risques Tout projet a besoin d'être planifié. La planification est une tâche véritablement complexe pour un chef de projet et ses membres de l équipe, surtout

Plus en détail

Techniques de Développement

Techniques de Développement Techniques de Développement Quelques définitions relatives au développement de logiciel Sébastien Faucou Université de Nantes (IUT de Nantes, département Informatique) Licence Professionnelle Systèmes

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Examen final LOG3000 Hiver 2014

Examen final LOG3000 Hiver 2014 Examen final LOG3000 Hiver 2014 Lundi le 28 avril 2014. Durée : 13h30 à 16h00 (total 2h30). Local : A-532. Total des points : 20. Pondération de l'examen dans la note finale : 40%. Sans documentation.

Plus en détail

Intégration de la flotte privée et du transport sous traité

Intégration de la flotte privée et du transport sous traité Intégration de la flotte privée et du transport sous traité Des coûts réduits et un service de meilleure qualité grâce à l'intégration dynamique et multimode de la flotte privée et du transport sous traité

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

Plus en détail

FILIÈRE METHODOLOGIE & PROJET

FILIÈRE METHODOLOGIE & PROJET FILIÈRE METHODOLOGIE & PROJET 109 Gestion de projet METHODOLOGIE ET PROJET Durée 3 jours Conduite de projet COND-PRO s Intégrer les conditions de réussite d une démarche de management par projet. Impliquer

Plus en détail

IFT2255 - Génie logiciel. Processus de développement

IFT2255 - Génie logiciel. Processus de développement IFT2255 - Génie logiciel Processus de développement 1 Cycle de vie du logiciel 2 Activités de développement 3 Planification du projet Analyse et spécification Conception Implémentation Vérification Installation

Plus en détail

PLANIFICATION ET SUIVI D'UN PROJET

PLANIFICATION ET SUIVI D'UN PROJET Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique PLANIFICATION ET SUIVI D'UN PROJET Référence : CNRS/DSI/conduite-projet/developpement/gestion-projet/guide-planfi-suivi-projet

Plus en détail

Les méthodes Agile. Implication du client Développement itératif et incrémental

Les méthodes Agile. Implication du client Développement itératif et incrémental Les méthodes Agile Simon ALEXANDRE - CETIC Plan Overview Agile ne signifie pas Agile signifie Objectifs poursuivis Pourquoi les méthodes Agile apparaissent-elles? Principales causes des échecs de projets

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30 Examen final 24 avril 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Qu'est-ce qu'un test de régression? Question #2 5% Selon extreme Programming,

Plus en détail

Méthode Agile de 3 ème génération. 2008 J-P Vickoff

Méthode Agile de 3 ème génération. 2008 J-P Vickoff PUMA Essentiel Méthode Agile de 3 ème génération 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Quelques principes Agiles Principales pratique Agile de pilotage Structure

Plus en détail

LA DEMARCHE DE GESTION DE PROJET POUR L EPREUVE DU CPPC

LA DEMARCHE DE GESTION DE PROJET POUR L EPREUVE DU CPPC LA DEMARCHE DE GESTION DE PROJET POUR L EPREUVE DU CPPC La gestion de projet ne présente pas de difficultés particulières mais une méthodologie qui va demander énormément de précisions tout au long de

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

Management par les processus Les facteurs clés de succès. Lionel Di Maggio Master 1 MIAGE

Management par les processus Les facteurs clés de succès. Lionel Di Maggio Master 1 MIAGE Management par les processus Les facteurs clés de succès Lionel Di Maggio Master 1 MIAGE 1 1. Objectifs et définitions 2. Le retour sur investissement des démarches 3. Les éléments structurants 4. Mise

Plus en détail

Les méthodes itératives. Hugues MEUNIER

Les méthodes itératives. Hugues MEUNIER Les méthodes itératives Hugues MEUNIER INTRODUCTION. Toute les méthodes ont le même but : la maîtrise du budget, du planning et de la qualité des projets de développement informatique Plusieurs approches

Plus en détail

Conduite de projet. Cycles de développement (logiciel) 2015-09

Conduite de projet. Cycles de développement (logiciel) 2015-09 Conduite de projet Cycles de développement (logiciel) 2015-09 NETCAT / @netcat Gestion de projet vs Cycle de vie Notion et but But de la gestion de projet : Maîtriser les risques Maîtriser les délais,

Plus en détail

FICHE JANVIER 2009 THÉMATIQUE. Direction de projets et programmes

FICHE JANVIER 2009 THÉMATIQUE. Direction de projets et programmes FICHE JANVIER 2009 THÉMATIQUE Direction de projets et programmes La représentation par les processus pour les projets Système d Information (SI) La modélisation de l'entreprise par les processus devient

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 19 Méthodes de développement Guide de rédaction d'un plan de développement logiciel 1 - OBJET DU GUIDE... 2 2 - OBJECTIF DU PDL... 2 3 - PLAN TYPE DU PDL... 2 4 - TRAVAUX DE PRÉPARATION DU PDL... 2

Plus en détail

backlog du produit Product Owner

backlog du produit Product Owner Méthodes agiles : Définition: selon Scott Ambler «Une méthode agile est une approche itérative et incrémentale pour le développement de logiciel, réalisé de manière très collaborative par des équipes responsabilisées

Plus en détail

CONCEPTS ET MISE EN PRATIQUE POUR LA VALIDATION DE GRANDS SYSTÈMES

CONCEPTS ET MISE EN PRATIQUE POUR LA VALIDATION DE GRANDS SYSTÈMES MODEL-BASED TESTING (MBT) CONCEPTS ET MISE EN PRATIQUE POUR LA VALIDATION DE GRANDS SYSTÈMES Le Model-Based Testing est une pratique de test en plein développement dans l'industrie pour accroitre l'efficacité

Plus en détail

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche Règles d engagement Présentation Diapositives Bibliographie Questions Les vertus de la marche Plan Rappels sur l agilité Scrum : une implantation de l agilité Scrum ou XP? Conclusion Historique sélectif

Plus en détail

Automatiser le Test Fonctionnel de Logiciels Embarqués Temps-Réel

Automatiser le Test Fonctionnel de Logiciels Embarqués Temps-Réel White Paper Le logiciel embarqué est au cœur de l'innovation industrielle. Nombre de fonctionnalités d'un produit, qu'elles soient nouvelles ou notablement améliorées, permettent de prendre ou de garder

Plus en détail

Concours EXTERNE d ingénieur des systèmes d information et de communication. «Session 2009»

Concours EXTERNE d ingénieur des systèmes d information et de communication. «Session 2009» Concours EXTERNE d ingénieur des systèmes d information et de communication «Session 2009» Meilleure copie "Rapport Technique" Thème : conception et développement logiciel Note : 15,75/20 Rapport technique

Plus en détail

AGILE, chantiers actuels, gestion des forfaits

AGILE, chantiers actuels, gestion des forfaits AGILE, chantiers actuels, gestion des forfaits État de l art et perspectives Jean-Pierre Vickoff On en parle beaucoup aujourd hui et on les pratique de plus en plus, mais les méthodes agiles, ce n est

Plus en détail

Méthodes de conception orientées objets et agiles. Introduction Découpage d'un projet Cycles C l de vie logiciel Le processus unifié.

Méthodes de conception orientées objets et agiles. Introduction Découpage d'un projet Cycles C l de vie logiciel Le processus unifié. Méthodes de conception orientées objets et agiles Introduction Découpage d'un projet Cycles C l de vie logiciel i l Le processus unifié. Maîtrise d ouvrage et maîtrise Maîtrise d ouvrage (MOA) d oeuvre

Plus en détail

Pratique de logiciels de planification

Pratique de logiciels de planification Pratique de logiciels de planification MASTER TECHNOLOGIE & HANDICAP Université Paris 8 Sommaire Introduction Organisation d un projet Les principaux axes de la planification Gestion des tâches Gestion

Plus en détail

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008 Les méthodes Agiles Introduction Intervenant : Tremeur Balbous tremeur@agilegardener.com http://www.agilegardener.com/ 04/09/2008 Les méthodes Agiles Le contexte Le Manifeste Agile Une tentative de définition

Plus en détail

Management des processus opérationnels

Management des processus opérationnels Ecole Nationale Supérieure de Management Master Management des organisations Management des processus opérationnels Dr TOUMI Djamila Cours n 1: La vision processus dans le management des organisations

Plus en détail

Le génie Logiciel (suite)

Le génie Logiciel (suite) Le génie Logiciel (suite) Lors du cours précédent, on a étudié différents cycles de vie, dont la cascade, ou la spirale. Analyse des besoins L analyse des besoins est une étape menant à l élaboration de

Plus en détail

Manuel Qualité Page 1 sur 10 16 Février 2012 MQ-Indice G

Manuel Qualité Page 1 sur 10 16 Février 2012 MQ-Indice G Page 1 sur 10 Ce manuel Qualité est enregistré et mis à jour dans la base de données «Qualité» de MPL, dont une copie est accessible sur demande. C'est la version originale informatisée qui fait foi. Les

Plus en détail

Agile. Thomas Clavier

Agile. Thomas Clavier <thomas.clavier@univ-lille1.fr> Agile Thomas Clavier C est quoi? Être agile et pas faire de l Agile. C est avant tout un état d esprit partagé par l ensemble des participants à un projet. Être agile "Les

Plus en détail

Agilité: Le manager devient facilitateur. @hgregoir

Agilité: Le manager devient facilitateur. @hgregoir Agilité: Le manager devient facilitateur @hgregoir Merci à nos partenaires et sponsors! Qui suis- je?! Forma>on technique en Dev et Sysadmin! Développeur, Architecte dev/sécu depuis 1996! Mais aussi formateur,

Plus en détail

ISO/CEI 20000-1 NORME INTERNATIONALE. Technologies de l'information Gestion des services Partie 1: Exigences du système de management des services

ISO/CEI 20000-1 NORME INTERNATIONALE. Technologies de l'information Gestion des services Partie 1: Exigences du système de management des services NORME INTERNATIONALE ISO/CEI 20000-1 Deuxième édition 2011-04-15 Technologies de l'information Gestion des services Partie 1: Exigences du système de management des services Information technology Service

Plus en détail

Processus de développement UP

Processus de développement UP Chapitre 1 Processus de développement UP I. Pourquoi UP? II. Définition III. Activités et phases IV. Modèles mis en place 1. Pourquoi UP? Les notions de base acquises dans le module ACOO1, notamment la

Plus en détail

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2 ÉQUIPE FEATURE par Craig Larman et Bas Vodde Version 1.2 Les Équipes Feature 1 et les Domaines Fonctionnels 2 sont des éléments essentiels pour dimensionner le développement en mode agile et lean. Ces

Plus en détail