Each entity in turn may provide its services by having an internal architectural design with its own set of subordinate entities. These entities may be called sub-systems, components, modules or classes. The decomposition of a higher-level entity into subordinate entities must be explicit. The algorithm that shows how each method of the larger entity is performed by these components must be explicit. In object-oriented design, the bottom level entities are usually classes.
Classes have several types of relational mechanisms.
Two of these are parameterized classes and inheritance. Each of there two types of relation has a special symbolism in the UML to distinguish it. Use class diagrams from the UML to express these entities. Use the specialized class icons to accurately represent the type of class and use the specialized relation symbols to accurately reflect the relationships of the entities. Note that while the abstract specification and the interface design are usually developed separately in an iterative approach, they are combined for documentation.