Cycle de développement
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Il existe différents types de cycles de développement entrant dans la réalisation d'un logiciel. Ces cycles prendront en compte toutes les étapes de la conception d'un logiciel.

Les Grandes Familles

Cycle en cascade

Ce cycle est hérité du bâtiment. Ce modèle repose sur les hypothèses suivantes :

  • on ne peut pas construire la toiture avant les fondations ;
  • les conséquences d'une modification en amont du cycle ont un impact majeur sur les coûts en aval (on peut imaginer la fabrication d'un moule dans l'industrie du plastique).

Les phases traditionnelles de développement sont effectuées simplement les unes après les autres, avec un retour sur les précédentes, voire au tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) début du cycle. Le processus de développement utilisant un cycle en cascade exécute des phases qui ont pour caractéristiques :

  • de produire des livrables définis au préalable ;
  • de se terminer à une date précise ;
  • de ne se terminer que lorsque les livrables sont jugés satisfaisants lors d'une étape de validation-vérification.

Cycle 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. Les phases 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 (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y...).
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.

Le cycle en V est devenu un standard de l'industrie du développement de logiciel (Le développement de logiciel comprend l'ensemble des étapes et processus qui permettent de passer de l'expression d'un besoin informatique à un logiciel fonctionnel et fiable.) et de la gestion de projet (La gestion de projet ou conduite de projet est une démarche visant à structurer, assurer et optimiser le bon déroulement d'un projet suffisamment complexe pour...) depuis les années 1980.

Cycle en spirale (En mathématiques, une spirale est une courbe qui commence en un point central puis s'en éloigne de plus en plus, en même temps qu'elle tourne autour.)

Le développement reprend les différentes étapes du cycle en V. Par l'implémentation (Le mot implantation peut avoir plusieurs significations :) de versions successives, le cycle recommence en proposant un produit de plus en plus complet et dur.

Cycle semi itératif

Le cycle semi-itératif a pour origine les travaux de James Martin publiés à partir de 1989 dans diverses revues Nord (Le nord est un point cardinal, opposé au sud.) Américaines. Il fut totalement formalisé en 1991 dans le livre RAD (L'abréviation rad désigne habituellement le radian, une unité d'angle.) (Développement rapide d'applications). A partir de 1994, des travaux complémentaires menés en France (RAD2) et en Angleterre (L’Angleterre (England en anglais) est l'une des quatre nations constitutives du Royaume-Uni. Elle est de loin la plus peuplée, avec 50 763 000 habitants (en 2006), qui représentent 83,8% de la...) (DSDM) apportèrent des spécialisations aux techniques basiques initiales. L’adoption par RUP Rational Unified Process d’IBM consacra l’apogée de ce cycle toujours en vigueur dans les projets conséquents.

Dans le cycle semi-itératif les deux premières phases classiques (top down, par la structure) consistent en l’expression des besoins et la conception de la solution. C’est lors de la troisième et dernière grande phase (Le mot phase peut avoir plusieurs significations, il employé dans plusieurs domaines et principalement en physique :), la construction du produit (bottom up, par le besoin)) que la notion d’itérations courtes intervient (ressources : http://www.rad.fr/phasprin.htm). C'est vers 2001 avec l'apparition de plusieurs méthodes dont ASD, FDD, Crystal, Scrum (Scrum est une méthode agile pour la gestion de projets. Elle a été conçue pour améliorer grandement la productivité dans les équipes auparavant paralysées...) ou extreme programming (L'Extreme Programming (XP) est une méthode agile de gestion de projet informatique adaptée aux équipes réduites avec des besoins changeants. Elle...) et la vision uniformisée de leurs auteurs dans le cadre du Manifeste Agile (Agile Manifesto) et de l' Agile Alliance, que le cycle, théoriquement complètement (Le complètement ou complètement automatique, ou encore par anglicisme complétion ou autocomplétion, est une fonctionnalité informatique permettant...) itératif fut généralisé. La notion de "théoriquement" exprimant une réserve basée sur le fait que toutes ces approches débutent par deux phases séquentielles, courtes mais bien réelles, d'exploration (L'exploration est le fait de chercher avec l'intention de découvrir quelque chose d'inconnu.) et de planning.

Image:Cyclesemi.gif

Cycle itératif

On sépare les activités des artéfacts, un artéfact étant le produit issu d'une activité (Le terme d'activité peut désigner une profession.). Ainsi, on applique un cycle de type roue de Deming (La roue de Deming, est une illustration de la méthode qualité PDCA (Plan Do Check Act), son nom vient du statisticien William Edwards Deming.) sur la production d'une documentation, d'un code, d'un test, etc.

