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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

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

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

Vers une méthode Agile de 3 ème génération

Vers une méthode Agile de 3 ème génération Décembre 2012 Agile d hier et Agile de demain Evolution des Méthodes Agiles Vers une méthode Agile de 3 ème génération Jean-Pierre Vickoff Protocoles de séance : Questions techniques immédiates OK mais

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

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

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1

Génie logiciel. Concepts fondamentaux. Bruno MERMET, Université du Havre 1 Génie logiciel Concepts fondamentaux Bruno MERMET, Université du Havre 1 Nécessité du Génie Logiciel Bruno MERMET, Université du Havre 2 Développement d un logiciel Caractéristiques souhaitées : Adéquation

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

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

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

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

Guide de Préparation. EXIN Agile Scrum. Foundation

Guide de Préparation. EXIN Agile Scrum. Foundation Guide de Préparation EXIN Agile Scrum Foundation Édition Décembre 2014 Droits d auteur 2014 EXIN Tous droits réservés. Aucune partie de cette publication ne saurait être publiée, reproduite, copiée, entreposée

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

Méthodes de développement. Analyse des exigences (spécification)

Méthodes de développement. Analyse des exigences (spécification) 1 / 16 Méthodes de développement Analyse des exigences (spécification) 1 -Objectifs de l'analyse des exigences... 2 2 - Approfondissement et formalisation du besoin... 2 2.1 Séparation des besoins, contraintes

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

ERP5. Gestion des Services Techniques des Collectivités Locales

ERP5. Gestion des Services Techniques des Collectivités Locales Gestion des Services Techniques des Collectivités Locales Cte 1 2 P 3 s tio T 4 m ilg h trc c n p.o 5 re u fe ro a le tio c M S tw u aa c e O 2 Relation Citoyen Interventions Patrimoine Core Ressources

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

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

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

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

Conception et développement des plates-formes webs, de services et des applications mobiles des clients Entreprise: Yaal

Conception et développement des plates-formes webs, de services et des applications mobiles des clients Entreprise: Yaal Université Bordeaux 1 Master Informatique spécialité Système et Réseaux parcours Réseaux Conception et développement des plates-formes webs, de services et des applications mobiles des clients Entreprise:

Plus en détail

Conduite de projets et architecture logicielle

Conduite de projets et architecture logicielle s et architecture logicielle ABCHIR Mohammed-Amine Université Paris 8 15 février 2011 1/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 1 /

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

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

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

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Logiciels embarqués Viser l'excellence dans le développement

Logiciels embarqués Viser l'excellence dans le développement Avant-propos 1. Introduction 7 2. Objectif de ce livre 9 3. Conventions 9 4. Remerciements 10 La qualité logicielle 1. Introduction 11 2. Qu est-ce qu un défaut logiciel? 11 3. Une histoire abrégée des

Plus en détail

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique Soyez agile Dans l industrie du logiciel, la gestion de projet est confrontée à de nombreux défis. Le principal est de pouvoir assurer l adéquation d un produit et de ses fonctionnalités avec les besoins

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

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC

GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC GESTION CENTRALISÉE DELL POWERVAULT DL 2000 OPTIMISÉ PAR SYMANTEC NOTE DE SYNTHESE La solution Dell PowerVault DL2000 optimisée par Symantec Backup Exec est la seule à proposer un système intégré de sauvegarde

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 19 Méthodes de développement Préparation de projet logiciel 1 - Introduction... 2 2 - Contextes de réalisation Client Fournisseur ou Fournisseur Investisseur... 2 2.1 Principaux contextes de réalisation...

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

Projet en entreprise Cadrage du Projet de Fin d Etudes «Un projet informatique.»

Projet en entreprise Cadrage du Projet de Fin d Etudes «Un projet informatique.» Projet en entreprise Cadrage du Projet de Fin d Etudes «Un projet informatique.» Projet de fin d études 2 Sommaire OBJET DU DOCUMENT... 3 LES ETAPES DU PROJET... 4 ETUDE PREALABLE...5 1 L étude d opportunité...

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

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

