Déroulement du projet
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 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.
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 étudiantes et étudiants qui sont encouragés à combler leurs lacunes par eux-mêmes. L'enseignante ou l'enseignant est toutefois disponible pour les guider au besoin.
Les étudiantes et é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 l'enseignante ou l'enseignant afin de s'assurer du respect des objectifs du cours et de l'équité entre les groupes.
Méthodologies et analyse des besoins logiciels
Séance de laboratoire
Modélisation
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
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'enseignante ou l'enseignant 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 étudiantes et étudiants, selon le jugement de l'enseignante ou de l'enseignant
Séances de laboratoire
Exigences du projet
Le projet à réaliser est laissé au choix des membres d'une équipe. L'enseignante ou l'enseignant agira comme guide pour aider les étudiantes et étudiants à choisir et délimiter le périmètre de leur projet. 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 applications clientes qui doivent être soit une application Web, une application mobile ou une application de bureau (en Java Swing ou FX). Les deux applications doivent utiliser des technologies différentes (p. 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. Toute base de données qui dévie de cette exigence doit être approuvée par l'enseignante ou l'enseignant.
-
Ê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 par l'enseignante ou l'enseignant.
En tout état de cause, l'enseignante ou l'enseignant 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 l'enseignante ou l'enseignant. Notez que l'enseignante ou l'enseignant se réserve le droit de tenir compte de la qualité des artéfacts trouvés sur ces outils et plateformes lors de l'évaluation.
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 du cours.
Le projet doit être réalisé en trois ou quatre 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 journaux d'activités 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.