Guide de la programmation modulaire et des bases de données

Classé dans Informatique

Écrit le en français avec une taille de 10,08 KB

La programmation modulaire : principes et avantages

La programmation modulaire est un paradigme de programmation qui consiste à diviser un programme en modules ou en applets pour le rendre plus lisible et plus maniable. La programmation modulaire permet de décomposer un problème en un ensemble de sous-problèmes indépendants les uns des autres, plus faciles à résoudre et pouvant être traités séparément. Grâce aux sous-programmes modulaires, les modules peuvent être testés de façon indépendante, permettant la correction de leurs erreurs avant leur inclusion dans le programme principal et leur stockage pour une utilisation ultérieure autant de fois que nécessaire.

La programmation modulaire se compose de plusieurs sections divisées afin d'interagir par le biais d'appels de procédure, qui forment l'ensemble du programme. Dans ce cadre, le programme principal coordonne les appels aux modules secondaires et passe les données requises en tant que paramètres. À son tour, chaque module peut contenir ses propres données et appeler d'autres modules ou fonctions.

Qu'est-ce qu'un module ?

Un module est chacune des parties d'un programme qui résout l'un des sous-problèmes issus du problème complexe initial. Chacun de ces modules a une tâche bien définie et peu d'autres besoins pour fonctionner.

L'un des éléments de programmation principaux utilisés dans la représentation de chaque module est le sous-programme : une série d'instructions informatiques qui effectuent une tâche. Un module est un segment, une routine, une sous-routine, un sous-algorithme ou une procédure, qui peut être défini dans un algorithme pour effectuer une tâche spécifique et peut être appelé à partir de l'algorithme principal au besoin. Les modules ont une entrée et une sortie. Des décisions peuvent être prises dans un module ayant un impact sur l'ensemble du flux, mais le saut doit être effectué vers le programme principal.

Quand la modularisation est-elle utile ?

Cette approche de segmentation ou de modularisation est utile dans deux cas :

  1. Lorsqu'il y a un ensemble d'instructions ou une tâche spécifique à effectuer à plus d'une occasion.
  2. Lorsqu'un problème est complexe ou étendu, la solution est alors divisée ou segmentée en pièces ou modules qui exécutent des tâches spécifiques.

Avantages de la programmation modulaire

  • Indépendance des modules : un module peut être modifié sans affecter les autres.
  • Facilité de conception : l'utilisation de modules facilite la conception et la compréhension de la logique sous-jacente pour le programmeur et l'utilisateur.
  • Maintenance simplifiée : l'entretien et la modification de la programmation sont facilités.
  • Développement modulaire : cela signifie que l'on peut identifier les principales tâches à exécuter par le programme, ce qui permet de concevoir et de tester des procédures individuelles pour ces tâches.

Gestion des données et des paramètres

Durée de vie des données

Selon l'endroit où elles sont déclarées, il peut y avoir deux types de variables :

  • Globales : les variables restent actives tout au long du programme.
  • Locales : les variables sont créées lorsque le programme arrive à la fonction ou à la procédure dans laquelle elles sont définies. Après la procédure ou la fonction, elles disparaissent de la mémoire.

Types de paramètres

  • Paramètres formels : il s'agit d'un type spécial de variables dans une procédure qui peut passer des valeurs en dehors de la procédure. Ils sont déclarés dans l'en-tête de la procédure.
  • Paramètres par valeur : ce sont les paramètres qui peuvent recevoir des valeurs, mais ne peuvent pas les renvoyer. Il s'agit d'une variable globale qui se connecte à une variable locale en envoyant sa valeur, après quoi il n'y a plus de relation. Ce qui arrive à la variable locale n'aura aucune incidence sur la variable globale.
  • Paramètres par variable : ce sont ceux qui peuvent recevoir et renvoyer des valeurs. Ce sont des variables globales qui sont connectées avec une variable locale à travers son contenu ; en établissant cette connexion, les variables deviennent synonymes, ce qui affecte la variable locale affectera également la variable globale.

Fonctions et procédures

Les procédures

