Table des matières

1. Introduction

Ce TP explore la distinction cruciale entre les concepts et leurs instances physiques dans les systèmes d’information, en se concentrant sur un exemple de bibliothèque. À travers la modélisation de livres, de leurs copies, et des abonnés, nous apprendrons à identifier et définir des classes et des attributs pertinents. L’objectif est de développer une compréhension profonde de la manière dont les éléments et leurs discription sont représentés et gérés dans un système informatique, tout en abordant des défis de modélisation spécifiques tels que l’état d’une copie de livre et la gestion des emprunts par les abonnés.

2. Comprendre le Problème

Pour comprendre le problème, il est crucial de distinguer un "livre" en tant que concept, qui inclut des informations immatérielles telles que le titre et l’auteur, d’une "copie de livre", qui est un objet physique pouvant être acheté ou emprunté. Le concept de "livre" se rapporte à l’idée générale ou à l’oeuvre littéraire en elle-même, indépendamment de ses manifestations physiques. En revanche, une copie de livre se réfère à une incarnation physique de ce concept, une entité tangible que les gens peuvent posséder. Cette distinction reflète la différence fondamentale entre l’information et l’objet qui la contient, un principe essentiel dans la modélisation des systèmes d’informations, comme une bibliothèque, où les utilisateurs interagissent avec des copies physiques tout en recherchant ou réservant des livres selon leur concept.

3. Concept de "Livre"

Chaque "Livre" dans notre modèle sera représenté par un ensemble d’attributs qui capturent les informations nécessaires à la gestion d’une bibliothèque. Les attributs incluent :

  • Titre : Le nom de l’oeuvre littéraire.

  • ISBN : Un identifiant unique pour le livre, utilisé mondialement.

  • Date de publication : Quand le livre a été publié pour la première fois.

  • Genres : Catégories ou genres littéraires du livre.

  • Mots clefs : Des termes qui résument le contenu du livre.

  • Auteurs : Les écrivains de l’œuvre, représentés par une liste.

  • Éditeurs : Les entités responsables de la publication, également représentées par une liste.

4. Distinction entre le Titre de Livre et la Copie Physique

Dans le cadre de l’analyse de domaine pour une bibliothèque, il est important de différencier deux interprétations d’un "Livre" :

  • Titre de Livre (Ou Œuvre Littéraire) : Le concept ou l’œuvre littéraire elle-même, qui correspond à l’information sur le livre sans tenir compte de ses copies physiques. Il inclut des détails tels que le titre, l’ISBN, et la date de publication, ainsi que les relations avec les auteurs et éditeurs.

  • Copie Physique : La représentation matérielle du livre que les membres empruntent. Chaque copie a un état (neuf, usagé, endommagé, perdu) et une disponibilité (disponible, emprunté, réservé, perdu), avec un identifiant unique et une localisation précise dans la bibliothèque. Les copies sont associées aux titres de livre qu’elles représentent, et leur cycle de vie est géré à travers les transactions d’emprunt.

Pour gérer les différentes interactions des abonnés avec la bibliothèque, le modèle comprend des classes distinctes pour les Titres de Livre et les Copies de Livre. De plus, la classe Abonne a été étendue pour inclure une gestion des multiples adresses, permettant un suivi précis des résidences actuelles et passées des abonnés, ainsi qu’une collection d’instances d'`Emprunt` pour représenter l’historique complet des livres empruntés.

4.1. Class Livre

Chaque utilisation du terme livre peut avoir une signification différente. Dans ce contexte, livre peut faire référence soit à l’œuvre elle-même, soit à une copie physique de l’œuvre. Chaque occurrence de Livre représente une entité distincte avec ses propres métadonnées. De plus, chaque livre est associé à des instances spécifiques des classes Auteur et Éditeur, afin de refléter fidèlement la réalité de la publication de ces ouvrages.

  • Titre : Le nom de l’œuvre littéraire.

  • ISBN : Un identifiant unique pour le livre, utilisé mondialement.

  • Date de publication : Quand le livre a été publié pour la première fois.

  • Genres : Catégories ou genres littéraires du livre.

  • Mots clefs : Des termes qui résument le contenu du livre.

  • Auteurs : Associations avec des instances de la classe Auteur.

  • Éditeurs : Associations avec une ou plusieurs instances de la classe Éditeur.

  • Section : La section de la bibliothèque à laquelle le livre appartient ( Adulte, Ado, Enfant, etc …​).

