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