Object - oriented software engineering a use case driven approach - Jacobson, Ivar (Addison Wesley, Singapore, 2001)