Le génie logiciel GL (ou software engineering) est la science dont l'objectif est de proposer des techniques, démarches, approches, langages favorisant la production de logiciels de qualités. Plusieurs qualités sont requises dans un logiciel, mais les plus importantes sont souvent: la fiabilité, la maintenabilité, l'efficacité, etc. D'autre part et du à sa complexité, le génie logiciel est considéré aussi comme un art plutôt qu'une science. Cet art a pour objectif de spécifier, concevoir, réaliser et maintenir des programmes ainsi que leur documentation qui accompagnent le développement, l'usage, et la maintenance. L'objectif de ce livre est de mettre entre les mains des étudiants informaticiens, novices au domaine de génie logiciel, un document leur introduisant le domaine du génie logiciel. En tant qu'enseignant de cette matière depuis l'année 2004 et presque de manière continue sans interruption, j'ai présenté les éléments les plus pertinents à l'assimilation de cette matière par des étudiants de deuxième année licence, de troisième année licence ou même des étudiants de master ayant besoin de connaissance en génie logiciel pour développer leurs projets de fin d'études.