0% ont trouvé ce document utile (0 vote)
67 vues42 pages

Cours Uml Rania Rebai

Transféré par

laksir.samir
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)
67 vues42 pages

Cours Uml Rania Rebai

Transféré par

laksir.samir
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

Plan

1 Introduction générale
Conception des systèmes
2 Les diagrammes de cas d’utilisation
d'informations
3 Les diagrammes de classe

DR. RANIA REBAÏ BOUKHRISS 4 Les diagrammes d’états-transition


DOCTEUR EN INFORMATIQUE
[Link]@[Link]
5 Les diagrammes de séquences

6 Méthode de développement Agile - Scrum

Plan Objectifs du cours

❑ Ce cours vise à :
▪ Maîtriser la notion d’information
▪ Savoir ce qu’est un système d’information et connaître ses principales fonctions.
▪ Expliquer le processus de développement de SI.
Introduction ▪ Appliquer les principes d’analyse et de conception de SI.
▪ Appliquer les méthodologies d’analyse et de développement des SI
générale
Pourquoi la conception des SI ? Organisation du cours

❑ La conception des SI permet spécifiquement aux étudiants des filières ❑ Volume horaire
1ère GL et 1ère ST de : ▪ 21h de cours
▪ Être capable de dialoguer avec des fournisseurs de solutions logicielles ▪ 21h de travaux dirigés
▪ Intégrer un logiciel au sein d’un SI existant ❑ Evaluation
▪ Savoir identifier des flux d’informations ▪ Projet
▪ Pouvoir collaborer à la mise en place d’un SI ▪ Devoir supervisé
▪ Examen

Définition d’un système Définition d’une information

Un système: ensemble autoréglable et interagissant avec L’information: De point de vue d’un système de type entreprise,
l’environnement qui fonctionne en vue d’un objectif précis. l’information est « un symbole qui fournit pour les acteurs d’une
Un système peut se décomposer en plusieurs sous-systèmes. entreprise une connaissance utile à l’accomplissement de leur travail ».

❑ Exemple d’informations pour le système « Société Nationale des


❑ Exemple Chemins de Fers Tunisiens » (SNCFT) :
▪ Gares, les voies, les trains, les wagons, les places, les classes, les horaires,
▪ Une entreprise de transport
les tarifs, les distances, les conducteurs, les contrôleurs, les réservations…
▪ Banque ❑ Exemple d’acteurs de SNCFT :
▪ Filiale d’une société d’assurance ▪ Guichetiers, l’internaute, les écrans d’affichage des trains à l’arrivée et au
départ…
Définition d’un système d’information Positionnement du SI dans l’entreprise
- Déterminer les tarifs Entreprise • Réfléchir
- Définition des trajets pour une • Décider
Le Système d’Information (SI): ensemble organisé de ressources période donnée
- Ouverture des nouveaux trajets
Système de Pilotage • Contrôler
(matériel, logiciel, personnel, données, procédures…) permettant Flux de décision
d’acquérir, de stocker, de traiter, de communiquer des informations Informations
internes et • Mémoriser
de toutes formes dans une organisation. Le trajet : Décisions
- numéro de trajet externes traitées • Traiter
- Nom de ville de départ
Système d’Information • Diffuser
- Nom de ville d’arrivé
Flux d’Informations - Heure d’arrivée Flux d’information
- Heure de départ
Informations sur
l’état d’exécution Instructions concernant
des tâches l’exécution des tâches • Transformer
- Les wagons
- Les voyageurs
• Produire
- Les trajets
Système Opérant
- Le paiement des billets Flux physique

Système d’information de gestion de transport

Etapes de réalisation d’un SI Analyse Vs conception

❑ Processus de développement Modélisation


Exigences Expression des
besoins Analyse : Comprendre le problème
Analyses Cahier des charges

Conception Modèle

Mise en Produits
œuvre Conception : Réaliser une solution
Test et conformité
Validation
Produits validés

Mise en La conception est souvent un compromis


service
La modélisation La modélisation

❑ Pourquoi modéliser ? ❑ Objectifs


▪ Modéliser, c’est décrire de manière visuelle et graphique les besoins et, les solutions ▪ Aider à visualiser le système

fonctionnelles et techniques d’un projet logiciel. ▪ Spécifier la structure et le comportement


▪ Servir de plan pour la construction effective
Exemple: Constitution d’un meuble en kit ▪ Permettre de documenter les choix
✓ l’utilisation de schémas et d’illustrations
❑ Avantages
facilite la compréhension d’un sujet complexe.
Schéma ▪ Abstraction
Texte ▪ Compréhension : mise au point avec le client
C’est exactement à quoi sert la modélisation
▪ L’énergie déployée pour modéliser révèle les difficultés
dans des projets de réalisation de logiciels !
▪ Les erreurs sur les modèles coûtent bien moins cher

Les différentes approches de modélisation Les différentes approches de modélisation


Approche fonctionnelle Approche Fonctionnelle : points forts
➢ Première génération des méthodes d’analyse et de conception des SI (à
➢ Simplicité de processus de conception
partir des années 70)
➢ Affinage progressif
➢ Approche traditionnelle utilisant des procédures et des fonctions :
identification des fonction nécessaires à l’obtention du résultat ➢ Répond plus vite aux besoins ponctuels des utilisateurs (applications simples)
➢ Décomposer hiérarchiquement une application en un ensemble de sous
applications Approche Fonctionnelle : points faibles
➢ Exemple de méthodes : SADT, Warnier, ... ➢ Concentration sur le traitement
➢ Redondance possible des données

Inputs
Outputs ➢ Problème de structuration des données

Système d’information
➢ Difficulté de fixer des limites pour les décompositions hiérarchiques
Les différentes approches de modélisation Les différentes approches de modélisation

Approche Systémique : points forts


Approche Systémique
➢ Approche globale qui prend en compte la modélisation des données et des
➢ Deuxième génération des méthodes d’analyses et de conception de SI (à partir
traitements
des années 80)
➢ Introduction des niveaux d’abstraction dans le processus de conception :
➢ Traiter le système en ensemble d’entités communicant entre elles et avec
conceptuel, logique et physique
l’extérieur
➢ Bonne adaptation à la modélisation des données et la conception des bases de
➢ Une double approche de modélisation : des données et des traitements
données
➢ Exemple : MERISE, AXIAL, SSADM...
Approche Systémique : points faibles
➢ Redondance possible des données
Inputs Données Traitement Outputs
➢ Séparation entre les données et les traitements
Système d’information

Les différentes approches de modélisation Les différentes approches de modélisation

Approche Orientée Objet Approche Orientée Objet : points forts

➢ Dernière génération des méthodes d’analyses et de conception de SI (à partir ➢ Reflète plus finement les objets du monde réel
des années 90) ➢ Intégrer dans l'objet des données et des traitements
➢ Emergence de la philosophie Objet ➢ Plus stable: un changement appliqué à un sous-système facile à identifier et
➢ Inclure les concepts objets dans la démarche d’analyse et de conception isoler du reste du système

➢ Exemple : UML, O*, OMT ... ➢ Réduire la distance sémantique entre le langage des utilisateurs et le langage des
concepteurs : meilleure communication entre utilisateurs et concepteurs
Données Données
Traitement Traitement
Approche Orientée Objet : points faibles
Inputs Outputs ➢ Parfois moins intuitive que l’approche fonctionnelle
Données
Traitement ➢ Pas de fils conducteur, nécessite une expérience pour être mise en place
Système d’information
Unified Modelling Language (UML) Unified Modelling Language (UML)

❑ Un besoin d’unification : Dernière version est UML 2.5.1 diffusé en 2017

Unified …

❑ Pour la modélisation :

Modelling …

❑ Sous forme de langage :

Language …

Unified Modelling Language (UML) Unified Modelling Language (UML)

❑ Unified Modelling Language (UML) ❑ La démarche Objet


▪ Un standard des notations graphiques et du vocabulaire
▪ L’approche objet nécessite une démarche itérative et incrémentale, c’est-à-dire que le
▪ N’est pas une méthode de conception mais un ensemble de notation unifié
concepteur doit faire des allers-retours entre
▪ UML est un langage visuel constitué d’un ensemble de schémas, appelés des diagrammes.
✓ les diagrammes initiaux
▪ Chaque diagramme donne une vision différente du projet à traiter.
✓ les besoins du client et des utilisateurs perçus au fur et à mesure de la conception
• Possède une structure
du logiciel afin de le modifier si nécessaire.
• Transmettre une sémantique précise
▪ L’approche objet est guidée par les besoins du client.
▪ UML est utilisé lorsqu’on prévoit de développer des applications avec une démarche objet
(développement en Java, en C++,etc).
Les concepts de l’orienté objet : l’objet Les concepts de l’orienté objet : l’objet

❑ Le monde est composé d’entités qui « collaborent » ❑ L’objet est une entité (matérielle, immatérielle, …) du monde réel
possédant :
chauffeur
Feu
▪ Une identité non explicitée dans le modèle : attribuée par le
direction
système (deux objets sont distincts même si toutes les valeurs de
Boîte de
vitesse
moteur
leurs attributs sont identiques)
▪ Un état : regroupant les valeurs de tous ses attributs à un instant
roue roue frein
donné
▪ Un comportement : regroupant l’ensemble d’opérations
➢ L’approche objet consiste à résoudre un problème en termes
d’objets qui collaborent.
➢ Ces objets sont des abstractions des objets réel
Objet = identité + état + comportement

Les concepts de l’orienté objet : l’objet Introduction à UML

Objet = identité + état + comportement


❑ Le diagramme est un élément fondamental de modélisation UML
❑ Un diagramme est une représentation graphique d’objets et de
Etat (informations) relations entre eux.
nom= « Salah »
âge = 45 ❑ Il en existe plusieurs sortes de diagramme : un seul modèle ne
numCin=00985694 suffit pas !

Comportements
ChangerNom()
AfficherAge()
Un objet Client AfficherCin()
Introduction à UML Introduction à UML

❑ UML 2.5.1 propose 14 diagrammes répartis en trois catégories :


▪ Les diagrammes de structure: classes, objets, composants, déploiement,
structure composite, déploiement et packages. Spécification des besoins : Modèles structurels :
▪ Les diagrammes de comportement: cas d’utilisation, états-transitions et ❑ Diagramme de cas ❑ Diagramme de classes

activités. d’utilisation
❑ Diagramme d’activités ❑ Diagramme d’objets
▪ Les diagrammes d’interactions (sous catégories des diagrammes de
comportement): communication, séquence, diagramme globale d’interaction Modèles dynamique : Architecture :
et diagramme de temps. ❑ Diagrammes d’interaction ❑ Composants

(séquence/ collaboration)
❑ Diagramme d’état ❑ Déploiement

Objectifs de diagramme de Cas d’Utilisation (CU)

❑ La phase d’analyse des besoins nécessite :


▪ de comprendre les besoins à couvrir par le système
Le diagramme de ▪ d’exprimer et de formaliser ces besoins
Cas d’utilisation
Le moyen offert par UML pour représenter ces besoins :
Diagramme de cas d’utilisation
Objectifs de diagramme de Cas d’Utilisation (CU) Objectifs de diagramme de Cas d’Utilisation (CU)

❑ Définir les besoins fonctionnels du système : capture des


fonctionnalités couvertes par le système
❑ Décrit le comportement du système du point de vue de son
utilisateur ❑ Définir le périmètre fonctionnel du système : définir les frontières du
système avec son environnement
❑ Permet d’analyser et d’organiser les besoins des utilisateurs
❑ Définir le dialogue entre l’utilisateur et le système : définir comment
❑ Représente un ensemble d’actions réalisées par le système et l’utilisateur interagit avec le système
produisant un résultat observable pour un acteur (utilisateur)
❑ Servir de support de référence tout au long des phases de
développement du système : les cas d’utilisation seront consultés et
référencés tout au long du processus de développement du système

Pour élaborer les cas d’utilisation, il faut se fonder sur des


entretiens avec les utilisateurs

Eléments de diagramme des Cas d’Utilisation (CU) Cas d’Utilisation


❑ Intérêt des cas d’utilisation :
❑ Définition:
▪ Recentrer l’expression des besoins sur les utilisateurs
▪ Un cas d’utilisation décrit un ensemble d’actions réalisées par le système
▪ Obliger les utilisateurs à définir la manière dont ils voudraient interagir avec le
système fournissant un résultat observable pour son utilisateur

❑ Un diagramme de cas d’utilisation définit : ❑Notation :


▪ Le système Expédier
Passer
▪ Les acteurs commande commande
▪ Les cas d’utilisation (fonctionnalités)
▪ Les liens entre acteurs et cas d’utilisation Payer facture

Quel acteur accède à quel cas d’utilisation ? ▪ Dans la pratique, les noms des cas d’utilisation sont de petites phrases verbales actives qui
décrivent le comportement existant dans le vocabulaire du système en cours de modélisation
Acteur Acteur

❑ Définition : ❑ Une même personne physique peut jouer le rôle de plusieurs acteurs
▪ Un acteur représente un rôle joué par une entité externe (une personne, un ❑ On distingue 4 catégories d’acteurs:
périphérique ou un autre système) qui agit sur le système étudié et interagit
directement avec lui en : ▪ Principal : utilise les fonctions principales d’un système
• Échangeant de l’information avec le système ▪ Secondaire : effectue des tâches administratives ou de maintenance
• Consultant ou modifiant l’état du système
▪ Matériel externe : les dispositifs matériels : autres que les machines sur lesquelles
s’exécute l’application et nécessaire aux fonctionnement du système (ex. carte
magnétique)
▪ Un acteur est déterminé en examinant les :
• Utilisateurs directs du système Besoin/action ▪ Autres systèmes avec qui le système doit interagir

• Responsables de l’exploitation et/ou de Acteur


Fonctionnalité/
la maintenance Réaction
Système
• Autres systèmes interagissant

Acteur Acteur : représentation graphique

❑ Exemple de CU : traiter le passage d’un client à une caisse ❑Les acteurs se représentent sous la forme d’un petit personnage
▪ Principal : caissier (stick man) ou sous la forme d’une case rectangulaire (appelé
classeur) avec le mot clé << actor >>
▪ Secondaire : gestionnaire des caisses
❑Chaque acteur porte un nom
▪ Matériel externe : lecteur de carte bancaire
▪ Autres systèmes : système de gestion de stock, système Mot-clé
d'autorisation de paiement Stick man Symbole à
<<acteur>> la place du
mot-clé
SI banque SI banque
Client
Nom de
l’acteur
Acteur : représentation graphique Acteur : représentation graphique

❑Pour chaque acteur on doit choisir un identificateur représentatif ❑ Un acteur peut participer à des relations de généralisation avec
de son rôle, éventuellement accompagné d’une brève description d’autres acteurs.
textuelle. ▪ Le seul lien qui peut être entre les acteurs est le lien d’héritage
▪ L’acteur fils hérite les fonctionnalités de l’acteur parent.
Personne qui visite le site pour
chercher des ouvrages et Acteur parent
éventuellement passer des
commandes Personne
L’acteur « Etudiant » hérite le
Internaute comportement càd tous les cas Lien d’héritage
d’utilisations de l’acteur « Personne » « Est un »

Acteur fils
Etudiant

Acteur : représentation graphique Associations

Site e-Commerce ❑ L’interaction entre un acteur et un cas d’utilisation se représente comme une
Chercher article
association
<<Acteur>>
❑ Une association permet de décrire les échanges entre acteur et un cas d’utilisation.
Paiement sécurisé
Gérer panier
Visiteur ❑ A chaque acteur est associé un ou plusieurs cas d’utilisations,

Commander Association
Consulter
commande
Acteur Cas_Utilisation
Client Gérer compte
Manutentionnaire
❑ Les acteurs sont connectés aux cas d’utilisation uniquement par association qui
S’authentifier
Acteur principal Acteur secondaire indique que l’acteur et le cas d’utilisation communiquent entre eux, chacun pouvant
envoyer et recevoir des messages.
Etude de cas Etude de cas

❑ Le Distributeur Automatique de Billet (DAB) ❑ Exemple de DAB : Identification des cas d’utilisation
▪ Un DAB permet à tout détenteur de carte bancaire de retirer de l’argent.
▪ Si le détenteur de carte est un client de la banque propriétaire du DAB, il peut en plus
consulter les soldes de ses comptes et effectuer des virements entres ces différents comptes.
▪ Dans le cas du DAB, l’acteur Client banque est une spécialisation de l’acteur Porteur de carte.
▪ Les transactions sont sécurisées c’est-à-dire :
• Le DAB consulte le Système d’Information de la banque (S.I. Banque) pour les opérations
que désire effectuer un client de la banque (retraits, consultation soldes et virements).
• Le DAB consulte le Système d’Autorisation Globale Carte Bancaire (Sys. Auto.) pour les
retraits des porteurs de cartes non clients de la banque.
▪ Le DAB nécessite des opérations de maintenance tel que la recharge en billet, la récupération
des cartes avalées, etc.

Etude de cas Relations entre les CU

❑ Exemple de DAB : Identification des acteurs et des associations


❑Trois relations peuvent être décrites entre cas d’utilisation:

▪ Une relation d’inclusion (« include »)

▪ Une relation d’extension (« extend »)

▪ Une relation de généralisation


Relations entre les CU : Relation d’inclusion Relations entre les CU : Relation d’inclusion

❑ Exemple :
❑ Indique qu’un cas d’utilisation CU1 utilise systématiquement et
obligatoirement un autre CU2
❑ Elle est représentée par une flèche pointillée étiquetée « include »
pointant vers le cas d’utilisation utilisé

<< include >>


CU1 CU2
CU source CU destination

▪ La relation include permet d’éviter de décrire la même suite d’interactions plusieurs fois, et ce
en rangeant le comportement commun à plusieurs CU dans un CU

Relations entre les CU : Relation d’inclusion Relations entre les CU : Relation d’extension

❑ La relation d’extension enrichit un cas d’utilisation (CU destination) par un autre cas
d’utilisation de sous fonction (CU source) qui est optionnel
❑ Cette relation est représentée par une flèche en pointillée étiquetée « extend » ayant
comme source le CU optionnel et ciblant le CU enrichi
❑ L’extension peut être soumise à une condition spécifiée à côté du mot clé « extend »
▪ La condition reflète le caractère optionnel de la relation d’extension (le CU source n’est
exécuté que si la condition est vraie)
▪ L’absence de condition dans la relation d’extension montre l’aspect obligatoire de cette
relation (elle est exécuté dans tous les cas)

<< extend >>


[condition d’extension]
CU source CU destination
Relations entre les CU : Relation d’extension Relations entre les CU : Relation d’extension

❑ Exemple 1 : ❑ Exemple 2 :

Servir Boisson Paiement


chaude
« extend »
« extend »
Client distant
Client local Paiement par
Client Servir supplément
Internet
de sucre

Relations entre les CU : Relation d’extension Relations entre les CU : Relation de généralisation

❑ Exemple de DAB :
❑ Il est possible de spécialiser un cas d’utilisation par un autre cas d’utilisation
▪ Le DAB permet à son utilisateur d’imprimer un reçu s’il le désire.
❑ La relation de généralisation est représentée par une flèche avec une
▪ Une vérification du solde du compte éventuelle n’intervient que si la demande de retrait
extrémité triangulaire
dépasse 20 euros.

CU Parent

▪ Le CU enfant hérite le comportement de CU parent


▪ Le CU enfant peut compléter ou remplacer le
comportement du CU parent
CU Enfant

Vérifier solde
Relations entre les CU : Relation de généralisation Relations entre les CU : Relation de généralisation

❑ Exemple 1 : ❑ Exemple 2 :

S’identifier Règlement

client Vérifier emprunte Vérifier Password client Règlement par Règlement par
carte chèque

Relations entre les CU : Relation de généralisation Exercice

❑ Exemple de DAB : L’expert métier précise que le DAB sera situé dans une zone
❑ Etude de cas : considérons les règles de gestion suivantes:
internationale et devra donc pouvoir fournir la somme d’argent en Dollars ou en Euros.
▪ Un client peut consulter la liste des produits
▪ Un client peut être distant ou local
▪ Un client distant effectue ses virements via Internet
▪ Les virements par Internet sont des cas particuliers de virements
▪ Tout type de virements nécessite une identification du client
▪ Dans le cas où le montant du virement dépasse 500, on est obligé de vérifier
le solde du compte du client.
❑ Question : Donner le diagramme de CU correspondant à ces règles

Vérifier solde
Exercice Conclusion

❑ Solution:
❑ Les cas d’utilisation sont de bons moyens pour modéliser les
vérifier le solde besoins des utilisateurs
du compte
Client ❑ Avantages:
« extend »
[Si Montant >500] ▪ Un formalisme simple
Virement ▪ Un bon moyen de communication: client/concepteur
« include »
Client Local

Identification
Virement par
internet
Client distant
62

Le diagramme de classe : introduction

❑ Diagramme central et obligatoire du modèle du SI.

❑ Le diagramme de cas d'utilisation montre le SI du point de vue des acteurs,


alors que le diagramme de classes montre la structure interne du SI.
Le diagramme de
classe
❑ Le plus riche en notations.

❑ Exprime la structure statique du système en termes de classes et de


relations statique entre ces classes

64
Concept de classe Concept de classe

Une classe est une description abstraite d’un ensemble d’objets du domaine; ❑ La classe est représentée par un rectangle avec attributs et
elle définit leur structure, leur comportement et leurs relations. opérations
NOM DE CLASSE
Attributs
Opérations
❑ Une classe peut représenter des éléments variés comme:
▪ Des éléments concrets (ex. : des voitures ou des personnes), ❑ Autres représentations
▪ Des éléments abstraits (ex. : des achats de marchandises, des
réclamations ou services),
NOM DE CLASSE NOM DE CLASSE
▪ Des composants d’une application (ex. : les boutons des boîtes de
Attributs
dialogue).

➢ Les deux derniers compartiments d’une classe peuvent être supprimés lorsque
leur contenu n’est pas pertinent dans le contexte du diagramme établit
65 66

Concept de classe Concept de classe : Attribut

Attribut :
Un attribut est une propriété nommée de classe qui porte un
ensemble de valeurs que les objets de la classe vont prendre.

Exemple :
Matricule est un attribut de la classe Etudiant

❑ Le nom de la classe est toujours au singulier


Exemple : Fichier, Client, Chat, …

67
Concept de classe : Attribut Concept de classe : Opération

❑ Un attribut peut être dérivé:


Opération :
▪ Peut être déduit par application d’une formule sur d’autres attributs
▪ Qui conduit en implémentation à une opération
Les opérations modélisent le comportement de ses objets.

RECTANGLE RECTANGLE

longueur langueur
Surface= longueur * largeur
largeur Largeur
/surface
Surface()
Opérations
❑ Une opération possède une signature
Niveau Analyse Niveau Conception ❑ La signature est constituée du nom de l’opération, de son type de
➢ Les attributs dérivés sont symbolisés par l'ajout d'un « / » devant leur nom.
retour et de la liste de ses paramètres (salaire() : float).
70
69

Concept de classe : Visibilité Concept de classe : Visibilité

❑ Visibilité des attributs et des opérations


❑Visibilité des attributs et des opérations
NomClasse
✓Public + : l’élément est visible par tous
+ attribut public
# attribut protégé
✓Protégé # : l’élément est visible par les sous-classes -attribut privé
attribut de la classe
✓Privé - : l’élément est visible à la classe seule + Opération publique()
# Opération protégée ()
- Opération privée ()
Opération de la classe ()

▪ Les attributs/opérations soulignés sont visibles globalement dans toute la portée


de la classe
71 72
Relations Concept de relation : les associations

❑ Les associations:
Les relations entre classes : ▪ Une association exprime une connexion bidirectionnelle durable entre
❑ Association n classes (n>=1).
▪ Les associations se présentent en traçant une ligne entre les classes
❑ Agrégation
associées
❑ Composition
❑ Héritage

73
Association 74

Concept de relation : les associations Concept de relation : les associations

❑ Nommage des associations : Les rôles :


❑ Une association peut être nommée : c’est optionnel. ❑ L’extrémité d’une association peut avoir un nom appelé rôle
❑ Rôle 1 : le rôle joué par Classe 1 dans l’association
[Nom Association] ❑ Rôle 2 : le rôle joué par Classe 2 dans l’association
CLASSE 1 CLASSE 2
[Nom Association]
CLASSE 1 CLASSE 2
[Rôle 1] [Rôle 2]

❑Les noms peuvent être en forme verbale active ou passive


Emploi
❑Le sens de lecture d’une association peut être précisé lorsqu’il est ambigu SOCIETE
Employeur Employées
PERSONNE

➢ L’indication des rôles est nécessaires dans les associations ambiguës


Héberge > est employée par >
HÔTEL PERSONNE SOCIETE

75 76
Concept de relation : les associations Concept de relation : les associations

❑ Les multiplicités ou cardinalités : précisent les nombres min et max ❑ Arités des associations
d’objets d’une classe qui peuvent être liés à un objet de l’autre ▪ Association réflexive : qui relie une classe à elle-même

1 Un et un seul
0..1 Zéro ou un
Valeurs de N N (entier naturel)
CLASSE 1
cardinalité M..N (3..7) De M à N (entiers naturels)
conventionnelles * De 0 à plusieurs
0..* De 0 à plusieurs
▪ Exemple :
1..* De 1 à plusieurs parents Peuvent avoir >
2

employeur Travaille pour > employés PERSONNE


SOCIETE PERSONNE
1..* 1 - nom : String enfants
- prénom: String 1..n
polygone Défini par > sommets
POLYGONE 1
POINT 77 78
3..*

Concept de relation : les associations Concept de relation : les associations

❑ Arités des associations ❑ Arités des associations


▪ Association binaire : qui relie deux classes ▪ Association n-aire : qui lie plus de 2 classes entre elles

Classe A
CLASSE 1 CLASSE 2

Classe B Classe D

▪ Exemple :
Classe C

employeur Travaille pour > employés


ENTREPRISE 1..*
PERSONNE
1

79 80
Concept de relation : les associations Concept de relation : les associations

❑ Arités des associations ❑ Une classe-association ou classe associative:


▪ Association n-aire : L’association n-aire est imprécise, et souvent source ▪ Permet de représenter une association par une classe pour définir des
d’erreur. Elle peut être donc remplacée par un ensemble d’associations binaires attributs et/ou des opérations dans l’association
▪ Possède les caractéristiques d’une association et d’une classe
Salle
À remplacer par :
Salle
Cours Classe A Classe B
Professeur Elève Professeur Elève

Ensemble d’associations Classe C


Association ternaire
binaire
Attributs Classe D
Opérations ()
81 82

Concept de relation : les associations Concept de relation : les associations

❑ Une classe-association ou classe associative: ❑ Une classe-association ou classe associative:


▪ Exemple : Quand une personne fait un appel par un téléphone, il faut savoir ▪ Exemple : on désire représenter la relation enseigner un cours entre un
à quel moment il a lieu et calculer la durée de l’appel pour mesurer le tarif de Professeur, une Salle et des étudiants.
l’appel. Pour cela il faut ajouter deux attributs durée et période tarifaire qui
n’appartiennent ni à la classe Personne ni à la classe Téléphone. Ces deux
attributs sont mis dans une nouvelle classe Appel qui est attachée à
l’association PROFESSEUR

Personne Téléphone
Appel >
-nom : string -marque : string Enseigner
-prénom : string SALLE ETUDIANT

Classe association Enseigner


Appel Enseigner
contenant l’attribut nom du cours
84
-durée : int nom_cours
-période: int
83 84
Concept de relation : les associations Concept de relation : les associations

❑ Une classe-association ou classe associative: ❑ Exemple: considérons les règles de gestion suivantes:
▪ Association attribut: c’est une association qui contient des attributs ▪ Un client passe une ou ++ commandes
sans participer à des relations avec d’autres classes.
▪ Une commande est passée par un seul client et concerne un ou ++ produits
▪ La classe rattachée à cette association ne porte pas de nom
spécifique ▪ Un produit peut être commandé par ++ commandes
▪ Chaque commande est envoyée à plusieurs dépôts pour être satisfaite
▪ Chaque dépôt ayant satisfait une partie d’une commande, génère une facture
Etudiant Travail
* Réalise > correspondant à la partie satisfaite
* ▪ Toute facture générée sera envoyée au client correspondant

note
85 86

Concept de relation : les associations Concept de relation : Agrégation

