Lycée   >   Terminale STMG   >   Sciences de gestion et numérique   >   Programmation modulaire : les fonctions et les procédures

Programmation modulaire : les fonctions et les procédures

  • Fiche de cours
  • Quiz
  • Profs en ligne
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 !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

Sciences de gestion et numérique

Intégration des applications à l'organisation

Sciences de gestion et numérique

Structure de données : les tableaux simples

Sciences de gestion et numérique

Gestion et finance

Le bilan

Sciences de gestion et numérique

Gestion et finance

Le compte de résultat

Sciences de gestion et numérique

Définition des objets de la base de données

Sciences de gestion et numérique

Langage de manipulation des données (LMD) - Partie 1

Sciences de gestion et numérique

Langage de manipulation des données (LMD) - Partie 2

Sciences de gestion et numérique

Langage de définition de données (LDD)

Sciences de gestion et numérique

Langage d'interrogation des données (LID)

Sciences de gestion et numérique

Langage de contrôle de données (LCD)

Sciences de gestion et numérique

Approche des processus organisationnels

Sciences de gestion et numérique

Gestion du projet de système d'information