Source: https://courses.ex-machina.ma/downloads/gm-2/s8/Outils_de_conception/Cours.pdf