Practical object-oriented design with UML - Priestley, Mark (Tata McGraw-Hill, 2004)