Projets de Conception Orientée Objets (COO)

De $1

Version de 04:16, 18 Aoû 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Ces projets, communs aux groupes de Licence MIAGE 3 et à ceux de Licence Informatique 3 sont dirigés par M. Pierre Crescenzo.

Sujet des projets 2010-2011

1. Modalité de déroulement du mini-projet

Ce projet est à réaliser par équipe de quatre étudiants (s'il reste, à la fin de la composition des équipes, des équipes de moins de quatre étudiants ou des étudiants esseulés, M. Pierre Crescenzo formera alors autoritairement des équipes avec ces étudiants). La formation des équipes est libre et vous pouvez mélanger des étudiants de tous les groupes de TD de Licence MIAGE 3 et Licence Informatique 3. Chaque équipe doit indiquer sa composition par l’envoi d'un courriel à M. Pierre Crescenzo (en mettant obligatoirement en copie les quatre membres du groupe) au plus tard vendredi 5 novembre 2010. Le courriel doit donner les prénom, nom, promotion (MIAGE ou Informatique), groupe de TD et adresse de courriel "unice" de chacun de ses quatre membres.

Le projet est à réaliser à partir du samedi 6 novembre 2010. Il doit être rendu à M. Pierre Crescenzoau plus tard lundi 6 décembre 2010 sous deux formes : un unique PDF par courriel et le même document imprimé et relié dans le casier de Valrose (étage 4 du bâtiment Petit-Valrose) de M. Pierre Crescenzo. Tout retard du courriel ou du rapport papirt sera pénalisé.


        Une         liste      des     outils      UML         est     disponible      à       l’adresse
        http://en.wikipedia.org/wiki/List_of_UML_tools
        Tout retard dans la formation des équipes (30 novembre) ou la remise du dossier (8 décembre)
        entraînera une pénalité sur la note du projet.
2. Sujet
Le mini-projet repose sur la modélisation de l’informatisation d’une bibliothèque universitaire pour
étendre ses fonctionnalités. Votre point de départ est constitué par les TD que vous avez réalisés en
UML. Vous pouvez réutiliser tout ce que vous avez fait, corrections de TD y compris (c’est même
fortement conseillé !).
La conception et la spécification que vous devez réaliser doivent prendre en compte les besoins
suivants :
    •   Aucune réservation n'est possible sur aucun document. Le système n'a donc pas à gérer les
        réservations.
                                                                                                      1/2
     •   Les informations d'emprunt sont maintenues par le système, même après qu'un emprunt soit
         terminé, afin d'obtenir l'historique des emprunts pour un adhérent spécifique, un exemplaire de
         livre ou un livre.
     •   La gestion des commandes est effectuée par le système : vous partez de l'hypothèse que les
         éditeurs utilisent tous un format standardisé pour fournir les catalogues et que les commandes
         peuvent être passées par internet. Le système devra aussi fournir une interface web (en
         intranet) pour que les enseignants proposent des achats et consultent les livres déjà présents.
     •   La gestion de l'état des livres est effectuée par le système. Un livre peut être considéré
         "comme neuf", en "bon état", "partiellement abîmé" ou "très abîmé". Le système proposera
         d'envoyer "en réparation" les livres très abimés ou de les retirer définitivement du prêt s'ils ne
         peuvent être réparés. Le système devra aussi gérer la perte d'un livre (il est considéré comme
         perdu 2 mois après la relance). La relance d'un emprunt en retard n'est effectuée qu'une fois,
         deux jours après sa date de retour prévue. Tous les adhérents doivent donner un e-mail et les
         relances sont font uniquement par courrier électronique. La perte d'un livre est sanctionnée par
         une interdiction d'emprunt de 12 mois.
     •   Les pénalités sont gérées en adaptant ce qui a été explicité dans le premier TD UML : On ne
         peut pas emprunter plus de 3 livres en même temps, et la durée maximum d’un prêt est de 15
         jours pour un étudiant et de 1 mois pour un enseignant. Les adhérents sont relancés par
         courrier électronique lorsqu’ils ne rendent pas leurs livres dans les délais. Les adhérents qui
         n’ont pas rendu les livres qu’ils ont empruntés dans les délais ne peuvent pas emprunter de
         livres pour une durée égale au dépassement du délai, et cela à partir de la date de restitution
         des livres.
3. Contenu du dossier à rendre
Le dossier comprendra la conception et la spécification de votre modélisation. Il sera composé des
éléments suivants :
         La conception en UML, avec les diagrammes de cas d’utilisation, un diagramme détaillé de
         classes (signature typée des attributs et des méthodes) et pour chaque diagramme de cas
         d’utilisation un diagramme de séquence correspondant (chaque diagramme de séquence doit
         être accompagné d’une description du scénario spécifié, puisqu’un diagramme de séquence ne
         décrit qu’un scénario particulier du cas d’utilisation général). Si nécessaire, les diagrammes
         d'état devront aussi être fournis.
         La spécification en OCL des invariants, et des préconditions et postconditions pour chaque
         classe et/ou méthode importante qui apparaît dans un diagramme de séquence précédemment
         demandé, et éventuellement pour chaque méthode que vous jugerez pertinente.
         Attention : les assertions qui peuvent spécifier l’intégrité référentielle des associations entre
         classes ne sont pas demandées. Seules les autres formes d’assertions doivent apparaître.
         Une introduction à la partie UML dans laquelle vous expliquerez vos principales décisions
         de conception face aux besoins. Chaque diagramme et chaque spécification pourra comporter
         un paragraphe d’introduction dans lequel vous motiverez les choix effectués.
NB-1 : la description du système d’information est forcément incomplète. Vous pouvez compléter et
faire les choix qui vous semblent les plus appropriés pour obtenir une modélisation cohérente, en
n’oubliant pas de préciser ces hypothèses dans la partie d’introduction.
NB-2 : Les classes déjà présentes dans le langage OCL n’ont pas à être spécifiées. En revanche, si
vous avez besoin d’une classe utilitaire que vous connaissez dans une bibliothèque de classes (Java ou
autres), vous pouvez utiliser sa définition en UML, et il serait alors bienvenu de spécifier les parties
utilisées à l’aide d’assertions.
2/2

Groupes de travail