❑ L’agrégation
Client Commande Produit ▪ Une agrégation est une association qui représente une relation d’inclusion structurelle ou
1 passe * Concerne
comportementale d’un élément (élément agrégé) dans un ensemble (agrégat).
* 1..n
▪ Elle représente une association non symétrique dans laquelle une des extrémités joue un
1 *
rôle prédominant par rapport à l’autre extrémité.
▪ Les cycles de vie de l’agrégat et de ses éléments agrégés peuvent être indépendants: la
Facture création (ou la suppression) de l’un n’implique pas celle de l’autre.
QtéCdée ▪ Elle se représente par un losange vide du côté de l’agrégat (l’élément conteneur).
* * Association attribut :
(Cde, Produit, QtéCdée)
Depot ▪ Exemple :
1 1..*
Classe d’association : QtéCdée est un simple attribut Salle Table
(Cde, Dépôt, Facture)
Agrégat Élément agrégé
Facture est un classe à part entière : elle a 1 *
ses propres attributs, opérations et liens Université Faculté
87 88
Concept de relation : Agrégation Concept de relation : Composition

❑ L’agrégation La composition
❑ La composition, également appelée agrégation composite, est une agrégation forte.
▪ Exemple :
❑ Décrit une contenance structurelle entre instances .
❑ La destruction de l’objet composite implique la destruction de ses composants
* 1 * ❑ Une instance de la partie composant appartient toujours à au plus une instance de
Salle Table
l’élément composite: la multiplicité du côté composite ne doit pas être > à 1 (i.e. 1 ou 0..1)
1 ❑ Les Cycles de Vie (CV) des composants et du composé coïncident: si le composé est
0..1 détruit (ou copié), ses composants le sont aussi.
Vidéo Projecteur ❑ Elle se représente par un losange plein du côté du conteneur
1

Tableau
1 1..*
LIVRE CHAPITRE
Composition
Classe composé Classe composant
89 ou composite 90

Concept de relation : Exemple Concept de relation : Exemple

❑ Exemple ❑ Explication
▪ Une personne peut posséder des immeubles ▪ Une personne peut posséder des immeubles.
➢ Le lien conceptuel: les objets ont des CV indépendants.
▪ Dans un immeuble, on peut trouver des ascenseurs.
▪ Un immeuble est composé d’étages. Association
▪ Une personne peut posséder des comptes et une adresse
▪ Dans un immeuble, on peut trouver des ascenseurs.
➢ Le lien: ensemble/élément, les CV des objets ne sont pas forcément dépendants.
➢ La suppression d’un immeuble n’entraîne pas obligatoirement celle d’un ascenseur.
➢ Un ascenseur ne peut être utilisé (au même temps) par plus qu’un immeuble. Mais,
dans le temps, le même ascenseur peut être utilisé par différents immeubles.

Agrégation
91 92
Concept de relation : Exemple Concept de relation : Exemple

❑ Explication
❑ Solution
▪ Un immeuble est composé d’étages.
➢ Le lien: composé/composants: les CV des objets coïncident.
Immeuble Posséder Personne
➢ La création (ou la suppression) de l’immeuble entraine la création (ou la suppression) *
adresse
1
de ses étages. *
➢ Un étage ne peut pas être partagé par différents immeubles.
Compte
Composition *

*
▪ Une personne peut posséder des immeubles. Ascenseur Étage
1..*
➢ Le lien conceptuel: les objets ont des CV indépendants.

Association
93 94

Concept de relation : Héritage Concept de relation : Héritage

L’héritage L’héritage
❑ Un mécanisme de transmission des caractéristiques (méthodes, attributs) d’une classe à ▪ Multiple: la spécialisation a plus qu’une généralisation
une sous classe
❑ L’héritage peut être simple ou multiple
❑ Une sous classe hérite les attributs, les méthodes et les références de ses parents Personne
❑ Une sous classe peut ajouter des attributs, des méthodes des références et redéfinir des
méthodes héritées

▪ Simple : Enseignant Chercheur


GENERALISATION Véhicule

Est un Est un

Enseignant-Chercheur
SPECIALISATION Camion
95 96
Comment construire un diagramme de classe ? Comment construire un diagramme de classe ?

Démarche Consignes (les classes)


1. Trouver les classes
2. Les associations entre elles ❑ Après avoir établi la liste des classes possibles, éliminez les classes
3. Trouver ensuite les attributs de chaque classe redondantes (celles qui modélisent des concepts similaires) ainsi
4. Organiser et simplifier le diagramme en utilisant notamment que les classes superflues (celles qui ne sont pas en rapport direct
le principe de généralisation avec le domaine étudié)

➢ Il faut réitérer le processus afin d’améliorer la qualité du modèle ❑ Le nom des classes est important : il ne doit pas être vague

97 98

Comment construire un diagramme de classe ? QCM

1) L'agrégration est-elle un type d'association? : Oui Non


Consignes (les associations) 2) Une composition est-elle un type d'agrégration?: Oui Non
3) Que signifie la multiplicité 1..*? :
❑ Les associations correspondent souvent à des verbe mettant en 1. Plusieurs incluant la possibilité d’aucun
relation plusieurs classes comme « pilote » ou « travaille pour » 2. Exactement 1
❑ Les relations entre classes doivent être modélisées par une 3. Au plus un
association et non par des attributs (par exemple mettre l’attribut 4. Au moins un
enseignant dans la classe Matière). 4) Une action qu’un objet peut réaliser s’appelle :
1. Une opération
2. Une classe
3. Un attribut
4. Une formule

99 100
QCM QCM

5) Entre une classe Vehicule et une classe Roue, quel type de relation est 7) Entre une Classe Véhicule et une classe Bâteau, quel type de relation est
adéquate ? adéquate ?
1. Composition 1. Composition
2. Association 2. Association
3. Héritage 3. Héritage
4. Agrégation 4. Agrégation
6) Entre une classe Vehicule et une classe Conducteur, quel type de relation 8) Considérons une association entre une classe Client et une classe
est adéquate ? Commande. Quelle multiplicité mettriez-vous du côté de Commande ?
1. Composition 1. 0..1
2. Association 2. 0..*
3. Héritage 3. 1..*
4. Agrégation 4. 1..1

101 102

QCM Exercice 1:

9) Considérons une association entre une classe Client et une classe ❑ On souhaite gérer les réservations de vols effectués dans une agence. D’après les
interviews réalisées avec les membres de l’agence, on sait que:
Commande. Quelle multiplicité mettriez-vous du côté du Client ?
▪ Des compagnies aériennes proposent différents vols.
1. 0..1
▪ Un vol est ouvert à la réservation et refermé sur ordre de la compagnie.
2. 0..*
3. 1..* ▪ Un client peut réserver un ou plusieurs vols, pour des passagers différents.
4. 1..1 ▪ Une réservation concerne un seul vol et un seul passager.
10) Grâce à une relation d'héritage, de quoi hérite la classe enfant ? ▪ Une réservation peut-être annulée ou confirmée.
(plusieurs choix possibles) ▪ Un vol a un aéroport d'arrivée et un aéroport de départ.
1. des opérations ▪ Un vol a une heure de départ et une heure d'arrivée.
2. des associations ▪ Un vol peut comporter des escales dans plusieurs aéroports.
3. des relations d'héritage ▪ Une escale a une heure de départ et une heure d’arrivée
4. des attributs
▪ Chaque aéroport dessert une ou plusieurs villes.

