A Quality-Driven Approach to Enable Decision-Making in Self-Adaptive Software