Logo ÉTS
Session
Cours
Responsable(s) Abdelmoumène Toudeft, Anis Boubaker

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Abdelmoumène Toudeft
Anis Boubaker


PLAN DE COURS

Hiver 2024
TCH099 : Projet intégrateur en informatique (3 crédits)





Préalables
Aucun préalable requis
Unités d'agrément
Données non disponibles




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

Cours offert à compter de la session d'automne 2023.
Ce cours ne peut être reconnu dans le cadre d’un programme de baccalauréat.

Ce cours vise la mise en application de l’ensemble des connaissances acquises dans le cadre de la spécialité Informatique du programme de cheminement universitaire en technologie.

Au terme de ce cours, l’étudiant ou l'étudiante sera en mesure de mettre en pratique les notions vues au Cheminement universitaire en technologie afin de réaliser un projet informatique en équipe.

Ce cours s’inscrit dans une approche pédagogique par projet. Les étudiants et étudiantes devront être en mesure d’identifier leurs lacunes techniques et de les combler de façon autonome, sous la supervision de l’enseignant ou l'enseignante. Le projet fera l’objet d’une présentation orale à la fin de la session.




Objectifs du cours

Les objectifs du cours sont de :

  • Connaitre les différentes phases de développement d'un projet informatique; 
  • Appliquer une méthodologie de développement informatique agile dans le cadre d'un projet d'envergure et collaboratif; 
  • Être en mesure de produire les différents artifacts de haut-niveau (système) lors de l'analyse d'un projet; 
  • Mettre en pratique les notions vues dans le cadre du Cheminement universitaire en technologies et mettre en oeuvre différentes technologies dans le cadre de la réalisation d'un projet d'envergure.



Stratégies pédagogiques

Ce cours s'inscrit dans une approche pédagogique par projet qui incite les étudiantes et les étudiants à développer leur autonomie dans l'exploration de technologies et la résolution de problèmes, dans le contexte d'un projet informatique d'envergure. 

Le cours comporte une partie théorique enseignée en début de session portant sur les méthodologies de développement informatique et l'analyse des exigences. Durant le reste de la session, les étudiantes et les étudiants développent et produisent les différents livrables dans le but de réaliser un projet de développement d'applications informatiques. Les personnes enseignantes assistent et guident les étudiantes et les étudiants dans la réalisation de leurs projets et présentent de la matière théorique ou technique selon les besoins des projets.




Utilisation d’appareils électroniques

L'utilisation de l'ordinateur portable, autant pour la réalisation du projet que pour l'examen, est requise. 




Horaire
Groupe Jour Heure Activité
01 Jeudi 09:00 - 12:30 Deuxième activité de cours
Jeudi 13:30 - 15:30 Travaux pratiques (Groupe C)
Jeudi 15:30 - 17:30 Travaux pratiques (Groupe D)
Vendredi 09:00 - 12:30 Activité de cours
Vendredi 13:30 - 15:30 Travaux pratiques (Groupe A)
Vendredi 15:30 - 17:30 Travaux pratiques (Groupe B)
02 Jeudi 09:00 - 12:30 Activité de cours
Jeudi 13:30 - 15:30 Travaux pratiques (Groupe A)
Jeudi 15:45 - 17:45 Travaux pratiques (Groupe B)
Vendredi 09:00 - 12:30 Deuxième activité de cours
Vendredi 13:30 - 15:30 Travaux pratiques (Groupe C)
Vendredi 15:45 - 17:45 Travaux pratiques (Groupe D)
03 Lundi 09:00 - 12:30 Deuxième activité de cours
Lundi 13:30 - 15:30 Travaux pratiques (Groupe C)
Lundi 15:45 - 17:45 Travaux pratiques (Groupe D)
Mardi 09:00 - 12:30 Activité de cours
Mardi 13:30 - 15:30 Travaux pratiques (Groupe A)
Mardi 15:45 - 17:45 Travaux pratiques (Groupe B)
04 Lundi 09:00 - 12:30 Activité de cours
Lundi 13:30 - 15:30 Travaux pratiques (Groupe A)
Lundi 15:45 - 17:45 Travaux pratiques (Groupe B)
Mardi 09:00 - 12:30 Deuxième activité de cours
Mardi 13:30 - 15:30 Travaux pratiques (Groupe C)
Mardi 15:45 - 17:45 Travaux pratiques (Groupe D)
05 Mercredi 09:00 - 12:30 Activité de cours
Mercredi 13:30 - 15:30 Travaux pratiques (Groupe A)
Mercredi 15:45 - 17:45 Travaux pratiques (Groupe B)
Jeudi 09:00 - 12:30 Deuxième activité de cours
Jeudi 13:30 - 15:30 Travaux pratiques (Groupe C)
Jeudi 15:45 - 17:45 Travaux pratiques (Groupe D)



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Iannick Gagnon Activité de cours Iannick.Gagnon@etsmtl.ca B-1636
02 Hugo Leblanc Activité de cours Hugo.Leblanc@etsmtl.ca B-2568
03 Anis Boubaker Activité de cours Anis.Boubaker@etsmtl.ca B-2304
03 Stéphane Duval Travaux pratiques (Groupe A) stephane.duval@etsmtl.ca
04 Mirna Awad Activité de cours cc-Mirna.Awad@etsmtl.ca
04 Mirna Awad Travaux pratiques (Groupe A) cc-Mirna.Awad@etsmtl.ca
05 Abdelmoumène Toudeft Activité de cours Abdelmoumene.Toudeft@etsmtl.ca B-1642
05 Abdelmoumène Toudeft Travaux pratiques (Groupe A) Abdelmoumene.Toudeft@etsmtl.ca B-1642
05 Nabil Boudhar Travaux pratiques (Groupe B) nabil.boudhar.1@ens.etsmtl.ca