4.2. Class Copie de Livre (instance physique)

  • ID_Copie : Identifiant unique pour chaque copie physique du livre.

  • État : Peut être neuf, usagé, endommagé, perdu.

  • Disponibilité : États comme commandé, disponible, emprunté, ou réservé.

  • Localisation : Emplacement spécifique dans la bibliothèque.

  • Livre : Association avec l’instance de la classe Livre correspondante.

4.3. Class Abonné

  • Nom : Le nom de famille de l’abonné.

  • Prénoms : Le ou les prénoms de l’abonné.

  • Adresse actuelle : Où l’abonné réside actuellement.

  • Numéro d’identification : Un identifiant unique pour l’abonné, composé de dix chiffres dont deux de validation.

  • Date d’inscription : La date à laquelle l’abonné s’est inscrit à la bibliothèque.

  • Nombre de Livres Empruntés : Le nombre actuel de livres empruntés par l’abonné (pour gérer la limite de prêts).

  • Liste d’adresse : Attribut pour stocker les adrésses multiples de l’abonné.

4.4. Class Bibliothécaire

  • ID_Bibliothécaire : Identifiant unique pour chaque bibliothécaire.

  • Nom : Nom de famille du bibliothécaire.

  • Prénoms : Prénoms du bibliothécaire.

  • Adresse : Adresse actuelle du bibliothécaire.

  • Numéro de téléphone : Téléphone du bibliothécaire.

  • Rôle : Description des responsabilités spécifiques (par exemple, gestion des emprunts, acquisition de livres).

4.5. Class Emprunt

  • ID_Emprunt : Identifiant unique pour chaque transaction d’emprunt.

  • DateEmprunt : Date à laquelle le livre a été emprunté.

  • DateRetourPrévue : Date à laquelle le livre doit être retourné.

  • DateRetourRéelle : Date à laquelle le livre est effectivement retourné.

  • CopieDeLivre : Association avec la copie spécifique du livre empruntée.

  • Abonné : Association avec l’abonné qui a emprunté la copie.

4.6. Class Comité de Lecture

  • ID_Comité : Identifiant unique pour chaque comité de lecture.

  • Nom du comité : Nom officiel du comité de lecture.

  • Rôle : Fonctions et responsabilités du comité, comme proposer des changements de sections ou évaluer des acquisitions de nouveaux livres.

  • Abonnés : Association avec les membres du comité, qui sont des abonnés spécifiques.

4.7. Class Auteur

  • Nom : Nom de famille de l’auteur.

  • Prénom : Prénom de l’auteur.

  • Date de naissance : Date de naissance de l’auteur.

  • Nationalité : Pays d’origine de l’auteur.

4.8. Class Éditeur

  • Nom : Nom de la maison d’édition.

  • Adresse : Adresse de la maison d’édition.

  • Téléphone : Numéro de téléphone de la maison d’édition.

4.9. Class Adresse

  • Rue : Nom de la rue.

  • Ville : Nom de la ville.

  • Code Postal : Code postal de la ville.

  • Pays : Nom du pays.

  • DateDebut : Date de début de validité de l’adresse.

  • DateFin : Date de fin de validité de l’adresse.

5. Modélisation UML

5.1. Diagramme de Classe pour Livre

La classe Livre représente le concept d’une œuvre littéraire dans notre système de gestion de bibliothèque. Elle est caractérisée par des attributs tels que le Titre (nom de l’œuvre), Auteurs (les écrivains de l’œuvre), ISBN (identifiant unique mondial de l’œuvre), Éditeurs (entités responsables de la publication), Date de publication (quand l’œuvre a été rendue publique pour la première fois), Genres (catégories littéraires de l’œuvre), et Mots-clés (termes résumant le contenu). Ces attributs capturent les informations essentielles d’un livre indépendamment de ses copies physiques.

