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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

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

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 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

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

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

Référence du document. Maîtrise d ouvrage (MOA) Maîtrise d œuvre (MOE) Suivi du Document

Référence du document. Maîtrise d ouvrage (MOA) Maîtrise d œuvre (MOE) Suivi du Document Référence du document Utilisation Externe Mots clefs SDP Phase Requirements Objet du document MOA Faculté de Créteil MOA Premier Enseignant Mr Brenner MOA Second Enseignant Mr Giraud Maîtrise d ouvrage

Plus en détail

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

Les mécanismes d'assurance et de contrôle de la qualité dans un

Les mécanismes d'assurance et de contrôle de la qualité dans un Les mécanismes d'assurance et de contrôle de la qualité dans un projet Agile SPIN de Montréal - ETS 5 mars 2012 Qui sommes nous? mathieu boisvert Coach Agile Chargé de cours Co auteur d un livre avec Sylvie

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

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

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

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

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

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

CHAPITRE 3 : LES METHODES AGILES?

CHAPITRE 3 : LES METHODES AGILES? CHAPITRE 3 : LES METHODES AGILES? UE Gestion de Projet Master 1 STIC 2014/2015 Céline Joiron 2 Introduction Après avoir présenté les cycles de vie «classiques» de la gestion de projet L objectif de ce

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

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

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

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

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

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

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

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

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

Scrum et l'agilité des équipes de développement

Scrum et l'agilité des équipes de développement NormandyJUG Scrum et l'agilité des équipes de développement Par Dimitri Baeli & Nicolas Giard 23 Février 2010 Présentation des intervenants Dimitri Baeli http://twitter.com/dbaeli VP Quality Enterprise

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

Bien débuter son développement pour ArcGIS, Partie 1, Professionnaliser sa gestion de projet

Bien débuter son développement pour ArcGIS, Partie 1, Professionnaliser sa gestion de projet Bien débuter son développement pour ArcGIS, Partie 1, Professionnaliser sa gestion de projet N. Py Journées ESRI SIG2010, Octobre 2010 Bien débuter d son développement d pour ArcGIS, Partie 1, Professionnaliser

Plus en détail

Séance 1 Méthodologies du génie logiciel

Séance 1 Méthodologies du génie logiciel Séance 1 Méthodologies du génie logiciel Objectifs : Histoire du développement du logiciel. La crise du logiciel. Explorer les différentes méthodologies de développement. Comprendre l importance d adopter

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

Jean-Pierre Vickoff www.vickoff.com

Jean-Pierre Vickoff www.vickoff.com Techniques du futur Agile Communication - Architecture - Méthode Vers une approche Agile de 3 ème génération Jean-Pierre Vickoff www.vickoff.com Protocole de séance : Précisions techniques immédiates possibles

Plus en détail

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Glossaire La terminologie propre au projet, ainsi que les abréviations et sigles utilisés sont définis dans le Glossaire. Approbation Décision formelle, donnée

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

Suivi des risques d'un projet

Suivi des risques d'un projet Centre national de la recherche scientifique Direction des systèmes d'information REFERENTIEL QUALITE Guide méthodologique Suivi des risques d'un projet Référence : CNRS/DSI/conduite-projet/definition/qualite/guide-suivi-risques

Plus en détail

Scrum - Tour d'horizon de la méthode

Scrum - Tour d'horizon de la méthode Scrum - Tour d'horizon de la méthode Agenda Agilité Scrum Pilotage d'un projet agile selon Scrum Contractualisation Forces & questions ouvertes 2 Les méthodes agiles Méthodes de développement d'applications

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

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

Scrum Une méthode agile pour vos projets

Scrum Une méthode agile pour vos projets Avant-propos 1. Objectif du livre 17 2. Notre démarche 17 3. Structure du livre 18 4. Remerciements 20 Scrum, une méthode agile avant tout 1. Le grand départ 21 2. La gestion de projet informatique 22

Plus en détail

But de cette introduction à la gestion de projets :

But de cette introduction à la gestion de projets : But de cette introduction à la gestion de projets : Présenter quelques méthodes de conception logicielle. Replacer la conception de bases de données dans un contexte plus vaste. Présenter quelques méthodes

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

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

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

Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone?

Christophe Leroy Marc Lainez. L Agilité est-elle soluble dans la culture francophone? Christophe Leroy Marc Lainez L Agilité est-elle soluble dans la culture francophone? Le Manifeste Agile http://agilemanifesto.org/ 2 Les 4 valeurs Agiles Equipe Personnes et interactions plutôt que processus

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

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

Enquête 2014 de rémunération globale sur les emplois en TIC

Enquête 2014 de rémunération globale sur les emplois en TIC Enquête 2014 de rémunération globale sur les emplois en TIC Enquête 2014 de rémunération globale sur les emplois en TIC Les emplois repères de cette enquête sont disponibles selon les trois blocs suivants

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

Welcome to ICT Project Management