Rapportée à une activité de type gestion de projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration d’une grande diversité...), la première phase sera celle de

  • la faisabilité : l'acceptation d'un nouveau besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins primaires, les besoins secondaires et les...)
  • l'élaboration  : on imagine comment on va le réaliser
  • la fabrication : construction
  • la transition  : tout est mis en œuvre pour livrer au client (Le mot client a plusieurs acceptations :)

Le cycle itératif n'est pas une bijection (Une fonction f: X → Y est dite bijective ou est une bijection si pour tout y dans l’ensemble d'arrivée Y il existe un et un seul x dans l’ensemble de définition X tel...) avec le cycle en V du type

  • faisabilité = spécifications
  • élaboration = Architecture (L’architecture peut se définir comme l’art de bâtir des édifices.)
  • fabrication = développement prototype
  • transition = tests

Sachant que chaque itération ne dépasse jamais huit semaines, cette tactique est donc impossible. En fait, l'idée est de livrer au plus tôt quelque chose qui puisse être testé par le client. On peut en effet réaliser plusieurs itérations sur une documentation telle que l'architecture. De la même manière, si un document (Dans son acception courante un document est généralement défini comme le support physique d'une information.) n'est qu'un artéfact parmi d'autres, il ne faut pas obtenir un document complet. On préfèrera utiliser la loi de Pareto : ne pas passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques Brisson (1723-1806) en 1760.) 80% de l'effort sur les 20% restant.

La différence entre un PDCA et une itération est la durée : elle doit être courte et régulière alors qu'une roue (La roue est un organe ou pièce mécanique de forme circulaire tournant autour d'un axe passant par son centre.) de Deming appliquée à une organisation (Une organisation est) de 300 personnes prend plusieurs mois (Le mois (Du lat. mensis «mois», et anciennement au plur. «menstrues») est une période de temps arbitraire.), voire plusieurs années.

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 (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette...) en Matière plastique (Une matière plastique ou en langage courant un plastique est un mélange contenant une matière de base (un polymère) qui est susceptible d'être moulé, façonné, en général à chaud et sous...),

  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 (La matière est la substance qui compose tout corps ayant une réalité tangible. Ses trois états les plus communs sont l'état solide, l'état liquide, l'état...) plastique par injection (Le mot injection peut avoir plusieurs significations :)
  3. et une fois que le prototype est correct, on passe à une phase de production.

Il faut savoir que 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 (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le contexte d'un mot, d'une phrase ou d'un texte inclut les mots qui l'entourent. Le concept de contexte issu traditionnellement de l'analyse...), 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.

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 d'architecte (L'architecte est le professionnel du bâtiment dont la fonction est de concevoir et de diriger la réalisation d'une œuvre d'architecture pour le compte d'un propriétaire qui...) de projet impactent tellement d'ingénieurs pour de telles durées qu'il vaut mieux s'assurer de la validité de chaque étape.

Par ailleurs, pour limiter l'entropie (En thermodynamique, l'entropie est une fonction d'état introduite au milieu du XIXe siècle par Rudolf Clausius dans le cadre du second principe,...) (désordre) du système constitué par l'équipe-projet, 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

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 ; en effet, avec de tels projet on dispose :

  • d'une plus grande réactivité due à
    • une proximité géographique
    • une facilité (relative) de communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine (télécommunications, nouvelles...)
  • 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 agiles en diminuant le formalisme et en multipliant le nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de cycles (fonctionnement itératif).

Quelques méthodologies

  • Développement rapide d'applications
  • eXtreme Programming
  • Scrum
  • RUP
  • 2TUP (2TUP (2 track unified process, prononcez "toutiyoupi") est un processus de développement logiciel qui implémente le Processus Unifié.)
  • Merise
  • SADT
  • HERMES (HERMES se base sur le V-Modell allemand (en.wikipedia pour l'instant) [(lien)]. HERMES a été conçu par l'administration fédérale suisse et est en...)
Page générée en 0.506 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique