<- Archives UCL - Programme d'études ->



Software engineering : development methods [ LINGI2251 ]


5.0 crédits ECTS  30.0 h + 30.0 h   2q 

Enseignant(s) Pecheur Charles ;
Langue
d'enseignement:
Anglais
Lieu de l'activité Louvain-la-Neuve
Ressources
en ligne

> https://icampus.uclouvain.be/claroline/course/index.php?cid=LINGI2251

Préalables
  • logique mathématique telle qu'enseignée dans le cours INGI1101
  • maîtrise de la programmation orienté-objet, de l'algorithmique et des structures de données telle que visée par le cours SINF1121
  • avoir participé à la réalisation d'un projet logiciel de taille réduite (par exemple SINF1124).
Thèmes abordés
  • Le génie logiciel : quoi, pourquoi, comment ?
  • Les phases du cycle de vie logiciel (introduction a l'ingénierie des exigences, architecture et conception, construction, vérification et validation, déploiement, évolution et maintenance).
  • Les modèles de processus logiciels (en cascade, incrémental, agile)
  • Concepts de qualité logicielle et assurance qualité.
  • Modélisation logicielle (modèles d'exigence, fonctionnels,   architecturaux, comportementaux).
  • Spécification de programmes et justesse.
  • Vérification et validation de logiciels, test.
Acquis
d'apprentissage

Les étudiants ayant suivi ce cours avec fruit seront capables de :

  • décrire les principales questions soulevées par les grands projets logiciels ;
  • maîtriser les approches systématiques de développement logiciel ;
  • expliquer la notion de cycle de vie logiciel et fournir un exemple illustrant les différentes phases et produits résultants ;
  • évaluer l'impact de décisions prises aux différents stades du cycle de vie ;
  • comparer les modèles de processus logiciel usuels pour différentes classes de systèmes logiciels ;
  • expliquer l'objectif des modèles de maturité de processus et déterminer la maturité d'un processus donné ;
  • décrire les challenges fondamentaux et les techniques usuelles en ingénierie des exigences et les appliquer à un système logiciel simple ;
  • définir la notion de qualité logicielle, discuter les diverses qualités dont doit faire preuve un grand système logiciel et décrire le rôle des activités d'assurance qualité dans un processus logiciel ;
  • modéliser rigoureusement la conception d'un produit pour assurer la qualité du produit final et de son processus de développement ;
  • pour un système logiciel simple, proposer une architecture logicielle approprié et discuter ses avantages et inconvénients ;
  • spécifier des composants logiciels et utiliser ces spécifications pour vérifier leur comportement correct ;
  • appliquer un éventail de techniques de test et de vérification pour vérifier la correction d'un programme.
Modes d'évaluation
des acquis des étudiants

L'évaluation comprendra des missions et des questionnaires (50%) et un examen oral  sur les conférences (50%). Les missions et des questionnaires peuvent être présentés à nouveau à la deuxième session.

Méthodes d'enseignement

Le cours comprendra des conférences et des séances de laboratoire.

Une ou deux conférences seront présentées par des spécialistes de l'industrie.

Lors des séances de laboratoire, les élèves utiliseront les techniques  et les outils d'ingénierie logiciel afin de découvrir les applications logicielles.

Au cours du quadrimestre, les étudiants devront remplir plusieurs missions et/ou des quiz, en utilisant les outils et techniques observées dans les séances de laboratoire.

Contenu

Le génie logiciel est la discipline concernée par l'application de théories, de connaissances et de pratiques à la construction efficace de systèmes logiciels sûrs qui répondent aux exigences des consommateurs et utilisateurs.  Cette discipline est applicable à des systèmes de petite, moyenne ou grande taille.  Elle recouvre toutes les phases du cycle de vie d'un système logiciel : acquisition des exigences ; analyse et spécification ; conception ; construction ; vérification et validation ; déploiement ; opération et maintenance.  Qu'il soit à petite ou grande échelle, qu'il suive un processus de développement traditionnel, une approche agile ou toute autre méthode, le génie logiciel s'intéresse à la meilleure manière de construire des systèmes logiciels de qualité.

Bibliographie

Shari Lawrence Pfleeger and Joanne Atlee, Software Engineering: Theory and Practice, 4th edition, Pearson, 2010.

Les slides seront disponibles sur le site web du cours.

Cycle et année
d'étude
> Master [120] : ingénieur civil en informatique
> Master [120] en sciences informatiques
> Master [120] : ingénieur civil biomédical
Faculté ou entité
en charge
> INFO


<<< Page précédente