Software Modeling And Design UML, Use Cases, Patterns, and Software Architectures - Gomaa H.; Gomaa H. (Cambridge, 2014)