Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF4003  Gr. 01
Titre : Génie logiciel I
Session : Hiver 2009   Horaire et local
Professeur : Baaziz, Nadia
1. Description du cours paraissant à l'annuaire :

Objectifs

Permettre aux étudiants de se familiariser avec toutes les étapes du cycle de vie d'un logiciel. Leur permettre de maîtriser la phase d'analyse et de spécification des exigences. Les introduire aux exigences comportementales et non-comportementales. Leur faire connaître un DFD (Data Flow Diagram) et un DD (dictionnaire de données). Leur permettre de maîtriser l'un des outils CASE (Computer Aided Software Engineering) d'analyse.

Contenu

Principes de base de l'analyse structurée (DeMarco, Yourdon-Constantine), DFD, DD, tables et arbres de décision, PDL. Modèle entité-relation, diagrammes d'état-transition, "statecharts". Caractéristiques du document de spécification des exigences. Introduction à l'analyse orientée objet. Étude de faisabilité.
2. Objectifs spécifiques du cours :

Le génie logiciel vise à appliquer des principes scientifiques aux différentes phases de développement d'un produit logiciel. Le cours INF4003 est une introduction à la discipline et porte principalement sur les premières étapes de développement du logiciel, à savoir : l'analyse des besoins et leurs spécifications selon les règles de l'art. Une importance particulière est accordée aux méthodes structurées.

Les objectifs spécifiques de ce cours sont :

  • Comprendre le concept de cycle de vie du logiciel et les principales phases des modèles les plus connus.
  • Maîtriser la phase d'analyse des besoins d'un produit logiciel.
  • Élaborer la spécification des exigences en utilisant des notations semi formelles.
  • Choisir et appliquer des méthodes appropriées pour analyser et spécifier des produits logiciels de qualité.

3. Stratégies pédagogiques :
Les formules pédagogiques suivantes seront utilisées :
  • Présentation du contenu par le biais de cours magistraux, 3h/semaine
  • Disponibilité d'une page WebCT contenant le matériel du cours
  • Séances de travaux dirigés en présence d'un assistant, 2h/semaine. Utilisation des outils Silverrun et Visio
  • Trois devoirs à remettre
  • Mini-tests (4 au plus), un examen de mi-session, un examen final
  • Heures hebdomadaires de consultation au bureau, communication via le courriel et WebCT

Les devoirs devront être remis aux dates indiquées.

Les dates des travaux et des mini-tests seront communiquées au cours de la session.

4. Heures de disponibilité ou modalités pour rendez-vous :
Sur rendez-vous. Jeudi : 13h00 - 15h00
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction au Génie Logiciel
  • Définitions
  • Le logiciel
  • Qualités du produit logiciel
  • Processus de développement du logiciel
  • Méthodes de génie logiciel
  • Outils Case
  • Problèmes, causes et défis
  • Génie logiciel et éthique
06 jan. 2009 
2    Les phases de développement du logiciel
  • Introduction
  • Les phases du processus de développement
  • Analyse et spécification
  • Conception et implémentation
  • Vérification et validation
  • Maintenance et évolution
  • La modélisation de processus
  • Le modèle en cascade
13 jan. 2009 
3    Concepts Généraux de l'Analyse
  • Introduction
  • Besoins
  • Exigences comportementales
  • Exigences non-comportementales
  • Spécification
  • Principe de résolution de problème
  • Types d'analyse
20 jan. 2009 
4    Analyse et Spécification : le modèle fonctionnel
  • Modélisation en DFD
  • Tables et arbres de décision
  • L'analyse structurée
27 jan. 2009 
5    Analyse et Spécification : le modèle fonctionnel(suite) 03 fév. 2009 
6    Analyse et spécifications : le modèle orienté données
  • Les Dictionnaires de Données (DD)
  • Le Diagramme Entité Relation (ER)
10 fév. 2009 
7    Analyse et spécification : le modèle orienté données(suite) 17 fév. 2009 
8    Semaine d'étude 24 fév. 2009 
9    Examen de mi-session 03 mars 2009 
10    Analyse et spécification : le modèle orienté état
  • Les machines à états finis
  • Les diagrammes et matrice d'état-transition
  • Les graphes d'état
  • Les réseaux de Petri
10 mars 2009 
11    Spécification des exigences non-comportementales
  • Définitions
  • Portabilité
  • Fiabilité
  • Performance
  • Convivialité ...
17 mars 2009 
12    Le document de spécification
  • Analyse et spécification
  • Le Document de Spécification (DS)
  • Rôles du DS
  • Caractéristiques du DS
  • Organisation du DS
  • Les standards du DS
24 mars 2009 
13    Génie logiciel orienté objet: l'analyse OO
  • Introduction et concepts de base
  • Analyse Orientée Objet (AOO)
  • Modèle Cas d'utilisation
  • Modèle de classe-objet
  • Modèle comportemental (dynamique)
  • Processus de modélisation
31 mars 2009 
14    Les modèles de processus de développement du logiciel
  • En cascade et en V
  • Évolutif (prototypage)
  • Basé réutilisation
  • Transformationnel
  • Incrémentiel
  • En spirale
  • RUP
07 avr. 2009 
15    Examen final 14 avr. 2009 
6. Évaluation du cours :

L'évaluation est l'appréciation du niveau d'apprentissage atteint par l'étudiant par rapport aux objectifs des cours et des programmes.

Dans le cas spécifique du cours Génie logiciel I l'attribution des notes se fera selon la répartition suivante:

  • Examen de mi-session 30%
  • Examen final 40%
  • Mini-tests 12%
  • Devoirs 18%

Il faut obtenir une moyenne minimale de 50 % aux examens (mi-session et final) pour que les notes des travaux comptent.

7. Politiques départementales et institutionnelles :
8. Principales références :
  1. Notes de cours, INF4003, UQO.
  2. John W. Satzinger, Robert B. Jackson, Stephen D. Burd, "Analyse et conception de systèmes d'information" 2e édition, R. Goulet 2003.
  3. Ian Sommerville, "Software Engineering". 8th edition, Addison-Wesley, 2007.
  4. Carlo Ghezzi, M. Jazayeri et D. Mandrioli, "Fundamentals of Software Engineering", 2nd edition, Prentice Hall, 2003.
  5. André Pascal, Alain Vailly, "Génie logiciel : spécification des logiciels", Paris : Ellipses, 2001.
  6. Roger S. Pressman, "Software Engineering : A Practionner's Approach", 5th edition, McGraw-Hill, 2001.
  7. Stephen R. Schach, "Object-Oriented and Classical Software Engeneering", 5th edition, McGraw-Hill, 2002.
  8. Shari L. Pfleeger, "Software Engineering : Theory and Practice", 2nd edition, Prentice Hall, 2001.
  9. Ronald J. Leach, "Introduction to software Engineering", CRC Press, 2000.
  10. Ghislain Lévesque, "Analyse de système orientée-objet et génie logiciel", Chenelière/McGraw-Hill, 1998.
9. Page Web du cours :