Liens rapides:
Description :
Introduction au génie logiciel. Cycles de développement. Analyse, modélisation et spécification. Conception. Développement orienté objet. Mise au point. Outils et environnements de développement.
Chapitres :
- Développement
- Exigences et analyse
- Conception
- Implémentation
- Évolution
Enseignants :
Michalis Famelis, chargé de cours
http://www-ens.iro.umontreal.ca/~famelis/
Bureau: Pav. André-Aisenstadt local 2343
Disponibilité au bureau sans rendez-vous : mardi 16:30-17:15
Maude Sabourin, auxiliaire
Thomas Schweitzer, auxiliaire
Disponibilités : sur rendez-vous
Horaires :
Cours : local S-144 Pav. Roger-Gaudry
- Mardi – 14:30 – 16:30
- Vendredi – 13:30 – 14:30
Démonstrations : local S-118 Pav. Roger-Gaudry
- Vendredi – 14:30 – 16:30
Exceptions prévues :
- Vendredi 7 septembre : pas de démo
- Vendredi 12 octobre : démo remplacé par théorie
- Mardi 16 octobre : théorie remplacée par démo
- Vendredi 19 octobre : cours de théorie par auxiliaire
- Vendredi 2 novembre : pas de théorie
Examens :
- Intra : vendredi 2 novembre, 14:30-16:20, local 1140 Pav. André-Aisenstadt
- Final : vendredi 14 décembre, 14:30-17:20, local 1140 Pav. André-Aisenstadt
Communications :
Forum :
Nous utiliserons Slack comme le principal moyen de communication et discussion :
https://ift2255-a18.slack.com/
Annonces affichées sur le canal #general sur Slack, seront supposées avoir été vues par tous les étudiants.
Politique :
- Pour toutes les communications concernant le cours, utilisez Slack. Pour tout autre problème et pour les demandes confidentielles, contactez-moi à famelis@iro.umontreal.ca.
- Nous allons essayer de répondre à tous vos messages avant la fin du prochain jour ouvrable. Nous ne pouvons pas garantir de répondre en dehors des heures de bureau ou pendant les fins-de-semaine. Nous ne nous attendons pas non plus à ce que vous répondiez pendant ces périodes.
Évaluation
Devoirs maison : 40% (pondérés selon la difficulté)
Examen intra : 20%
Examen final : 40%
Les devoirs maison vous initierons au développement logiciel collaboratif :
- 3 devoirs (~3 semaines chaque) en groupe
- Le langage de programmation utilisé sera Java quand nécessaire
- Tous les travaux seront évalués selon (dans l’ordre): l’exactitude, la qualité du travail, la structure et l’état complet, la présentation
- Soumission: tous les devoirs sont dus à la date correspondante avant 23:55
- Il y a 5% de pénalité par jour en retard, jusqu’à 2 jours au maximum, après quoi le devoir sera refusé
Il n’est pas possible de refaire ou faire plus de travail pour augmenter sa note.
Livres du cours
- Object-oriented and classical software engineering
Stephen R. Schach
QA 76.758 S33 2002 - UML 2 : De l’apprentissage à la pratique
Laurent Audibert - (Optionnel) Software engineering : the current practice
Václav Rajlich
QA 76.758 R35 2012
(La bibliothèque des mathématiques et informatique a une très bonne collection des livres sur le sujet. Vous êtes bien invités à la feuilleter.)
Notez bien :
Présence en cours : les diapos sont peu nombreuses, donc une présence aux cours est indispensable pour une bonne compréhension de la matière.
Plagiat : les discussions avec les autres étudiants du cours sont encouragées, mais le plagiat sous toute forme sera puni, conformément aux règlements de l’Université de Montréal (échec du cours, sanctions).
Avertissement : cette page n’est qu’informative et pourrait différer du matériel, supports et communications sont disponibles dans StudiUM et Slack. En cas de divergence, les annonces sur StudiUM et Slack doivent être supposées correctes. Les étudiants sont donc obligés à suivre ces canaux de communication (spécialement le canal #general sur Slack) attentivement.
Langue : je suis aussi un étudiant de français. Veuillez patienter avec mon français – jusqu’ à ce que j’atteigne un niveau plus sérieux.
Plan de cours (prévisionnel) :
Chapitre | Semaine | Théorie @ S-144 | Démo @ S-118 | Devoirs | Lectures | |
Logiciel | 1 | 4 sept. | Introduction + Vie du logiciel | ch.1, Rajlich ch.1 | ||
7 sept. | Modèles de développement | Pas de démo | ch.2, Rajlich ch.2-3 | |||
2 | 11 sept. | Processus de développement | ch.3 | |||
14 sept. | Logiciel en équipe + Versionnement de logiciel | Équipes + Outils nécessaires | ch.4, 5.9-5.11, Rajlich ch.3.3 | |||
Exigences & Analyse |
3 | 18 sept. | Exigences | ch.11-11.4 | ||
21 sept. | Cas d’utilisation | Contrôle de révisions + Besoins | DM1: Création | ch.11.5-11.18 | ||
4 | 25 sept. | Analyse | ch.17.4,17.5 | |||
28 sept. | Analyse | Diagrammes de cas d’utilisation + activités | ch.13 | |||
Conception | 5 | 2 oct. | Conception | ch.14 | ||
5 oct. | Modélisation | Diagrammes de classes participantes | UML UG ch.18 | |||
6 | 9 oct. | Modélisation | ch.17, UML UG ch.4,5,8,9 | |||
12 oct. | Architecture | (Théorie:) Architecture | DM1 dû | ch.17, UML UG ch.18 | ||
7 | 16 oct. | (Démo:) Correction DM1 + Modélisation | DM2: Élaboration | ch.7-7.3, 8-8.5.2 | ||
Implémen- tation |
19 oct. | (Aux:) Paradigme orienté objet | Diagrammes de séquence | ch.8.11-8.13 | ||
8 | 23 oct. | Relâche | ||||
26 oct. | Relâche | |||||
9 | 30 oct. | Révision intra | Architecture + Patrons | ch.7.4-7.9 | ||
2 nov. | Examen intra 14:30-16:20 @ 1140 Pav. André-Aisenstadt | |||||
10 | 6 nov. | Patrons de conception | ch.8.6-8.8 | |||
9 nov. | Patrons de conception | Correction intra + Support DM2 | ||||
11 | 13 nov. | Implémentation | DM2 dû | ch.15 | ||
16 nov. | Vérification et validation | Correction DM2 + Implémentation | DM3: Construction | ch.6,15.18-15.23 | ||
12 | 20 nov. | Vérification et validation | ch.15.9-15.18 | |||
23 nov. | Tests unitaires | JUnit | ch.16 | |||
Évolution | 13 | 27 nov. | Déploiement + Maintenance | Rajlich ch.5-7 | ||
30 nov. | Workflow de maintenance | Support DM3 | Rajlich ch.8-11 | |||
14 | 4 déc. | Workflow de maintenance + License et éthique | ||||
7 déc. | Conclusion | Maintenance + Révision | DM3 dû | |||
14 déc. | Examen final 14:30-17:20 @ 1140 Pav. André-Aisenstadt |