The invention provides a backward learning-based dynamic multi-attribute service selecting method. The method comprises the following steps: 1, user preferential learning based on backward learning: initializing a service set, a user set, a service evaluation level set and a user non-functional attribute evaluation link (UQEL) table; calling service several times and giving evaluation by a user, mapping the user evaluation on service to evaluation on corresponding non-function attribute, adding to the UQEL table of the user to acquire a user preferential table finally; and 2, weight-based dynamic multi-attribute service selection: generating a candidate service set according to user requirement to acquire a user preferential set, calculating the weight of each non-functional attribute to generate a dynamic decision matrix sequence, calculating weight included angle cosine of a user preferential vector and a candidate non-functional attribute vector, the weight of each observation time, and the weight cosine sum of each candidate service in all observation times, and recommending the service with the maximum weight sum to the user. The method is used for realizing adaptive service selection without more participation of users, is convenient to use, and has good service selection adaptability.