A comprehensive book on software engineering