Abstract
Several techniques exist for decomposing software systems. Layering is
one example, and it is described in this paper. Such techniques address two
main concerns: most systems are too complex to comprehend in their entirety,
and different perspectives of a system are required for different audiences.
Layering has been adopted in numerous software systems. However, layering
is often misunderstood and incorrectly applied. This paper clarifies what is
meant be layering, and discusses the impact of applying different layering strategies.
|