103 104
Solution Exercice 2:
Compagnie
Aérienne
Client ❑ Une académie souhaite gérer les cours dispensés dans plusieurs collèges. Pour cela, on dispose des
nom : string
nom : string renseignements suivants :
prenom : string
adresse : string ▪ Chaque collège possède une adresse d’un site Internet
Telephone: integer 1
E-mail: string
▪ Chaque collège est structuré en départements, qui regroupent chacun des enseignants spécifiques. Parmi
propose
ces enseignants, l’un d’eux est responsable du département.
1
1..*
effectué ▪ Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son indice.
Vol départ Aeroport
0..* ▪ Chaque enseignant ne dispense qu’une seule matière.
dateDepart : date 0..* 1 nom : string
Réservation heureDepart : heure
arrivé ▪ Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune d’elle.
concerne dateArrivee: date
numéro : integer heureArrivee : heure
0..* 1 ▪ Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son année d’entrée au collège.
date : date 1
0..* OuvrirVol ()
escale
Annuler () FermerVol () ▪ Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la même salle de
Confirmer () 0..*
0..* cours (chacune ayant un nombre de places déterminé).
*
0..*
▪ On désire pouvoir calculer la moyenne par matière ainsi que par département
desservir
concerne ▪ On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières dans
Passager Infos Escale 1..*
Ville lesquelles il n’a pas été noté
heureArrivee : heure
1 nom: string
Prenom : string
heureDepart : heure
nom : string ▪ Enfin, on doit pouvoir imprimer la fiche signalétique (nom, prénom, tél, mail) d’un enseignant ou d’un élève.
106

Solution

Le diagramme
d’état-transition
Le diagramme d’état-transition Le diagramme d’état-transition

❑ Jusqu’à présent on a étudié le système comme « un tout »: ❑ Les objets d’une classe ne sont pas figés :
▪ Cas d’utilisation du système ▪ Ils peuvent évoluer et changer d’états au cours de leur cycle de vie (CV:intervalle
de temps entre la création et la suppression de l’objet)
▪ Diagramme de classes du système

❑ Pour analyser le comportement de chaque classe du système selon des ❑ Un DET est une description des changements d'états d'un objet (ou d'un
points de vue différents : Le Diagramme d’Etats–Transitions (DET) composant) au cours du fonctionnement du systèmes:

❑ Un DET permet d’étudier l’aspect dynamique d’une classe, compte tenu de ➢ modifications des attributs ;
l’importance de son comportement. ➢ exécutions des méthodes ;
➢ réactions à des sollicitations externes au système,…

❑ L'ensemble des DET forme une partie du modèle dynamique du SI modélisé.

109 110

Le diagramme d’état-transition Notions de base : Etat

❑ Un DET d’une classe est une description des évolutions possibles ❑ État d’un objet
de ses objets. Il donne :
▪ L’état d’un objet est une situation donnée durant la vie de cet objet
▪ la liste des états que peut prendre un objet durant son CV ; pendant laquelle :
▪ Il satisfait à des conditions
▪ les événements déclenchant les changements d’états ; ▪ réalise des actions
▪ Ou bien, il attend un certain évènement
▪ les éventuelles conditions qu’il doit vérifier avant de changer d’état ;
▪ Un objet passe par une succession d’états durant son existence.
▪ les opérations qui le font passer d'un état à un autre.
▪ Un état se caractérise par sa durée et sa stabilité.

111 112
Notions de base : Etat Notions de base : Etat

❑ Exemple: ❑ Dans un DET, on distingue deux états particuliers:


▪ L’état initial correspond à l’état dans lequel se trouve l’objet avant sa création.
Société Personne ▪ L’état final correspond à la destruction de l’objet càd l’état à partir duquel l’objet
0..1 ne peut plus évoluer.
Age: Int
1..*
▪ Un diagramme d’états a toujours un et un seul état initial. Il peut n’avoir aucun
état final ou plusieurs.
▪ Après sa création, un objet passe par une série d’états « normaux »
➢Une personne peut être dans les trois états suivants

En activité À la retraite Au chômage Etat intermédiaire

Etat initial Etat Final Etat normal

113 114

Notions de base : Transition Notions de base : Transition

❑ Les transitions ❑ Événements


▪ Une transition décrit la réponse d’un objet lorsqu’un événement se produit ▪ Un événement est un stimulus qui arrive à un moment précis et pouvant
provoquant le passage de l’objet d’un état (état source) dans un autre (état cible) déclencher une transition entre états.
▪ La transition est représentée par une flèche orientée de l’état source vers l’état cible.
▪ La transition n’est qu’un évènement qui s’est produit avec une condition
▪ Elle est déclenchée par un événement: c’est l'arrivée d'un événement qui vérifiée et déclenchant une action effectuée.
conditionne la transition.
▪ Si aucun événement n’est spécifié, alors li s’agit d’une transition automatique
Evènement externe

Transition ➢ À l’instant Ta, suite à l’arrivée d’un événement


« EVT », ayant les attributs « Att », et sous
Etat 1 Etat 2 certaines conditions « Conditions », l’objet
Etat 1 Etat 2 Etat 3 Evt([Att]) [Conditions] / Action
passe de l’état 1 à l’état 2 par l’activation de
Evènement 1
l’action « Action ».
Ta
Etat source Etat cible Transition automatique 115 116
Notions de base : Transition Notions de base : Transition

❑ Exemple : ❑ Les actions


▪ Les actions spécifiées dans une transition sont les actions à exécuter
lors du déclenchement de la transition par l’événement.
+ de 60 ans
En activité ▪ Les actions correspondent à une opération déclarée dans la classe de
l’objet destinataire.
Perte A la retraite
d’emploi Embauché ▪ Une action peut comporter des appels d’opération, la création ou la
destruction d’un objet, etc.
+ de 60 ans
Au chômage

117 118

Notions de base : Transition Notions de base : Transition

❑ Les transitions composites ❑ Les transitions composites


▪ factorisent et partagent des connexions ▪ factorisent et partagent des connexions
▪ Plusieurs transitions peuvent se rejoindre puis partager des actions ▪ Plusieurs transitions peuvent se rejoindre puis partager des actions
▪ Une transition peut se séparer en des connexions mutuellement exclusives ▪ Une transition peut se séparer en des connexions mutuellement exclusives

Ouvert Ouvert

En vérifiant, on peut
Client en vérifier [client trouvé] /afficher numéro client
Vérifier() Vérifier() Vérifier() savoir si les pièces sont Client associé
manquantes ou non recherche
[pièces [toutes les
manquantes] pièces fournies]
[pièces manquantes] [toutes les pièces fournies]
Client
[client non trouvé] créé
Incomplet En instruction Incomplet En instruction
119
Notions de base : Etat composite Notions de base : Etat composite

❑ Etat composite (ou composé) ❑ Exemple:


▪ Un état composite est décomposé en sous état
panne
▪ Un sous-état est un état emboîté dans un état composite. Disponible Non Disponible
▪ Les sous-états peuvent être emboîtés à n’importe quel niveau. [réparation terminée]
Plus de clarté apportée aux DET

Non Disponible
panne
Disponible En Panne

En cours de réparation
[réparation terminée]
121 122

Exercice Exercice

❑ Gestion commerciale ❑ Gestion commerciale


