Méthodes de génie logiciel

Diplômes intégrant cet élément pédagogique :

Descriptif

Le cours examine les motivations et les principes de conception de l'ingénierie logicielle. Nous couvrons les principales étapes du développement logiciel : analyse du besoin, conception, implémentation, test et maintenance, mais aussi comment développer un cahier des charges. Nous voyons plusieurs modèles de développement logiciels (en cascade itérative, en V, en spiral, agile). Suivant une approche UML, nous explorons les notions fondamentales de la conception orientée objet (classes, instances, associations, etc.). Le cours couvre aussi les outils UML pour l'expression des besoins fonctionnels (diagrammes de cas d'utilisations), modélisation statique (diagrammes de classes et diagrammes d'objets) et modélisation dynamique (diagrammes d'activité, diagrammes de séquence) et les relations entre ces diagrammes pour assurer une conception cohérente.

Pré-requis

Aucun

Compétences visées

- Comprendre la problématique d'ingénierie pour le développement de systèmes informatiques de haute qualité.

- Suivre un processus d'ingénierie logicielle efficace, basé sur la connaissance des modèles de cycle de vie les plus utilisés.

- Extraire, documenter, et analyser les besoins fonctionnels et non-fonctionnels, et les traduire vers une conception implémentable, en suivant un processus structuré et organisé.

- Savoir utiliser efficacement les outils UML pour spécifier la conception logicielle.

- Formuler une stratégie de test (bottom-up, top-down, hybride) pour le logiciel, incluant des tests en boites blanches et en boites noires (tests unitaires, tests d'intégration, tests aux limites, tests des systèmes, tests de stress, complexité cyclomatique).

Bibliographie

Timothy C. Lethbridge & Robert Laganière. Object-Oriented Software Engineering: Practical software development using UML and Java. McGraw-Hill, 2005.

Informations complémentaires

Langue(s) : Français