Rechercher
 
logo supelec
 



Une grande école d'ingénieurs au cœur des sciences
de l'information, de l'énergie et des systèmes

 
 
 

Génie logiciel

18h C / 6h TD / 18h EL / EO / 4 crédits ECTS

Nacera Bennacer (Gif), Yolaine Bourda (Gif), Pierre Chlique (Rennes), Bich Liên Doan (Gif), Michel Ianotto (Metz)


Le génie logiciel a pour objectif de produire des logiciels de qualité tout en maîtrisant leurs coûts, leurs délais de développement et leur complexité. Il s'appuie sur des outils et des méthodes qui rejoignent souvent l'ingénierie des systèmes en prenant en compte les contraintes des systèmes informatiques actuels : respect des exigences et des standards, ouverture, facilité de test et de maintenance, évolutivité. L'accent est mis sur la modélisation et le langage UML en relation avec les phases du processus de développement de logiciels menant de l'expression du besoin au produit final testé et documenté.


Problématique et qualité des produits logiciels

Développement de logiciels complexes : exemples et enseignements.

Produits logiciels et critères de qualité : facteurs de qualité internes et externes. Documentation.


Modèles de processus de développement

Activités de développement. Principaux modèles : le cycle en V, les modèles incrémentaux, les modèles évolutionnaires, l'approche RUP. Approche formelle : spécification et dérivation. Eléments de gestion de projet logiciel. Ateliers de développement logiciel.


Modélisation UML

Classification des approches fonctionnelles et objets. Rappel des principes de l'approche objet.

Les différents diagrammes d'UML : de cas d'utilisation, de séquences, de collaboration, d'états-transitions, d'activités, de classes, de composants, de déploiement. Le langage de spécification de contraintes OCL.

Cohérence des différents diagrammes et mise en relation avec les activités de développement. Génération de codes à partir des modèles. Introduction à la métamodélisation.


Réutilisation des modèles de conception

Niveaux de réutilisation : du composant logiciel à la spécification.

Notion de patrons de conception, classification et formalisation. Exemples de patrons : Observateur, Composite, Itérateur, ...


Test du logiciel

Tests fonctionnels et tests structurels. Choix de séquences de test. Couverture des graphes. Tests de non-régression.


Bibliographie :

Ian Sommerville, «Software Engineering 6th edition», Ed. Addison Wesley, 2000
G.Booch, J.Rumbaugh, I.Jacobson, «The Unified Modeling Language User Guide», Ed. Addison Wesley 1999
B.Meyer, «Conception et Programmation Orientée Objet», Ed. Eyrolles 2000

 


Dernière modification : 03/09/2009