Exercices UML et Java
Durée2h30Documents structurés
Objectifs
Les objectifs de ces séances sont :
- modéliser un cahier des charges simple sous forme d’un diagramme de classes UML,
- réaliser ce diagramme sous forme de classes Java.
Contexte
Le travail de cette séance sera centré sur les documents structurés.
Documents structurés
Exercice 1 (Conception)
L’objectif de cet exercice est de réaliser un logiciel de manipulation de documents structurés dont voici le cahier des charges :
Un document dispose d’un titre. Il est composé d’un ensemble de sections et connaît la section courante qui est la section en cours de manipulation (c.-à-d. sa position dans la liste des sections). Une section possède un titre et est composée d’un ensemble de paragraphes. Un paragraphe contient du texte qu’il peut renvoyer.
Un document offre des services permettant de naviguer dans les sections (p.ex. changer la section courante par la section qui la précède ou la suit), d’ajouter une section après la section courante et de récupérer la section courante. Il fournit également un service qui renvoit son titre et le contenu des sections (titres et paragraphes) sous la forme d’une chaîne de caractères.
Une section permet d’accéder à son titre et d’ajouter un paragraphe en fin de section. Enfin, son contenu (titre et contenu des paragraphes) peut être obtenu sous forme d’une chaîne de caractères.
Identifier les classes nécessaires et proposer un diagramme de classe détaillé.
Exercice 2 (Classe Paragraph
)
Réaliser, en Java, la classe Paragraph
.
Exercice 3 (Classe Section
)
Réalisez, en Java, uniquement les attributs, les associations et le
constructeur de la classe Section
. La réalisation des associations à
cardinalité multiple doit utiliser la classe LinkedList
de Java dont
un extrait de la documentation est donné en annexes.
Exercice 4 (Classe Document
)
Réalisez, en Java, uniquement les attributs, les associations et le
constructeur de la classe Document
. Comme pour la question
précédente, utilisez la classe LinkedList
pour les associations
à cardinalité multiple.
Exercice 5 (Réalisation)
Dans la suite de la réalisation, vous êtes invités à compiler le plus souvent possible votre code même s’il n’est pas complètement terminé.
Un projet à importer est disponible sous Moodle.
Importez le projet.
Réalisez en Java et testez la classe Section
.
Réalisez en Java et testez la classe Document
.
Annexes
Extrait de la javadoc de la classe LinkedList
Class LinkedList<E>
Constructor Summary |
---|
LinkedList() Constructs an empty list. |
Method Summary | |
void | add(int index, E element) Inserts the specified element at the specified position in this list. |
boolean | add(E o)
Appends the specified element to the end of this list. |
E | get(int index) Returns the element at the specified position in this list. |
int | size() Returns the number of elements in this list. |