Software Engineering uses software development process models and a set of techniques and methodologies for identifying, analyzing and designing information systems. The Unified Modeling Language (UML) is one of such techniques. UML, as a semi-formal language, exhibits problems of ambiguity, clarity, and consistency. Some researchers are attempting to formalize UML by using first order predicate logic (FOPL), set theory, controlled and/or restricted languages, and meta-modeling. However, these approaches have been not enough because they focus on a single chart and merely in syntax, leaving out semantics. In this paper we present a set of FOPL-based rules for representing UML constructs, and a case study, based on UN-Lencep requirement description of a system.