Méthodologies Orientées-Objet!

Méthodologies Orientées-Objet! MAI NFE103 Année 2013-2014 Méthodologies Orientées-Objet! F.-Y. Villemin (f-yv@cnam.fr) Plan!!Les différentes méthodologies! Démarche! Cycle de vie!!rational Unified Process (RUP)!!La méthode Layman!!Notre

Plus en détail

Extrait du site de l'oseo (ex.anvar) http://www.anvar.fr/projlanc.htm. Reste à déterminer les points incontournables

Extrait du site de l'oseo (ex.anvar) http://www.anvar.fr/projlanc.htm. Reste à déterminer les points incontournables Extrait du site de l'oseo (ex.anvar) http://www.anvar.fr/projlanc.htm Notez que vous trouverez les fiches citées à chaque étape sur le site (Normalement, les liens ont été conservés et fonctionnent) Reste

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

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

Moteur Agile de Projet PUMA. Architecte d une génération d Entreprises performantes. Jean-Pierre Vickoff www.rad.fr

Moteur Agile de Projet PUMA. Architecte d une génération d Entreprises performantes. Jean-Pierre Vickoff www.rad.fr PUMA Architecte d une génération d Entreprises performantes Jean-Pierre Vickoff www.rad.fr Sommaire du Moteur de Projet Agile Evolution du courant de pensée Agile... 3 Historique de PUMA... 5 PUMA un framework

Plus en détail

Analyse et conception de systèmes d information

Analyse et conception de systèmes d information Analyse et conception de systèmes d information Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch Juin 2005 [SJB-02] Chapitre 3 1 Références Ce document a

Plus en détail

CINEMATIQUE DE FICHIERS

CINEMATIQUE DE FICHIERS ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE

Plus en détail

TDD Agilité et Kanban Planning Poker

TDD Agilité et Kanban Planning Poker TDD Agilité et Kanban Planning Poker Philippe Collet Licence 3 Informatique S6 2013-2014 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetdelicence201314 Plan r TDD r XP r Scrum r Kanban r Planning

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Progiciels de Gestion Intégrés Sommaire Définition... 2 ERP... 2 Objectifs

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

Guide pratique pour planifier la reprise après sinistre de manière rentable

Guide pratique pour planifier la reprise après sinistre de manière rentable Livre blanc www.novell.com Guide pratique pour planifier la reprise après sinistre de manière rentable Table des matières Table des matières...2 Évaluation du coût d'investissement...3 Évaluation des performances...4

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

Plus en détail

Développement d'un projet informatique

Développement d'un projet informatique Développement d'un projet informatique par Emmanuel Delahaye (Espace personnel d'emmanuel Delahaye) Date de publication : 27 janvier 2008 Dernière mise à jour : 25 avril 2009 Cet article présente un certain

Plus en détail

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD) Cahier des charges : gestion de projets agiles Programmation d Algorithmes Distribués (PAD) Benoit Bernardin Rachid Bouherrou Bruno Juillard Kaba Kabinè Sid-ahmed Anouar Lekhal 2012 / 2013 Sommaire I.

Plus en détail

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP

Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Service de réplication des données HP pour la gamme de disques Continuous Access P9000 XP Services HP Care Pack Données techniques Le service de réplication des données HP pour Continuous Access offre

Plus en détail

Publication. Aperçu rapide Ce que vous apporte Microsoft Project 2013

Publication. Aperçu rapide Ce que vous apporte Microsoft Project 2013 Aperçu rapide Ce que vous apporte Microsoft Project 2013 Avec la nouvelle version 2013, Microsoft achève l'intégration complète de MS Project à SharePoint Server et met une nouvelle infrastructure à disposition.

Plus en détail