The Object-Oriented (OO) process is an evolutionary approach to software engineering. It encompasses the entire software life cycle, from operational concept through release. The OO paradigm focuses on classes that encapsulate data and algorithms for manipulating the data. OO classes promote reusability across applications. OO technologies (OO Design, OO Languages, OO Metrics, OO Modeling, OO Specifications, and OO Testing) support the OO paradigm.