Practical object oriented design with UML - PRIESTLEY, Mark (McGraw Hill, 2000)