Résumé
En informatique, la programmation modulaire reprend l'idée de fabriquer un produit (le programme) à partir de composants (les modules). Elle décompose une grosse application en modules, groupes de fonctions, de méthodes et de traitement, pour pouvoir les développer et les améliorer indépendamment, puis les réutiliser dans d'autres applications. Le développement du code des modules peut être attribué à des (groupes de) personnes différentes, qui effectuent leurs tests unitaires indépendamment. Cette méthode de regroupement permet de réaliser une encapsulation comparable par certains aspects à celle de la programmation objet, et permet l'organisation du code source en unités de travail logiques. Les modules définissent également des espaces de noms utiles lors de leur utilisation. La programmation modulaire n'implique pas l'usage d'un style de ou d'un paradigme de programmation particulier ; les éléments qu'elle structure peuvent être de style objet, impératif ou fonctionnel. L'opposée de la programmation modulaire est le raffinement. Ce style de programmation facilite grandement l'amélioration progressive, la ré-utilisabilité et le partage du code, et est particulièrement utile pour la réalisation de bibliothèques. De plus, suivant les langages de programmation, les modules peuvent être paramétrés et/ou polymorphes (foncteur) ce qui apporte une modularité dont la souplesse décuplée amène alors à parler de généricité. La programmation générique est un sur-ensemble qui peut tirer avantageusement parti de la modularité apportée par la programmation modulaire. Les composants sont souvent perçus en termes de boites noires / boites blanches. Un composant est vu comme une boîte noire lorsqu'on ne s'intéresse qu'à son usage et son comportement, défini par exemple par des spécifications, une notice d'emploi, un bornier : c'est le point de vue de l'utilisateur. Un composant est vu comme une boîte blanche lorsqu'on s'intéresse à son organisation et à son fonctionnement : c'est le point de vue du concepteur, du fabricant, du réparateur.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (17)
COM-112(a): Project oriented programming
Ce cours complète les connaissances sur le langage C++, en particulier sur le développement d'application modulaire robuste (principe de séparation des fonctionnalités). La dimension pratique étant ju
ME-213: Programmation pour ingénieur
Mettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introductio
ENG-209: Data science for engineers with Python
Ce cours est divisé en deux partie. La première partie présente le langage Python et les différences notables entre Python et C++ (utilisé dans le cours précédent ICC). La seconde partie est une intro
Afficher plus
MOOCs associés (2)
Parallel programming
With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn th
Parallel programming
With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn th