====== Outils du Génie Logiciel et UML ====== ===== Objectifs du module ===== * Définir les bonnes pratiques et outils indispensables au génie logiciel. * Découvrir les principes de base et prendre en main UML. ===== Modalités d'évaluation ===== Le module sera évalué sur la base d'un projet commun et sur l'implication dans ce projet. Des QCM et TD spécifiques viendront compléter l'évaluation sur projet. Le module sera évalué sur les axes suivants : * Outils pour le GL (OGL) * Conception et modélisation (UML) ===== Intervenants ===== ^ Nom ^ Affiliation ^ Adresse ^ Responsabilité ^ | __[[camillie@i3s.unice.fr|Cécile Camillieri]]__ (CC) | I3S | Bâtiment Templiers : Bureau 403 | OGL | | __[[duffau@i3s.unice.fr|Clément Duffau]]__ (CD) | I3S/Axonic | Bâtiment Templiers : Bureau 402 | OGL | | __[[blay@unice.fr|Mireille Blay-Fornarino]]__ (MBF) | IUT/UNS/I3S | Bâtiment Templiers : Bureau 449 ([[http://www.polytech.unice.fr/~blay|www]]) | UML | ===== Planification ===== * **22/11/16** : Introduction au module : * [[https://goo.gl/forms/euUsh0wCFsepHZD82|Qui êtes-vous ?]] * Cours **CC** & **CD** : * {{:2016_2017:lp:dam:gl:0_intro.pdf|Présentation du module}} * {{:2016_2017:lp:dam:gl:1_project_management.pdf|Introduction à la gestion de projet et à l'agilité}} * {{:2016_2017:lp:dam:gl:2_versioning.pdf|Gestion de version}} * {{:2016_2017:lp:dam:gl:3_project.pdf|Présentation du projet}} * TD **CC** : * {{:2016_2017:lp:dam:gl:td-git.pdf|Prise en main git}} * [[https://goo.gl/forms/OYPJow4ABywl4q4K2|Définition des groupes]] * Evaluation : * (OGL) Seul. Rendu TD Git à faire pendant la séance sur Github classroom. * **28/11/16** : Agilité et Introduction au sujet : * Cours **CD** : * {{:2016_2017:lp:dam:gl:4_agility_kanban.pdf|Introduction aux méthodes Agiles : Kanban}} * {{:2016_2017:lp:dam:gl:4_agility.pdf|Introduction aux méthodes Agiles : User Stories}} * {{:2016_2017:lp:dam:gl:5_kanban_in_practice.pdf|Kanban dans la pratique}} * Présentation des outils Jira * TD **CD** : * Atelier de découverte de l'agilité * {{:2016_2017:lp:dam:gl:spec-project.pdf|Spécifications complètes du projet}} * Définition des Stories et cas d'utilisation * Prise en main de Jira * Evaluation : * (UML) Par équipe de projet : Users stories et diagrammes de cas d'utilisation à rendre par mail avant le **04/12/2016 23h59**. * **5/12/16** : Initiation aux WebServices et Packaging * Cours **CC** : * {{:2016_2017:lp:dam:gl:6_packaging.pdf|Packaging}} * {{:2016_2017:lp:dam:gl:7_ws.pdf|Introduction aux API Web}} * Cas pratique et démonstration * {{:2016_2017:lp:dam:gl:code-ws-simple.zip|Exemple de service simple code}} * TD **CC** : * {{:2016_2017:lp:dam:gl:8_kickoff-sprint0.pdf|Sprint 0}}: Mise en place de la structure du projet et répartition des tâches * [[https://classroom.github.com/group-assignment-invitations/88a080f0872a963f4436df6de1f69e8b|Lien Github classroom]]. Votre nom d'équipe doit être X-ce-que-vous-voulez (X = identifiant de l'équipe) * Release JIRA (bouton release dans le Kanban) * Release GIT dans master + Tag : ''git tag sprint-0 && git push origin sprint-0'' ([[https://git-scm.com/book/en/v2/Git-Basics-Tagging|cf doc Git]]) **Mise en ligne du sprint-0 sur Github et Jira. Livraison attendue au plus tard le 11 décembre à 23h59 (heure française). Retard = 0.** * **12/12/16** : Kick-off Sprint 1 et Intégration Continue : * Cours **CC** : * {{:2016_2017:lp:dam:gl:10_ci.pdf | Intégration Continue}} * {{:2016_2017:lp:dam:gl:11_kickoff_1.pdf | Kick-off Sprint 1}} + {{:2016_2017:lp:dam:gl:11b-kickoff1-appendix.pdf | Déploiement}} * TD **CC** : * Travail sur le projet * {{:2016_2017:lp:dam:gl:9_retro_sprint0.pdf | Rétrospective Git & Sprint 0}} * **05/01/17** : OGL **CD** - Tests (2h00) * Cours **CD** : * {{:​2016_2017:​lp:​dam:​gl:​12_software_testing.pdf | Les tests logiciels}} * JUNIT {{:2015_2016:lp:idse:gl:tests.pdf|JUNIT}} * Tests et mocks {{:​2015_2016:​lp:​idse:​gl:​tests.pdf|Tests et mocks}} * Démo {{:2015_2016:​lp:​idse:​gl:​code-tests.zip|Exemple de tests présenté en cours}} * TD **CD** : * Kata * Evaluation OGL * **05/01/17** : UML **MBF** - Introduction à UML et Diagrammes de classes (2h00) * TD : Application à l'étude de cas * **12/01/17** : OGL **CC** - Coaching projet (1h00) * Travail et suivi de l'avancement du projet * **12/01/17** : UML **MBF** - {{:2016_2017:lp:dam:gl:activity_diagrams-2016.pdf|Diagrammes d'activités}} (3h00) * TD : Application à l'étude de cas en mettant en relief l'architecture. * Ou {{:2016_2017:lp:dam:gl:examuml-lp-idse-2016-17.pdf|exercice}} * **17/01/17** : OGL **CD** - Suivi du projet * Travail et suivi de l'avancement du projet **Mise en ligne du sprint-1 sur Github et Jira. Livraison attendue au plus tard le 22 janvier à 23h59 (heure française). Retard = 0.** * **24/02/17** : Fin du premier Sprint - Evaluation * Cours **CC** & **CD** * Release du premier Sprint (Tag Git sprint-1 et Release JIRA) * Evaluation : * Statut Jenkins * Projet Maven * Tickets * Commits * Tests * Qualité du code * Utilisation UML /*??*/ * Valeur ajoutée de la solution (qu'est ce qui a été développé ?) * Répartition du travail * **Démo Obligatoire** * **31/01/17** : OGL **CC** - Suivi du projet et lancement sprint 2. (2h00) * [[https://goo.gl/forms/Yug1lFEhh9bfZa3k2|Formulaire - Bilan connaissances]] * {{:2016_2017:lp:dam:gl:13_kickoff-sprint2.pdf|Sprint 2}} : Lancement du sprint 2 * Travail et suivi de l'avancement du projet * **31/01/17** : UML **MBF** (2h00) * Diagrammes d'activité * **07/02/17** : OGL **CD** - Suivi du projet (2h00) * Travail et suivi de l'avancement du projet * **07/02/17** : UML **MBF** - A definir (2h00) * TODO **Mise en ligne du sprint-2 sur Github et Jira. Les slides de la présentation ainsi que le rapport __**au format pdf**__ doivent être dans le répertoire git. Livraison attendue au plus tard le 19 février à 23h59 (heure française). Retard = 0.** * **21/02/17** : Fin du deuxième Sprint - Evaluation finale * Cours **CC** & **CD** * Release du deuxième Sprint (Tag Git sprint-2 et Release JIRA) * Rapport sur le travail effectué **au format pdf** sur le repository git dans un répertoire doc/. * Slides de la présentation **au format pdf** sur le repository git dans un répertoire doc/. * Présentation : * Objectifs attendus * Démonstration * Etat actuel du projet (test, qualité, etc) * Projection pour la suite * Evaluation : * Utilisation des outils * Présentation * Prise de recul