Over 10 years we helping companies reach their financial and branding goals. Onum is a values-driven SEO agency dedicated.

CONTACTS
Agence Marketing

Quelles sont les étapes de conception d’un logiciel ?

I cannot give you the formula for success, but I can give you the formula for failure. It is: Try to please everybody. - Herbert Bayard Swope

De manière très simplifiée :

  • l’analyse des besoins :
    • on part le plus souvent d’une idée du genre “ce serait cool si …”.
    • Cette idée généralement doit être “peaufinée” afin pouvoir être exprimée clairement
  • L’analyse technique :
    • On utilise le résultat de l’analyse des besoin pour déterminer quel(le)s sont les (types de) données et les comportement qui permettront de satisfaire les besoins désignés, ainsi que les relations qui existent entre eux / elles
    • on définit — au besoin — les algorithmes qui permettront aux comportements désignés d’obtenir une partie du résultat attendu
  • le codage :
    • des fonctionnalités (types de données et comportements) définis par l’analyse technique
    • idéalement par quelqu’un d’autre et en même temps, d’une série de tests unitaires s’assurant que les comportements définis fournissent les résultats escomptés
  • Le testing:
    • tous les tests unitaires doivent être “au vert”
    • le test “du singe” (test en situation “proche de la réalité”, d’utilisation par un imbécile distrait)
    • tests d’intégration
    • autres …
  • La remise :
    • validation par le client du fait que la partie développer correspond à ses attentes

Il existe plusieurs manières d’envisager la gestion d’un projet, selon l’enchaînement des étapes qui conduisent à son aboutissement : modèle en cascade, cycle en “V”, cycles courts des méthodes agiles, test driven development …

Dans tous les cas, voici quelques une des étapes clés dans la conception d’un logiciel de qualité (liste non exhaustive ?) :

  1. La recherche / les specifications. Il s’agit de collecter et exprimer les idées et les besoins pour imaginer le logiciel, en vue de répondre à une question essentielle : quelles fonctionnalités mon logiciel va-t-il offrir ?
  2. La conception architecturale . Avant de cracher du code, il faut organiser le logiciel en fonction de contraintes multiples : la plateforme cible, le modèle commercial du produit, les logiciels tiers existants, … le but à terme est de découper (ou pas) le produit en modules qui permettront d’en faciliter la maintenance.
  3. Le développement. Les codeurs entrent en scène. Ils implémentent les idées et façonnent le code source du logiciel. Il y a tellement à dire … mais on va se contenter de ça pour cette question.
  4. Le packaging . Cette étape permet de passer du code source à des fichiers qui pourront être déployés sur l’architecture cible. Par exemple, un logiciel codé en C++ devra être compilé, et les binaires résultant intégrés à un assistant d’installation. Il ne restera plus à l’utilisateur qu’à double cliquer sur l’installeur pour déployer son logiciel sur son poste.
  5. Le test vise à s’assurer que le développements fournissent bien les fonctionnalités attendues, mais aussi et surtout qu’ils n’introduisent aucun dysfonctionnement dans le produit existant. Dans la mesure du possible, on cherche à automatiser les tests pour s’assurer de la manière la plus fiable et régulière possible qu’aucune régression n’est introduite lors des développements. Un bug dans un produit, c’est la combinaison d’un développement hasardeux et d’un test manquant ou mal fait …

A chaque étape correspond un métier. Dans les structures suffisamment importantes pour se le permettre, ces étapes sont assurées par des personnes distinctes qui apportent leur expertise dans chacune de ces phases (par exemple, au hasard … un excellent développeur peut faire un testeur très médiocre). Une des clés pour un projet réussi dans ce type de scénario est aussi l’implication de chacun dans toutes les phases pour prendre en compte le plus de contraintes possible, au plus tôt. C’est particulièrement vrai pour les phases en amont (spécifications et architecture).

Author

aspini

Leave a comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *