0% ont trouvé ce document utile (0 vote)
92 vues124 pages

Cours Modelisation

Transféré par

abdelwahed.elasri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
92 vues124 pages

Cours Modelisation

Transféré par

abdelwahed.elasri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Modélisation avec UML

Préparé par : YAZIDI ALAOUI Otmane


1) Introduction au langage de modélisation UML
• points de vue et diagrammes
• cas d'utilisation, analyse, conception, implémentation
2)Le diagramme des cas d’utilisations
• acteur
• cas d'utilisation et scénario
3) Notion de classes et objets et leur diagramme
• introduction aux classes, aux objets
• notion de relation, de composition et d'héritage
• recherche d'un diagramme de classes à partir du cahier des
charges
4) Modèle dynamique
• diagramme de séquences, de collaboration, d'état et d'activité
• réalisation des cas d'utilisation par les diagrammes de
séquences
• réalisation des cas d'utilisation par les diagrammes de
collaboration
5) Conception
• diagramme de déploiement et de composants
Introduction au langage
de
modélisation UML
Pourquoi modéliser

Un modèle est une simplification de la réalité qui permet de


mieux comprendre le système à développer.
Il permet
- De visualiser le système comme il est ou comme il devrait
l'être.
- De valider le modèle vis à vis des clients
- De spécifier les structures de données et le comportement du
système.
- De fournir un guide pour la construction du système.
- De documenter le système et les décisions prises
Les principes de la
modélisation
1) Le modèle doit être connecté au monde réel
2) Un modèle peut être exprimé avec différents
niveaux de précision
3) Un simple modèle n'est pas suffisant, il y a
plusieurs façons de voir un système.
➔plan de masse

➔vue de face, de coté, ...

➔plan des niveaux

➔plan électrique

➔plan de plomberie

➔plan des calculs de construction


Qu’apporte
la modélisation objet

Plus grande indépendance du modèle par


rapport aux fonctionnalités demandées.

Des fonctionnalités peuvent être rajoutées ou


modifiées, le modèle objet ne change pas.

Plus proche du monde réel



Les objectifs d’UML

Représenter des systèmes entiers


• Etablir un couplage explicite entre les concepts
et les
artefacts exécutables
• Prendre en compte les facteurs d’échelle
• Créer un langage de modélisation utilisable à
la fois
par les humains et les machine
UML un langage

UML n’est pas une méthode


UML est un langage de modélisation objet


UML a été adopté par toutes les méthodes


objet

UML est dans le domaine public, c’est une


norme
UML un langage pour
visualiser
chaque symbole graphique a une sÉmantique.
spécifier
de manière précise et complète, sans ambiguïté.
construire
les classes, les relations SQL peuvent être générées
Automatiquement
documenter
les différents diagrammes, notes, contraintes,
exigences seront présentés dans un document
UML et les domaines
d’utilisation
● Systèmes d'information des entreprises

● Les Banques et les services financiers

● Télécommunications

● Transport

● Défense et aérospatiale

● Scientifique

● Applications distribuées par le WE


Les trois éléments de base en UML
1) les blocs de base pour construire
les entités utilisées
la notion de relation

les diagrammes

2) les règles à observer pour utiliser ces blocs


de base
règles sémantiques

règles de présentation

3) les mécanismes communs


spécification

présentation

extension des modèles


Point de vue des cas d’utilisation

Vue du système par ses utilisateurs finaux


Regroupe le comportement du système selon

Priorité: critique, important, accessoire


Risques à circonscrire
Options disponibles
Couverture de l’architecture
Autres objectifs tactiques et contraintes
Point de vue logique

Décomposition orientée-objet
décomposition en objets et classes
Regroupement en paquetages.
Connexions 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 processus

Décomposition en tâches et processus


Regroupement des groupes de processus
Communication
Information sur les caractéristiques suivantes :
Disponibilité, fiabilité
Intégrité, performance
Contrôle
La notation graphique
BUT :
ƒ Modéliser les objets, les relations entre objets,
les interactions avec le système.

ƒ Servir de support de communication entre


l'analyste, le client, et les utilisateurs.
Exemple :
EXERCICES
Exercice 1
Exercice 2
Exercice 3
Exercice 4
EXERCICES
Exercice 1: Etude d'une caisse de supermarché

Le déroulement normal d’utilisation d’une caisse de supermarché est


le suivant :
• un client arrive à la caisse avec ses articles à payer
• le caissier enregistre le numéro d’identification de chaque article,
ainsi que la quantité si elle est supérieure à 1
• la caisse affiche le prix de chaque article et son libellé
• lorsque tous les achats sont enregistrés, le caissier signale la fin de
la vente
• la caisse affiche le total des achats
• le caissier annonce au client le montant total à payer
• le client choisit son mode de paiement: on suppose que le client va
payer en espèce
o liquide : le caissier encaisse l’argent, la caisse indique le montant à
rendre au client

• la caisse enregistre la vente et l’imprime


• le caissier donne le ticket de caisse au client
Le déroulement normal d’utilisation d’un distributeur automatique de
billets est le suivant :
le client introduit sa carte bancaire
la machine vérifie alors la validité de la carte et demande le code au
client
si le code est correct, elle envoie une demande d’autorisation de
prélèvement au groupement de banques. Ce dernier renvoie le
solde autorisé à prélever.
le distributeur propose alors plusieurs montants à prélever
le client saisit le montant à retirer
après contrôle du montant par rapport au solde autorisé, le
distributeur demande au client s’il désire un ticket
Après la réponse du client, la carte est éjectée et récupérée par le
client
les billets sont alors délivrés (ainsi que le ticket)
le client récupère enfin les billets et son ticket

Travail à Faire :
Modéliser cette situation à l’aide d’un diagramme de séquence
en ne prenant en compte que le cas où tout se passe bien.
Etude de cas I:

On souhaite développer une application informatique qui permet la gestion


des emprunts des Cd-rom contenant des jeux vidéo pour les enfants.

Un employé s’occupe d’enregistrer les emprunts des adhérents qui veulent


emprunter les cd-rom. L’employé doit d’abord s’authentifier pour effectuer
cette opération. Chaque cd emprunté doit être rendu à l’employé de la biblio
après une durée de 3 jours. L’adhérent donc peut réserver des cd-rom
contenant des jeux, chaque réservation doit mentionner l’emprunteur, le jeu et
la date de réservation. L’adhérent est averti quand le jeu (cd) revient en rayon.

L’employé peut aussi organiser des événements, pour se faire il doit donner
les informations suivantes : le nombre minimal et maximal des participants, les
jeux à tester, la date de l’événement et l’heure de début de l’événement.

L’adhérent qui souhaite participer à un événement peut s’inscrire à condition


qu’il y ait encore de la place disponible. Pour se faire il doit saisir un mot de
passe et login.

Si l’adhérent trouve une place disponible alors il peut payer sa cotisation en


ligne par un système de paiement externe.
Question :

1. Décrire les exigences fonctionnelles du système ?

2. Développez le diagramme de cas d’utilisation ?

3. Développez le diagramme de séquence pour le cas d’utilisation «


enregistrer emprunt » ?

4. Déduire le diagramme de classe ?


Concepts objets et
diagrammes de classes
Protection des attributs et des opérations : principe de
l'encapsulation

Peut-on accéder à tous les attributs ou à toutes les


méthodes d' objet ? NON
ƒ La classe définit ce qui est accessible.
C'est le principe de l'encapsulation.
Un objet complexe ne peut être utilisé qu'a travers ce qui est
accessible

Exemple :
ƒ On ne peut utiliser une voiture qu' travers son volant,son frein,
son accélérateur, etc.

ƒ L’accès au carburateur est impossible sauf par les


méthodes qui le font de manière cohérente
(méthode accélérer de l’accélérateur).
Exercice 1
Pour chaque exemple ci-dessous, indiquez si la relation présentée est une
généralisation, une agrégation ou une association :
Un pays a une capitale
Une transaction boursière est un achat ou une vente
Les fichiers contiennent des enregistrements
Une personne utilise un langage de programmation dans un projet
Les modems et les claviers sont des périphériques d’entrées/sorties

Exercice 2
Un ordinateur est composé d’un ou plusieurs moniteurs, d’un boîtier, d’une
souris optionnelle et d’un clavier. Un boîtier a un châssis métallique, une carte
mère, plusieurs barrettes de mémoire (RAM, ROM et cache), un ventilateur
optionnel, des supports de stockage (disquette, disque dur, CD-ROM, DVD-ROM…)
et des cartes périphériques (son, réseau, graphique). Un ordinateur possède
toujours au moins un lecteur de disquette ou un disque dur.
Proposez un diagramme de classes qui représente l’architecture d’un ordinateur.
Exercice UML : base de données qui stock les recettes de cuisine

Enoncé :
Il vous est demandé de réaliser une base de données permettant de stocker des recettes de
cuisine et gérant également les stocks des ingrédients que vous possédez. Chaque recette de
cuisine a un nom, une description, la durée de préparation et la durée de cuisson, le nombre
de calories par personne, le nombre de parts et le niveau de difficulté : difficile, moyen ou
facile. Pour chaque recette vous voulez savoir quels sont les ingrédients nécessaires et la
quantité associée à chaque ingrédient. Pour chaque ingrédient vous avez son nom et le
nombre de calories pour 100 grammes de cet ingrédient. Chaque ingrédient a un type, par
exemple féculent pour l'ingrédient pomme de terre. Un même ingrédient peut avoir plusieurs
conditionnements, par exemple, l'ingrédient farine peut être stocké sous forme d'un paquet
de 1 kg ou de 500 g. Ces deux conditionnements seront considérés comme des produits
différents. Pour gérer les stocks des ingrédients, le lieu de stockage des produits dans le
logement est mémorisé. Chaque rangement est nommé et pour chaque rangement vous
savez quels sont les produits qui y sont stockés. Un même ingrédient peut être stocké dans
plusieurs rangements.

