Module 5

Passer de la conception au code

Cahier d’exercice sur l’implémentation

Exercice 1 :
Quelle affirmation est vraie concernant le processus unifié parmi les suivantes :

  1. Si le code de l’itération N dévie de la conception, alors on doit ajuster le code pour ne pas changer la conception.
  2. Si le code de l’itération N dévie de la conception, alors on doit dans l’itération suivante commencer par synchroniser les diagrammes de la conception avec ce code.
  3. Si le code de l’itération N dévie de la conception, alors on doit refaire tout le travail de l’itération N; l’itération N+1 devient une itération de rattrapage.
  4. Le code de l’itération N ne peut pas dévier de la conception car sa génération peut être fait de façon mécanique et infaillible à partir des classes de conception et des diagrammes d’interaction.
  5. Dans le processus unifié, on ne développe du code que dans la dernière itération, correspondant à la phase d’implémentation. Le modèle de conception n’est plus utile dans cette phase et n’a pas besoin d’être corrigé s’il ne correspond pas au code.
Réponse

Réponse : 2

Exercice 2 :
À partir des 2 diagrammes suivants, écrivez le code partiel de la classe Videotheque, en Java (définition complète des attributs et signature des méthodes figurant dans ces diagrammes).

Diagramme de collaboration obtenirVideo :

Partie du diagramme de classes de conception décrivant la classe Videotheque :

Réponse

Réponse :
public class Videotheque
{
private CatalogueVideos catVideo;
private Location locVideo;
….
public void obtenirVideo (nom : String) {…}
}

Explications
Voir page 367 pour un autre exemple.

Exercice 3 :
Écrivez en Java le corps de la méthode obtenirVideo de l’exemple précédent.

Réponse

Réponse :
void obtenirVideo (nom : String)
{ SpecVideo spVideo;

     spVideo = catVideo.getinfvideo ( nom );
     locVideo.ajouterItem ( spVideo);
}

Explications
Voir page 368 pour un autre exemple.

Exercice 4 :
Pour l’exemple précédent, indiquez le type de visibilité de chacun des éléments suivants appartenant à la classe Videotheque : specVideo, Location, CatalogueVideos.

Réponse

Réponse :
specVideo : visibilité locale.
Location : visibilité d’attribut
CatalogueVideos : visibilité d’attribut

Explications
spVideo est une variable locale de type specVideo de la méthode obtenirVideo de Videotheque.
locVideo est un attribut de type Location de la classe Videotheque. L’association entre Videotheque et Location avec navigabilité de Videotheque à Location est implémentée par cet attribut.
catVideo, tout comme locVideo est des attribut de Videotheque qui implémente une association avec la classe CatalogueVideos.
Pour plus de détails, voir pages 361 à 366.

Exercice 5 :
Pour établir l’ordre d’implémentation des classes, on utilise quel critère :

  1. Aller de la moins couplée à la plus couplée.
  2. Aller de la plus couplée à la moins couplée.
  3. Implémenter une première classe quelconque et après toutes les classes liées, puis celles liées à celles-ci et ainsi de suite.
  4. Implémenter dans un premier temps les classes pour lesquelles vous croyez avoir le plus de certitude.
  5. Implémenter dans un premier temps les classes sur lesquelles vous avez des doutes.
Réponse

Réponse : 1

Explications
Voir page 371.