Abstraction
Identify important aspects and ignore details
Abstraction depends on the purpose or view
Models are abstractions of reality
Abstraction permeates software development
- from requirements to code
- from natural language descriptions to mathematical models
- from products to process
One specification but many realizations