Vous êtes sur la page 1sur 31

Point de vue cas d’utilisation :

• Vue de système par ses utilisateurs finaux.


• Regroupe le comportement du system selon :
o Priorité : critique, important, accessoire
o Risque à circonscrire
o Options disponibles
o Couverture de l’architecture
o Autres objectifs tactiques et contraintes

Point de vue logique :


Décomposition orienté-objet :

• Décomposition en objet et classes


• Regroupement en paquetages
• Connexion par héritage, association … etc
• Accent sur l’abstraction, l’encapsulation, l’uniformité.
• Réalisation des scénarios des cas d’utilisation

Point de vue de processus


• Décomposition en tache et en processus
• Regroupement des groupes de processus
• Communication
• Informations sur les caractéristiques suivantes :
o Disponibilité fiabilité
o Intégrité, performance
o Contrôle

Point de vue implantation


• Décomposition en modules et niveaux
• Regroupement de modules en paquetages
• Organisation des sous-systèmes en niveaux pour :
o Réduire le couplage et la visibilité
o Augmenter la robustesse
• Informations sur les caractéristiques suivantes :
o Facilité de développement.
o Potentiel de réutilisation.
o Gestion de configuration.

Point de vue déploiement


• Décomposition en nœuds d’exécution
• Rôle d’un nœud
• Inter-connectivité, topologie
• Information sur les caractéristiques suivantes :
o Performance, disponibilité
o Installation, maintenance
Les trois composantes d’une modélisation
Modèle fonctionnel
Aspect dynamique : diagramme
d’interaction (séquences, Que fais le système
collaboration) d’états-transitions Aspect fonctionnel : diagrammes des cas
et d’activité d’utilisation

Séquence des actions dans le


système
Modèle structurel (objet)

Sur quoi le système agit


Modèle temporel
Aspect statique : diagramme de
classes et d’objets

Phase de la modélisation
Cahier des
charges

Expression des besoins S’accorder sur ce qui doit être fait dans le système

Analyse Comprendre les besoins et les décrire dans le système

Conception S’accorder sur la manière dont le système doit être construit

Implémentation Codage du résultat de la conception

Teste Le système est-il conforme au cahier des charges ?

Code
exécutable
Les différentes étapes :
✓ Expression des besoins
✓ Spécification
✓ Analyse
✓ Conception
✓ Implémentation
✓ Testes de vérification
✓ Validation
✓ Maintenance et évolution

Rôle de l’expression des besoins


• Permettre une meilleure compréhension du système
• Comprendre et structurer les besoins du client
o Clarifier, filtrer et organiser les besoins, ne pas chercher
l’exhaustivité
• Une fois identifiés et structurés, ces besoins :
o Définissent le contour du système à modéliser (ils précisent le but
à éteindre),
o Permettent d’identifier les fonctionnalités principales (critiques)
du système.

Expression des besoins


✓ Comprendre le contexte du système en définissant un modèle du
domaine et de métier ;
✓ Recenser les besoins fonctionnels et les définir par des cas d’utilisations.
✓ Noter les contraintes,, exigences non fonctionnelles.

Le modèle du domaine regroupe les objets qui se situent dans le contexte


du système :

- Entités existantes ou événements qui s’y produisent.


Exigences non fonctionnelles
✓ Contraintes e concurrence
✓ Contraintes de temps de réponse
✓ Contraintes de distribution
✓ Contraintes de performance
✓ Contraintes de répartition

Dépendances entre les phases de modélisation

Modèle cas
d’utilisation
Vérifié par

Modèle cas de
Spécifié par teste
Implémenté par

Modèle
Réalisé par
d’analyse

Modèle
d’implémentation

Modèle de
conception

✓ Spécification :
- Ce que le système doit être et comment il peut être utilisé.
✓ Analyse :
- L’objectif de déterminer les éléments intervenant dans le
système a construire, ainsi que leur structure et leurs
relations.
• Elle doit décrire chaque objet selon 3 axes :
o Axe fonctionnel : savoir-faire de l’objet.
o Axe statique : structure de l’objet.
o Axe dynamique : cycle de vie de l’objet au cour de l’application
(états et messages de l’objet).

