1. Analyse system in domain model2. Declarative implementation3. Make things as simple as possible4....