Prototypage logiciel

L'importance du prototypage logiciel

Photo de Luís Filipe

Luís Filipe

Associé gérant YouX

Qu'est-ce que le prototypage logiciel

De manière générique, on peut définir le prototypage logiciel comme le processus qui permet la création d'un modèle visuel du produit ou du système dont le développement est destiné à être réalisé. 

Revisiter l’histoire du développement logiciel nous aide à comprendre l’utilisation du prototypage. Dans les années 60 du siècle dernier, un modèle de développement a été créé, qui est resté populaire jusqu'à aujourd'hui, le SLDC – Software Development Life Cycle.

Le SDLC a présenté comme un grand avantage la segmentation de la production de logiciels en différentes phases individuelles, qui fonctionneraient de manière systémique, avec leurs entrées, traitements et résultats qui passeraient à la phase suivante, après avoir été vérifiés et validés.

Logiciel de modèle de cycle de vie
Le cycle de vie logiciel classique.

Source : Le rôle du prototypage dans le développement logiciel G. Pomberger, R. Weinreich C. Laboratoire Doppler de génie logiciel Université Johannes Kepler de Linz

Son utilisation a révélé ses limites : elle partait du postulat erroné selon lequel le processus de développement est linéaire et que les interactions entre phases sont des exceptions.

Cette approche signifiait que les éléments tangibles du système n'étaient disponibles que très tard. D'un autre côté, tout changement devenu nécessaire, par exemple demandé par le client, devenait difficile à réaliser sans dépenser d'énormes ressources.

C’est dans ce contexte qu’est apparu dans les années 80 le Live Cycle Logiciel Orienté Prototypage. Ce modèle n’introduit pas de rupture avec le précédent, mais le complète, le rendant plus itératif. Le prototypage commence à jouer un rôle central.

Cycle de vie logiciel orienté prototypage
Le cycle de vie du logiciel orienté prototypage.

Source : Le rôle du prototypage dans le développement logiciel G. Pomberger, R. Weinreich C. Laboratoire Doppler de génie logiciel Université Johannes Kepler de Linz

Comme le déclarent Connell et Shafer : « Un prototype de logiciel est un modèle visuel dynamique fournissant un outil de communication pour le client et le développeur qui est bien plus efficace que la prose narrative ou les modèles visuels statiques pour représenter les fonctionnalités.  Il a été décrit comme suit :

  • fonctionnel après un minimum d'effort 
  • un moyen pour fournir aux utilisateurs d'une application proposée une représentation physique des parties clés du système avant la mise en œuvre du système.
  • flexible nécessite un minimum d'effort de modifications 
  • pas nécessairement représentatif d'un système complet.”

(Connell JL, Shafer LB. : Prototypage rapide structuré. Prentice Hall International, Yourdon Press, 1989)

Le rôle du prototypage dans le développement logiciel est particulièrement important dans les cas où le client n'a pas d'exigences de projet bien définies, le prototypage permet de créer un premier prototype du produit final, de le tester et de l'améliorer jusqu'à son approbation. A partir de ce moment, le prototype développé devient la base de développement du produit final.

"Comme certains développeurs aiment à le dire, "Si une image vaut mille mots, alors un prototype vaut mille réunions." "

dans Qu'est-ce que le prototypage dans le développement de logiciels (et pourquoi c'est important)

Avantages du prototypage logiciel

  • Tester et valider plus tôt : avoir une représentation du produit sans aucun code. L'itération avec le prototype vous permet d'arriver rapidement et efficacement à la meilleure conception possible.
  • Permet d'impressionner les investisseurs et les premiers utilisateurs : un prototype démontre clairement une idée.
  • Facile, rapide et bon marché : Les prototypes sont faciles à développer, vous permettant d'explorer différentes idées sans dépenser beaucoup de temps ou d'efforts. Lorsque nous passons au code, nous le faisons en toute confiance.
  • Il permet également d'obtenir un feedback dès le début du processus de développement, ce qui permet d'identifier les problèmes du système avant le début de la phase de codage.
  • Les principaux problèmes d'utilisabilité peuvent être identifiés avant même le code, ce qui permet de les résoudre à très faible coût.
  • De plus, le prototypage stimule également la créativité.
  • dit Interaction Foundation Design :
La règle 1-10-100 : comment le prototypage réduit les coûts
La Fondation InteractionDesign

Types de prototypage

Il existe plusieurs types de prototypes dans le développement de logiciels et diverses nomenclatures également. En recherchant un peu de structure, on peut dire qu'ils diffèrent selon deux axes principaux : la portée (ce qu'ils représentent du système final) et leur degré de réalisme :

portée

  • Prototypes verticaux : seules quelques fonctionnalités sont incluses mais elles sont fonctionnelles et peuvent être testées dans des conditions très réalistes, y compris connexion à des données réelles) avec l'exécution de tâches réelles.
  • Prototypes horizontaux : ils ne sont pas aussi fonctionnels que les premiers mais incluent l'ensemble du système et permettent donc de voir comment les différentes fonctionnalités s'articulent dans le système.
  • Scénarios : il a une portée et des fonctionnalités réduites, il vous permet de tester le système en passant par un certain script.

Le réalisme

  • Basse fidélité : peu de fonctionnalités et d'interaction, ils sont normalement utilisés pour montrer le concept, les mises en page ou les alternatives de conception.
  • Haute fidélité : ils sont conçus pour démontrer l'interaction avec le système, avec un haut degré de réalisme.

Modèles de prototypage

4 types de modèles de prototypage

  1. Prototype rapide : utilisé pour explorer des idées et obtenir des commentaires du client, plutôt que de compromettre le client, le but est d'éviter les développements nécessaires.
  2. Prototype évolutif : consiste en un perfectionnement du prototype initial, qui est amélioré et développé jusqu'à son acceptation définitive par le client.
  3. Prototype incrémental : le produit final est divisé en plusieurs parties et prototypé individuellement. Au final, ils sont bien assemblés. Ce processus réduit la complexité.
  4. Prototypes extrêmes : il est principalement utilisé dans le développement web et se compose de 3 phases séquentielles :
    1. un prototype est présenté avec toutes les pages statiques en html
    2. des écrans fonctionnels sont créés pour simuler le processus
    3. Tous les services sont mis en œuvre et associés dans le portique final.

Vous envisagez de développer de nouvelles interfaces ou de nouveaux produits ou cherchez à améliorer les solutions existantes ? Procédez en toute sécurité. Découvrez nos prestations .

Vous ne pouvez pas copier le contenu de cette page

Passer au contenu