Cours

Le cours comprend 13 séances de cours théorique et 12 séances de laboratoire. Il est donné en format accéléré à raison de deux séances de cours et deux séances de laboratoire par semaine.

Durant les séances de cours, du contenu théorique sera présenté durant les deux premières séances portant sur les généralités de la conduite de projet informatique. D'autres séances de cours théoriques pourraient s'ajouter selon les besoin des projets à réaliser. Le reste des séances théoriques ainsi que les séances de laboratoire sont consacrées entièrement à la réalisation du projet en équipe assistée par la personne enseignante.

Dans le cadre de ce cours, les compétences acquises dans le cadre du programme de cheminement universitaire en technologie (option informatique) sont mises en application dans le cadre d'un projet d'envergure. La réalisation se fait de façon autonome par les étudiant.e.s qui sont encouragés à combler leurs lacunes pas eux-mêmes. L'enseignante ou l'enseignant est toutefois disponible pour guider les personnes étudiantes, au besoin.

Les étudiantes et les étudiants doivent proposer un projet de session de leur choix qui respecte les exigences énoncées ci-dessous. Les sujets proposés doivent être approuvés par la personne enseignante afin de s'assurer du respect des objectifs et de l'équité entre les groupes.

Séance 1: Méthodologies et Analyse des besoins logiciels

  • Qu'est-ce que le génie logiciel?

  • Comment mener un projet de développement logiciel?

    • Phases de développement

    • Méthodologies traditionnelles et agiles

    • Méthodologie Scrum

  • Analyse des exigences

    • Étude d'opportunité

    • Techniques d'analyse des exigences

    • Propriétés des exigences

    • Exigences fonctionnelles vs non-fonctionnelles

Séance de laboratoire:

  • Analyse des exigences du projet proposé et énoncé des fonctionnalités principales;

  • Identification des données manipulées par l'application

Séance 2 : Modélisation

  • L'utilité et l'objectif de la modélisation

  • Les bases de la modélisation UML:

    • Diagramme de cas d'utilisation

    • Diagramme de séquences système

    • Diagramme de concepts (classes)

Séance de laboratoire:

  • Modélisation des principaux cas d'utilisation

  • Diagramme des séquences système des principaux cas d'utilisation

  • Identification des principaux concepts du domaine et leurs relations (diagramme de concepts)

  • Diagramme architectural

Séances 3 à 13: Conception et développement du projet

  • Mise en place de l'architecture

  • Développement des composants métiers de l'application

  • Développement des interfaces

  • Revues régulières avec l'enseignant.e qui agit en soutien et comme expert produit

  • Présentation de matière et d'outils techniques selon les besoins et les choix technologiques des étudiants, selon le jugement de la personne enseignante.

Séances de laboratoire:

  • Réalisation du projet en équipes

 

Exigences du projet

