Qu'est-ce qu'un processus de développement logiciel?

Logiciel fait référence aux deux systèmes d'exploitation informatiques eux-mêmes, ainsi qu'aux programmes et applications conçus pour fonctionner sur des ordinateurs. Le développement de logiciels est la conception et l'écriture de logiciels, y compris le développement de l'architecture du programme et de l'interface utilisateur et la programmation du code source. Le processus de développement de logiciels est l'approche adoptée au développement de logiciels, et il existe de nombreux modèles bien développés pour ce processus. En général, ils contiennent des variations sur les phases de la réalisation d'une analyse des exigences, de la spécification du produit, de la création de l'architecture logicielle, de la mise en œuvre du code, du test et de la documentation du produit, de la formation et de la prise en charge et de la maintenance et de l'amélioration de la version. Quel que soit le modèle utilisé, le processus de développement de logiciels peut parfois s'adresser au développement de nouveaux produits, tandis qu'à d'autres moments, il se concentre sur la révision - par exemple, lorsqu'une version de point est créée pour corriger les bogues - et à d'autres moments, il peut être préparéaration pour une nouvelle version du logiciel existant, ajoutant des fonctionnalités importantes ainsi que l'offre de corrections de bogues.

Le modèle de cascade pour le processus de développement logiciel est un modèle précoce et également avec des limitations inhérentes. Il prescrit une approche strictement unidirectionnelle du développement, se déplaçant à sens unique à travers la séquence des phases de développement logiciel, sans jamais revenir à une étape précédente ou modifier la spécification, une fois le développement. Le modèle en spirale, en revanche, utilise un processus itératif, dans lequel une séquence d'exigences, suivie de la conception, de la mise en œuvre et enfin des tests est suivie d'un deuxième cycle dans lequel davantage de fonctionnalités et de composants sont ajoutés. Dans les modèles agiles du processus de développement de logiciels - dont il existe un nombre - les projets de développement sont divisés en sous-ensembles d'une semaine à un mois appelé TimeBases, chacun subit par un miniaturiséVersion d'un processus de développement de logiciels entier, y compris une version à la fin. Les autres caractéristiques du développement agile incluent la proximité de l'équipe collaboratrice et l'utilisation des clients pour répondre au produit tout au long du processus.

Le processus de développement des logiciels peut être radicalement différent pour une grande entreprise et pour un programmeur individuel. Par exemple, un éditeur de logiciels commerciaux, comme Sibelius Software®, qui fait partie d'Avid Technology®, pourrait passer plusieurs années sur le processus de développement logiciel pour chaque version et publier une application logicielle qui est de centaines de MB en taille et utilisée par des milliers de personnes. D'un autre côté, un individu comme Roman Molino Dunn, The Music Transcriber®, en programmation d'un plug-in en réponse au souhait de quelqu'un qu'il puisse faire quelque chose de différent avec un logiciel commercial, pourrait créer un logiciel de 4 kb dans l'heure après avoir l'idée, dans un cas extrême.

DANS D'AUTRES LANGUES