Abstraction
Abstraction is a primary guiding design principle
Intellectual tool that allows us to focus on important, inherent properties and suppress unnecessary detail
Permits separation of conceptual aspects of system from the implementation details
Provides a model of behavior
Allows postponement of design decisions
- external/functional
- structural/architectural
- representational/algorithmic