Module diagrams are used to show the allocation of classes and objects to
modules in the physical design of a system, that is module diagrams indicate
the partitioning of the system architecture.
Through these diagrams it is possible to understand the general physical
architecture of a system.
The two essential elements of a module diagram are modules and their
The first three icons denote files. The specification and the
body icon denote files containing the declaration (.h files)
and definition (.cpp files) of entities.
The main program icon denotes a file that
contains the root of a program (some .cpp file). Typically there is
one such module per program.
- Specification & body
- Main program
The only relationship we may have between two modules is a compilation
dependency, represented by an arrow pointing to the module upon which the
dependency exists. Normally, there may be no cycles within a set of compilation
dependencies. In C++ this is indicated by #include directives.
The informal convention is to collect related modules in directory structures.
The notion of subsystem is introduced for such a reason. Subsystems partition
the physical model of the system, they are aggregates containing other modules
and other subsystems.
A subsystem can have dependencies upon other subsystems or modules, and a
module can have dependencies upon a subsystem. The same notation is used for
You can place the
modules in different subsystems. In C++ these are different directories.
Last modification: 29 January 2001
Last significant update: 26 April 1996