0623 Genie Logiciel
0623 Genie Logiciel
0623 Genie Logiciel
des matières
Introduction 1.1
Le génie logiciel 1.2
Architecture logicielle 1.3
Principes de conception 1.4
Patrons logiciels 1.5
Production du code source 1.6
Gestion des versions 1.7
Travail collaboratif 1.8
Tests 1.9
Documentation 1.10
2
Introduction
Génie logiciel
Ce livre est un support de cours à l'Ecole Nationale Supérieure de Cognitique.
Résumé
Ce livre constitue une introduction au génie logiciel. Il présente les grands enjeux et les
bonnes pratiques liés à l'activité de réalisation de logiciels :
Le point de vue adopté par ce livre est essentiellement technique. Les aspects
organisationnels (gestion de projet) et méthodologiques ne sont pas étudiés ici.
Compléments
Un projet écrit en langage C# et utilisant la technologie WinForms illustre certaines notions
d'architecture et de test présentées dans ce livre. Son code source est disponible en ligne.
Contributions
3
Introduction
Ce livre est publié sous la licence Creative Commons BY-NC-SA. Son code source est
disponible sur GitHub. N'hésitez pas à contribuer à son amélioration en utilisant les issues
pour signaler des erreurs et les pull requests pour proposer des ajouts ou des corrections.
4
Le génie logiciel
Le génie logiciel
L'objectif de ce chapitre est de présenter le génie logiciel, ses enjeux et ses dimensions.
Introduction
Le génie logiciel (software engineering) représente l'application de principes d'ingénierie au
domaine de la création de logiciels. Il consiste à identifier et à utiliser des méthodes, des
pratiques et des outils permettant de maximiser les chances de réussite d'un projet
logiciel.
Il s'agit d'une science récente dont l'origine remonte aux années 1970. A cette époque,
l'augmentation de la puissance matérielle a permis de réaliser des logiciels plus complexes
mais souffrant de nouveaux défauts : délais non respectés, coûts de production et
d'entretien élevés, manque de fiabilité et de performances. Cette tendance se poursuit
encore aujourd'hui.
L'apparition du génie logiciel est une réponse aux défis posés par la complexification des
logiciels et de l'activité qui vise à les produire.
Enjeux
Le génie logiciel vise à rationaliser et à optimiser le processus de production d'un logiciel.
Les enjeux associés sont multiples :
Comme tout projet, la réalisation d'un logiciel est soumise à des exigences contradictoires et
difficilement conciliables (triangle coût-délai-qualité).
5
Cliquez ici pour telecharger le PDF complet