▪ Quand on gère les stocks de produits, il est nécessaire de prévoir, à tout ▪ QteMin servira à comparer la quantité disponible (QteDispo) du produit
moment, les différents états possibles de chaque stock de produit. et à lancer la commande du produit si elle est inférieure à QteDispo.
▪ Généralement, quand on crée un nouveau produit, il est automatiquement ▪ Une fois commandé, on doit attendre la livraison du produit pour qu’il
mis "en rupture de stock". redevient disponible.
▪ Il ne sera disponible que s’il y a une entrée (une livraison d’une commande ▪ Quand un produit est disponible, toute opération d’ajout ne le fait pas
de ce produit). changer d’état.
▪ Pour bien gérer les approvisionnements, on se fixe une quantité minimale
(QteMin) au dessous de laquelle on commande systématiquement le ➢ Donner le diagramme d’états-transitions de l’objet Produit
produit.

123 124
Solution Conclusion

❑ DET d’un Produit


❑ Dans le diagramme de cas d’utilisation et le diagramme de classes, nous
avons étudié le système comme « un tout ».
Entrée Stock
Sortie Stock ❑ Le diagramme d’états – transitions (DET) permet d’analyser le
[QteDispo<QteMin] comportement de chaque classe du système selon des points de vue
Sortie Stock Disponible En rupture
différents.
[QteDispo>=QteMin]
❑ Un DET permet d’étudier l’aspect dynamique d’une classe, compte tenu
ProduitCommandé(QteCdée) de l’importance de son comportement.
ProduitMAJ(QteDeMAJ)

En rupture LivrerProduit (QteLivrée) En rupture


Livré Commandé
125 126

Définition

❑ Le diagramme de séquence permet de représenter des


échanges entre les différents objets et acteurs du système en
fonction du temps.

Le diagramme de ❑ Décrit la réalisation des cas d’utilisation sur le système décrit par
Séquence le diagramme de classes.

❑ Se concentre sur la séquence des messages envoyés entre les


objets (c.à.d. quand et comment les messages sont envoyés et
reçus par les objets qui participent à une interaction)

128
Concepts de diagrammes de séquences Concepts de diagrammes de séquences

❑ Représentation générale :
❑ L’objet
❑ La ligne de vie
O1: Classe1 O2 : Classe2
❑ Les messages
Message 1
❑ Les fragments combinés
t1 Message 2

t2 Message 3
Objet Message Objet

▪ Chaque objet est matérialisé par un rectangle et une barre verticale appelée ligne de vie. Ligne de vie Ligne de vie
▪ L’objet qui débute l’interaction se place à gauche.
▪ La dimension verticale peut être graduée afin de représenter l’écoulement du temps
▪ L’ordre d’envoie des messages est donné par la position de ces messages sur les lignes
de vie des objets. 129
Message 130

Diagramme de séquence : L’objet Diagramme de séquence : L’objet

L’objet Création et destruction d’objet


❑ Les diagrammes de séquences représentant les échanges entre les objets ❑ Lorsqu’un objet est crée au cours de l’exécution d’un scénario, celui-ci
mais aussi les échanges avec les acteurs (la représentation du stickman) n’apparaît qu’au moment où il est créé.
❑ Notation des noms des objets : ❑ Lorsque l’objet est détruit dans un scénario, la destruction se présente
par l’achèvement de son ligne de vie par un croix.
Stickman Représente un objet quelconque
de la classe « NomClasse »
Objet
Créer() Autre Objet
Rôle: Acteur nomObjet: NomClasse RôleObjet : NomClasse NomObjet : NomClasse
Détruire()
La fin de vie

132
Diagramme de séquence : La ligne de vie Diagramme de séquence : La ligne de vie

La ligne de vie La ligne de vie :


❑ A chaque objet est associé une ligne de vie (en trait pointillés à la ❑ Exemple
verticale de l’objet) qui peut être considéré comme un axe temporel
❑ La ligne de vie indique les périodes d’activité de l’objet nomObjet:NomClasse
Rôle: Acteur Ligne de vie
❑ Une période d’activité correspond au temps pendant lequel un objet
effectue une action directement ou par l’intermédiaire d’un autre objet. Message1()
Période d’activité de l’objet

Message2()
Destruction de l’objet

La fin de vie

133 134

Diagramme de séquence : Les messages Diagramme de séquence : Les types de message

Les messages synchrones :


Les messages :
❑ Bloque l’émetteur
❑ Un message définit une communication particulière entre la ligne
de vie d’un objet vers celui d’un autre objet. ❑ Le récepteur rend la main à l’émetteur par un message de retour (sa
représentation est optionnelle)
❑ Possède un nom (méthode, signal...)
❑ Peut spécifier le résultat de la méthode invoquée
❑ Peut avoir des paramètres
❑ Graphiquement, les messages synchrones sont représentées par une
❑ Plusieurs types de messages existent, dont les plus courants : flèche avec un triangle plein à son extrémité
▪ l’envoi d’un signal ;
▪ l’invocation d’une opération (appel de méthode) ;
▪ la création ou la destruction d’un objet.

135 136
Diagramme de séquence : Les types de message Diagramme de séquence : Les types de message

Les messages asynchrones : Les messages de retour (réponse) :


❑ L’expéditeur n’attend pas la fin de l’activation de la méthode ❑ Si une méthode qui a été activée (par un message) doit retourner des
invoquée chez le destinataire. valeurs à la fin de son activation, cela se fait par un message retour.
❑ Graphiquement, ils sont représentés par une flèche simple. ❑ Le message de retour n’est donc pas un appel de méthode (il ne
provoque donc pas l’activation d’un objet)
❑ Le message retour porte souvent le nom de l’élément retourné.
❑ Graphiquement, ils sont représentés par une simple flèche en pointillés

▪ Objet1 a envoyé un premier message à Objet2 qui a déclenché une activité chez ce dernier.
▪ Ensuite, il a envoyé un deuxième message à Objet3 sans attendre ni la réponse de Objet2
137 138
ni la fin de son activité

Diagramme de séquence : Les types de message Diagramme de séquence : Les fragments combinés
Message asynchrone (ex: le message5 est
lancé alors que l’exécution du message1 Message synchrone (ex: on attend que ❑ Comment faire pour représenter une partie du diagramme de séquence ou pour
n’est pas terminé) l’exécution du message2 soit terminé
avant de lancer le message4) ajouter un bloc conditionnel ?
▪ Utiliser les fragments combinés
❑ Un fragment combiné appelé aussi fragment d’interaction qui se compose d’un ou
: Acteur
Objet1 Objet2 Objet3 Objet 4 plusieurs opérateurs d’interaction et d'un ou de plusieurs opérandes d'interaction

Message1()
❑ Exemple d’operateurs :
Message2()
▪ alt : opérateur conditionnel à plusieurs opérandes (équivalent d’un bloc if ...
Message5()
Message3 else if ... else en programmation)
Message6
Message4() ▪ opt : opérateur conditionnel à une seule opérande (if sans else)
▪ loop : opérateur répétitif acceptant au max deux valeurs min et max
▪ ref : opérateur indiquant une référence vers un autre diagramme de séquence
Message retour de l’exécution
lancée par le message 5 existant
139 140
Structure des fragments combinés Structure des fragments combinés : alt
Fragment
Opérateur Combiné
❑Alternative: Condition à l’envoi d’un message
Operator ▪ Exemple:
Opérandes
[condition1]

[condition2]

[condition3]

[else]

➢ Certains fragments n’ont pas besoin d’une condition ni de plusieurs opérandes.


141 142

Structure des fragments combinés : alt Structure des fragments combinés : loop