Travail à Faire :
Faire le diagramme UML de modélisation de données puis la base de données relationnelle de
cette application
Exercice UML Analyse des besoins d'un vidéo Club
Un vidéo club est un centre de distribution qui assure essentiellement la location de films
préenregistrés
Les éditeurs procurent les cassettes aux exploitants soit en location soit en vente. Les
exploitants peuvent donc passer avec les éditeurs des contrats de location d'une durée
moyenne de 6 mois ou passer des commandes à partir de catalogues fournis régulièrement
par les éditeurs.
Un vidéo club entretient des relations avec une trentaine d'éditeurs environ.
Lorsque les exploitants constatent une usure des cassettes qui leur appartiennent, ils ont la
possibilité de les vendre à des grossistes qui peuvent alors pratiquer des ventes au rabais.
Un seul statut est proposé aux clients, celui d'adhérent. Chaque adhérent se voit attribuer une
carte d'adhésion sur laquelle est mentionné un code adhérent. Il peut alors choisir entre
plusieurs types d’abonnement. Les tarifs varient selon le mode d'abonnement choisi. Quatre
tarifs adaptés aux locations sont proposés en fonction des différents types d'abonnement.
Toutefois, on peut louer des cassettes aux clients non abonnés sans leur faire profiter des
avantages tarifaires réservés aux abonnés.
Le but est de décrire la vue des besoins (use case view) de ce système en utilisant le logiciel
Objecteering.
Travail à Faire :
Donner le diagramme des cas d'utilisation du système. Penser à utiliser la généralisation
d’acteurs.
Décrire le scénario « Location Cassettes » par un diagramme de séquence.
Compléter l’analyse des besoins de ce système par la description des scénarios principaux
des autres cas d'utilisation.
public interface Dessinable abstract public class Figure public class Cercle
{ implements Dessinable { extends Figure {
public void dessiner ( ); protected String couleur; private float rayon;
public void effacer ( ); protected String getCouleur ( ) private Point centre;
{ return couleur; }
} public Cercle ( Point
protected void setCouleur centre, float rayon) { ... }
( String c ) { couleur = c; }
public class Rectangle public void dessiner ( )
} { ... }
extends Figure {
protected Point public void effacer ( ) { ... }
sommets[] = new }
public class Losange
Point[2];
extends Figure {
public Rectangle ( Point
protected Point
p1, Point p2) { ... } public class Point {
sommets[] = new
public void dessiner ( ) Point[2]; private float x;
{ ... }
public Losange ( Point private float y;
public void effacer ( ) { ... p1, Point p2) { ... }
} public float getX ( ) { return x; }
public void dessiner ( ) {
} ... } public float getY ( ) { return y; }
public void effacer ( ) public void Point ( float x, float y) { ... }
{ ... }
}
}

ransformer le code source suivant en diagramme de classe correspondant :


1- Une personne est soit un étudiant ou un
enseignant. Donnez le diagramme de classe
correspondant?
2- Un doctorant peut est un étudiant qui assure
des cours. Modifier le modèle de précédent?
3- Les doctorants et les étudiants peuvent
modifier leur inscription, et obligatoirement
doivent s'inscrire au début de l'année . Une
personne est connue par son nom et son
prénom. On peut calculer le salaire des
doctorants et enseignants. Modifier le modèle
précédent?
Exercice 6:

La banque populaire au Maroc contient plusieurs agences, elle est


caractérisér par son nom (banque populaire) et dirigée par un
directeur, possède un capital et une adresse. LE directeur de la
banque possède un nom, prénom, âge et son salaire( ou revenue).
Chaque agence possède une adresse , des employés et un
identifiant. Chaque employé possède aussi un nom, prénom et
date d'embauche. Un emplyé travail seulement dans une seule
agence, mais peut demander une mutation vers une autres
agence. Un employé peut gérer un ou plusieurs clients, ce dernier
possède un seul compte dans une agence donné, un nom,
prénom et une adresse. Chaque client inscrit est attribué à un
employé dans l'agence.
Un compte peut soit être un compte rémunérés ou non. Les
comptes rémunérés possèdent un taux d'intérêt versés
annuellement
1. Trouvez les classes (attributs et
méthodes)?
2. Trouvez les relations entre les classes
(généralisation, association)?
3. Il existe un relation qui lie l'agence, le client,
l'employé et le compte. De quelle relation
s'agit-il ? Donnez un diagramme de classes
correspondant.?
4. Donnez le diagramme de classes amélioré
en n'utilisant que le nom des classes?

Vous aimerez peut-être aussi