La maintenance des programmes

De Wiki EELL.

(Différences entre les versions)
m (Voir aussi : Catégorisation)
m (Bibliographie : Ajout de liens vers wikibooks)
Ligne 58 : Ligne 58 :
# L'exploitation et la maintenance.
# L'exploitation et la maintenance.
== Bibliographie ==
== Bibliographie ==
 +
 +
* https://fr.wikibooks.org/wiki/Introduction_au_test_logiciel
 +
* https://fr.wikibooks.org/wiki/Patrons_de_conception
 +
== Voir aussi ==
== Voir aussi ==
[[Catégorie:Documentation]]
[[Catégorie:Documentation]]

Version du 31 mai 2017 à 14:22

Cette page n'est pas finie. Veuillez considérer le plan et le contenu comme incomplets et en préparation, temporaires et sujets à caution. Si vous souhaitez participer, il vous est recommandé de consulter sa page de discussion au préalable.

Sommaire

Introduction

Mise à jour: janvier 1991 - 2010

Les programmeur qui ont la charge d'écrire des programmes sont de plus en plus nombreux, d'autres auront la charge de les modifier, et par voie de conséquence la maintenance de leurs programmes prend de l'importance.
Il peut être plus efficace d'écrire un nouveau programme plutôt que de bricoler un programme mal structuré ou difficile à lire. Si le programme est difficile à lire il devra être abandonné ou utilisé tel quel. Il en résulte que la programmation effectuée sans souci de la maintenance doit être considéré comme du temps perdu.

Afin d'améliorer la qualité de vos programmes il est nécessaire de les documenter plus ou moins abondamment, pour être très compréhensibles sans être trop lourds.
Les commentaires alourdissent peu le traitement par le préprocesseur et ne prennent pas de temps à la compilation.
Faites des modules courts, écrivez de nombreuses fonctions dans des fichiers indépendants avec leur module d'épreuve (de test). Le critère de complexité d'une fonction ne devrait pas dépasser 50 lignes de programme ou 10 blocs.
Structurez vos programmes par une analyse bien faite avec un seul point d'entée et un seul point de sortie en dehors des sorties sur erreurs. N'oubliez les procédures d'échappement dans les boucles! (Ignorez les GOTO)
Utilisez des noms courts (pas trop) pour les variables, et des verbes pour les procédures et fonctions. vous pouvez nommer les variables globales avec des préfixes de 3 caractères majuscules suivis d'un souligné qui rappellent le nom de la fonction ou le nom du fichier source auxquels ils sont associés; cela facilite la compréhension dans les autres modules.
En dehors des variables locales évitez les noms courts: i, j, k etc. Ils sont difficiles à retrouver pour les modifier.
Utilisez le générateur de documentation mkd pour contrôler vos codes.
Intégrez les tests unitaires (avec #define TESTS_U) et points de test (#ifdef TEST_U ... #endif) dans vos modules.
Prévoyez le cas échéant les tests d'intégrations (avec #define TESTS_I dans l'entête de version | version.h pour le C) pour évaluer le module quand tout sera au point, avant les tests de validation et la mise en service d'un programme stable.

Si vous n'avez pas la charge d'établir le cahier des charges. exigez un cahier des charge précis afin qu'il n'y ait pas d'ambiguïté dans la qualité du code à rendre; si on vous le refuse précisez les charges qu'on vous a donné dans vos entêtes de programme.

Généralités

  1. Si vous avez la charge d'administrer votre système;
    En 2010 il n'y a plus de problème pour installer les systèmes d'exploitation.
    L'ordinateur: Choisissez un ordinateur avec processeurs sur 64 bits. Ils prennent plus d'espace mémoire mais sont plus rapides à l'exécution.
    Le système d'exploitation: est à choisir en fonction des projets
    - WINDOWS 7 fonctionne avec des processeurs 32 et 64 bits. Téléchargez les version beta-test ils sont généralement gratuits.
    - LINUX est gratuit; les compilateurs et interpréteurs sont de très bonne qualité. UBUNTU est très bien distribué et les mises à jour sont aisées. Évitez les distributions linux semi-propriétaires, ils n'ont généralement aucun intérêt.
  1. Si vous avez le choix du langage:
    1. l' ASSEMBLEUR Toujours d'actualité, très utile pour programmer les microprocesseurs.
      C'est le langage le plus proche de la machine (du processeur). Il permet tout, il a accès à tout. C'est un langage de techniciens. On utilise l'assembleur pour créer les compilateurs des langages évolués et c'est aussi le langage par excellence des automaticiens pour la programmation 'temps réel'
      On choisira l'assembleur pour ajouter des fonctions inexistantes des les bibliothèques des langages, pour l'interfaçage de modules de matériels spécialisés etc.
    2. Le BASIC Il y a bien le Visual Basic de Microsoft intégré Visual C ...
      A ses débuts c'était le langage interprété pour les débutants. Les nouveaux BASICs permettent de structurer les programmes, ils sont devenus performants et compilables
    3. Le C, C++ Langage de qualité toujours d'actualité avec le C++. Il se prête bien à la compilation des exécutable et librairies dynamiques (.dll et .so)
      A ses débuts le langage C a été développé pour écrire le système d'exploitation UNIX; on pourrait le considérer comme un assembleur très perfectionné. C'est un langage typique de techniciens de l'informatique, très efficace, qui a hérité du PASCAL.
      Le langage C | C++ doit être préféré pour ses performances, surtout en calcul, (bien qu'aujourd'hui les interpréteurs sont très rapides et permettent le PHP,le HTML etc. sans que l'on remarque trop de retard d'affichage.)
    4. Le FORTRAN N'est quasiment plus utilisé en 2010. C'est le plus ancien des langages utilisé par les scientifiques.
    5. Le PASCAL Semble bien abandonné en 2010, tout comme ADA. Le PASCAL était le langage préféré des enseignants. Sa bibliothèque standard est pauvre !
  1. Si vous devez établir le cahier des charges:

L'emboitage ou l'organigramme structuré

  1. Généralités
  2. Analyse du programme
  3. Représentation
    1. La séquence
    2. Le Si (conditions), alors: (actions 1), sinon: (actions 2)
    3. Le Tant que (conditions), répéter: (actions)
    4. Le Répéter: (actions), tant que (conditions)
    5. Le Pour toutes (conditions), répéter: (actions)
    6. Le Au cas où (expression), exécuter la séquence du cas.

La programmation

  1. Les entêtes (organisation et présentation).
    1. Les entêtes des programmes et modules.
    2. Les entêtes de fonctions et de procédures.
  2. Les déclarations de variables.
    1. Les variables globales.
    2. Les variables d'unité ou de module.
  3. Méthode d'écriture.
    1. Exemples de commentaires en C C++.
    2. Exemples de commentaires en PASCAL.
    3. Exemples de commentaires en ASSEMBLEUR.
  4. Les épreuves (tests)
    1. Les tests intégrés ou d'intégration.
    2. Les tests de validation et d'exploitation.
  5. L'exploitation et la maintenance.

Bibliographie

Voir aussi

Outils personnels