Enseignement de Fichiers Cobol

MIAGE de Nantes


logo MIAGE de Nantes

Alain VAILLY

Le texte qui suit présente l'enseignement intitulé "Fichiers Cobol" tel qu'il est pratiqué à la MIAGE de Nantes, avec ses principes, ses objectifs, son contenu, une description pratique des TP et de leur notation, les prérequis et une bibliographie. Un pointeur sur les jeux d'essais à utiliser pour les tests complète ce document.

Date de la dernière mise à jour : 11 décembre 2009.

(Version également disponible sur l'Intranet du Centre Informatique d'Enseignement (CIE) de la Faculté des Sciences et des Techniques)


a) principes généraux :

Durant le déroulement de cet enseignement, les principes généraux suivants sont en vigueur :

a.1) implications respectives :

a.2) assiduité :

L'assiduité dans TOUS les enseignements (quelque soit la forme de ceux-ci, cours magistraux, travaux dirigés ou travaux pratiques) est OBLIGATOIRE. Elle fera l'objet d'un contrôle et pourra être utilisée dans l'évaluation.

a.3) charge de travail :

Les étudiants sont supposés relire leur cours avant de venir en TD ou en TP. Le cours, les sujets de TD et de TP sont disponibles dès maintenant sur l'Intranet du CIE. Les dates de remise des dossiers de TP sont fixées ; elles ne seront pas remises en cause. Les dossiers sont à déposer sur la plateforme Madoc, sous forme électronique. Il est possible de rendre les comptes-rendus de TP et le dossier avant la date limite. Il appartient à chaque étudiant de s'organiser comme il l'entend pour respecter les délais. La remise en avance d'un compte-rendu ou du dossier est possible. Elle pourra être prise en compte dans l'évaluation.


b) objectifs affichés :

L'enseignement de Fichiers Cobol a deux objectifs, un principal et un secondaire.

  1. le premier objectif est de faire comprendre aux étudiants ce qui se "cache" derrière les organisations de fichiers, qu'il s'agisse de fichiers séquentiels, de fichiers séquentiels-indexés... et de les doter d'outils algorithmiques propres à traiter n'importe quel problème de type alignement ou rupture.

  2. le second est de former nos étudiants à un langage certes ancien, mais encore très utilisé dans les entreprises. Cobol est, par certains côtés, un diplodocus informatique. Il s'agit néanmoins d'un moyen très souvent employé pour accèder, via des requêtes SQL "embarquées", au contenu d'une base de données. Les milliards de ligne de code Cobol qui dorment dans les mémoires électroniques en attestent.
Le choix du langage s'impose presque naturellement. Nous ne connaissons pas de meilleur moyen pour bien comprendre comment "marche" un fichier indexé que de programmer, en Cobol, une consultation et/ou une mise à jour. Avec trois fichiers, un séquentiel, un indexé qui sert de fichier maître et un fichier indexé avec clés secondaires multiples, c'est encore mieux !


c) contenu des enseignements :


d) mise en oeuvre des travaux pratiques :

Les travaux pratiques se déroulent dans les locaux du CIE, sur les machines du CIE, avec les logiciels installés au CIE. Si, pour des raisons de convenance personnelle, un étudiant travaille chez lui, il devra re-transcrire ses programmes dans le langage PERCobol (le seul avec lequel les tests seront faits) et les exécuter au CIE.

L'environnement technique est le suivant : système Linux, Langage PERCobol, exécution Java.

Les divers éléments nécessaires à la programmation Cobol sont organisés comme suit :

NB0 : le programme à compiler a pour PROGRAM-ID TOTO. Il est stocké dans un fichier TOTO.cob.
NB1 : la commande d'exécution est toujours la même, que le programme soit avec ou sans sous-programmes.
NB2 : l'ordre de compilation d'un programme et de ses sous-programmes est TOUJOURS programme appelant PUIS sous-programmes -eux, dans n'importe quel ordre.
NB3 : il est possible d'enchaîner compilation et exécution, en modifiant légèrement la commande de compilation.

La place qui est allouée n'étant pas extensible, il est prudent de détruire régulièrement tous les fichiers intermédiaires générés par le compilateur. Une fois un programme testé et vérifié par l'enseignant, il est inutile de conserver autre chose que le ".cob".


e) attentes de l'enseignement de Fichiers Cobol des autres enseignements et pré-requis :

Chaque étudiant est supposé savoir rédiger un algorithme avec plusieurs boucles imbriquées. Il doit également être autonome sur un poste de travail et capable de travailler dans un environnement X, avec un éditeur de texte (style emacs ou autre), ouvrir des fenêtres de travail...

Les notions de propriété identifiante, de clé (qu'il s'agisse de clé principale, de clé secondaire, de clé étrangère) sont supposées connues.


f) bibliographie indicative :


i) jeux d'essais :

Une expérience de plus de trente années nous a poussé à développer nous-même les jeux d'essais. Tous (presque tous ??) les étudiants du monde ont, en effet, tendance, à ne voir que quelques cas et à considérer qu'un programme qui a traité correctement deux situations différentes est un programme qui "marche".
La réalité nous oblige à dire que la "marche" est presque toujours beaucoup plus virtuelle que réelle. L'art de prendre ses désirs pour des réalités, sans doute !

Les programmes développés par les étudiants doivent donc OBLIGATOIREMENT être testés avec nos propres jeux d'essais et fonctionner correctement avec eux.


j) éléments de notation :

Lors d'une réunion récente, les critères de notation suivants ont été retenu :

- critères de notation appliqués aux premiers TP :

Les douze points restants sont partagés, à égalité, sur les critères "respect des normes de programmation", "rapidité du développement" et "efficacité" du programme.

- critères de notation appliqués au projet :


Vous voulez nous signaler des erreurs ; Vous n'avez pas compris quelque chose ; Vous avez apprécié ; Vous n'aimez pas...

Dites-le nous en nous envoyant un message. Nous vous répondrons.