Diagram

5.2. Diagramme de Classe pour Copie de Livre

Le diagramme décrit la classe CopieDeLivre utilisée dans notre système de gestion de bibliothèque, avec des attributs pour son état (comme commandé, disponible, emprunté, réservé) et l’association à un abonné lors d’un emprunt.

class-diagram-game

5.3. Diagramme de Classe pour Abonné

Le diagramme décrit la classe Abonné utilisée dans un système de gestion de bibliothèque,Elle inclut des détails personnels tels que le nom, prénoms, adresse actuelle, et un numéro d’identification unique. Ce dernier est spécifiquement conçu avec dix chiffres, incluant deux pour la validation, pour identifier de manière unique chaque abonné dans le système de gestion de la bibliothèque

Diagram

5.4. Diagramme de Classe pour Bibliothécaire

Le diagramme de classe pour la classe Bibliothécaire montre les attributs et les associations clés pour un bibliothécaire dans un système de gestion de bibliothèque. Les attributs incluent l’identifiant unique du bibliothécaire, son nom, ses prénoms, son adresse et son numéro de téléphone. Le rôle du bibliothécaire est également inclus pour décrire les responsabilités spécifiques du poste.

Diagram

5.5. Diagramme de Classe pour Emprunt

Le diagramme de classe pour la classe Emprunt montre les attributs et les associations clés pour une transaction d’emprunt dans un système de gestion de bibliothèque.

Diagram

5.6. Diagramme de Classe pour Comité de Lecture

Le diagramme de classe pour la classe Comité de Lecture montre les attributs et les associations clés pour un comité de lecture dans un système de gestion de bibliothèque.

Diagram

5.7. Diagramme de Classe UML pour l’Auteur

Le diagramme de classe pour la classe Auteur montre les attributs clés pour un auteur dans un système de gestion de bibliothèque.

Diagram

5.8. Diagramme de Classe UML pour l’Editeur

Le diagramme de classe pour la classe Editeur montre les attributs clés pour un éditeur dans un système de gestion de bibliothèque.

Diagram

5.9. Diagramme de Classe UML pour l’Adresse

Le diagramme de classe pour la classe Adresse montre les attributs clés pour une adresse dans un système de gestion de bibliothèque.

Diagram

6. Structure Générale du Diagramme de Classe

Le diagramme de classe UML pour une bibliothèque comprend plusieurs classes clés qui représentent les entités et les relations essentielles du système.

6.1. Modélisation des Relations et interactions entre classes

  • Livre et Copie de Livre

  • Association : Utilisation de la composition pour démontrer que chaque Livre peut avoir plusieurs Copie de Livre, et que la destruction d’un Livre entraînerait la destruction de toutes ses Copie de Livre. Cette relation souligne non seulement la dépendance des copies vis-à-vis de l’original mais aussi l’intégrité et l’unité du catalogue.

  • Copie de Livre et Abonné

  • Association : La relation entre Copie de Livre et Abonné est effectivement transitoire et est mieux représentée à travers la classe Emprunt. Une copie est liée à un abonné uniquement pendant la période d’emprunt, ce qui clarifie que cette association est temporaire et conditionnelle à l’état d’emprunt de la copie.

  • Abonné et Emprunt

  • Association : Chaque Abonné peut avoir plusieurs Emprunt actifs ou archivés, formant une relation essentielle pour le suivi de l’activité d’emprunt. Cela permet de garder un historique détaillé des interactions de l’abonné avec la bibliothèque, facilitant la gestion des prêts et des retours.

  • Emprunt, Copie de Livre, et Abonné

  • Association : Emprunt agit comme une classe d’association qui relie Copie de Livre et Abonné, spécifiant les détails de chaque transaction, y compris les dates et les conditions de prêt. Cela met en évidence la fonctionnalité d’emprunt comme une opération centrale du système.

  • Bibliothécaire

  • Association : Le Bibliothécaire joue un rôle crucial dans l’administration des emprunts, des retours, et potentiellement dans la gestion des comptes des abonnés. Leur interaction avec les livres et les abonnés fait d’eux un pivot opérationnel important pour maintenir l’ordre et l’efficacité de la bibliothèque.

  • Comité de Lecture et Abonné

  • Association : Les membres du Comité de Lecture, qui sont des Abonné, ont des rôles spécifiques qui influencent la sélection et l’acquisition de livres. Cette relation montre leur implication active et leur autorité dans les décisions stratégiques concernant la collection de la bibliothèque, renforçant l’interaction entre les abonnés et la gestion des collections.

  • Abonné et Adresse

  • Association : Un Abonné peut avoir plusieurs adresses associées, représentées par la classe Adresse. Cela permet de stocker et gérer des adresses multiples pour un seul abonné, comme des adresses résidentielles, de facturation, ou même historiques. Cette association est particulièrement utile pour les bibliothèques qui ont besoin de suivre les changements d’adresse de leurs abonnés pour des raisons de communication ou de conformité légale.

