Module : langage de modélisation UML
Filière : INFO-1
TD 6-Analyse et Conception Statique
Exercice 1: Diagrammes de classes et d’objets
Le dessin ci-dessous représente des figures emboîtées. La représentation d’une figure à
l’intérieur d’une autre indique qu’elle y est imbriquée. Les figures noires sont considérées
comme pleines.
Travail demandé :
a. Représenter le diagramme de classes correspondant.
b. Représenter le diagramme d’objets correspondant.
Exercice 2 : Traduction d’un code en diagramme de classes
Donner le diagramme de classes correspondant au code JAVA suivant :
public interface Délimitée
{
public Frontière getFrontière ;
}
abstract public class Forme implements Délimitée
{
}
public class Ellipse extends Forme
{
protected float a ;
protected float b ;
protected float angle ;
protected Point centre ;
public Point getCentre();
public float getAngle() ;
}
public class Cercle extends Forme
{
protected float radius ;
protected Point centre ;
public Point getCenter() ;
public float getRadius() ;
}
1
Module : langage de modélisation UML
Filière : INFO-1
public class Point extends Forme
{
protected float x ;
protected float y ;
protected float z ;
public float getX() ;
public float getY() ;
public float getZ() ;
}
abstract public class ListePoints extends Forme
{
protected Arraylist <Point> points = new Arraylist<Point>() ;
public int getComptePoints() ;
public Point getPoint(int i) ;
public ArrayList <Point> getPoints() ;
}
public class Polygone extends ListePoints
{
}
public class Ligne extends ListePoints
{
}
public class Frontière extends Forme
{
}
public class ListeFormes extends Forme
{
protected Arraylist <Forme> formes = new Arraylist<Forme>() ;
public void ajouterForme(Forme forme) ;
public void supprimerForme(int i) ;
}
Exercice 3 : Déduction d’un diagramme de classes à partir d’un diagramme de séquences
Une société désire développer une application Web qui permet d’échanger des services. Un
service est identifié par son libellé, sa description, son terme d'échange (autres services ou prix),
sa position géographique, sa date de début et sa date de fin. Les services sont classés en
catégories (habitat, automobile, cours particuliers, etc) et en sous-catégories (nous citons par
exemple pour la catégorie habitat, les sous-catégories : peinture, jardinage, électricité, etc). La
gestion des catégories et des sous-catégories est sous la responsabilité des administrateurs du
système. Un internaute a la possibilité de consulter les catégories et les sous catégories des
services. Il peut également s'inscrire. Il devient ainsi un membre.
Un membre doit s’authentifier pour réaliser les différentes opérations. Un membre est identifié
par son nom, son prénom, son email, son pseudonyme et son mot de passe. Tout comme
l'internaute, le membre a la possibilité de consulter les catégories et les sous catégories des
services. Un membre effectue également la gestion des services (ajout, modification,
2
Module : langage de modélisation UML
Filière : INFO-1
suppression, consultation et recherche). Il est important de connaitre les services ajoutés par un
membre ainsi que la date de l'ajout.
Lors de l'ajout d'un service un membre doit choisir une catégorie. Il choisit ensuite une sous-
catégorie. Finalement le membre crée un nouveau service avec sa description, son terme
d'échange, la date de début de ce service et la date de fin de ce service. Une vérification est
alors effectuée. Ainsi un message de succès est affiché au membre si les données sont valides.
Dans le cas où les données sont invalides un message indiquant l'échec de l'ajout est affiché au
membre.
Le diagramme de séquence objet « Ajouter un service » a été élaboré dans le TD5.
Travail demandé
Déduire le diagramme de classes de conception.
Rappel