Practical object-oriented design with UML - Priestley, Mark