Selon Stephen Schach, «Génie logiciel classique et orienté objet», chapitre 6:
un module consiste en un seul bloc de code qui peut être invoqué de la même manière qu'une procédure, une fonction ou une méthode est invoquée
Cela semble très vague et large. Alors, quelqu'un pourrait-il l'expliquer clairement et montrer des exemples réels de la façon de diviser une exigence en modules? Merci.
Le module peut être un terme surchargé, à tel point que Wikipedia le décrit sous le terme de programmation modulaire lors de l'examen de son utilisation par rapport au logiciel. Ils en discutent en termes de programmation structurée basée sur une approche de conception descendante. Caractéristiques clés de la modularité liées à l'utilisation d'un faible couplage et d'une forte cohésion .
Mon utilisation a été que dans un langage comme C ou même C ++, un module est lié à la définition d'une unité compilée séparément à partir d'un fichier source (.c ou .cpp) et généralement un fichier d'en-tête associé (.h). D'autres langages utilisent le module comme description, et le langage Modula-2 place la structuration autour des modules au premier plan dans son nom et son approche.
Par le passé, le module a d'autres conséquences qu'elles ont été décrites dans le DL Parnas papier « sur les critères à utiliser dans l' Decomposing Logiciel en modules » . Il s'intéresse principalement aux avantages du remplacement de la décomposition fonctionnelle par une décomposition orientée données qui a constitué un grand pas vers notre état actuel de la technique qui est la décomposition orientée objet.
Les langages orientés objet sont organisés autour de classes, donc peut-être que le terme module est moins important et moins précis dans ce contexte.
la source
Il n'y a pas de définition formelle d'un module, et ce qu'un module est (ou n'est pas) dans le contexte de votre projet dépend en grande partie de la nature et de la conception du projet.
De manière générale, un module est un morceau de code autonome qui fournit des fonctionnalités spécifiques et étroitement couplées, les modules définissent et appliquent des limites logiques dans votre code.
la source