Applying an Industrial Design Engineering approach in software design