Les procédures sont des sous-programmes, à savoir des modules qui font partie d'un programme et effectuent une tâche spécifique. Elles peuvent avoir leurs propres variables, appelées variables locales, qui ne peuvent être utilisées que dans le corps de la procédure et non dans le corps principal du programme.

Les fonctions

La fonction est similaire à une structure indépendante de modules. La différence est que la fonction est utilisée pour retourner une valeur unique d'un type de données simple à son indice de référence. Les fonctions sont divisées en :

  • Standard : fonctions fournies par n'importe quel langage de programmation de haut niveau, divisées en catégories arithmétiques et alphabétiques (chaînes de caractères).
  • Définies par l'utilisateur : ce sont des fonctions définies par le programmeur pour effectuer certaines tâches spécifiques, habituellement utilisées pour des calculs nécessaires à plusieurs reprises dans l'algorithme principal.

Similitudes entre procédures et fonctions

  • Dans les deux cas, elles se composent d'un en-tête et d'une partie de déclarations d'instructions.
  • Les deux sont des unités de programme indépendantes.
  • Les paramètres, constantes et variables déclarés sont locaux à la fonction ou à la procédure.
  • Le nombre et le type des paramètres réels doivent correspondre aux paramètres formels (avec une exception pour l'association d'un entier à un réel).

Différences entre procédures et fonctions

  • Une procédure est appelée par une instruction d'appel, tandis qu'une fonction est appelée par son nom dans une expression.
  • Une fonction doit être associée à un type de données pour sa valeur de retour.
  • Les fonctions retournent généralement une valeur unique, alors que les procédures peuvent en retourner plusieurs ou aucune (tâches d'exécution comme une sortie).
  • Dans les procédures, les valeurs sont retournées via des paramètres variables, tandis que pour une fonction, la valeur est retournée en attribuant le résultat au nom de la fonction.

Introduction aux bases de données

Une base de données est un ensemble de données appartenant à un même contexte et stockées systématiquement pour une utilisation ultérieure. Il existe des programmes de gestion appelés Systèmes de Gestion de Base de Données (SGBD) pour stocker et accéder aux données de manière rapide et structurée.

Définition et caractéristiques

On définit une base de données comme un ensemble de données organisées sous forme de tableaux interdépendants, collectées et utilisées par les systèmes d'information d'une entreprise pour produire de l'information. Les caractéristiques principales incluent :

  • Indépendance logique et physique des données.
  • Redondance minimale.
  • Accès par plusieurs utilisateurs simultanés.
  • Intégrité et sécurité des données.
  • Requêtes complexes optimisées.
  • Sauvegarde et récupération.
  • Accès via des langages de programmation standards.

Le SGBD est un logiciel dédié à fournir une interface entre la base de données, les utilisateurs et les applications. Il se compose d'un langage de définition de données (DDL), d'un langage de manipulation de données (DML) et d'un langage d'interrogation.

Avantages et inconvénients

Avantages :

  • Contrôle de la redondance et cohérence des données.
  • Partage des données entre utilisateurs autorisés.
  • Respect des normes et standards de format.
  • Amélioration de l'intégrité, de la sécurité et de l'accessibilité.
  • Augmentation de la productivité et de la maintenance.

Inconvénients :

  • Complexité des programmes.
  • Coût de l'équipement supplémentaire.
  • Vulnérabilité aux pannes.

Parmi les types de bases de données courants, on trouve : MySQL, PostgreSQL et Oracle.

Le langage SQL et ses fondamentaux

Le Structured Query Language (SQL) est un langage déclaratif d'accès aux bases de données relationnelles. Il permet de spécifier divers types d'opérations en utilisant l'algèbre relationnelle pour récupérer ou modifier des informations.

Composantes du langage SQL

  • DML (Data Manipulation Language) : permet d'accéder, créer, modifier ou supprimer des données.
  • DDL (Data Definition Language) : permet de créer, modifier ou supprimer des objets de base de données et des privilèges.
  • Contrôle des transactions : assure la cohérence en organisant les instructions en unités logiques qui réussissent ou échouent ensemble.
  • Contrôle de session : permet de gérer les propriétés de la session d'un utilisateur, de la connexion à la déconnexion.

Entrées associées :