Module views are commonly mapped to views in the component-and-connector viewtype. The implementation units shown in module views have a mapping to components that executes at runtime. Sometimes, the mapping is quite straightforward, even one-to-one. Often, a single module will be replicated as many components; this one-to-many mapping is also straightforward. However, the mapping can be quite complex, with fragments of modules corresponding to fragments of components.
A common problem is the overloading of the module viewtype with information pertaining to other viewtypes. This can be quite useful when done in a disciplined fashion but can also lead to confusion. For example, showing a remote procedure call (RPC) connection in the module viewtype is implicitly introducing the "connector" concept from the component-and-connector viewtype. The module views are often confused with views that demonstrate runtime relationships. A module view represents a partitioning of the software; therefore, multiple instances of objects, for example, are not shown in this view.
Software Architectures and Documentation
Part I. Software Architecture Viewtypes and Styles
The Module Viewtype
Styles of the Module Viewtype
The Component-and-Connector Viewtype
Styles of the Component-and-Connector Viewtype
The Allocation Viewtype and Styles
Part II. Software Architecture Documentation in Practice
Advanced Concepts
Documenting Software Interfaces
Documenting Behavior
Choosing the Views
Building the Documentation Package
Other Views and Beyond
Rationale, Background, and Design Constraints
References