Object-Oriented Analysis and Design: Foundations & Concepts