Object oriented software engineering - Timothy. c.Lethbradge Robert Laganiere (McGraw-Hill, 2002)