Practical Object-Oriented Design with UML - Priestley, Mark (McGraw-Hill, 2000)