This seminar covered assigning responsibilities and collaborators to classes using CRC cards and other techniques:
1. Responsibilities include a class's behaviors and knowledge, and were assigned through role-playing scenarios. Guidelines included focusing on what classes do, not how, and experimenting with different configurations.
2. Collaborators were assigned using scenarios, class hierarchies, dependencies, and identifying client/server relationships through contracts. Collaborations can be hard to identify without role-playing.
3. Additional guidelines included looking for "kind of" relationships, distinguishing "part of" from "kind of", naming key abstractions, and looking for existing frameworks that could apply to the problem.