Ces descriptions ne tiennent pas compte de contraintes techniques

(Informatique).

L’analyse
➢ Le but de l’analyse est de traduire dans un langage proche de celui des
informaticiens les modèles dans l’expression des besoins.
➢ Cependant pour rester compréhensible par les clients ou utilisateurs, il
n’intervient que des entités de domaine (métier) considéré.
➢ Elle sert d’interface, avec l’expression des besoins, aux dialogues et aux
contrats avec les clients et les utilisateurs.
➢ L’analyse doit servir de support pour la conception, l’implémentation et
la maintenance.

La notation graphique
BUT :

➢ Modéliser les objets, les relations entre objets, les interfaces avec le
système.
➢ Servir de support de communication entre l’analyste, le client et les
utilisateurs.

✓ La conception :
- Elle consiste à apporter des solutions techniques aux descriptions
définies lors de l’analyse : architecture technique ; performances et
optimisation ; stratégie de programmation.
- On y définit les structures et les algorithmes.
- Cette phase sera validée lors des testes.
✓ L’implémentation :
- Ils permettent de réaliser des contrôles pour la qualité technique
du système.
- Il s’agit de relever les éventuels défauts de conception et de
programmation (revue de code, teste des composants, …)
➢ Il faut instaurer ces tests tout au long du cycle de développement et non
à la fin pour éviter des reprises conséquentes du travail (programmes de
tests robustes ; logiciels de tests).
✓ Validation :
➢ Le développement d’une application doit être lié à un contrat ayant une
forme de cahier de charges, où doivent se trouver tous les besoins de
l’utilisateur. Ce cahier de charges doit être rédigé avec la collaboration
de l’utilisateur et peut être par ailleurs complété par la suite.
➢ Tout au long de ces étapes, il doit y avoir des validations en collaboration
également avec l’utilisateur.
➢ Une autre validation doit aussi être envisagée lors de l’achèvement du
travail de développement, une fois que la qualité technique du système
est démontrée. Elle permettra de garantir la logique et la complétude du
système.
✓ Maintenance et évolution :
➢ Deux sortes de maintenance sont à considérer :
o Une maintenance corrective, qui consiste à traiter
les « buggs ».
o Une maintenance évolutive, qui permet au système d’intégrera
de nouveau besoins ou des changements technologiques.

Cahier des charges : gestion de bibliothèque


• Un gérant de bibliothèque désire automatiser la gestion des prêts.
• Il commande un logiciel permettant aux utilisateurs de connaitre les
livres présents, d’en réserver jusqu’à 2. L’adhérent peut connaitre la liste
des livres qu’il a empruntés ou réservés.
• L’adhérent possède un mot de passe qui lui est donné à son inscription.
• L’emprunte est toujours réalisé par les employés qui travaillent à la
bibliothèque. Après avoir identifié l’emprunteur, ils savent si le prêt est
possible (nombre maximum de prêts est 5), et s’il a la priorité (il est celui
qui a réservé le livre).
• Ce sont les employés qui mettent en bibliothèque les livres rendus et les
nouveaux livres. Il leur est possible de connaitre l’ensemble des prêts
réalisés dans la bibliothèque.

2) Le diagramme des Use Cases ou des cas


d’utilisation.
Ce que doit faire le système sans spécifier comment
il le fait

But des Use Cases


Les cas d’utilisation représentent les fonctionnalités que le système doit savoir
faire.

Chaque cas d’utilisation peut être complété par un ensemble d’’interactions


successives d’une entité en dehors du système (l’utilisateur) avec le système
lui-même.

Système

Les Uses Cases permettent :

- De connaitre le développement du système sans spécifier comment


ce comportement sera réalisé.
- De définir les limites précises du système
- Au développeur de bien comprendre l’attente des utilisateurs et les
experts du domaine.

De plus les Use Cases sont :

- Des instruments de validation et de test du système en cours en fin


de construction.

Modèle des cas d’utilisations

• Un diagramme de cas d’utilisation définit :


o Le système
o Les acteurs
o Les cas d’utilisations
o Les liens entre acteurs et cas d’utilisations.
• Un modèle de cas d’utilisation se définit par :
o Des diagrammes de cas d’utilisation
o Une description textuelle des scénarios d’utilisation
o Une description de cas scénario d’utilisation.
o Une description de ces scénarios par :
- Les diagrammes de séquences.
- Les diagrammes de collaboration.

Les acteurs

• Un acteur représente une personne ou un périphérique qui joue le rôle


(interagit) avec le système.
• Relation entre acteurs : généralisation (héritage).
Héritage

Relations entre acteurs

Un bibliothécaire est un abonné

Abonné Bibliothécaire Abonné Un administrateur est un


bibliothécaire

Acteur
Acteur Bibliothécaire Administrateur

Les cas d’utilisation (use-case)

• Un cas d’utilisation est un moyen de représenter les différentes


possibilités d’utiliser un système.
• Il exprime toujours une suite d’interactions entre un acteur et
l’application.
• Il définit une fonctionnalité utilisable par un acteur.

Emprunteur Regarder la liste des


livres

Réserver

Organisation des Use Cases : Include


• La relation « include » qu’un cas d’utilisation comporte le comportement
définit dans un autre cas d’utilisation.
• Cette relation permet de mettre en commun des comportements
communs à plusieurs cas d’utilisation.

Emprunt
Regarder la liste
des livres

Réserver

Organisation des Use Cases : extend


• La relation « extend » précise qu’un cas d’utilisation peut dans certains
cas augmenter le comportement d’un autre cas d’utilisation.
• Une condition devra valider cette augmentation.
• Le point d’utilisation de cette augmentation peut être défini dans « point
d’extension ».

Réservation
Extension points Regarder la liste
« Extend » des livres
Avant le choix du livre
Avant le choix du livre

• Dans cet exemple, le cas d’utilisation « regarder la liste des livres »


augmente le cas d’utilisation d’une réservation avant le choix du livre
Organisation des Use Cases : généralisation

• Cette relation « est un » introduit la notion d’héritage.


• Les cas d’utilisation « Vérification par mot de passe » et « vérification
par carte » sont des spécialisations du cas d’utilisation « Identification
abonné ».
• Autrement dit : si l’on dit que l’on fait une « identification abonné », ce
peut être une vérification par carte » ou une « vérification par mot de
passe ».

Héritage Vérification par


mot de passe

Identification
abonné
Vérification par
carte

Modalisation d’un système : Obtenir les cas


d’utilisation
• Identifier les acteurs qui utilisent, qui gèrent, qui exécutent des fonctions
spécifiques.
• Organiser les acteurs par relation d’héritage.
• Pour chaque acteur rechercher les cas d’utilisation avec le système.
• Ne pas oublier les variantes d’interaction (cas d’erreur, cas d’interdits).
• Organiser ces interactions par héritage, par utilisation et par extension.

Les diagrammes de cas d’utilisation


Le système définit l’application informatique, il ne contient pas donc les acteurs
mais les cas d’utilisations et leurs associations.
Réserver un livre

Connaitre les livres


empruntés

Connaitre les livres


présents

Ajouter de nouveaux
livres

Remettre un livre

Réaliser un emprunt

Les diagrammes de cas d’utilisation


Bibliothèque

Réserver un livre

Client Cas d’utilisation


Connaitre les livres
empruntés

Acteurs Connaitre les livres


présents

Ajouter de nouveaux
livres
Employé
Remettre un livre

Réaliser un emprunt
Les diagrammes de cas d’utilisation

Connaitre les livres


empruntés
Identification
Réserver un livre
Client
Extension point avant la réservation

Identification
par carte
Connaitre les livres
présents

Identification par
mot de passe

Employé Ajouter de nouveaux


livres

Remettre un livre

Réaliser un emprunt

Scénario d’un cas d’utilisation


• La description d’un cas d’utilisation se fait par des scénarios qui
définissent la suite logique des interactions qui constituent ce cas.
• On peut définir des scénarios simples ou des scénarios plus détaillés
faisant intervenir les variantes, les cas d’erreurs, etc.
• Cette description se fait manière simple, par un texte compréhensible
par les personnes du domaine de l’application.
• Elle précise ce que fait l’acteur et ce que fait le système.
• La description détaillée pourra préciser les contraintes de l’acteur et celle
du système.
Scénario d’un cas d’utilisation
Réservation Description simplifiée
d’un livre

Le client se présente devant un terminal :

• (1) Le système qui affiche un message d’accueil.


• (2) Le client choisit l’opération parmi les différentes opérations
proposées.
• (3) Le système lui demande de s’identifier.
• (4) Le client donne son identification (nom, mot de passe).
• (5) Le système lui demande de choisir un livre.
• (6) Le client précise le livre qu’il désire.
• (7) Le système lui précise si un exemple du livre lui est réservé.

Scénarios d’un cas d’utilisation


Réservation Description détaillée
d’un livre

• Pré-conditions : Le client doit être inscrit à la bibliothèque


Le client ne doit pas avoir atteint le nombre
maximum de réservations.
Un exemplaire du livre doit être enregistré.

• Post-conditions : (Si l’opération s’est bien déroulée)


Le client a une réservation supplémentaire
Le nombre d’exemplaires disponibles du livre est
décrémenté de 1.

Scénarios d’un cas d’utilisation


Réservation
d’un livre Description détaillée
Cas normal
1. Le système affiche un message d’accueil sur le terminal avec un choix
d’opération.
2. Le client choisit l’opération « réservation » parmi les les différentes
opérations proposées.
3. Le système lui demande de s’identifier.
4. Le client donne son identification (nom, mot de passe).
5. Le système demande le titre du livre en donnant la possibilité de choisir
dans une liste.
6. Le client précise le livre qu’il désir.
7. Le système lui précise qu’un exemplaire du livre lui est réservé.

Scénario d’un cas d’utilisation


Variante 1 En (6) le client demande à connaitre les livres présents.

Variante 2 En (4) le client n’est pas reconnu, dans ce cas, tant qu’il n’est
pas reconnu, n lui redemande de s’authentifier.

Variante 3 En (4) le client est reconnu mais le mot de passe est incorrect, il
peut avoir 5 essais, par suite le client sera interdit pendant 1 h.

Variante 4 En (4) le client n’a plus le droit de réserver..

Variante 5 En (7) le livre n’est pas libre.

Scénario par diagramme e séquences


• Suite aux descriptions textuelles, le scénario peut être représenté en
utilisant un diagramme de séquences.
Le diagramme de séquences permet :
- De visualiser l’aspect temporel des interactions.
- De connaitre le sens des interactions (acteur vers system ou
l’inverse).

Scénario par diagramme de séquences

Afficher les messages d’accueil

Choix de l’opération : réservation

Demande d’identification du client Temps


Réserver Identification du client
un livre
Demande d’identification du livre

Identification du livre

Message : « le livre est réservé »

Variation du scénario

Système de prêts
Client

Afficher message d’accueil

Choix de l’opération : réserver un livre

Demande d’identification du client


Réserver Identification du client
un livre

Refus : trop de livres réservées


Cas d’utilisation : Distributeur de billets
Distributeur de billets
Cas d’utilisation
Effectuer un virement

Retirer l’argent
Acteur client
Banque
Consulter un compte
Acteurs gestionnaires
Gérer le distributeur

Effectuer la
maintenance

Diagramme de séquences Use Case Retirer de


l’argent

Afficher message d’accueil


Distributeur de
Insérer la carte billets

Demander le mot de passe

Entrer le mot de passe

Demander type de l’opération

Entrer demande retrait


Retirer
l’argent Demande somme

Entrer somme

Distribue l’argent

Demande prendre les billets


Prendre les billets

Imprimer les reçus

Ejecter la carte

Demande de prendre la carte

Prendre la carte

Afficher message d’accueil

Exemple 2 :

Créer compte Déposer l’argent

Client
Acteur client Consulter
compte Retirer de
l’argent du
distributeur Cas d’utilisation

Gérer les
Retirer
comptes
l’argent

Use Case : « Retrait en espèce » :


1. Le guichetier saisit le n° de compte du client.
2. L’application valide le compte au près du système central.
3. L’application demande le type d’opération au guichetier.
4. Le guichetier sélectionne un retrait d’espèces de 2000 Dh.
5. Le système « guichetier » interroge le système central pour s’assurer que
le compte est suffisamment approvisionné.
6. Le système central effectue le débit du compte.
7. Le système notifie au guichetier qu’il peut délivrer le montant demandé.
Description à l’aide de diagramme de séquences

Saisie compte

Demande type d’opération

Validation compte

Retrait liquide (2000 DH)

Vérification solde compte

Débit compte

Autorisation délivrance

Guichetier Système guichet Système central

Descriptions

/.

Cahier des charges


Pour faciliter sa gestion, un entrepôt de stockage envisage de s’informatiser. Le
logiciel a produit doit allouer de façon automatique un emplacement pour le
chargement des camions qui convoient le stock à entreposer. Le
fonctionnement du système informatique doit être le suivant :

• Déchargement d’un camion : lors de l’arrivée d’un camion, un employé


doit saisir dans le système les caractéristiques de chaque article ; le
système produit alors une liste où figure un emplacement pour chaque
article.
• Chargement d’un camion : les caractéristiques des articles à charger dans
un camion sont saisies par un employé afin d’indiquer au système de
libérer des emplacements.
Le chargement et déchargement sont réalisés manuellement.
Les employés de l’entrepôt sont sous la responsabilité d’un chef dont le
rôle est de superviser la bonne application des consignes.

Recensement des acteurs


L’étude du cahier des charges ainsi qu’un dialogue avec les employés et leur
chef a abouti à retenir 3 acteurs :

• Un employé dont le rôle est de saisir les caractéristiques des articles lors
du chargement/déchargement
• Un superviseur dont le rôle est de pouvoir contrôler l’état du stock.
• Un administrateur du système dont le rôle est de gérer des comptes
utilisateurs pour les employés et le superviseur.

(La séance de vendredi 6 Novembre)

Attributs et opérations de classe :


Personne Le nombre de livres empruntés n’est pas une caractéristique
d’Alain Dupont (objet).
- Nom
- Age C’est caractéristique valable pour l’ensemble des personnes
- Adresse (la class).
- Mot de passe
Une_personne : Personne
- Nbr eLivreEmpruntés
- NbreLivrsEmpuntable = 5
- Nom
- Age : 45
- Changer adresse()
- Adresse = France
- ObtenirAge()
- Mot de passe = LFT62
- obtenirAdresse()
- nmbLivresEmpruntés = 4
- verifierMotDePass()
- getNbLivresEmpruntable

La méthode getnbrLivresEmpruntables() utilise la valeur nbrLivreEmpruntables connue par la classe.


Cette méthode peut être appliquées directement à la classe Personne et bien sûr aussi aux objets
instance de cette classe.
Attributs et opérations de classe : Notation UML
CLASSE :
Personne + : attribut public

- Nom # : attribut protected


- Age - : attribut private
- Adresse
- Mot de passe _ : attribut de classe
- NombrePersonne

- # changerAdresse() + : opération public


- # obtenirRue() # : opération protected
- + obtenirAge()
- + obtenirNombrePersonne() - : opération private

_ : opération de classe

La réification
La réification consiste à transformer ou à transposer une abstraction en un
objet concret. En informatique elle consiste à transformer un concept en un
objet informatique.

Chien Mariage

- Race - Epoux
- Age - Epouse
- Couleur - Date
Entité physique Evénement
- Aboyer() - seMarier()
- Mordre() - divorcer()
- Obéir()

Appartenir Cours

- Propriétaire - Professeur
- Date - Salle
- Voiture Situation - Elève
Relation
- Vendre() - Assister()
- Acheter() - Quitter()
- Prêter()
Surcharge et polymorphisme
Personne Fichier

- Nom : String - Nom : String


- Age : Integer - Age : Integer
- Adresse : String - Propriétaire : String

- changerAdresse(nvlAdrs : String) Imprimer()


- obtenirAge() : entier
- obtenirAdress() : String
Imprimer(nbrDeLignes : entier)
Imprimer()

Polymorphisme : Représente la faculté d’une méthode à pouvoir s’appliquer


(différemment) à des objets de classe différentes (ex : méthode : manger()
classes : lion, vache).
Element
Pile
Taille : Integer

- + Pile()
- + Empiler(valeur : élement)
- + Dépiler() : élément
- + nbrElements() : Integer
Return :
- + estVide() : boolean
- + estPleine() : boolean nbrElements() == taille

Pile Pile Pile

<integer,34> <Point,20> <classA,10>


Association entre classes
les associations représentent les liens unissant les instances de classe.

Nom de l’association Sens de lecture du nom


d’association

Livre Auteur
titre aPourAuteur nom

UnLivre : Livre UnLivre : Livre

Titre = La peste Titre = La peste

Séance de 20/11/09

Agrégation
Titre

Destinataire

E-mail
Texte

Fichier

Polycopié

Composition : agrégation forte


Agrégation, composition ou association
1. Règles obligatoires pour la composition :
o Est-ce qu’une partie de ?
o Les opérations appliquées aux composants sont elles appliquées
aux composant ?
o Les changements d’état sont-ils liés ?
2. Règles obligatoires pour la composition
o La suppression du composé entraine-t-elle la suppression des
composants.
o Les attributs du composé sont ils utilisés dans les composants ?
o Les composants sont des instances du composé ?
o Un composant ne peut pas être en relation avec d’autres classes
externes au composé.

Héritage : buts et principes 2/3


Ajout d’une classe de base (analyse)
BUT 2

Permettre une fonction

PRINCIPE

Lorsque plusieurs classes ont des caractéristiques et des comportements


communs la création d’une classe ancêtre permet de regrouper ce qui est
commun.

Cette classe ancêtre peut correspondre à une classe concrète ou à une


classe abstraite

Héritage : généralisation Factorisation des


propriétés
Permanent Vacataire

numBureau nombreVacation
spécialité spécialité
nombreCours nombreCours
nom nom
Héritage : généralisation Factorisation des
propriétés

Enseignant

nombreCours
spécialité
nom
numeroSécu

Permanent Vacataire

numBureau nombreVacation

Héritage : généralisation Factorisation des


propriétés

Avocat Vendeur Enseignant


nombreAffaires ancienneté nombreCours
adressCabinet nomDuStand spécialité
nom nom nom
numeroSécu numeroSécu numeroSécu

Permanent Vacataire

numBureau nombreVacation
Héritage : généralisation Factorisation des propriétés

Personne

nom
numeroSécu

Disjoint, incomplète

Avocat Vendeur Enseignant


nombreAffaires ancienneté nombreCours
adressCabinet nomDuStand spécialité
nom nom nom
numeroSécu numeroSécu numeroSécu

Disjoint, incomplète

Permanent Vacataire

numBureau nombreVacation

Classe abstraite
• Un média peut être transporté, dupliqué, affiché.
• Le transport et la duplication sont indépendants du type du media (copie
lde fichier).
• Par contre, tout media peut être affiché et ce n’est pas la même chose
pour l’audio la vidéo le graphisme le texte.
• Un média ne peut pas définir commeent s’afficher tant qu’il ne sait pas
ce qu’il est.
• Il n’y pas d’instance classe media
• Un media n’existe qu’en tant
Notation UML : nom de Media
classe italique ou stériotype
Auteur
<<abstract>>
titre
datecréation

Transporter()
dupliquer()
afficher()

Héritage : buts et principes 3/3 Polymorphisme


BUT 3

Créer des sous-types (sous-classes). Une sous classe sera du même type de ma
classe dont elle hérite (super-classe).

Ceci permet de mettre en œuvre le polymorphisme et la liaison dynamique

PRINCIPE

Un objet d’une classe donnée pourra toujours faire référence à des objet de ses
sous-classes (polymorphisme).

Une opération exécutée par un objet sera celle que connait l’objet dont il fait
référence (liaison dynamique).

Les interfaces :
Une interface permet de décrire le comportement d’une unité (classe,
paquetage ou composant), c'est-à-dire un savoir faire sous la forme d’une liste
d’opérations.

• Une interface ne peut donner lieu à aucune implémentation.


• Une interface est équivalente à une classe abstraite sans attributs où
toutes les méthodes sont abstraites.
• Une classe peut déclarer qu’elle implémente une interface. Elle doit alors
implémenter toutes les opérations de cette interface. Elle peut ensuite
être utilisée partout où ce comportement est exigé.
<<interface>>
Interface : Déplaçable
Opération, saPlace()
méthôde, avancer()
service reculer()
sans corp monter()
descendre()

Une interface n’est pas une classe c’est Elle ne peut pas servir à créer un objet
une liste de services.

Une interface exprime un savoir faire

TYPE = CLASSE + INTERFACE

Les Paquetages
• Une application est constituée de plusieurs classes, des dizaines ou des
centaines. Il n’est important de les organiser en groupes (en fonction de
certains critères surtout logique).
• C’est le paquetage (package) qui permet ce regroupement.
• Un paquetage regroupe des classes des interfaces et des paquetages.
• Il permet d’encapsuler certains éléments de la modélisation un élément
du paquetage peut être inaccessible de l’extérieur de paquetage, il n’est
alors connu que par les éléments du même paquetage.
• Il met en œuvre un espace de nommage.

Diagramme e classes de la gestion de la


bibliothèque recherche à partir du cahier des
charges recherche par responsabilité.
Phases de modélisation objet :
• Identifier les clases candidates.
• Préparer le dictionnaire de données : classes retenues.
• Identifier les associations entre casses (en incluant les agrégations)
• Identifier les attributs.
• Organiser et simplifier les classes en utilisant l’héritage.
• Supprimer les associations inutiles.
• Vérifier que le diagramme inclut toutes les demandes de cahier des
charges.
• Itérer et affiner les classes en modules (paquetages).

Identifier les classes : classes candidates

• Un gérant e bibliothèque désire automatiser la gestion des prêts.


• Il commande un logiciel permettant aux utilisateurs de connaitre les
livres présents, d’en réserver jusqu’à 2, l’adhérent peut connaitre la liste
des livres qu’il a empruntés ou réservés.
• L’adhérent possède un mot de passe qui lui est donné à son inscription.
• L’emprunt est toujours réalisé par le

Gérant bibliothèque gestion prêts logiciel utilisateur

Livres . . .

Les classes retenues :

• Gérant n non pertinents, n’intervient pas


• Bibliothèque oui responsabilité : gérer les livres adhérents, prêts
• Gestion non vague
• Prêts oui responsabilité : contenir les infos et action sur les
prêts
• Logiciel non vague.
• Utilisateur (choix entre utilisateur, adhérent ou emprunteur)
• Livres oui responsabilité : permettre e connaitre de état.
• Adhérent oui responsabilité : permettre à la personne d’étre
identifié
• Liste non implémentation ou conception.
• Mot de passe non attribut
• Inscription non action
• Emprunt non action
• Employé oui responsabilité :

Dictionnaire des données :

• organisme gérant une collection de livres qui peuvent être empruntés


par ses adhérents. Une bibliothèque est gérée par ses employés.
• Prêt :

Chercher les associations :

Un gérant de bibliothèque désire automatiser la gestion des prêts.

• Il commande un logiciel permettant aux utilisateurs de connaitre les


livres présents d’en réserver jusqu’à 2. L’adhérent peut connaitre la liste
des livres qu’il a empruntés ou réservés.
• L’adhérent possède un mot de passe qui lui est donné à son inscription.
• L’emprunt est toujours réalisé par les employés qui travaillent à la
bibliothèque. Après avoir identifié l’emprunteur, ils savent si le prêt est
possible (nombre max de prêts = 5), et s’il a la priorité

Associations sous- entendues :

• Un adhérent est inscrit à la bibliothèque.


• La bibliothèque contient des livres.

les associations :
Bibliothèque

Bibliothécair Livre Adhérent


e

Prêt
Diagramme d’objet :

- Les valeurs des attributs sont optionnelles ainsi que les liens entre
objet

Exercice :

Préparer un diagramme d’objet montrant au moins 10 relations parmi les


classes d’objets suivantes. Inclure les associations les agrégations et les
généralisations.

Placer les ordres de multiplicité.

A- Ecole, Terrain de jeu, Proviseur, Conseil de classe, Salle de classe, Livre,


Elève, Professeur, Cafétéria, Ordinateur, Bureau, Chaise, Porte.

Vous aimerez peut-être aussi