/r3-03-analyse-td3-jimmy-txi

r3-03-analyse-td3-jimmy-txi created by GitHub Classroom

Primary LanguageJava

Traçabilité exigences - code

Contexte

Le but de ce TD/TP est de vous montrer des exemples de traces formelles entre les différents artefacts de votre application (des exigences jusqu’au code).

artifacts r303
Figure 1. Les principaux artefacts qui nous intéressent en R3-03 (Inspiré de ici)

Exigences

Voici la liste des exigences de départ :

1 — HelloWorld

Description

Le programme doit contenir une méthode hello() qui retourne "Hello World!" quand on l’exécute sans paramètre.

Issue
Importance

Must

2 — Echo

Description

La méthode hello() doit retourner son paramètre quand on l’invoque avec un paramètre.

Issue
Importance

Should

Tip

Nous utilisons ici la méthode MoSCoW d’estimation.

Étapes

  1. Récupérez un dépôt via classroom et clonez-le localement : https://classroom.github.com/a/57HhItOw

  2. Créez une (ou plusieurs) issue correspondant à des développement, des tests ou de la doc en lien avec une exigence.

    issue
    Figure 2. Exemple d’issue
  3. Liez-là à l’exigence (comme c’est fait ci-dessus)

  4. Créez une branche dédiée

    branch
    Figure 3. Une branche liée à une issue
  5. Créez un projet maven dans votre dépôt, avec le plugin de votre IDE, ou avec les commandes maven :

    mvn archetype:generate -DinteractiveMode=false
  6. Réalisez les tests, puis le code, puis la javadoc du code dans cette branche

    mvntest
    Figure 4. mvn test
  7. Une fois que tout fonctionne, réalisez une merge request (nécessite que le code correct soit poussé sur le dépôt distant)

    mergerequest
    Figure 5. Une branche liée à une issue
    Tip
    Notez, avant la dernière étape, comme vous pouvez "naviguer" de l’exigence au code ou vice-versa.
    traceback
    Figure 6. Bulle info sur l’origine du code
  8. Acceptez la merge request, détruisez la branche et fermez l’issue.

    merge
    Figure 7. Accepter la merge request
    tracebranches
    Figure 8. Trace dans les commits
  9. Répétez l’opération pour une fonctionnalité de votre choix, un peu plus compliquée. Juste pour tester que cette démarche est acquise.