Programmation modulaire : les fonctions et les procédures - Cours de Sciences de gestion et numérique Terminale pro avec Maxicours

01 49 08 38 00 - appel gratuit de 9h à 18h (hors week-end)

Programmation modulaire : les fonctions et les procédures

Objectif :
pourquoi découper une application en modules ?
1. Présentation : évolution de la programmation structurée en programmation modulaire
Rappel : les applications informatiques simples sont élaborées à partir les trois constructeurs de la « programmation structurée » : la séquence, l'alternative et la répétitive.

Lors du développement d'applications plus complexes ou de la maintenance adaptative permettant l'évolution du système d'information des organisations, il est important de découper l'application en parties distinctes correspondant à des modules applicatifs : les fonctions et les procédures.
2. Approche de la modularisation applicative
a. Du traitement de base à sa modularisation
Une application informatique correspond à la gestion de données qui sont traitées pour fournir des résultats.


La gestion modulaire d’une application consiste en la délocalisation des traitements dans une fonction ou procédure.


Les traitements sont alors encapsulés, ils deviennent invisibles à ses utilisateurs qui n’en retiendront que les fonctionnalités.
b. Avantages de la programmation modulaire
Les avantages se situent à deux niveaux :

• celui correspondant au développement propre de l'application en tant que tel (vision particulière), par :
     - découpage logique des fonctionnalités de l'application à partir du travail d'analyse de la DSI effectuée sur le problème posé (notion d'analyse fonctionnelle),
     - délocalisation des traitements que l’on pourra réutiliser à plusieurs endroits d’une application, ou dans plusieurs applications (notion de réutilisation de code),
     - les traitements sont cachés ce qui permet une maintenance facilitée et transparente (notion d’encapsulation de code),

• et le niveau correspondant à la gestion de projet (vision plus globale) :
     - offrir la possibilité de créer des bibliothèques de fonctions et de procédures qui pourront être réutilisées dans le cadre des différents projets,
     - permettre le travail en équipe de plusieurs « développeurs » qui peuvent travailler simultanément sur un même projet à partir du développement de fonctions et de procédures correspondant chacune à une partie détaillée des spécifications du projet.
3. Fonctions et procédures
a. Intrinsèque (prédéfinie) et utilisateur
Les fonctions et procédures peuvent être soit :

intrinsèques ou prédéfinies, c'est-à-dire qu'elles sont fournies par les applications informatiques au travers des bibliothèques, et utilisées directement par le développeur de l'application au travers du prototype (en-tête) et de la définition fonctionnelle de la fonction ou procédure,
Exemple en Visual Basic : Cstr(paramètre) permet de convertir le paramètre en chaîne de caractères ; un développeur peut utiliser d'instruction MsgBox(Cstr(NOMBR)) en utilisant directement la fonction intrinsèque ou prédéfinie.

• ou encore « utilisateurs », c'est-à-dire que la fonction ou la procédure va être définie (conception) puis développée (codification) par l'utilisateur (le développeur) qui va devoir définir le prototype (en-tête) et le code des traitements correspondant à la logique fonctionnelle.
(Des exemples seront fournis ultérieurement.)
b. Les fonctions
Une fonction est une partie logique d'un programme qui va traiter de 0 à plusieurs données pour fournir un (et un seul) résultat.
La forme d'une fonction selon l'approche algorithmique :

   Fonction NOMFONCTION (données paramètres(types)) résultat (type)
    variables locales : liste des variables locales typées
    début
           traitements
           retourner(résultat)
    fin

Attention : une fonction doit toujours retourner le résultat.

Programmation des fonctions :

c. Les procédures
Une procédure est une partie logique d'un programme qui va traiter de 0 à plusieurs données pour fournir de 0 à plusieurs résultats.
La forme d'une fonction selon l'approche algorithmique :

    Procédure NOMPROCEDURE (données paramètres(types), résultats paramètres (types))
    variables locales : liste des variables locales typées
    début
           traitements
     fin

Attention : le retour des résultats se fait directement par la modification des valeurs de paramètres indiqués résultats dans le prototype (en-tête) de la procédure.

Programmation des procédures :

d. Prototype ou en-tête de fonctions ou procédures
Le prototype (ou en-tête) d'une fonction ou procédure correspond à la déclaration des paramètres entrants (les données) et sortants (les résultats).
Exemple :
• Fonction NOMFONCTION (données paramètres(types)) résultat (type)
• Procédure NOMPROCEDURE (données paramètres(types), résultats paramètres (types))

Associé à sa définition applicative le prototype (ou en-tête) de la fonction ou procédure est un outil de communication entre les acteurs de l'application du projet ; c'est la passerelle commune entre le développeur et les utilisateurs de la fonction ou procédure.
e. Variables globales, variables locales, paramètres (arguments)
Une variable globale est une variable visible (et donc modifiable) à tous les endroits d'un programme (programme principal, procédures événementielles, fonctions et procédures).

Une variable locale est une variable déclarée dans une fonction ou une procédure (dont les procédures événementielles) sa visibilité (et donc sa modification) est localisée à la fonction ou la procédure.

Un paramètre appelé aussi argument d'une fonction ou procédure, déclaré dans le prototype (ou en-tête) est un élément de communication entre l'application appelante et la fonction ou procédure. Il existe trois types de transmission d'informations entre une fonction ou procédure et son environnement extérieur :
     - données qui transmet des paramètres (ou arguments) par valeur,
     - résultats qui transmet des paramètres (ou arguments) par adresse ou référence,
     - données/résultats qui transmet des paramètres (ou arguments) par adresse ou référence.

Illustration avec un programme Visual Basic Application

4. Mise au point de l'application
La mise à disposition de bibliothèques (fonctions, procédures, objets) permet de faciliter le travail des développeurs en veillant à la qualité, à l'évolution et à la maintenance des applications.
Les bibliothèques, mais aussi des outils tels que les traceurs de code pas à pas et les débuggeurs sont mis à disposition des développeurs au travers d'environnement de développement intégré (EDI).
Chaque développeur peut effectuer les tests unitaires des modules dont il a la charge, puis les inclure à l'application en prévision des tests d'intégration (systèmes, globaux), préalable à la mise en exploitation de l'application auprès des utilisateurs du système d'information.
L'essentiel
La vocation du développement de modules (fonctions ou procédure) est de permettre le découpage logique des applications pour permettre une approche qualitative et une maintenance facilitée.

La programmation modulaire s'intègre dans une notion de gestion de projets et de répartition des tâches entre plusieurs développeurs qui travaillent en parallèle sur la même application, ainsi que de la réutilisation de code au travers de la mise en commun des fonctions, des procédures ou des classes d'objets dans des bibliothèques utilisables au travers d'outils logiciels : les environnements de développement intégré (EDI).

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Découvrez
Maxicours

Des profs en ligne

Géographie

Des profs en ligne

  • 6j/7 de 17h à 20h
  • Par chat, audio, vidéo
  • Sur les 10 matières principales

Des ressources riches

  • Fiches, vidéos de cours
  • Exercices & corrigés
  • Modules de révisions Bac et Brevet

Des outils ludiques

  • Coach virtuel
  • Quiz interactifs
  • Planning de révision

Des tableaux de bord

  • Suivi de la progression
  • Score d’assiduité
  • Une interface Parents