Analysis patterns : reusable object models - Fowler, Martin (The Addison-Wesley series in object-orented software engineering, 1997)