# Plan d'itération 1 

## Étapes jalons

| Étape jalon          | Date       |
|----------------------|------------| 
| Début de l'itération | 2022/05/31 |
| Conception           | 2022/06/07 |
| Démo (séance 5)      | 2022/06/14 |
| Fin de l'itération   | 2022/06/14 |

## Objectifs clés

- Terminer les artéfacts, l'implémentation et les tests des CU01a, CU01b et CU01c
- Terminer les artéfacts, l'implémentation et les tests des CU02a, CU02b, CU02d
- Refactorisation du code de base du SGA
- Authentification pour l'enseignant et l'étudiant

## Affectations d'éléments de travail

Les éléments de travail suivants seront abordés dans cette itération:

| Nom / Description | Priorité | [Taille estimée (points)](#commentEstimer "Comment estimer?") | Assigné à (nom) | Documents de référence |
|-------------------|----------|---------------------------------------------------------------|-----------------|------------------------|
| Refactorisation | 1 | 0 | JF St-Hilaire | Exigences pour commencer un projet |
| MDD | 2 | 0 | Tous | Exigences pour commencer un projet (analyse) |
| Authentification  |  3 | 1 | JF St-Hilaire | Exigences pour le lab  |
| CU01a  | 4  | 1 | Simon Roy & Samuel Montambault | Exigences pour le lab  |
| CU01b  | 5  | 1  | Simon Roy & Samuel Montambault | Exigences pour le lab  |
| CU01c  | 6  | 0.5  | Simon Roy & Samuel Montambault | Avancement pour Itération 02  |
| CU02a  | 7  | 2  | Frédéric Gour-Bonin & Amin Sghaier| Avancement pour Itération 02 |
| CU02b  | 8  | 1  | Amin Sghaier & Frédéric Gour-Bonin| Avancement pour Itération 02 |
| CU02d  | 9  | 0.5  | Amin Sghaier & Frédéric Gour-Bonin | Avancement pour Itération 02  |

## Problèmes

| Problème | Notes | 
|----------|-------|
|     Sans objet     |    première itération   |

## Critères d'évaluation

- terminer 100% des artéfacts pour CU01a et CU01b
- 100% des cas de test passent pour CU01a et CU01b.
- terminer 100% des artéfacts pour CU02a, CU02b et CU02d
- 50% des cas de test passent pour CU02a, CU02b et CU02d
- terminer 100% des artéfacts pour CU01c
- 50% des cas de test passent pour CU01c
- terminer à 100% le MDD
- terminer à 100% de la refactorisation
- Système d'authentification pour étudiant et enseignant implémenté à 100%

## Évaluation
| Résumé | |
|---------|-|
| Cible d'évaluation | Itération 01 |
| Date d'évaluation  |   2022/06/14 |
| Participants       | **Coéquipiers** : Frédéric, Samuel, Amin, Jean-Félix, Simon<br> **auxiliaire d'enseignement** : Rémi Blier |
| État du projet     | 🟢 (vert)  |

### Questions d'évaluation

Regardez votre diagramme TPLANT et répondez aux questions suivantes?
1. [x]  Est-ce qu'il y a un décalage de représentation?
Oui, il y a quelques décalages de représentation.
- [x] Est-ce que tous les noms de classe ont un rapport avec le domaine?
Oui, toutes les classes du MDD ont leur alter ego dans les classes de notre projet et nous avons d'autres classes pour la solution.
2. [x] Est-ce que l'architecture en couche est respectée?
Oui, nous avons bien utilisé la séparation des couches, Vue/Système
- [x] Est-ce que les contrôleurs GRASP sont bien identifiés? 
Oui, l'identification est bien visible dans les UML (DSS & RDCU)
- [x] Est-ce que les paramètres des opérations système sont tous de type primitif ou sont des objets de paramètres de type primitif?
Oui, tous les paramètres des DSS et RDCU sont de type primitif.
- [x] Est-ce que vous avez un fichier de route par contrôleur?
Oui, chaque route a son contrôleur.
3. Évaluer votre conception par rapport aux GRASP "forte cohésion" et "faible couplage"
- [x] Avez-vous des classes qui sont couplées avec "beaucoup" d'autres classes?
Oui, nous avons la classe LoginControleur qui est utilisée dans plusieurs autres classes.
Nous devons refactoriser l'endroit où nous conservons les données de l'utilisateur.
- [x] Avez-vous des classes qui ont beaucoup de responsabilités (d'opérations)?
Non, les responsabilités sont bien séparées par contrôleurs. De plus, les classes ont leur responsabilité et elles implémentent leur responsabilité visant à atteindre une forte cohésion.
- [x] Faite surtout attention aux responsabilités que vous avez données à vos contrôleurs.

### Évaluation par rapport aux objectifs

Nous avons pris plus d'objectifs qu'exigés dans les plans d'itération, cependant nous avons effectués plus que 80% des objectifs fixés pour cette dernière. Nous avons aussi effectué quelques modifications sur nos artéfacts après la démonstration de conception avec l'auxiliaire d'enseignement. Nous n’avons pas terminé les tests pour le CU01 (gestion des cours), mais la majorité des méthodes ainsi que leurs tests ont été créés. Pour le CU02, seulement les artéfacts ont été faits pour le CU02d.

### Éléments de travail: prévus vs réalisés

Tous les éléments ont été complétés pour CU01a et CU01b, mais il faut étoffer les tests du CU01:

- CU01 - Test et implémentation assignés à Samuel.

Tous les éléments ont été complétés pour CU02a et CU02b, mais il faut étoffer les tests du CU02:

- CU02 - Test et implémentation assignés à Amin.

80% des éléments de CU02 ont été complétés, mais il faut compléter le CU02c, modifier une question:

- CU02c - test et implémentation assignés à Amin.

Les éléments suivants ont tous été complétés avec succès:
- Réfactorisation du projet (Dossier, etc.)
- Implémentation du système d'authentification (étudiant/enseignant)
- Implémentation du MDD

### Évaluation par rapport aux résultats selon les critères d'évaluation

Les démonstrations faites durant la démo de la conception et la démo du rapport ont été bien reçues par l'auxiliaire d'enseignent. Certains points ont été soulevés (oublie d'une post-condition, location de bouton ou de fonction), mais le général les taches de l'itération 1 sont complétés. Nous n’avons pas pu faire la démonstration de toutes les fonctionnalités ajoutées, car que nous avons atteint le minimum durant la démo, mais nous avons respecté tous les critères de notre itération, à l'exception des tests unitaires pour le CU01 qui est incomplet. Il faut faire attention cependant ; nous avons un couplage fort pour les classes de cours et nous devons ajouter des tests supplémentaires.

## Autres préoccupations et écarts

Nous n'avons pas encore vu d'écart ou de préoccupation qui demande la création d'autres artéfacts. Nous aurions pu faire plus de documentation sur l’intergiciel d'authentification, mais cela était en dehors du _scope_.

## Évaluation du travail d'équipe

Le travail d'équipe s'est bien passé et les membres travail bien entre eux. Cependant, il y a eu des problèmes sur l'utilisation des branches puisque le travail initial ne pouvait pas être fait en parallèle. Pour pallier cette solution, nous avons beaucoup utilisé l'outil « Live Share ». Cet outil permet à plusieurs personnes de programmer sans créer de conflit en utilisant une technique similaire à « Google Document ». L'utilisation de cette extension de Visual studio code fausse les résultats de gitInspector et nous ne pourrons, donc pas l'utiliser pour montrer de manière quantitative la contribution. Dans la section insights sur le github du projet, nous pouvons voir que chaque membre a fait plus de 10 commis indépendamment de live Share. Pour les prochaines itérations, nous devons trouver un autre moyen de faire les commits (peut-être avec des branches et PR), car il y avait trop de merges difficiles de la documentation.

### Retrait d'un membre de l'équipe pour contribution non significative

Tous les membres de l'équipe ont participé de manière équivalente dans cette itération. Il n'y a pas eu besoin de retirer un coéquipier.