Le projet à réaliser est laissé au choix des membres d'une équipe. La personne enseignante agira comme guide pour aider les étudiantes et les étudiants à choisir et délimiter le périmètre de leur projet. Des exemples d'énoncés de projets sont proposés sur le site du cours à titre de référence. Chaque projet doit répondre aux exigences suivantes:

  • Comporter une partie backend accessible via une API REST qui implémente la logique métier de l'application et contrôle l'accès aux données.

  • Comporter au moins deux interfaces usager qui doivent être soit une interface Web, une interface mobile ou une interface Desktop (en Java Swing ou FX). Les deux interfaces doivent utiliser des technologies différentes (ex.: pas deux interfaces Web).

  • Comporter une base de données relationnelle avec minimalement cinq (5) tables qui nécessitent des jointures (présence de clés étrangères) pour acquérir les données.

  • Être multi-usager avec authentification des usagers. L'application doit fournir des informations personnalisées et/ou des fonctionnalités personnalisées selon le profil de l'usager authentifié.

  • N'utilise pas des cadriciels et librairies autres que celle qui ont été approuvées collectivement par les enseignantes et enseignant du cours. La liste des cadriciels et librairies approuvées est publiée sur le site général du cours (voir section Références). Toutefois, la liste fournie n'est pas exhaustive et toute personne étudiante peut proposer d'y ajouter une nouvelle entrée.

En tout état de cause, l'enseignant ou l'enseignante peut émettre des exigences supplémentaires pour un projet proposé, si il ou elle le juge opportun, et ce pour respecter les exigences d'envergure et d'équité entre les groupes.

Réalisation du projet

Le projet doit être réalisé selon la méthodologie agile SCRUM. Les étudiantes et étudiants utiliseront l'outil de leur choix pour effectuer le suivi du projet (Google Docs, Jira, Trello, etc.). Ce dernier peut-être imposé par la personne enseignante.

Le projet doit être réalisé en utilisant l'outil de travail collaboratif Git et publié sur un dépôt privé sur GitHub. De plus, un contrat d'équipe doit être accepté et signé par tous les membres de l'équipe et déposé sur Moodle. Un gabarit de contrat d'équipe est publié sur le site général du cours (Voir section Références).

Le projet doit être réalisé en trois sprints dont les exigences (backlog) seront déterminées par l'équipe et discutées/validées par l'enseignante ou l'enseignant.

Conformément à la méthodologie SCRUM, tous les membres du projet doivent être solidaires et compétents sur tous les aspects du projet. Tous les membres du projet doivent contribuer de façon équitable aux projet. Les logs de GitHub ainsi que les revues par les pairs seront utilisées pour évaluer la contribution de chaque membre de l'équipe à chacune des évaluations du projet.




Laboratoires et travaux pratiques

Les séances de laboratoires seront consacrées à la réalisation des différentes tâches liées au projet. Les auxiliaire d'enseignement seront disponibles pour aiguiller et aider les équipes dans ces tâches.




Utilisation d'outils d'ingénierie

S.O.




Évaluation
Évaluation Pondération Séance Notes
Rapport d'analyse 15% 4  
Examen 10% 5 Portant sur la matière des séances 1 et 2. 
Revue intermédiaire #1 15% 7 Les exigences de la revue intermédiaire auront été définies par l'enseignant-e à la séance 4.
Revue intermédiaire #2 15% 11 Les exigences de la revue intermédiaire auront été définies par l'enseignant-e suite à la première revue intermédiaire.
Présentation orale du projet 15% Périodes des finaux  
Code et Rapport de projet 30% Période des finaux  

Revue par les pairs: Toutes les évaluations d'équipe feront l'objet d'une revue par les pairs. Tous les membres d'une équipe doivent avoir une implication équitable dans le projet. Dans le cas contraire, l'enseignant.e se réserve le droit d'attribuer des notes individuelles qui reflètent l'implication de chaque membre de l'équipe dans le projet.

À propos de l'examen: L'examen se fait sur ENAQuiz dans l'environnement de SafeExamBrowser. Aucune documentation n'est permise autre qu'une feuille de notes manuscrite recto-verso. L'examen a une durée de deux (2) heures. 




Dates des examens intra
Groupe(s) Date
1, 2 1 mars 2024
3, 4 12 mars 2024
5 13 mars 2024



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page "Citer, pas plagier !" (https://www.etsmtl.ca/Etudes/citer-pas-plagier). Les clauses du règlement sur les infractions de nature académique de l’ÉTS (« Règlement ») s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique) pour identifier les actes qui constituent des infractions de nature académique au sens du Règlement ainsi que prendre connaissance des sanctions prévues à cet effet.

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignant(e) du cours.



Documentation obligatoire

Aucune.




Ouvrages de références

S.O.




Adresse internet du site de cours et autres liens utiles

Site général du cours: https://ena.etsmtl.ca/course/view.php?id=17546