6.2. Digramme de Classe UML pour une Bibliothèque

Voici le digramme génèrale qui met en evidence l’ensembles des interactions et des relations entre les classes de la bibliothèque.

Diagram

6.3. Gestion des Emprunts

6.3.1. Tous les livres empruntés par un abonné ?

Pour suivre efficacement les emprunts réalisés par les abonnés au sein d’une bibliothèque. Dans ce modèle, chaque Abonne est directement associé à plusieurs instances de la classe Emprunt, reflétant ainsi la relation dynamique entre un abonné et ses différentes transactions d’emprunt. Chaque instance d'`Emprunt` est à son tour liée à une instance spécifique de CopieDeLivre, permettant de suivre précisément quelles copies ont été empruntées par chaque abonné.

Pour accéder à des informations détaillées sur les livres empruntés, comme le titre ou les auteurs, il est essentiel que chaque CopieDeLivre soit associée à un Livre. Cette association est cruciale car elle permet de retracer l’œuvre littéraire originale à partir de la copie empruntée. Elle offre non seulement un accès direct aux informations bibliographiques telles que le titre, les auteurs, et l’éditeur, mais elle permet également de relier chaque emprunt aux informations bibliographiques pertinentes, enrichissant ainsi les données disponibles pour chaque transaction d’emprunt.

Diagram

6.3.2. Tous les abonnés qui ont emprunté un livre ?

L’association entre chaque CopieDeLivre et Abonne n’est pas directe, mais est plutôt médiée par la classe Emprunt. Cela implique que chaque copie peut être empruntée par un abonné via une instance d'Emprunt, ou rester disponible si elle n’est actuellement associée à aucun emprunt.

