Caractéristiques générales de la méthode de programmation :

 

  1. Apparition de l'informatique :

Depuis la nuit des temps l'homme cherche des solutions aux problèmes qu'il rencontre.


L'espèce humaine en évoluant a fait de plus en plus appel à des outils, des savoir-faire et des modèles qu'elle inventait pour résoudre ses problèmes et modifier son environnement.

Si l'on se réfère à la préhistoire, on peut citer, à titre d'exemples l'apparition des outils en pierre taillée ,en pierre polie, puis en bronze et en fer.

On peut également trouver des exemples similaires dans des périodes plus "contemporaines" comme l'apparition des mathématiques, de la règle à calcul, de la machine à calculer etc...

Dans le cadre de cette perpétuelle évolution, les années d'après guerre ont vu l'apparition d'un nouvel outil : l'informatique.

Le premier véritable ordinateur a été créé en 1942 à BERLIN : il s'agissait du Z3.

En 1946 on construit l'ENIAC qui suit le modèle inventé par Mr Von Neumann, considéré comme le fondateur de l'informatique. Il comporte 800 km de fils, 18000 lampes, 50000 commutateurs et pèse 30 tonnes.

  1. Définition de l'informatique :

On peut trouver plusieurs définitions de l'informatique.

Si l'on se réfère à la norme AFNOR (Association Française de Normalisation).

L'académie française l'a pour sa part défini en 1966 dans les termes suivants:

  1. Rôle de l'informatique :

Des différentes définitions de l'informatique, on peut en déduire que :

L'informatique sert à traiter des données.

Qu'est-ce qu'une donnée?

Une donnée est une entité connue, déterminée dans l'énoncé d'un problème
qui sert à découvrir ce qui est inconnu.

Dans cette acception, le terme de donnée est opposé à celui de résultat.

En informatique, cette définition n'est pas à prendre au pied de la lettre car un résultat peut également être une donnée pour un autre traitement. En particulier si ce résultat est stocké sur un support il devient une donnée pour les personnes qui l'utiliseront dans le futur.


Les données B et C sont le résultat du traitement N°1 mais se sont également les données initiales des traitements N°2 et 3

En informatique, une donnée ce peut être :

- une information permettant de définir ou de quantifier n'importe quoi,

- un code correspondant à un événement provenant de l'extérieur via un capteur quelconque,

- un code émis vers l'extérieur (pouvant déclencher d'autres mécanismes).

Un traitement

Un traitement est le déroulement systématique d'une suite d'opérations

Une opération

Une opération est une action définie qui, appliquée à toute combinaison permise de données, en effectue le transfert ou engendre une nouvelle donnée.

Un transfert

Un transfert est un déplacement de données sans modification de leur valeur.

Voici un exemple :

Opération arithmétique

ADDITION des nombres 3 + 4 = 7

3 et 4 sont les opérandes

7 est le résultat

+ est l'opérateur

Dans cet exemple on engendre
une nouvelle donnée.

Une opérande

Une opérande est une donnée à laquelle s'applique une opération.

Un opérateur

Un opérateur (dans le cas présent) est un symbole indiquant la nature
de l'opération à effectuer.

 

  1. Système informatique :
  1. Définition d'un système informatique :
  2. Un système informatique est un ensemble d'éléments (matériels - hardware ou logiciel software) qui permet de rendre le service informatique escompté.

    Par souci de simplification, nous appellerons ce système informatique ORDINATEUR en gardant à l'esprit que c'est un abus de langage puisque l'ordinateur n'est en réalité que l'élément central du SI.

  3. Caractéristiques d'un système informatique :
  4. Tout matériel devant réaliser un traitement informatique doit être en mesure de :

    - récupérer, selon divers modes, les données à traiter,

    - effectuer les traitements désirés sur ces données,

    - fournir à l'utilisateur les données modifiées ou un code correspondant à un traitement à réaliser.

    Pour effectuer le traitement désiré sur les données, il est indispensable que l'ordinateur connaisse ce traitement. On pourrait envisager de lui communiquer élément par élément, mais cette méthode ne permettrait pas d'exploiter sa qualité fondamentale : la rapidité de fonctionnement. On regroupe donc tous les éléments du traitement dans ce qu'on appelle un programme. Ce programme est ensuite globalement communiqué à l'ordinateur en vue de son exécution.

  5. Le programme :

