An introduction to object-oriented analysis: objects and UML in plain english - Brown, David William.