Cours Uml Rania Rebai
Cours Uml Rania Rebai
1 Introduction générale
Conception des systèmes
2 Les diagrammes de cas d’utilisation
d'informations
3 Les diagrammes de classe
❑ 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
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 ».
Conception Modèle
Mise en Produits
œuvre Conception : Réaliser une solution
Test et conformité
Validation
Produits validés
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
➢ 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)
Unified …
❑ Pour la modélisation :
Modelling …
Language …
❑ 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
Comportements
ChangerNom()
AfficherAge()
Un objet Client AfficherCin()
Introduction à UML Introduction à UML
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
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
❑ 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
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.
❑ 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é
▪ 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)
❑ Exemple 1 : ❑ Exemple 2 :
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
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
❑ 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
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
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
67
Concept de classe : Attribut Concept de classe : Opération
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
❑ 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
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
Classe A
CLASSE 1 CLASSE 2
Classe B Classe D
▪ Exemple :
Classe C
79 80
Concept de relation : les associations Concept de relation : les associations
Personne Téléphone
Appel >
-nom : string -marque : string Enseigner
-prénom : string SALLE ETUDIANT
❑ 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
❑ 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
❑ 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
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
Est un Est un
Enseignant-Chercheur
SPECIALISATION Camion
95 96
Comment construire un diagramme de classe ? Comment construire un diagramme de classe ?
➢ 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
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,…
109 110
❑ 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
113 114
117 118
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
Non Disponible
panne
Disponible En Panne
En cours de réparation
[réparation terminée]
121 122
Exercice Exercice
123 124
Solution Conclusion
Définition
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.
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
132
Diagramme de séquence : La ligne de vie Diagramme de séquence : La ligne de vie
Message2()
Destruction de l’objet
La fin de vie
133 134
135 136
Diagramme de séquence : Les types de message Diagramme de séquence : Les types de message
▪ 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]
Structure des fragments combinés : alt Structure des fragments combinés : loop
auteur
143 144
Structure des fragments combinés : loop Structure des fragments combinés : Ref
Référence à un
ref diagramme
Prélèvement agios notifié au client
décrit ailleurs
145 146
Exemple Exemple
147 148
Exemple QCM
149 150
Conclusion
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.
MIR@CL 154
153
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
▪ 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?
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
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
167