Définition d'un programme.

Un programme est donc une suite d'instructions établie en vue de son traitement
par un ordinateur. Il doit être mémorisé pour pouvoir être exécuté
automatiquement dès que l'utilisateur en donne l'ordre.

Nous voyons apparaître ici deux termes nouveaux : INSTRUCTION et MEMORISATION.

Définition d'une instruction.

Une instruction est une expression décrivant une partie du traitement en
désignant la nature des opérations et le cas échéant les opérandes sur
lesquelles elle porte ainsi que la destination à donner au résultat.

Représentation du système informatique

Le fait que le programme doive être mémorisé pour être exécuté, nous conduit à une représentation un peu plus détaillée du système informatique.

Un système informatique apparaît donc maintenant comme composé :

- d'une mémoire centrale qui contient les programmes et les données,

- d'une unité de traitement qui exécute le programme,

- et pour mémoire d'unités périphériques d'entrée et de sortie permettant les échanges avec l'extérieur.

Exemple de programme

Entrez la Donnée A

Entrez la Donnée B

Faire Résultat = Donnée A + Donnée B

Ecrire Résultat

On comprend le rôle joué par un programme dans le cadre du travail d'un ordinateur.

La réalisation d'un tel programme s'appelle la programmation.

La programmation

La programmation est donc le moyen de définir et de spécifier à l'ordinateur
l'ensemble des opérations nécessaires pour résoudre un problème.

Si la réalisation d'un programme permettant l'addition de deux entiers ne pose aucune difficulté, il n'en est pas de même pour résoudre les problèmes plus complexes.

  1. Caractéristiques de la méthode structurée :
  1. Schéma de la résolution d'un problème :
  2. Deux facteurs font de la programmation un travail difficile : d'une part la distance entre le problème posé et le programme, d'autre part la diversité des formes que peut prendre un programme.

  3. Les phases de résolution d'un problème :
  4. Le passage du problème au programme se fait en deux étapes :

    - résolution du problème, c'est la phase d'analyse

  5. Détail de la phase d'analyse :

La phase d'analyse passe par la formulation de l'énoncé, la recherche d'une solution explicite, exprimée par son algorithme.

Le passage par un énoncé clair et exhaustif est indispensable. En effet, l'expérience prouve que l'énoncé initial d'un problème posé à un informaticien est en général formulé dans une langue naturelle (par exemple le français) ce qui le rend souvent flou, incomplet et parfois même incohérent. Il décrit (dans le meilleur des cas ) les caractéristiques du résultat du problème. Par contre, le programme est écrit dans un langage artificiel, formel et précis. Il décrit un "calcul", permettant, à partir des données du problème, d'obtenir le résultat. La reformulation de l'énoncé est donc dans la plupart des cas indispensable.

La démarche retenue :

Le but est d'obtenir des résultats, qui seront sous différentes formes: papier, fichier magnétique, écran ... Ces résultats sont les sorties du programme.

Ces résultats doivent être connus et définis, c'est l'étude de:

L'ENSEMBLE DES DONNEES A OBTENIR (E.D.O.)

