This book provides a comprehensive treatment of the entire system life cycle using object-oriented techniques (with the exception of implementation). The author discusses fundamental concepts that are applicable to a variety of systems. Furthermore, the book uses the Object Management Group's unified modeling language (UML) for modeling, describing, analyzing, and designing an application.