Composante
ENSEIRB-MATMECA
Code interne
EI7IT233
Description
Le but de ce cours est de présenter les méthodes et les outils modernes pour le développement de logiciels. Le génie logiciel peut être caracterisé comme étant la mise en oeuvre de principes d'ingenierie afin d'obtenir, à prix raisonnable, des logiciels fiables et efficaces sur des vraies machines. Le génie logiciel concerne pas seulement les coûts de développement, mais aussi les coûts de maintenance et d'utilisation pendant toute la vie du logiciel. Nous regarderons aussi les problèmes spécifiques à des grands systèmes (plus de 1.000.000 lignes de codes) et engendrés par le travail en équipe, ce qui oblige des approches méthodologiques pour la conception, développement et évolution du logiciel.
Le cours se compose de trois parties, assurées par des enseignants différents:
Développement agile (A. Le Houedec)
Génie Logiciel (P. Galvao, M. Aune)
Spécifications logicielles (E. Girard Smith, F. Solliec)
Compétences
C3. Niveau 2C4. Niveau 3C5. Niveau 2C6. Niveau 2C7. Niveau 2C8. Niveau 2C9. Niveau 2
Syllabus
Partie 1. Développement agile (Cours intégré 2x2h)
Présentation des concepts de l'agilité
Atelier autour du manifeste agile
Présentation de la méthode Scrum : rôles, évènements et artefacts
Focus sur le rôle du Product Owner et son principal outil : le Backlog Produit
Ateliers sur le Backlog et les User Stories qui le composent :
Ecriture des User Stories
Axes de découpage des User Stories
Partie 2. Génie logiciel (P. Galvao/M. Aune, Cours intégré, 5x2h)
Overview d'un projet informatique
Présentation général des différentes méthodes de production
Les différent types de projets et les rôles au sein de l'équipe
Introduction aux langages de modélisation
Présentation des grandes préoccupations qui seront détaillées dans les TDs
Spécification et architeccture technique de la solution
Présentation de la phase de conception
Les attendus de l'architecture technique d'un application
Exercices de modélisation
Construction de la solution
Exercice sur la modularité
Architecture applicative et techniques de modélisation
Implémentation, sensibilisation à la qualité de code et à la compréhension fonctionnelle
Exercice sur les tests unitaires
Tests de la solution
Pyramide de test
Exercice sur la granularité des tests
Tests fonctionnels et non fonctionnels
Déploiement
Partie 3. Spécifications logicielles (E. Girard Smith, F. Solliec)
Modalités de contrôle des connaissances
Évaluation initiale / Session principale - Épreuves
Type d'évaluation | Nature de l'épreuve | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'épreuve | Note éliminatoire de l'épreuve | Remarques |
---|---|---|---|---|---|---|
Epreuve Terminale | Ecrit | 120 | 0.8 | sans document sans calculatrice | ||
Contrôle Continu | Contrôle Continu | 0.2 |
Seconde chance / Session de rattrapage - Épreuves
Type d'évaluation | Nature de l'épreuve | Durée (en minutes) | Nombre d'épreuves | Coefficient de l'épreuve | Note éliminatoire de l'épreuve | Remarques |
---|---|---|---|---|---|---|
Epreuve terminale | Ecrit | 120 | 0.8 | sans document sans calculatrice | ||
Contrôle Continu | Contrôle Continu | 0.2 |