Prototypage logiciel

L'importance du prototypage logiciel

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 à ce jour, 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 est partie du postulat erroné que le processus de développement est linéaire et que les interactions entre les phases sont des exceptions.

Cette approche signifiait que les éléments tangibles du système n'étaient disponibles que très tardivement. D'un autre côté, tous les changements qui devenaient nécessaires, par exemple, requis par le client, devenaient difficiles à réaliser sans dépenser d'énormes ressources.

C'est dans ce contexte que le Live Cycle Logiciel Orienté Prototypage apparaît dans nos années 80. Ce modèle n'introduit pas de rupture avec le précédent, mais le complète en le rendant plus itératif. Le prototypage occupe une place centrale.

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 l'indiquent 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 la fonctionnalité.  Il a été décrit comme :

  • 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 logiciel (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 vous permet également d'obtenir des commentaires dès le début du processus de développement, ce qui vous 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 certaines fonctionnalités sont incluses, mais elles sont fonctionnelles et peuvent être testées dans des conditions très réalistes, y compris la liaison de 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

  • Faible fidélité : peu de fonctionnalités et d'interaction, ils sont généralement 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 raffinement du prototype initial, qui est amélioré et développé jusqu'à ce qu'il soit finalement accepté 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 des solutions existantes ? Procédez en toute sécurité. Voir nos prestations .

Vous ne pouvez pas copier le contenu de cette page