Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : GEN1423  Gr. 01
Titre : Génie logiciel
Session : Hiver 2018  Horaire et local
Professeur : El Guemhioui, Karim
1. Description du cours paraissant à l'annuaire :

Objectifs

Au terme de cette activité, l'étudiant(e) sera en mesure : d'appliquer les principes fondamentaux du génie logiciel pour développer des produits de qualité.

Contenu

Caractéristiques du produit logiciel. Processus de développement logiciel et modèles de cycle de vie. Phases du cycle de vie. Techniques d'analyse, cahier des charges. Spécifications formelles. Conception, interface utilisateur, prototypage. Vérification et validation. Maintenance. Gestion de la qualité, des coûts, métriques.
2. Objectifs spécifiques du cours :
Le cours couvre 5 des 12 qualités requises des diplômés telles que définies dans les normes d'agrément des programmes de génie au Canada (http://www.engineerscanada.ca/sites/default/files/w_accredition_criteria_Procedures_2012.pdf)

Qualité 1 : Connaissance en génie

Qualité 4 : Conception

Qualité 5 : Utilisation d'outils d'ingénierie

Qualité 6 : Travail individuel et en équipe

Qualité 10 : Déontologie et équité

Qualité 11 : Économie et gestion de projets

Les qualités 1, 4 et 6 sont mesurées dans ce cours pour fins de rétroaction.

Objectifs spécifiques Qualité Indicateurs Introduit Développé Appliqué
Comprendre et appliquer les concepts spécifiques au processus de développement de logiciels 1 4 - Comprendre et appliquer les concepts de l'ingénierie propres au programme (génie informatique) x
Déterminer les besoins des clients et élaborer un cahier des charges en tenant compte des contraintes existantes 4 1 - Déterminer les besoins des clients et les contraintes économiques, réglementaires et législatives, environnementales, culturelles, sociales, et de santé et sécurité x
Travailler en équipe et faire preuve d'initiative 6 2 - Contribuer équitablement au travail d'équipe x
3 - Démontrer des qualités de leadership technique x
3. Stratégies pédagogiques :
Les formules pédagogiques suivantes seront utilisées :
  • Cours magistraux
  • Lectures et discussions
  • Séances de travaux dirigés
4. Heures de disponibilité ou modalités pour rendez-vous :
Sur rendez-vous - Local B-0125

Envoyer un courriel à karim@uqo.ca

5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction au génie logiciel
  • Définition
  • La crise du logiciel
  • Caractéristiques et qualités
08 jan. 2018 
2    Modèles de processus et cycles de vie
  • Activités
  • Gestion des changements
15 jan. 2018 
3    Analyse des besoins
  • Techniques de collecte de l'information
  • Facteurs humains
  • Cahier des charges

Travaux dirigés 1 : Le 30 janvier 2015

22 jan. 2018 
4    Ingénierie des exigences
  • Techniques et outils pour la spécification
  • DFD, DD, PDL
  • Tables et arbres de décision

Travaux dirigés 2 : Le 6 février 2015

29 jan. 2018 
5    Introduction aux cas d'utilisation
  • Acteurs, scénarios, extensions
  • Notation UML
  • Relation entre cas d'utilisation

Travaux dirigés 3 : Le 13 février 2015

05 fév. 2018 
6    Introduction aux spécifications formelles

Conception et implémentation

12 fév. 2018 
7    Examen intra 19 fév. 2018 
8    Semaine d'études 26 fév. 2018 
9    Les tests
  • Techniques de test
  • Tests unitaires, d'intégration, système
05 mars 2018 
10    Les tests (suite)
  • Quand arrêter les tests ?
  • Inspection et walkthrough
  • Approche formelle

Travaux dirigés 4 : Le 20 mars 2015

12 mars 2018 
11    Évolution du logiciel
  • Processus d'évolution
  • Maintenance
19 mars 2018 
12    Gestion du logiciel
  • Gestion de risque
  • Gestion des équipes
  • Planification des tâches
26 mars 2018 
13    Férié (lundi de Pâques)

Travaux dirigés 5 : Le 10 avril 2015

02 avr. 2018 
14    Gestion du logiciel (suite) 09 avr. 2018 
15    Examen final 16 avr. 2018 
6. Évaluation du cours :

Il faut obtenir au moins 50 % de la note aux examens (mi-session et final) pour que les notes des autres travaux (devoirs et projets) soient prises en compte dans le calcul de la moyenne finale.

Outils d'évaluation Pondération Indicateurs mesurés
Devoirs (2) 20 %
Examen intra 30 % 1.4
Examen final 30 % 1.4
Projet 20 % 4.1 ; 6.2; 6.3

Par indicateur mesuré, on entend qu'à la fin du cours, un niveau de performance (0, 1, 2, 3) est donné pour chaque indicateur et pour chaque étudiant selon la grille ci-dessous:

Indicateurs Niveau 0 Niveau 1 Niveau 2 Niveau 3
1.4 - Comprendre et appliquer les concepts de l'ingénierie propres au programme. Moins de 52% Entre 52 % et 63 % Entre 64 % et 83 % Plus de 84 %
4.1 - Identifier les besoins des clients et les contraintes économiques, réglementaires et législatives, environnementales, culturelles, sociales, et de santé et sécurité. Identification inadéquate des besoins et des contraintes Identification des besoins acceptable, mais détermination des contraintes insuffisante Identification acceptable des besoins et des contraintes Identification exhaustive des besoins et des contraintes
6.2 - Contribuer équitablement au travail d'équipe. Contribution inexistante ou controversée Contribution minimale Contribution équitable Contribution exceptionnelle
6.3 - Contribuer à l'efficacité de l'équipe : participation, initiative, résolution de conflit, etc. Contribution à l’efficacité de l’équipe inacceptable ou inexistante Contribution minimale à l’efficacité de l’équipe Contribution acceptable à l’efficacité de l’équipe Contribution remarquable à l’efficacité de l’équipe
7. Politiques départementales et institutionnelles :
8. Principales références :
Ian Sommerville, Software Engineering, 9ème edition, Addison-Wesley, 2011
9. Page Web du cours :
https://moodle.uqo.ca