Use case models are widely used in software engineering. It is important to improve the understandability and maintainability of use case models. Refactoring is a behavior-preserving transformation. The research shows that refactoring as a concept can be broadened to apply to use case models to improve their understandability, changeability, reusability and traceability. In this thesis a use case metamodel is described for use case modeling in detail. Then some refactoring rules for the use case metamodel are defined and implemented. Based on the Drawlets framework, a prototype tool is implemented for defining the use case models and applying refactorings to the models. A case study is also presented to illustrate the practical use of these refactorings. The experience shows that the tool facilitates the refactoring process greatly.