Web service discovery plays a crucial role in the development of applications based on service-oriented architecture, due to the importance of identifying services capable of fulfilling the requirements of service requesters. In the field of software engineering, web service discovery can be applied to the problem of software component retrieval in order to facilitate the reuse of software components and speed up the development of new software projects. Unfortunately, most existing service discovery schemes are unable to perform this task effectively due to manual service queries, a lack of support for service queries using unified modeling language (UML), and the high degree of complexity associated with integration. This study proposes a novel approach to resolving this situation referred to as SCRUMTE (Service Component Retrieval with UML Modeling and Term Expansion). The proposed system provides three functions: 1) the generation of a lexically expanded term set for each candidate service in the service repository; 2) transformation of required UML models into WSDL (Web Services Description Language) documents for use in service queries; and 3) integration of a web service retrieval mechanism for the identification of services based on textual similarities and service integration. This system was designed to assist software developers in the search for service components according to their specific requirements. Experiment results demonstrate that the search precision of the SCRUMTE system far exceeds that of text-based approaches.