Object-Oriented Software Engineering¶
Cohesion¶
the single-mindedness of a module
Cohesion implies that a component or class encapsulates only attributes and operations that are closely related to one another and to the class and component itself.
Levels of cohesion¶
- Functional
- Layer
- Communicational
- Sequential
- Procedural
- Utility
Coupling¶
The degree to which a component is connected to other components and to the external world
A qualitative measure of the degree to which classes are connected to each other
Levels of coupling¶
- Content
- Common
- Control
- Stamp
- Data
- Routine call
- Type use
- Inclusion or import
- External