❑ Bloc alternative: alt ❑ Boucle: Répéter un enchaînement de messages


▪ Exemple:

Pour chaque livre du cat: Catalogue livre: Livre


Opération répétée pour
catalogue tous les objets mentionnés
premierAuteur()

auteur

143 144
Structure des fragments combinés : loop Structure des fragments combinés : Ref

❑ L’opérateur ref : sert comme une référence ou un raccourci vers un autre


❑ Bloc de boucle loop diagramme de séquence existant
❑Le rôle de l’opérateur ref est de réutiliser une partie de diagramme de
livre: Livre
séquence commune.
cat: Catalogue

Loop (livre in cat)


premierAuteur()
b: Banque c:Compte cl: Client

Objets sur lesquels


répéter la boucle auteur ref
Vérification du solde

Référence à un
ref diagramme
Prélèvement agios notifié au client
décrit ailleurs
145 146

Exemple Exemple

❑ Exemple: Analyse ❑ Exemple: Conception

147 148
Exemple QCM

❑ Exemple: Conception 1) Un diagramme de séquence se lit?


1. De haut en bas
2. De bas en haut
2) Comment s’appelle les lignes verticales sortant d’un objet/acteur?
1. Ligne de vie
2. Ligne de temps
3. Message
3) Des messages peuvent s’envoyer en même temps
1. Vrai
2. Faux
4) Un message asynchrone a un retour
1. Vrai
2. Faux

149 150

Conclusion

❑ Les diagrammes de CU expriment les besoins des utilisateurs d’une


manière abstraite.
❑ Le diagramme de séquence explicitent la dimension temporelle et
permettent d’exprimer les contraintes temporelles dans les envois de Méthodes de développement
messages. Agile - Scrum
❑ C’est un bon moyen pour représenter les interactions, organisées dans le
temps, entre les objets.
❑ Il s’approche davantage de l’implémentation avec l’utilisation des
boucles, des structures de contrôles, etc.

151
Introduction Méthodologie : Méthode Agile

❑ Les méthodes classiques de développement de logiciel ❑ Définir la méthodologie du travail est une étape décisive pour l’élaboration
présentent de nombreux inconvénients: d’une application informatique.

▪ Enorme effort fournit pendant le phase de planification


❑ Définition [5] :
▪ Mauvaise conversion des exigences dans un environnement en évolution rapide
« Une méthode Agile est une approche itérative et incrémentale pour le
développement de logiciel, réalisé de manière très collaborative par des
▪ Traitement du personnel en tant que facteur de production
équipes responsabilisées, appliquant un cérémonial minimal, qui
produisent, dans un délai contraint, un logiciel de grande qualité répondant
Nouvelles Méthodes : Développement logiciel Agile aux besoins changeants des utilisateurs. »

MIR@CL 154
153

Méthode Agile Méthode Scrum

❑ Le processus Agile: ❑ Définition [6] :


◼ Permet de s’orienter vers l’opérationnel plutôt qu’accumuler une
▪ Scrum signifie mêlée au rugby.
masse d’informations difficile à traiter et qui fait perdre de vue
l’essentiel. ▪ Scrum utilise les valeurs et l'esprit du rugby et les adapte aux projets

de développement.
Il cherche la collaboration avec le client.
▪ Comme le pack lors d'un ballon porté au rugby, l'équipe chargée du
◼ Le développement Agile tend à s’adapter aux changements qui développement travaille de façon collective, soudée vers un objectif
s’opèrent durant la réalisation du projet plutôt que suivre un plan précis.
préétabli, qui ne prend pas en compte l’évolution de la situation.
▪ Comme un demi de mêlée, le Scrum Master guide les membres de
l'équipe, les repositionne dans la bonne direction et donne le tempo
pour assurer la réussite du projet.

155 156
Méthode Scrum Méthode Scrum

❑ Scrum définit trois rôles dans l'équipe du travail : ◼ Scrum se caractérise par deux notions principales : le backlog et les sprints

◼ Product Owner : C'est le propriétaire du produit, une personne qui porte ◼ Les Sprints sont des boites de temps durant lesquelles des fonctionnalités sont
la vision du produit à réaliser, généralement c'est un expert dans le réalisées.
domaine
◼ Le backlog du produit est le carnet contenant les fonctionnalités à accomplir
◼ Scrum Master : C'est la personne qui doit assurer le bon déroulement des pendant la période du travail
différents sprints, et qui doit impérativement maitriser Scrum

◼ Le Scrum Team : L'équipe de Scrum est constituée des personnes qui Le backlog du sprint désigne les tâches qui doivent être achevées
seront chargées d'implémenter les différents besoins du client. pendant un sprint bien déterminé

157 158

Mécanisme de fonctionnement du Scrum Sprint Planning Meeting

◼ Sprint Planning Meeting : Réunion de planification de sprint


❑ Une réunion collaborative au début de chaque sprint entre le Product
Owner, le Scrum Master et l’équipe
◼ Sprint
❑ Prend 8 heure et se compose de 2 parties :
◼ Daily Scrum: Scrum quotidien ▪ Partie 1 :
o Création de backlog de produit
◼ Sprint Review Meeting : Réunion d’examen du Sprint o Déterminer l’objectif du sprint
o Participants : Product Owner, Scrum Master, Scrum Team

▪ Partie 2 :
o Participants : Scrum Master et Scrum Team
o Créer un backlog de Sprint

159 160
Daily Scrum Sprint Reviewer Meeting

❑ Il s’agit d’une courte réunion (15 minutes) qui se tient tous les jours avant le
début des travaux de l’équipe ❑ Se tient à la fin de chaque sprint
❑ Participants : Scrum Master et Scrum Team ❑ La fonctionnalité métier créée lors du sprint est présentée au Product Owner
❑ Chaque membre de l’équipe doit répondre à 3 questions ; ❑ Informel, ne doit pas distraire les membres de l’équipe de leur travail
▪ Q u’as-tu fais hier?

▪ Que vas-tu faire aujourd’hui?

▪ Quel sont les obstacles qui te freinent dans mon travail?

❑ C’est un bon moyen pour un Scrum Master de suivre le progrès de l’équipe


❑ N’est pas une session de résolution de problème
❑ N’est pas un moyen de collecter des informations sur les retardataires 161 162

Bibliographie Bibliographie

Ce cours a été réalisé en se basant sur les références suivantes : Ce cours a été réalisé en se basant sur les références
[1] Livre « UML 2 Par la Pratique: Études de Cas Et Exercices suivantes :
Corrigés » par Pascal Roques
[2] Cours « Modélisation UML» par Christine Solnon, INSA de Lyon

[3] Cours « Introduction à UML 2 Modélisation Orientée Objet de Systèmes


Logiciels » par Pierre Gérard, Université de Paris 13 IUT Villetaneuse.

163 164
Bibliographie Bibliographie

Ce cours a été réalisé en se basant sur les références Ce cours a été réalisé en se basant sur les références
suivantes : suivantes :
[4] « UML 2 : initiation, exemples et exercices corrigés » par Laurent Debrauwer [5] Le livre « Scrum guide » par Ryan Smith
et Fien Van Der Heyde

165 166

Bibliographie

Ce cours a été réalisé en se basant sur les références


suivantes :
[6] Le livre « SCRUM » par Claude Aubry

Merci pour votre attention

167

Vous aimerez peut-être aussi