Software engineering: modern approaches - Braude, Eric J. (John Wiley & Sons, 2011)