The quality of software depends mainly on the effectiveness of the software development paradigm. Existing software development paradigms are not flexible and practical enough for developing a system that needs the mix of existing paradigms used in the production of that system. This paper presents a formal specification language, called TUG, to support a system to be developed through an integration of conventional software development, operational specification, rapid prototyping via software transformations, software reuse, and analysis of specifications and programs via testing and proofs. The software development paradigm with the aid of the TUG specification language contributes to the production of reliable and reusable programs.