Résumé
Le prototypage logiciel (ou « software prototyping » en anglais) désigne l'ensemble des activités de création de prototypes pour les logiciels, c'est-à-dire des versions incomplètes du programme en cours de développement. Cette activité est donc assez proche de la création et la validation de prototypes, telle qu'on la pratique dans l'industrie. Ainsi, un prototype permet d'explorer de façon interactive des scénarios d'utilisation du produit pour en valider les orientations. Il ne simule toutefois que quelques aspects du logiciel et peut être très différent du produit final. De même que les industriels commencent toujours par procéder à un prototypage avant de construire de coûteuses usines afin de mettre en évidence les défauts qui n'avaient pas été imaginés, il est conseillé au concepteur de logiciels de réaliser une maquette, ou un prototype (ou les deux) pour tester la validité de sa conception, et recevoir les remarques des utilisateurs (il est en effet bien plus facile de comprendre une démonstration sur une maquette que de vérifier des spécifications écrites). Une maquette effectue ses entrées-sorties sur des fichiers simulés (par exemple en mémoire) afin de permettre quelques tests rapides de fonctionnalités, et de prendre l'avis des futurs utilisateurs. Il fonctionne souvent sur un système différent de celui qui sera utilisé (par exemple sur un PC pour une application destinée à un mainframe). Un prototype, lui, travaille sur les fichiers réels de l'entreprise ainsi que sur le réseau réel. Il est susceptible de fonctionner réellement dans le cadre d'un utilisateur. Il ne lui manque plus que les optimisations (assez souvent, la réécriture de tout ou partie du prototype en langage compilé permettant son usage intensif sans consommation excessive de ressources). Le premier jet d'un programme étant assez souvent réécrit, le programmeur n'y perd rien de toute façon. Il évite aussi de s'enfermer ainsi dans des choix prématurés erronés qu'il lui serait difficile de remettre en cause une fois le programme écrit dans le langage final.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (32)
MGT-413: Entrepreneurship & new venture strategy
A foundational course on the science and practice of launching new ventures. The purpose is to study and experience the first stages of the entrepreneurial process: from the identification of promisin
HUM-433: How people learn: Designing Learning Tools II
The students will understand the cognitive and social factors which affect learning - particularly in science and engineering. They will be able to use social research techniques as part of the design
CS-214: Software construction
Learn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills (declarative style, higher-order functions, inductive types, parallelism) and fundam
Afficher plus
Concepts associés (3)
Software development process
In software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Prototype
vignette|Photographie d'un prototype BMW : la BMW Nazca C2 Dans le domaine de l'industrie et plus généralement de la recherche et développement (R&D), un prototype est selon la définition de l'OCDE , mais il s'agit aussi parfois d'un exemplaire incomplet (et non définitif) de ce que pourra être un produit (éventuellement de type logiciel, ou de type « service »Djellal, F., Gallouj, C., Gallouj, F., Francoz, D., & Jacquin, Y. (2001).
Développement rapide d'applications
La méthode de développement rapide d'applications, dite méthode RAD (acronyme de l'anglais rapid-application development), est la première méthode de développement de logiciels où le cycle de développement est en rupture fondamentale par rapport à celui des méthodes antérieures dites « en cascade ». Ce nouveau cycle qualifié d'itératif, d'incrémental et d'adaptatif, se retrouvera dans toutes les méthodes dites « agiles » publiées par la suite.