The Object-Oriented Approach: Concepts, Systems Development, and Modeling with UML, Second Edition