CSC 4102 – Introduction au génie logiciel pour applications orientées objet

Portail informatique

Séances 9 et 10 — TP : Continuation et fin du développement

la fin de la séance 10 est particulière. Vous fusionnez la branche develop dans la branche main avant de poser l'étiquette livraison dans la branche main pour déclarer la fin du développement avant le vendredi 12 avril, au plus tard à 23h55 (pénalités en cas de dépassement de l'échéance).   Une fois que vous avez fusionné sur la branche main, vous restez sur la branche main. Donc, faites attention à ne pas continuer à travailler sur la branche develop après la fusion.

Nous rappelons que la liste des artefacts attendus pour l'évaluation du développement est présentée dans la page dédiée « Liste récapitulative des tâches ».

Mise à disposition du travail effectué dans le dépôt Git de GitLabEns pour la livraison à la fin de la séance 10

Fin des travaux

Nous rappelons que la liste complète des artefacts attendus est ici.

En guise de derniers conseils, voici une liste de petites tâches à parcourir avant la livraison. N'oubliez pas de :

  • nettoyer votre fichier readme.md pour retirer les éléments inutiles. Profitez-en pour mettre à jour la date dans la page titre ainsi que le sommaire (si vous en avez un) ;
  • vérifier que toutes les images .svg et .png sont générées et ajoutées dans le dépôt ;
  • vérifier que vous n'avez pas d'erreur de compilation ;
  • vérifier que vous n'avez pas d'avertissement (« warning ) de compilation ;
  • exécuter SpotBugs sur votre code ;
  • exécuter Checkstyle sur votre code ;
  • vérifier que vos tests (unitaires et de validation) passent (un test qui ne passe pas peut être annoté @Ignore) ;
  • et enfin, vérifier que tout votre contenu, toutes les classes par exemple, sont dans votre dépôt Git sur GitLab : pour ce faire, clonez votre dépôt dans un nouveau répertoire pour vérifier la présence de tous les éléments de spécification et de modélisation ainsi que la construction de votre logiciel (avec mvn clean install).

Livraison

Nous sommes à la fin du développement. C'est le moment de livrer votre application au client.

vous livrez au client un noyau fonctionnel de l'application. Le code ainsi que le document de spécification et de modélisation doivent être de bonne qualité rédactionnelle. Plus particulièrement, le document readme.md doit être finalisé : suppression de tous les éléments obsolètes, retrait des mentions « ... à compléter », pagination (par exemple, les figures lisibles).

Le client vous a laissé travailler dans la branche develop et s'apprête à évaluer votre travail dans la branche main. Voici la procédure que nous proposons :

  • positionnement sur la branche main,
  • fusion avec l'option « --no-ff » de la branche develop,
  • au besoin, résolution des conflits avec validation dans un instantané (« git mergetool --tool=meld » puis « git commit -m "fusion de la branche develop dans main" »),
  • poussée des modifications de la branche main du dépôt local sur la branche main du dépôt GitLab,
  • ajout de l'étiquette livraison à la branche main lorsque vous livrez effectivement au plus tard le vendredi 24 mars à 23h55,
  • poussée de l'étiquette sur le dépôt GitLab.

Voici la séquence à adapter à votre projet :

$ cd ~/CSC4102/csc4102-projet $ git branch # nous sommes dans la branche develop main * develop $ git checkout main Votre branche est à jour avec 'origin/main'. $ git branch * main develop $ git merge --no-ff develop -m "fusion branche develop" Suppression de ... Fusion automatique de ... ... Merge made by the 'recursive' strategy. ... # possibles conflits à résoudre avec git mergetool --tool=meld puis git commit $ git push origin main Décompte des objets: 1, fait. Écriture des objets: 100% (1/1), 229 bytes | 0 bytes/s, fait. Total 1 (delta 0), reused 0 (delta 0) To gitlabens.imtbs-tsp.eu:.../csc4102-projet.git a7b0a47..3bf4557 main -> main # la suite est à faire lors de la livraison effective, c'est-à-dire au plus tard le vendredi 24 mars, avant 23h55 $ git tag -a livraison -m "livraison du développement" $ git push origin main --tags # option --tags pour pousser l'étiquette Décompte des objets: 1, fait. Écriture des objets: 100% (1/1), 173 bytes | 0 bytes/s, fait. Total 1 (delta 0), reused 0 (delta 0) To gitlabens.imtbs-tsp.eu:../csc4102-projet * [new tag] livraison -> livraison

Une fois que vous avez fusionné sur la branche main, vous restez sur la branche main. Donc, faites attention à ne pas continuer à travailler sur la branche develop après la fusion.

Avant de quitter le TP, veuillez s'il vous plaît remplir dans la page Partage de votre groupe le tableau d'avancement de votre binôme-projet :