"Using UML, Patterns, and Java. Object-Oriented Software Engineering. Chapter 3, Project Organization and Communication, Part 2. Bernd Bruegge & Allen H."