The book is divided in two parts: the first part presents concepts of the object-oriented paradigm and the UML notation of these concepts, and the second part provides a number of examples of applications that use the material presented in the first part.