Plutôt que de maintenir une liste directe des CopieDeLivre actuellement empruntées dans la classe Abonne sous forme d’un attribut EmpruntsActuels, il est préférable de structurer cela sous forme d’un attribut Emprunts, qui est une collection d’instances d'`Emprunt. Chaque instance d'Emprunt` contient non seulement des références à la CopieDeLivre concernée, mais aussi les dates de début (DateEmprunt) et de fin d’emprunt (DateRetourPrevu et DateRetourReel). Ces instances restent associées à l'`Abonne`, même après le retour des livres, permettant ainsi de maintenir un historique complet des livres empruntés par chaque abonné, que ce soit des emprunts actuels ou passés.

Pour répondre à la question "Quels abonnés ont emprunté un livre ?", il suffit de consulter la liste des Emprunts associée à chaque Abonne. Chaque entrée de cette liste crée un lien entre un Abonne et une CopieDeLivre via la classe Emprunt, ce qui permet d’identifier toutes les copies qui ont été empruntées par un abonné, que ce soit actuellement ou dans le passé.

Diagram

6.3.3. Toutes les adresses d’un abonné ?

Dans ce diagramme, l’association entre la classe Abonne et la classe Adresse est réalisée par l’intermédiaire d’une liste dans la classe Abonne. Cette liste, nommée Adresses, peut contenir plusieurs instances de la classe Adresse, permettant ainsi de gérer de multiples adresses pour un seul abonné. Cela peut inclure des adresses résidentielles, de livraison ou de facturation, offrant une flexibilité considérable dans la gestion des informations de contact des abonnés.

Au lieu d’avoir une simple adresse statique, cette approche structurée permet à un Abonne de gérer un historique de ses adresses ou de maintenir simultanément plusieurs adresses actives. Chaque Adresse enregistrée dans la liste comprend des détails complets tels que la rue, la ville, le code postal et le pays, ainsi que le type d’adresse pour clarifier son utilisation prévue.

Pour répondre à la question toutes les adresses d’un abonné ?, on pourrait simplement accéder à la liste des Adresses de chaque Abonne. Chaque entrée dans cette liste représente une adresse distincte associée à l’abonné, permettant d’identifier facilement toutes les adresses actuelles et passées. Cette méthode garantit que toutes les informations pertinentes sont facilement accessibles et bien organisées, facilitant la gestion des données des abonnés dans le système de la bibliothèque

Diagram

7. Machines d’état pour chaque classe dont le comportement dépend de son état

7.1. Machine d’États pour la Classe "Livre"

7.1.1. Description des États

La machine d’états pour la classe "Livre" représente les différents états qu’un livre peut traverser au sein d’une bibliothèque, depuis son entrée dans le système jusqu’à son retrait ou sa perte.

  • En Acquisition : L’état initial lorsqu’un livre est commandé mais n’est pas encore physiquement présent dans la bibliothèque.

  • Catalogué : Le livre a été reçu, catalogué et est prêt à être placé sur les étagères.

  • Disponible : Le livre est sur l’étagère et peut être emprunté par les abonnés.

  • Emprunté : Le livre est actuellement prêté à un abonné.

  • Réservé : Le livre a été réservé par un abonné et est soit en attente de collecte, soit de retour pour être emprunté.

  • En Maintenance : Le livre est en cours de réparation ou de restauration.

  • Perdu : Le livre est considéré comme perdu après un certain délai sans retour.

  • Retiré : Le livre est retiré de la collection de la bibliothèque pour diverses raisons, telles que l’obsolescence ou l’état de détérioration.

7.1.2. Transitions entre les États

Les transitions entre les états sont déclenchées par des actions ou des événements clairement définis :

  • D'En Acquisition à Catalogué : Le livre est enregistré dans le système de la bibliothèque.

  • De Catalogué à Disponible : Le livre est étiqueté et prêt pour l’emprunt.

  • De Disponible à Emprunté : Un abonné prend le livre en prêt.

  • De Emprunté à Disponible : Le livre est retourné et disponible pour le prêt à nouveau.

  • De Disponible à Réservé : Un abonné réserve le livre disponible.

  • De Réservé à Emprunté : L’abonné qui a réservé le livre le prend en prêt.

  • De Réservé à Disponible : La réservation expire ou le livre est remis en circulation.

  • De Emprunté à Réservé : Le livre est retourné et tient une réservation pour un autre abonné.

  • D'Emprunté ou Disponible à En Maintenance : Des réparations sont nécessaires.

  • D'En Maintenance à Disponible : Le livre est réparé et remis en circulation.

  • De n’importe quel état à Perdu : Le livre n’est pas retourné ou est introuvable.

  • De n’importe quel état à Retiré : Le livre est retiré du système.

7.1.3. Représentation Graphique

Pour illustrer visuellement ces états et transitions, vous pouvez utiliser un diagramme UML de machine d’états. Le code suivant peut être utilisé avec un outil comme PlantUML pour générer le diagramme :

Diagram

7.2. Machine d’États pour la Classe "Copie de Livre"

7.2.1. Description des États

La machine d’états pour la classe "Copie de Livre" illustre les différents états par lesquels une cospécifique d’un livre peut passer, reflétant son utilisation et son état physique.

  • Disponible : La copie est sur l’étagère et disponible pour l’emprunt.

  • Emprunté : La copie est actuellement prêtée à un abonné.

  • Réservé : La copie est réservée par un abonné, en attente d’être récupérée ou de retour.

  • En réparation : La copie est en cours de réparation ou de restauration.

  • Perdu : La copie est considérée comme perdue suite à une non-retour ou une perte.

7.2.2. Transitions entre les États pour "Copie de Livre"

  • De Disponible à Emprunté : Un abonné emprunte la copie.

  • De Emprunté à Disponible : La copie est retournée et disponible à nouveau.

  • De Disponible à Réservé : Un abonné réserve la copie.

  • De Réservé à Emprunté : L’abonné récupère la copie réservée.

  • De Réservé à Disponible : La réservation est annulée ou expire.

  • De Emprunté à En réparation : La copie nécessite des réparations suite à des dégâts.

  • D'En réparation à Disponible : La copie est réparée et remise en circulation.

  • De n’importe quel état à Perdu : La copie est déclarée perdue.

7.2.3. Représentation Graphique

Diagram

7.3. Machine d’États pour la Classe "Abonné"

7.3.1. Description des États pour la classe "Abonné"

La machine d’états pour la classe "Abonné" montre les différents statuts des membres de la bibliothèque.

  • Actif : L’abonné a accès complet aux services de la bibliothèque.

  • Suspendu : L’accès de l’abonné est temporairement suspendu pour diverses raisons.

  • Inactif : L’abonné n’a pas utilisé les services pendant une longue période.

7.4. Transitions entre les États pour "Abonné"

  • De Inactif à Actif : L’abonné renouvelle son inscription.

  • De Actif à Suspendu : L’abonné est suspendu pour non-paiement ou comportement inapproprié.

  • De Suspendu à Actif : La suspension est levée après résolution des problèmes.

7.4.1. Représentation Graphique

Diagram

7.5. Machine d’États pour la Classe "Emprunt"

7.5.1. Description des États pour la classe "Emprunt"

La machine d’états pour la classe "Emprunt" reflète les phases d’un prêt de livre.

  • En cours : L’emprunt est actif.

  • Terminé : L’emprunt est clos après le retour du livre.

  • En retard : Le livre n’est pas retourné à la date prévue.

  • Pénalité appliquée : Des pénalités sont appliquées pour le retard.

7.5.2. Transitions entre les États pour "Emprunt"

  • De En cours à Terminé : Le livre est retourné à temps.

  • De En cours à En retard : Le livre n’est pas retourné à la date prévue.

  • De En retard à Pénalité appliquée : Des pénalités sont appliquées.

7.5.3. Représentation Graphique

Diagram

7.6. Machine d’État pour la classe "Bibliothécaire"

7.6.1. Description des États pour la classe "Bibliothécaire"

La machine d’états pour la classe "Bibliothécaire" représente les périodes d’activité du personnel.

  • En service : Le bibliothécaire est actuellement à son poste.

  • Hors service : Le bibliothécaire n’est pas en service.

7.6.2. Transitions entre les États pour "Bibliothécaire"

  • De Hors service à En service : Le bibliothécaire commence son service.

  • De En service à Hors service : Le bibliothécaire termine son service.

7.6.3. Représentation graphique

Diagram

8. OCL (Object Constraint Language)

8.1. Contraintes OCL pour la Classe "Livre"

Chaque `livre` doit avoir au moins un `Auteur` et un `Éditeur`.

Diagram

8.2. Contraintes OCL pour la Classe "Copie de Livre"

Chaque `Copie de Livre` doit être associée à un `Livre`.

Diagram

8.3. Contraintes OCL pour la Classe "Abonné"

Un Abonné ne peut pas emprunter plus de livres qu’il n’est autorisé. Pour un abonné standard, le nombre maximum de livres empruntés est de 2. Si l’abonné est membre du ComiteDeLecture, il peut emprunter jusqu’à 4 livres.

Diagram

8.4. Contraintes OCL pour la Classe "Emprunt"

Chaque Emprunt doit être associé à exactement une CopieDeLivre et un Abonne.

Diagram

8.5. Contraintes OCL pour la Classe "Adresse"

Les adresses d’un Abonne doivent avoir une date de début et de fin cohérentes.Les champs de l’adresse (rue, ville, code postal, pays) ne doivent pas être vides.

Diagram

9. Cas d’Utilisation

Identification des cas d’utilisation pour notre bibiliothèque.

9.1. Acteurs

  • Abonné : Uilisateur inscrit à la bibliothéque.

  • Bibliothécaire : Responsable de la gestion des livres et des emprunts.

  • Comité de lecture : Groupe de membres ayant des privilèges spécifiques pour la sélection de livres.

  • Système : Système informatique de la bibliothèque.

9.2. Cas d’Utilisation Principaux

  • Emprunter un Livre : Un abonné peut emprunter un livre de la bibliothèque.

  • Rendre un Livre : Un abonné peut retourner un livre emprunté.

  • Réserver un Livre : Un abonné peut réserver un livre pour un emprunt futur.

  • S’inscrire comme Abonné ou Membre du Comité de Lecture : Un utilisateur peut s’inscrire comme abonné standard ou membre du comité de lecture.

  • Gérer les Emprunts : Un bibliothécaire peut enregistrer, prolonger ou annuler des emprunts.

  • Acheter de Nouveaux Livres ou retirer des livres de la collection : Un bibliothécaire peut gérer la collection de livres.

9.2.1. Cas d’utilisation "Emprunter un livre"

# 1

Use Case

Emprunter un livre

Goal in Context

Abonné souhaite emprunter un livre pour le lire.

Scope

Bibliothèque

Level

Tâche primaire

Priority

Élevée

Frequency

Quotidienne

Performance Target

Emprunt réalisé en moins de 5 minutes.

Condition de succès et d’échecs pour le cas d’utilisation "Emprunter un livre"
Success End Condition Abonné emprunte le livre avec succès

Failed End Condition

Le livre n’est pas disponible pour l’emprunt

9.2.2. Acteurs

Primary Actor Abonné

Channel to Primary Actor

Physique ou système en ligne

Secondary Actor

Système de gestion de la bibliothèque, Bibliothécaire

Déclencheur
Trigger Abonné choisit un livre à emprunter

Pre-conditions

Abonné est enregistré et en règle avec la bibliothèque. Livre est disponible

Post-conditionsr

Livre est marqué comme emprunté dans le système, indisponible pour d’autres.

Relations entre les cas d’utilisation
Superordinate Use Case Gestion des comptes abonnés (use case 3)

Subordinate Use Cases

-

Principal scénario de réussite
  • Abonné sélectionne un livre.

  • Bibliothécaire vérifie l’état de l’abonnement.

  • Système enregistre l’emprunt.

  • Abonné reçoit le livre.

Points d’extension
  • 2a. Abonné a des amendes impayées :

    • 2a1. Régler les amendes avant de procéder.

  • 3a. Livre déjà réservé par un autre abonné :

    • 3a1. Proposer d’autres livres ou la réservation du livre.

9.2.3. Variations

  • Abonné peut emprunter via un système en ligne ou au comptoir.

9.2.4. Cas d’utilisation "Rendre un livre"

# 2

Use Case

Rendre un livre

Goal in Context

Abonné retourne un livre emprunté.

Scope

Bibliothèque

Level

Tâche primaire

Priority

Élevée

Frequency

Quotidienne

Performance Target

Retour traité en moins de 3 minutes.

Condition de succès et d’échecs pour le cas d’utilisation "Rendre un livre"
Success End Condition Livre retourné et enregistré dans le système.

Failed End Condition

Le livre n’est pas accepté pour retour (par exemple, livre endommagé).

9.2.5. Acteurs

Primary Actor Abonné

Channel to Primary Actor

Physique ou système en ligne

Secondary Actor

Système de gestion de la bibliothèque, Bibliothécaire

Déclencheur
Trigger Abonné arrive à la bibliothèque avec le livre.

Pre-conditions

Livre appartient à la bibliothèque et était emprunté.

Post-conditionsr

Livre est marqué comme disponible dans le système

Relations entre les cas d’utilisation
Superordinate Use Case Gestion des comptes abonnés (use case 3)

Subordinate Use Cases

-

Principal scénario de réussite
  • Abonné retourne le livre à la bibliothèque.

  • Bibliothécaire vérifie l’état du livre.

  • Système enregistre le retour du livre.

  • Bibliothécaire place le livre à son emplacement.

Points d’extension
  • 2a. Livre endommagé :

    • 2a1. Évaluer les dommages et appliquer des pénalités si nécessaire.

  • 3a. Livre retourné en retard :

    • 3a1. Calculer et informer l’abonné sur les pénalités de retard.

9.2.6. Variations

  • Abonné peut rendre via une boîte de retour automatique ou au comptoir.

10. Représentation des états avant est aprés intéractions

10.1. Avant l’interaction d’emprunt

  • Abonné est prêt à emprunter un livre, avec une liste d’emprunts vide.

  • Livre et CopieDeLivre sont disponibles.

  • Il n’y a pas encore d'`Emprunt` enregistré.

10.2. Après l’interaction d’emprunt

  • Abonné a maintenant un livre emprunté enregistré.

  • La CopieDeLivre est maintenant marquée comme empruntée.

  • Un nouvel Emprunt est créé et associé à la fois à l'`Abonné` et à la CopieDeLivre.

10.3. Diagramme de l’état du système avant l’emprunt d’un livre

Diagram

10.4. Diagramme de l’état du système aprés l’emprunt d’un livre

Diagram

10.5. Avant le retour d’un livre:

  • L'Abonné est en possession d’une CopieDeLivre spécifique, laquelle est marquée comme empruntée dans le système. Cette copie est associée à un Emprunt actif qui enregistre les détails de cette transaction.

  • La CopieDeLivre a un État qui indique son état physique (comme neuf ou usagé) et une Disponibilite qui montre qu’elle est actuellement empruntée.

  • L'`Emprunt` correspondant contient les dates d’emprunt et de retour prévu. Aucune date de retour réelle n’est encore enregistrée puisque le livre n’a pas été retourné.

10.6. Après le retour d’un livre:

  • L'+Abonné+ a retourné la CopieDeLivre, donc la liste des Emprunts de l’abonné montre que le nombre de livres empruntés a diminué ou est revenu à zéro, selon le nombre de livres empruntés antérieurs.

  • La CopieDeLivre change de Disponibilite pour indiquer qu’elle est désormais disponible pour être empruntée par d’autres abonnés, et elle est physiquement replacée dans la bibliothèque à son emplacement désigné.

  • L'Emprunt est mis à jour pour inclure la DateRetourReelle, ce qui indique que la transaction est complète. Le système réenregistre la copie comme disponible, et l’abonné peut à nouveau emprunter d’autres livres selon les règles de la bibliothèque.

10.7. Diagramme de l’état du système avant l’emprunt d’un livre

Diagram

10.8. Diagramme de l’état du système aprés l’emprunt d’un livre

Diagram

11. Conclusion

La réalisation de ce projet de modélisation UML d’une bibliothèque a permis de démontrer la puissance et l’importance d’une conception de système d’information robuste. En adoptant une approche minutieuse et structurée, le modèle élaboré reflète une compréhension approfondie des opérations et interactions complexes au sein d’une bibliothèque moderne. La distinction entre les livres en tant que concepts et les copies physiques disponibles pour l’emprunt est particulièrement significative, car elle capture l’essence des processus de gestion de la bibliothèque tout en assurant une gestion précise et efficace des ressources.

Les différents éléments du modèle, y compris les diagrammes de classes, les machines d’état, et les contraintes OCL, contribuent à une représentation détaillée et fonctionnelle du système. Les cas d’utilisation dépeignent clairement les interactions entre les abonnés, les bibliothécaires, et le système, fournissant un cadre pour les scénarios d’utilisation réels qui sont à la fois évolutifs et adaptés aux besoins des utilisateurs. En conclusion, ce projet s’avère être un exemple de la manière dont les principes de l’ingénierie logicielle et de la modélisation systémique peuvent être appliqués pour structurer et améliorer les services d’une institution culturelle et éducative. Il pose les bases d’un système de gestion de bibliothèque qui non seulement optimise les processus existants mais est également prêt à s’adapter aux futures innovations et exigences du domaine bibliothécaire.