Designing object-oriented software - Wirfs-Brock, Rebecca; Wiener, Lauren; Wilkerson, Brian