A NFR-Based Framework for User-Centered Adaptation