Software Modeling and Design - Hassan Gomaa (Cambridge University Press, 2012)