Fundamentals of software engineering - Jazayeri, Mehdi; Mandrioli, Dino