Return to Glossary
A Module is a separate, interchangeable, self contained component that represents a unit of functionality. It is best to define a Module what it does:
It encapsulates code and data into a single unit (usually a file) that implements a specific functionality
It provides an
interface as a contract between the users of the module (i.e., clients) to access the functionality in an consistent way
It allows for the functionality to be plug-able into other modules (i.e., clients) that use the interface
It is packaged in a single unit so that it can be easily deployed. Generally it is stored as a file, but it could be an entry into a database (i.e., stored procedure), a datastream, etc.
For example, dapper.net encapsulates database access. It has an Application Programming Interface (API) to access its functionality. It is a single file that can be plugged into a source tree.
Source: https://softwareengineering.stackexchange.com/questions/167859/what-actually-is-a-module-in-software-engineering