PROFDINFO.COM

Votre enseignant d'informatique en ligne

L'explorateur de disque

Un exercice d'UML avancé avec patrons de conception inclus!

Comme vous avez amplement programmé tout au long de ce cours, le dernier laboratoire vous placera plutôt dans la position opposée à celle que vous prenez habituellement. Plutôt que de créer un programme, vous en recevrez un déjà tout créé pour vous et vous tenterez de le comprendre pour en faire le diagramme UML (cela vous permettra en même temps d'avoir une première (?) expérience en compréhension du travail d'un autre programmeur, qui a un style différent du vôtre).

De plus, vous devrez identifier les patrons de conceptions qui sont utilisés dans le design du programme (et ils sont nombreux).

Finalement, vous devrez présenter à la classe un patron de conception (qui vous a déjà été attribué), de façon informelle et en 5 minutes - suffisamment pour que tout le monde comprenne à quoi il sert, comment il fonctionne et comment l'utiliser. Vous avez à votre disposition la mini-description dans le document de Joan, le diagramme UML de votre patron et un petit programme d'exemple, sans parler d'Internet, qui est toujours une source inépuisable d'information.

Le programme

Un exemple d'exécution

Le programme est un mini-explorateur de disque qui vous permet de sélectionner un disque ou répertoire et qui vous affiche un graphique en représentant le contenu. Vous pouvez donc savoir quel dossier prend de la place sur votre disque, ou encore trouver le type de fichier le plus populaire. Il est possible de faire des histogrammes ou des graphiques en pointes de tartes.

Vous pouvez télécharger le code source du programme ici. Il a été rédigé en C# et les classes sont regroupées de façon logique dans différents fichiers.

Le programme en est un d'envergure, comprenant un grand nombre de classes, dont certaines plutôt complexes. N'oubliez pas que votre but n'est pas de comprendre l'algorithme du programme, mais son design objet!

Le diagramme UML

Votre diagramme UML, si vous tentez d'y inclure absolument tous les détails possibles, sera probablement monstrueux. La bonne chose à faire ici est de tenter de résumer. N'oubliez pas qu'on n'est pas tellement intéressé par les attributs et les méthodes des classes, on l'est beaucoup plus par les relations entre les classes puisque le but est de trouver les patrons de conception.

Pour simplifier notre vie, dès le départ sachez que vous n'avez pas besoin d'inclure dans votre UML:

Par contre, on veut voir sur votre diagramme:

Les patrons de conception

Il y a dans ce design 6 patrons de conception différents, tous couverts dans le document de Joan et vus en classe. Certains de ces 6 patrons sont mêmes utilisés deux fois dans le design.

Vous devez en identifier correctement un minimum de 4 différents, avec un bonus si vous en identifiez un qui est utilisé deux fois.

Pour chaque patron identifié, vous devez faire un mini diagramme UML, sous-ensemble de votre grand diagramme principal, qui montre uniquement les classes qui font partie du patron. Donnez le nom du patron et expliquez brièvement le rôle qu'il joue dans le programme.

La présentation orale

Présentation orale est un bien grand mot. Tout ce que vous devrez faire c'est de comprendre le patron de conception qui vous a été assigné en classe lors du cours du 7 novembre, puis de venir l'expliquer au reste de la classe attentive lors du cours du 14 novembre. Une explication d'environ 5 à 6 minutes devrait normalement faire l'affaire - ce qui compte ce n'est pas tant la durée de la présentation comme la qualité et la clarté des explications qu'on y retrouve. Vous devrez nous expliquer:

Vous aurez accès au super projecteur du local, au diagramme UML du document de Joan et à l'exemple de code du même document.

Travail d'équipe

Exceptionnellement, ce travail devra être fait en équipes de 2 (une seule équipe de 3 sera permise vu le nombre impair d'étudiants dans la classe et cette dernière devra présenter deux patrons à la classe), ceci pour favoriser les échanges d'idées, stimuler les discussions et alléger l'ambiance en cette fin de session. Les équipes ont déjà été formées en classe dans le cours du 7 novembre. Si vous n'y étiez pas (honte à vous), posez des questions à vos collègues, vous avez déjà un partenaire imposé...

La remise

Comme le veut la tradition, vous aurez deux semaines pour travailler sur ce laboratoire. Vous devrez donc remettre un document papier à votre charmant professeur au plus tard vendredi le 23 novembre à 13h30. La période de laboratoire du 16 octobre sera également consacrée à ce travail. Il est vivement conseillé de ne pas débuter le travail à la dernière minute (le 23 au matin, par exemple). N'oubliez pas que les présentations auront lieu le 14 novembre.

Et maintenant: analystes, à vos cerveaux!