User Tools

Site Tools


2013_2014:s2:td:td_classes-code-associations

This is an old revision of the document!


Des modèles aux classes et gestion de versions

DRAFT !!!!

Code et associations "simples"

Voici un diagramme UML en conception.

Les objectifs de ces TDs sont de bien positionner la modélisation en UML de niveau conception relativement au codage !

Des codes vous sont donnés pour vous aider à comprendre et à ne pas perdre de temps. L'objectif n'est pas de vous apprendre à écrire des boucles ou des algorithmes, mais davantage de bien architecturer vos applications.

Association orientée : Multiplicité 1

Donner la copie d'écran + le VPP si besoin

  1. Mettez en oeuvre la relation entre Cours et Professeur, i.e. implémenter la méthode setResponsable et getResponsable.Voir les codes
  2. Ecrivez des tests !! et Tester votre programme.voir le code
  3. A présent nous voulons pouvoir gérer des cours dont le professeur n'a pas été désigné. Modifiez le modèle (sur papier ou sur machine) 1) le nouveau modèle
  4. Modifiez vos codes en conséquence. Les codes
  5. Ecrivez des tests !! et Tester votre programmeles tests

Association orientée : Multiplicité 0..*

  1. Mettez en oeuvre la relation entre Cours et Vacataires, i.e. implémenter la méthode addVacataire(), removeVacataire().Codes : utilisez les, car vous ne connaissez pas encore la manipulation des listes en java.
  2. Si dans l'étape précédente vous avez modifié votre modèle, re-générez le ou du moins dessinez les modifications.modèle partiel
  3. Ecrivez des tests et Tester votre programmePour tester votre programme
Gestion de listes simple en java

Regardez dans les codes qui vous sont donnés. Vous ne les avez pas encore vu en cours.

Mémorisation des codes et gestion de version

Mémorisez vos codes sous SVN – EXPLICATIONS à ECRIRE Visualisez vos codes … Partager un répertoire A VOIR CAR PAS SUR…

A partir de maintenant

  1. à la fin de chaque exercice, vous devez “commiter” vos codes.
  2. chaque séance de TD est stockée dans le SVN. On doit pouvoir parcourir le SVN pour voir ce que vous avez fait mais aussi les différentes versions.
Vous pouvez utiliser le SVN pour stocker vos codes dans toutes les matières !! Cela peut vous permettre de récupérer d'anciennes versions !

Associations complexes

Association bi-directionnelle

Soit la classe cours et etudiant (bi-directionnelle)

  1. Décider de la classe responsable : on ajoute des cours à étudiant ou bien on ajoute un étudiant à un cours 2)
  2. Placer les méthodes dans le modèle avec leur visibilité. On doit pouvoir connaître pour un cours la liste des étudiants qui le suit, et pour un étudiant la liste des cours suivis. On doit pouvoir ajouter un étudiant à un cours ou bien ajouter un cours à un étudiant en fonction de votre choix de responsabilité.

Mémoriser vos codes

Mémorisez vos nouveaux codes XXXX A Faire même si ce n'est qu'un rappel

Composition

  1. Quel constructeur pour la classe Cours? 3)
  2. Si vraiment un TD ne peut pas être construit en dehors d'un cours que suggérez-vous?
  3. Quelle gestion de la méthode coursAssociée définie dans la classe TD? Même chose pour un DS. Suggestion?

Classe d'association

On associe à un DS des salles en fonction de Dates.

Retour en arrière

L'objectif n'est pas de gérer les examens et la relation précédente était une erreur. Revenez en arrière en récupérant les codes avant de commiter l'étape précédente

A FAIRE

Fabriques et Propriétés statiques

Dans notre système on a besoin de :

  1. créer des cours
  2. Retrouver un cours à partir de son intitulé
  3. Enregistrer de nouveaux enseignants avec leur nom.
  4. Modifier l'enseignant responsable d'un cours
  5. Savoir si un étudiant a un professeur en cours.
  1. Modifier le modèle de votre application pour intégrer ces nouvelles fonctionnalités
  2. Modifier vos codes
  1. Comment connaître les cours dont un professeur est responsable? Il existe plusieurs solutions. Vous pouvez modifier le modèle. (par exemple dans Cours on a une méthode statique.. ou bien on ajoute une autre classe).
  2. Ecrivez des tests !! et Tester votre programme.
Hasmap et chaines de caractères et fonctions d'accès..

Compositions

Un enseignement est soit un cours soit un parcours. Un parcours est une aggrégation d'enseignements.

  1. Est-ce qu'un parcours peut faire référence à d'autre parcours?
  2. Est-ce qu'un cours peut faire référence à un parcours
  3. Implémentez?
1)
modifier la multiplicité ! Mais pensez aussi à gérer le 0 dans le constructeur et ajouter les méthodes pour vérifier qu'il y a ou non un responsable
2)
c'est mon choix dans la correction
3)
construire le TD et le Cours associé automatiquement
2013_2014/s2/td/td_classes-code-associations.1395781620.txt.gz · Last modified: 2014/03/25 22:07 by blay