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
|
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 |
Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
-
INFO1.1-3
-
INFO2.1-5
-
INFO6.1-3
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
-
SINF1.M3
-
SINF2.1-5
-
SINF6.1-3
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 |
-
Missions et rapports, 40% de la note finale.
-
Théorie: examen oral, 60% de la note finale. Une liste de questions est fournie à la fin du quadrimestre.
Les missions devront être présentées au cours du quadrimestre de cours. Elles ne pourront pas être représentées lors des sessions d'examens ultérieures.
|
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.
|
Autres infos |
Préalables:
-
LINGI1101 : logique mathématique
-
LSINF1121 : maîtrise de la programmation orienté-objet, de l'algorithmique et des structures de données
-
LSINF1225 : avoir participé à la réalisation d'un projet logiciel de taille réduite
|
Cycle et année d'étude |
> Master [120] en sciences informatiques
> Master [120] : ingénieur civil en informatique
> Master [120] : ingénieur civil biomédical
|
Faculté ou entité en charge |
> INFO
|
<<< Page précédente
|