Despite recent developments in formal methods, formal methods have yet to enter the mainstream of software industry. In this paper, we first examine the pragmatic obstacles of making formal methods practical and usable. Then, we present a pragmatic approach to integrate a popular Object-Oriented modeling notation UML and a popular formal notationZ. Our approach is distinctive in its emphasis on overcoming the practical obstacles. We also present a light-weight supporting tool for our approach. A prototype of the supporting tool is completed. It allows us to demonstrate the feasibility and capability of our approach.