Maintenance-oriented selection of software components