Welcome to ICT Project Management Welcome to ICT Project Management 22 mai 2012 ULB Michel Duchateau 1 Introduction Michel Duchateau Ir Télécom (2005) 2004 : Altasys 2005 : Consultant chez Alten Belgacom Telindus : Security Analysis Electrabel

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

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

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

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

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros XP : plus qu'agile Extreme Programming v2 et Développement Responsable Thierry Cros Retrouvez cette présentation sur le site http://thierrycros.net Licence CC-BY-NC-SA XP : plus qu'agile Pourquoi XP Installer

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

Les méthodes «classiques»

Les méthodes «classiques» 18 Plan 1 Les cycles de vie de projet 2 Des méthodologies classiques 3 Des méthodologies agiles 4 Des activités communes 19 Les méthodes «classiques» Principales méthodes de développement de systèmes d

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

Business Project Management : Cycle de vie des documents et workflow

Business Project Management : Cycle de vie des documents et workflow Business Project Management : Cycle de vie des documents et workflow Iut de Tours Département Information-Communication Option Gestion de l Information et du Document dans les Organisations Page 1 sur

Plus en détail

Les méthodes de conduite de projets

Les méthodes de conduite de projets M1 Miage & Informatique - Conduite de projets - D. Leclet Page 1 Les méthodes de conduite de projets I - Introduction Les seules véritables causes d échec d un projet, résident dans l incapacité à communiquer

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

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

Fabrication de site web Damien Nouvel

Fabrication de site web Damien Nouvel Fabrication de site web Plan Gestion de projets informatiques Acteurs de la fabrication de sites web Travail du designer Travail du développeur 2 / 30 Plan Gestion de projets informatiques Acteurs de la

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

Elaboration d un cahier des charges Ch. 6

Elaboration d un cahier des charges Ch. 6 Elaboration d un cahier des charges Ch. 6 «Le cahier des charges opérationnel est un document qui permet de dégager les orientations structurantes et de fixer le cadre des travaux à venir d un projet.

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

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

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

Agile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010

Agile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010 Agile Maroc 24 Novembre 2010 Méthodes agiles Thierry Cros 1 Thierry Cros 10 ans déjà... 2010 Création Extreme Programming France 2009 SigmaT Les Agilistes Toulousains 2010 Membre de «Fédération Agile»

Plus en détail

Direction Générale des Études Technologiques. Institut Supérieur des Etudes Technologiques de Djerba Département Technologies de l informatique

Direction Générale des Études Technologiques. Institut Supérieur des Etudes Technologiques de Djerba Département Technologies de l informatique Direction Générale des Études Technologiques Institut Supérieur des Etudes Technologiques de Djerba Département Technologies de l informatique Génie Logiciel Mejdi BLAGHGI m.blaghgi@gmail.com Chapitre

Plus en détail

Processus de Développement Logiciel

Processus de Développement Logiciel Processus de Développement Logiciel Cours M14 Pierre Gérard Université de Paris 13 IUT Villetaneuse Formation Continue Licence Pro SIL - 2007/2008 Table des matières 1 Des besoins au code avec UML 1 2

Plus en détail

Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009

Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009 Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 M1 MIAGE SIMA / M1 Informatique MIF17 2008 2009 Notion de méthode de conception de SI Méthodes OO de conception Généralités sur les méthodes

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

2.DIFFERENTS MODELES DE CYCLE DE VIE

2.DIFFERENTS MODELES DE CYCLE DE VIE 2.DIFFERENTS MODELES DE CYCLE DE VIE 2.1. INTRODUCTION... 1 2.1.1 Notion de cycle de vie... 1 2.1.2 Justification du cycle de vie... 1 2.2. LES DIFFERENTES PHASES DU CYCLE DE VIE... 2 2.2.1 Définition

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

GL - 2 2.2 Processus de développement Cycles de vie

GL - 2 2.2 Processus de développement Cycles de vie GL - 2 2.2 Processus de développement Cycles de vie Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, Ph. Lalanda, I. Parissis, Y. Ledru 1 Plan Introduction Modèles en cascade

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

1 / 9. Méthodes de développement. Introduction

1 / 9. Méthodes de développement. Introduction 1 / 9 Méthodes de développement Introduction 1 - Objectifs... 2 2 - Risques d'un projet logiciel... 2 3 - Préparation et conduite de projet... 3 4 - Caractères particuliers du logiciel et conséquences...

Plus en détail

Processus de Développement Logiciel

Processus de Développement Logiciel Processus de Développement Logiciel Cours M14 Pierre Gérard Université de Paris 13 IUT Villetaneuse Formation Continue Licence Pro SIL LA TE X Pierre Gérard (P13 IUT FC) Processus de Développement Logiciel

Plus en détail

Le cycle de vie : sur mesure Cycle de vie «basique»

Le cycle de vie : sur mesure Cycle de vie «basique» Le cycle de vie : sur mesure Cycle de vie «basique» OPPORTUNITE FAISABILITE CONCEPTION REALISATION RECEPTION MISE EN PRODUCTION MAINTENANCE «Basique» = phases de base nécessaires à la couverture d un cycle

Plus en détail

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition) Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les

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

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