Source: http://dept-info.labri.fr/~counilh/systeme-d-information/SI_01-2.pdf