Ingénierie du Logiciel ST112IL
| Credits ECTS | 8 |
|---|---|
| Langues | -Français |
| Responsable | Hervé GRALL |
| Temps a l'emploi du temps | 90 |
| Temps travail personnel | 30 |
Contexte
Un logiciel est un ensemble de programmes qui permet de commander un système informatique. L'ingénierie du logiciel est ainsi au coeur de l'option GSI. L'unité de valeurs "Ingénierie du logiciel" permet principalement d'approfondir ses connaissances concernant les logiciels informatiques pour mieux les concevoir, les produire et les faire évoluer. Ces connaissances forment le socle technique indispensable à l'exercice du futur métier de l'ingénieur GSI, quel que soit son domaine d'activités.Objectifs
Objectifs généraux
Il s'agit de familiariser l'élève-ingénieur à la problématique du génie logiciel, aux principes, aux techniques et aux méthodes utiles et souvent nécessaires à la conception de logiciels.Ainsi, cette unité de valeurs doit faciliter la maîtrise de compétences, qui ne s'acquiert que lentement.
Objectifs operationnels
L'unité de valeurs "Ingénierie du logiciel" vise principalement l'acquisition de quatre compétences, qui se décrivent ainsi :- programmer à grande échelle,
- développer des programmes à partir de modèles abstraits,
- utiliser des langages, des méthodes et des techniques avancées pour programmer,
- utiliser des méthodes et des outils de développement en respectant les normes et les règles de l'art.
Competences requises
Compétences requises
Compétences requises- Programmer dans le langage Java
Niveau : UVs d'informatique, CB1 et CB2
Compétences souhaitables
Si les compétences suivantes ne sont pas maîtrisées, une mise à niveau pourra être dispensée.
- Modéliser dans le langage UML (Unified Modeling Language)
Niveau : UV Génie logiciel, GS1
- Comprendre la sémantique des langages de programmation (bas niveau et orienté objets)
Niveau : UV "Systèmes et réseaux", module "Initiation au langage C++, GS1
Unites de valeurs cibles
Codes UVs cibles
UVs d'informatique, cycle de baseUV S7 Systèmes et réseaux (ST107SR)
UV S8 Génie Logiciel (ST308GL)
UVs cibles
UV S9 Projet (ST409GI)Contenu et organisation pedagogique
Contenu de l'UV
L'unité de valeurs "Ingénierie du logiciel" s'étale sur le premier semestre de la quatrième année (S9). Elle est composée de cinq modules.* Architecture logicielle
Après la formation initiale à la programmation, centrée sur des projets de petite taille, ce module permet l'apprentissage de la programmation à grande échelle, par assemblage.
- Introduction à l'architecture logicielle
- Paramétrisation des programmes
- Enjeux et méthodes de développement des frameworks
Mots- clés : généricité, composants logiciels, design patterns, frameworks
* Ingénierie des modèles
Un modèle permet de représenter un système de manière abstraite. Un méta-modèle est un langage de modélisation dédié à la définition d'une certaine classe de modèles. Ces deux notions permettent d'envisager différemment la construction de nouvelles architectures logicielles : partant d'un modèle initial défini dans un certain méta-modèle, on le transforme pour aboutir à l'application exécutable.
- Introduction à la méta-modélisation
- Les outils de la méta-modélisation
Mots-clés : MDE (Model-Driven Engineering), MDA (Model-Driven Architecture)
- Aspects avancés des langages de programmation
Ce module vise à améliorer les aptitudes à la programmation en explorant un vaste panorama. Au plus bas niveau, c'est le fonctionnement de la machine virtuelle Java qui est étudié pour optimiser les programmes. Au plus haut niveau, ce sont de nouvelles approches pour construire des programmes qui sont abordées. Un programme peut désormais résulter d'une composition (i) horizontale, en combinant différents aspects, autrement dit, en programmant séparément des fonctions spécifiées séparément, (ii) verticale, en assemblant des composants aux fonctions bien précises, (iii) abstraite, en utilisant un langage dédié au domaine du programme.
- Optimisation de l'exécution de programmes Java
- Programmation par aspects
- Programmation par composants
- Langages dédiés (ou Domain specific language)
Mots-clés : JVM (Java virtual machine), AOP (Aspect oriented programming), composants, DSL (Domain specific language)
* Qualité logicielle
Ce module vise à sensibiliser les élèves aux méthodes permettant de produire des logiciels de qualité en un temps restreint. Sont présentés des processus éprouvés et des techniques spécifiques à chaque phase du cycle de vie d'un logiciel.
- Qualité du code
- Test logiciel
Mots-clés : normes de codage, analyse structurelle, gestion de configuration, intégration continue, test, développement agile
* Conférences
Ce module vise à éclairer les grandes tendances de l'ingénierie du logiciel, celles structurantes comme celles émergentes. Le programme des conférences varie d'une année sur l'autre.
- Les métiers de l'informatique
- La sécurité
- La vérification de programmes
Activités pédagogiques
* Architecture logicielle : 15h2/3 cours magistraux et travaux dirigés, 1/3 travaux pratiques - Evaluation
* Ingénirie des modèles : 30h
1/2 cours magistraux et travaux dirigés, 1/2 travaux pratiques - Evaluation
* Aspect avancé des langages de programmation : 15h
1/2 cours magistraux et travaux dirigés, 1/2 travaux pratiques - Evaluation
* Qualité logicielle : 15h
3/5 cours magistraux et travaux dirigés, 2/5 travaux pratiques - Pas d'évaluation
* Conférences : 15h
Conférences - Evaluation
Le travail personnel doit permettre d'assimiler les cours et de préparer
les travaux pratiques et les évaluations.
Supports pédagogiques
Tous les supports sont disponibles sur campus2.Critere et mode d'evaluation
Critères d"évaluation
Les évaluations prévues ont les formes suivantes~:- "Architecture logicielle" : examen écrit individuel
- "Ingénierie des modèles" : TP noté individuel
- "Aspects avancés des langages de programmation" : examen écrit individuel et TP noté individuel
- "Qualité logicielle" : néant
- "Conférences" : compte rendu d'une conférence par binôme
Chaque intervenant précisera au début de son cours les modalités exactes
de l'évaluation.
Les examens écrits et les travaux pratiques (TP) notés se réalisent en temps limité pendant les heures réservées à l'emploi du temps (sauf exception). Ils évaluent la maîtrise théorique et pratique des compétences techniques en jeu. Les comptes rendus des conférences sont réalisés pendant le temps de travail personnel dans un délai d'une semaine après chaque conférence. Ils permettent d'évaluer la capacité à comprendre, à rédiger, à résumer, bref à rendre compte de manière synthétique.