C'EST L'ETUDE DU QUOI (c'est à dire du RESULTAT)

Pour produire ces résultats, tout programme utilise des données en entrée:

Ces données doivent être définies, et le programmeur doit savoir où les trouver, ou comment les fabriquer. C'est l'étude de:

L'ENSEMBLE DES DONNEES A UTILISER (E.D.U.)

C'EST L'ETUDE DU AVEC QUOI

Lorsque l'on sait ce que l'on veut obtenir et ce que l'on dispose pour arriver à ces fins, il ne nous reste plus qu'à voir comment.

C'EST L'ETUDE DU COMMENT (ou UT unité de traitement)

Les étapes d'analyse du programme sont alors dans l'ordre :

Principe de décomposition :

Nous venons de voir que la résolution de notre problème va se faire par l'étude successive de trois modules EDO, EDU, UT.

L'étude de ces modules va se faire de manière méthodique en employant la méthode descendante ou "Top down design".

Cette méthode consiste à partir de la fonction de plus haut niveau pour "descendre" petit à petit vers les fonctions de plus bas niveau.

Détail de la méthode descendante :

La décomposition passe par la description d'actions intermédiaires. Les principes généraux mis en œuvre résultent de quelques remarques :
- pour aborder une tâche complexe, il est indispensable de la diviser,
- la division s'arrête quand chaque partie est suffisamment petite pour que son fonctionnement puisse être vérifié facilement,
- l'analyse du problème ne doit rien laisser au hasard et pour cela il est fondamental de procéder en progressant du général au particulier et non pas le contraire.

On peut représenter le processus de décomposition par un arbre. La racine de l'arbre symbolise la tâche à effectuer, chaque ramification représente une décomposition jusqu'aux éléments terminaux (feuilles) qui sont, en fin d'analyse, des actions élémentaires.

Pour atteindre le niveau de décomposition suivant, chaque action non élémentaire est divisée en plusieurs sous- actions ou actions intermédiaires. Du point de vue de l'environnement, ceci conduit à l'apparition de nouveaux éléments.

Il est clair qu'au cours de la conception d'un algorithme, on procède à de nombreux retours en arrière, chaque étape pouvant conduire à revenir à un niveau supérieur.

La méthodologie descendante joue un double rôle : celui de support à la compréhension même du problème (permettant de n'en négliger aucun aspect), aussi bien que celui d'un cadre pour sa résolution.

Elle débouche sur la réalisation d'un algorithme.

L'algorithme :

Définition d'un algorithme

Un algorithme est la description, dans un langage universel,
des opérations nécessaires pour résoudre un problème

L'algorithme permet donc de décrire la méthode de résolution d'un problème dans un langage "proche du français" donc compréhensible par le plus grand nombre. L'analyse sera ainsi guidée par un langage adapté aux langages de programmation sans avoir à suivre les règles syntaxiques et sémantiques d'un langage plutôt que d'un autre.

L'algorithme est donc le résultat d'une démarche logique de résolution d'un problème appelée méthodologie de programmation.

En résumé : la méthodologie est donc le fait de poser un problème et de le traiter de manière structurée pour la programmation en s'appuyant sur la conception d'un algorithme qui suit des règles bien précises. Encore appelée Programmation Structurée elle permet, grâce au découpage d'un problème global en un certain nombre de sous- problèmes, une programmation beaucoup plus simple. Cette décomposition permet ainsi, de réduire de niveau en niveau, la complexité du problème initial.

Propriétés d'un algorithme

La précision :

Un algorithme doit indiquer :

- l'ordre des étapes

- Le début et l'arrêt des actions

- Comment choisir entre les différentes possibilités

Le déterminisme :

Une suite d'exécutions de l'algorithme partant des mêmes données doit obtenir les mêmes résultats.

Le caractère fini :

L'algorithme doit être fini dans le temps, c'est à dire s'arrêter.

Les algorithmes reposent sur un nombre restreint de structures fondamentales qui feront l'objet d'une étude détaillée.

exemple : la réalisation d'une recette de cuisine

Les tests :

Intérêt :

En programmation, il n'est pas concevable de livrer un programme qui "marche presque dans tous les cas". Aussi la phase de test est impérative avant de délivrer "l'Aptitude au service" pour un programme.

Seuls ces tests nous permettrons d'être sûr de la qualité de notre produit.

Caractéristiques du jeu d'essai :

Le jeu d'essai doit être un échantillon représentatif des situations possibles. Il doit prendre en compte avec beaucoup de précision les cas particuliers qui sont généralement la source de la majorité des erreurs détectées après la phase de conception.

La trace :

La trace est un tableau représentant le déroulement séquentiel du jeu d'essai. Elle ne constitue en aucun cas une preuve de correction de l'algorithme mais permet de concrétiser son déroulement, et par là même de faciliter sa compréhension.

  1. La nécessité d'une méthode :
  1. Caractéristiques et conséquences de la programmation sans méthode :

  • Commencer par écrire un programme
  • Tester ce programme et détecter les erreurs
  • Corriger chaque erreur détectée en modifiant un morceau de programme (ceci s'appelle mettre des Rustines).
  • Retourner au 2
  • Cette façon de procéder peut parfois avoir quelques succès relatifs avec de très petits programmes. Au niveau supérieur de nombreux projets élaborés avec ce manque de méthode ont dû être abandonnés faute d'une mise au point satisfaisante.

    On constate que cette démarche ne peut pas déboucher sur un produit de qualité.

    Mais au fait qu'est-ce- que la QUALITE?

    1. Définition et recherche de la qualité :
    2. La qualité est une démarche qui tente d'identifier et de maîtriser
      tous les coûts inutiles, dus pour la plupart à un manque :

      - d'organisation
      - de communication
      - d'information
      - de méthode

      La méthodologie de programmation fait donc partie des composantes indispensables à une réalisation de qualité.

      Dans le domaine des logiciels (des programmes) la qualité s'évalue à partir des deux facteurs suivants :

      - l'utilisabilité ou capacité du produit à être utilisé.

      - La maintenabilité ou capacité du produit à être maintenu en condition opérationnelle.

      Utilisabilité

      fiabilité

      conformité

      ergonomie

      Maintenabilité

      portabilité

      capacité à être corrigé

      capacité à évoluer

    3. La conduite des grands projets :

    Le cycle de développement d'un système d'information depuis le début de sa conception jusqu'à sa mise en place, comprend 10 phases selon la METHODOLOGIE DE DEVELOPPEMENT DE SYSTEME SDMS (STRUCTURED DATA MANAGEMENT SYSTEM). Ces dix phases sont:

    D

    E

    M

    A

    R

    R

    E

    R

    La demande de service - l'étude d'opportunité (D.S./E.O.): La demande de service initialise le cycle de développement du S.I..

    L'étude d'opportunité fournit à la hiérarchie les informations nécessaires lui permettant de décider d'engager ou non le développement.

    A

    N

    A

    L

    Y

    S

    E

    R

     

     

    La Définition des besoins du système (D.B.S) : Définition claire des problèmes et des besoins des utilisateurs

    C

    O

    Le choix d'architecture du système (C.A.S.): L'équipe "projet" examine les différentes solutions possibles, choisit les plus viables et les présente à l'utilisateur.

    N

    C

    E

    Les spécifications externes du système (S.E.S.): Spécification détaillée des entrées, des règles de gestion et des sorties avec l'approbation des utilisateurs.

    V

    O

    I

    R

    Les spécifications internes du système (S.I.S.): Définition du détail de la logique de traitement (application de la méthode "LCP"), des structures des fichiers, des enregistrements et des interfaces entre les programmes et modules. Les derniers détails des entrées/sorties sont précisés.

    R

    E

    A

    L

    La programmation (PROG): Transformation dans un langage source de l'analyse validée.

    I

    S

    E

    R

    Les tests (TEST): Mise au point avec un jeu d'essais des programmes.

    Intégration des différents composants du système et vérification par des jeux d'essai.

    I

    N

    S

    T

    La conversion (CONV): Conversion des données utilisées dans le système existant devant être disponibles au démarrage du nouveau système.

    A

    L

    L

    E

    R

    L'installation (INS): Installation et recette des matériels et des Logiciels. Préparation du manuel d'utilisation. Formation des personnels. Acceptation définitive du nouveau système.

    E

    V

    A

    L

    U

    E

    R

     

     

    Le bilan (BILAN) : Après 6 à 9 mois, vérification de l'efficacité du nouveau système

    Home