With the proliferation of web services, the selection process, especially the one based on the non-functional properties (e.g. Quality of Service – QoS attributes) has become a more and more important step to help requestors locate a desired service. There have been many research works proposing various QoS description languages and selection models. However, the end user is not generally the focal point of their designs and the user support is either missing or lacking in these systems. The QoS language sometimes is not flexible enough to accommodate users’ various requirements and is too complex so that it puts extra burden on users. In order to solve this problem, in this thesis we design a more expressive and flexible QoS query language (QQL) targeted for non-expert users, together with the user support on formulating queries and understanding services in the registry. An enhanced selection model based on Mixed Integer Programming (MIP) is also proposed to handle the QQL queries. We performed experiments with a real QoS dataset to show the effectiveness of our framework.