Comment les logiciels et applications sont-ils créés ?

Comment les logiciels et applications sont-ils créés ?

Le logiciel n’est qu’un ensemble d’instructions pour un ordinateur. Et tous les ordinateurs ont besoin d’aide pour fonctionner comme nous le souhaitons. Ils ne sont pas intelligents. Ils ne peuvent pas penser par eux-mêmes, ils ne peuvent que faire ce que nous leur disons, ni plus ni moins. Mais ils peuvent le faire rapidement. Cela signifie que lorsque nous écrivons un programme, il doit être incroyablement détaillé et complet pour que l’ordinateur puisse penser à notre place, le tout plus rapidement !

Poser les bases de la création et comprendre la machine

Comment les logiciels et applications sont-ils créés ?

Quand on enseigne à un enfant de 6 ans comment faire ses lacets, cela prend un certain temps, mais une fois qu’il aura acquis le mécanisme, il sera capable de le faire encore et encore pour le reste de sa vie et vous n’aurez plus jamais à lui apprendre cela. Un ordinateur n’est pas si intelligent. Nous devons lui dire comment faire la même tâche la plus simple encore et encore.

Maintenant, les ordinateurs sont si rapides qu’ils peuvent faire beaucoup de choses pour nous, mais cela signifie que nous devons leur donner beaucoup, beaucoup de directions. Et ces directions deviennent incroyablement compliquées très rapidement. Surtout lorsqu’il y a beaucoup de gens qui essaient de réaliser les mêmes demandes à la machine. Donc, en fin de compte, le problème auquel nous nous attaquons VRAIMENT est de savoir comment nous pouvons tous travailler ensemble, nous attaquer à la complexité de notre propre programmation et nous assurer de produire quelque chose qui fonctionne vraiment.

Il existe de nombreuses façons d’y parvenir, et cela varie considérablement, avec plus ou moins de succès. Malheureusement, il n’y a pas de mesure objective, de meilleure façon de faire les choses. Cela dit, la façon la plus simple de créer un logiciel, des applications web sur mesure, est pour une personne de s’asseoir et de taper les instructions pour ce que vous souhaitez être réalisées par votre ordinateur. Cela fonctionne très bien pour les petits programmes, mais devient moins intéressant pour les grands programmes. Pour ces gros programmes, vous aurez besoin d’une équipe, et la façon dont vous coordonnerez cette équipe pour gérer et créer un logiciel digne de vos attentes est vitale.

Vous devez comprendre ce que vous essayez de faire.

La communication au sein de l’équipe est essentielle. Tout le monde doit être sur la même longueur d’onde au sujet des objectifs du programme. Et la première chose que vous devez comprendre et sur laquelle vous devez vous mettre d’accord, c’est l’objectif final. La façon la plus connue de le faire est de l’écrire. Notez exactement ce que le programme devrait et ne devrait pas faire. Oui, cela peut sembler évident, mais quelqu’un de l’équipe devra le lire pour se mettre à jour. Ce document s’appelle normalement un Document des exigences du produit (DEP), les spécificités du logiciel.

Diviser pour mieux régner

Il faut diviser les tâches de façon à ce que les différents membres de l’équipe puissent s’attaquer à leurs parties respectives et à ce que les gens travaillent en parallèle, en parfaite harmonie. Cette décomposition des tâches peut sembler très simple, mais elle est pleine de défis. Vous voulez diviser le programme de telle sorte que la structure et les divisions qui en résultent créent le moins de complexité possible. Si vous faites cela mal et créez une complexité supplémentaire, vous aurez plus de bugs et prendrez plus de temps pour faire les choses. Il faut donc chercher des sous-systèmes en grande partie autonomes qui ont une frontière très claire. Il faut regrouper comment tous nos sous-systèmes fonctionnent ensemble. Ceci produit une spécification d’architecture logicielle.

Il faut maintenant décomposer chaque sous-système en éventuellement plus de sous-systèmes, au point que chaque sous-système atomique soit très clairement gérable. Il faut être très explicites quant aux limites de chaque sous-système, et les noter. Ce sont les interfaces entre les modules. Pour chaque sous-système, Il est impératif de rédiger une spécification fonctionnelle qui documente l’interface, ainsi que le comportement du sous-système.

Une fois que tout est ok, il faut répertorier le fonctionnement des composants internes, comment les composants du sous-système doivent fonctionner. Quelles structures de données seront utilisées ? Quels algorithmes sont nécessaires ? Ceci devient une spécification de conception.

Et pour finir il faut prendre un calendrier, en essayant de déterminer combien de temps cela prendra et qui devra faire quoi afin de planifier le projet de création du logiciel pour de l’application.

1,2,3 codez !

Bien fait, le processus de spécification prend autant de temps que le codage et le débogage. Mal fait, le processus de spécification prend un temps très court, et le débogage prend beaucoup plus de temps que le codage.

Vous connaissez donc toutes les étapes pour la création et la gestion d’un projet de création d’application, de logiciel. Beaucoup de préparation à prendre en compte, d’échanges et de partages avec les personnes qui seront actrices de votre projet.