Qu’est ce que la modélisation? - univ-batna2.dz
Transcript of Qu’est ce que la modélisation? - univ-batna2.dz
❑Qu’est ce que la modélisation?
❑GL et Modélisation: Un lien incontournable
❑Modélisation Orientée Objet avec UML
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 2
La modélisation est la représentation d'un système par un autre, plus facile à appréhender. Il peut s'agir d'un système mathématique ou physique. Le modèle sera alors numérique ou analogique.
La modélisation est une technique d’ingénierie quiconsiste à créer une représentation simplifiée d’unproblème : le modèle.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 4
Un modèle est une représentation abstraite et simplifiée (i.e. qui exclut certains détails), d’une entité (phénomène, processus, système, ...) du monde réel en vue de le décrire, de l’expliquer ou de le prévoir.
Un modèle permet de réduire la complexité d’un phénomène en éliminant les détails qui n’influencent pas son comportement de manière significative.
Un modèle informatique est une représentation simplifiée de la réalité en vue de réaliser un traitement avec un ordinateur.
Qu’est ce qu’un modèle?
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 5
Modéliser permet de:
✓ Simuler
C’est un support de raisonnement et de simulation.
✓ Comprendre
Réduite une réalité à une entité finie et manipulable permet de mieux la comprendre.
✓ Améliorer
Comprendre un modèle permet son éventuelle amélioration.
Durant un processus de développement:
➢ Comprendre les besoins fonctionnels du client et mieux répondre à ses attentes;
➢ Communiquer avec les autres développeurs, pour avancer;
➢ Communiquer avec les responsables Système pour les besoins techniques;
Pourquoi modéliser?L’élaboration de modèles peut concerner:➢ un système existant➢ un système à créer
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 7
Cycle de développement d’un logiciel
Besoins du client
Selon un modèle de développement
Description 1
Description 2
Description 3
Description n = Logiciel exploitable
GL et Modélisation
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 9
Description i Modèle de la phase i
Analyse Modèle d’analyse
Conception Modèle conceptuel
Programmation Programme (Modèle
dans un langage
de programmation)
Selonun Formalisme de description
GL et Modélisation
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 10
Bases de l’objet:
➢ Encapsulation
▪ Regroupement du code (ce que fait une entité) et des informations;
▪ Masquage d’information au monde extérieur :
- Meilleure: - modularité (partie interface, partie privée);
- sécurité
- lisibilité
➢ Héritage
▪ Construire une classe à partir d’une autre (réutilisation)
▪ Factoriser dans une classe générique (abstraction)
➢ Polymorphisme
▪ Unicité de nom de fonction pour des codes d’implémentation différents;
▪ Liaison dynamique.
Pourquoi une modélisation Orientée Objet?
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 11
➢ la modélisation orientée objet se présente comme une approche fédératrice au cœur du système informatique actuel qui offre:
▪ la modularité;
▪ la réutilisabilité;
▪ l’extensibilité;
▪ la lisibilité;
▪ la capacité à manipuler la complexité.
➢ Pour la conception orientée objet, l’industrie se tourne vers la notation unifiée, le langage de notation UML (Unified Modeling Language).
➢ UML s’impose dans le monde des entreprises comme un des principaux outils de conception des modèles utilisés pour représenter les systèmes à développer.
GL et Modélisation Orientée Objet
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 12
➢ En 1994, le consensus se fait autour de trois méthodes :
• OMT de James Rumbaugh (General Electric) fournit unereprésentation graphique des aspects statique, dynamique etfonctionnel d'un système ;
• OOD de Grady Booch, définie pour le Department of Defense, introduitle concept de paquetage (package) ;
• OOSE d'Ivar Jacobson (Ericsson) fonde l'analyse sur la description desbesoins des utilisateurs (cas d'utilisation, ou use cases)
➢ UML n'est pas une méthode ou un processus;
➢ UML est un langage pseudo-formel;
➢ Basé sur les concepts orientés objet.
UML: Unified Modeling LanguageLangage de modélisation unifié
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 14
La dernière version de la spécification validée par l’OMG est UML 2.5.1 (2017)
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 15
UML 2.5.1
UML: Unified Modeling LanguageLangage de modélisation unifié
2017
➢ un langage de modélisation graphique avec une syntaxe et une sémantique;
➢ conçu pour:
▪ décrire des besoins de systèmes;
▪ comprendre et esquisser des architectures logicielles;
▪ concevoir des solutions et communiquer des points de vue;
➢ peut être appliqué à toutes sortes de systèmes ne se limitant pas au domaine informatique.
UML: Unified Modeling LanguageLangage de modélisation unifié
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 16
+ UML est un langage pseudo-formel et normalisé
• clair et précis
• encourage l'utilisation d'outils
+ UML est un support de communication performant
• l'analyse devient plus facile
• facilite la compréhension de représentations abstraites
complexes
La mise en pratique d'UML nécessite un apprentissage et une
adaptation de réflexion en termes d’objets.
UML: Unified Modeling LanguageLangage de modélisation unifié
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 17
Diagrammes d’UML (Version 2.5.1 (2017))
Diagrammes d’UML
Diagrammede structure composite
Diagrammede classe
Diagrammede composantsDiagrammes
d’objets
Diagrammede déploiement
Diagrammede paquetages
Diagramme de profils
Diagrammesde structure
Diagrammes de comportement
Diagramme de cas d’utilisation
Diagrammed’états-transitions
Diagrammed’interaction
Diagramme d’activités
Diagrammede communication
Diagrammeglobal d’interaction
Diagrammede séquence
Diagramme de temps
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 19
➢Diagramme de cas d’utilisationreprésente les principales fonctionnalités du système ainsi que les utilisateurs du système et leurs interactions avec celui-ci.
(exprime la relation entre l’utilisateur et les objets (acteurs) que le système met en œuvre).
Acteur : une entité externe qui interagit avec le système (opérateur,autre système…).
L’acteur peut consulter ou modifier l’état du système. En réponse àl’action d’un acteur, le système fournit un service qui correspond à sonbesoin.
- Acteurs principaux : personnes qui utilisent les fonctionsprincipales du système ;
- Acteurs secondaires : personnes qui effectuent des tâchesadministratives ou de maintenance ;
- Matériel externe.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 20
Cas d’utilisation (Use case) : un ensemble d’actions réalisées par lesystème en réponse à une action d’un acteur.
❖ L’ensemble des cas d’utilisation décrit les objectifs du système.
« Cas 1
Cas 2Cas 3
Cas 4
« includes »« extends »
Acteur 1
Acteur 2
Système
Diagramme de cas d’utilisation
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 21
« includes » : Le cas d’utilisation incorpore obligatoirement un autre casd’utilisation. (La réalisation du premier cas nécessite celle du second).
Exemple:
(Pour consulter un compte, il est obligatoire d’entrer un mot de passe)
« extends » : Le cas d’utilisation incorpore d’une manière facultative un autre cas d’utilisation. (Le premier cas d’utilisation peut éventuellement faire appel au second).
Exemple:
(Recevoir un message peut déclencher l’alarme)
Généralisation: le cas d'utilisation descendant hérite des propriétés du parent. Exemple:
(‘Payer par chèque’ est un cas particulier de ‘Payer ‘)
Consulter compte
Entrermot de passe
Recevoir un message
Déclencher l’alarme
Payer facture
Payerpar chèque
Diagramme de cas d’utilisation
« extends »
« includes »1 2
1 2
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 22
➢Diagramme de classedécrit la structure d’un système en termes de classes et de relations entre ces classes.
Une classe est représentée par un rectangle constitué de:
- Nom de la classe
- Attributs
- Méthodes
Les liens entre classes peuvent exprimer une relation:
- d ’association
- d’héritage
- d’agrégation
- de composition
- de dépendance
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 23
❑ Attributs:propriétés communes aux objets de la classe.❖ Les valeurs des attributs d’un objet expriment l’état de ce dernier.
❑ Noms d’opérations:constitue l’interface ie le comportement quepeuvent avoir les objets de la classe.
❖ Nom de la méthode ≠ Implémentation de la méthode
Nom_de_la_classe
nom_attribut_1: type_1nom_attribut_2: type_2
nom_opération-_1(): type_1nom_opération_2: void
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 24
➢ Association:Une relation sémantique reliant deux classes et qui se lit indistinctement dans les deux sens.
Exemple:
▪ Entre les classes ‘Véhicule’ et ‘Personne’, il y a l’association ‘possède’.
▪ Entre les classes ‘Etudiant ’ et ‘Groupe’, il y a l’association ‘appartient’.
PersonneVéhicule
GroupeEtudiant
possède
appartient
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 25
❑ Rôle:
Des rôles peuvent être définis.
Exemple:
enseignant employeur
▪ Le rôle d’une personne dans une université est enseignant.
▪ Le rôle d’une université pour une personne est employeur.
❑ Cardinalité:
Un couple de valeurs permettant de préciser la relation entre deux instances (objets) de classes.
Multiplicités possibles:0 .. 1 : aucune ou au plus un objet 1 .. * : au moins un ou plusieurs objets
1 ..1 ou 1: exactement un seul objet n .. n ou n : exactement n objets
* ou 0 .. * : 0 ou plusieurs objets m .. n : au moins m et au plus n objets
Personne Universitéenseigne
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 26
Exemple:
- Une entreprise contient au moins un employé et au plus * employés.
- Une personne travaille dans une seule entreprise.
❑ Associations multiples:
Entre deux classes, il peut y avoir deux ou plusieurs associations.
▪ Un employé travaille dans une entreprise.
▪ Un employé peut diriger une entreprise.
Employé Entreprisetravaille
Employé Entreprisetravaille
peut diriger
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 27
11..*
❑ Auto-association:
Exprime la relation d’une classe avec elle-même.
Exemple:
❑ Associations n-aires:
Exprime une relation de plus de deux classes.
Exemple:
Personne
est le parent
est l’enfant
Salle Etudiant
Cours
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 28
❑ Attributs d’association:
Une association peut avoir des attributs.
Exemple:
❑ Classe d’association:
Une classe qui fait partie d'une relation d'association entre deux autres classes.
Exemple:
Sportif joggingfaire
heuredurée
Etudiant
nomcode…..
Cours
nom…..
Inscription
sectionsemestre.....
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 29
➢Héritage:Lorsque deux ou plusieurs classes partagent plusieurs attributs (et méthodes).
Exemple:
▪ ‘Enseignant’ et ‘Etudiant’ sont des sous-classes de la classe ‘Personne’ ( relation
d’héritage).
▪ La classe ´Personne’ est une super-classe pour les classes ‘Enseignant’ et ‘Etudiant’
Personne
nomPrenomdate de naissance
Etudiant
Filièreannée…
Enseignant
gradespécialité…
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 30
Pourquoi l’héritage?▪ Réutiliser le code;▪ Eviter la duplication de constituants (attributs, méthodes);▪ Organiser sémantiquement et symboliquement les classes;▪ Spécialiser ou généraliser une classe.
Propriétés de l’héritage:❖ Transitif : si A hérite de B et B hérite de C, alors A hérite de C;❖ Non-réflexif : une classe n’hérite pas d’elle-même;❖ Antisymétrique : si A hérite de B, alors B n’hérite pas de A.
Diagramme de classe
C
B
A
Gé
né
rali
sati
onS
pé
cialisa
tion
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 31
➢Agrégation:Une association non-symétrique qui attribut à l'une des classes le rôle d'agrégat et à l'autre classe le rôle d'agrégé. L'agrégation peut être assimilée à une appartenance faible.
Elle est représentée par un losange vide côté agrégat.
Exemple:
▪ Une page peut contenir des images mais celles-ci peuvent appartenir à d'autres pages.
▪ La destruction d'une page n'entraîne pas celle de l'image mais seulement la suppression du lien.
Diagramme de classe
Page Web Image1..* 0..*
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 32
➢Composition:Une agrégation forte dans laquelle l’élément n’existe pas sans l’agrégat et ne peut être en relation qu’avec un seul agrégat.
Elle est représentée par un losange noir côté agrégat.
Exemple:
▪ Un hôtel est composé de chambres.
▪ Un composant ne peut appartenir à un moment donné qu'à un seul composé.
▪ La cardinalité ne peut être que de ‘1’ maximum coté composant.
▪ La suppression du composé entraîne celle du composant..
Hôtel Chambre1..*
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 33
➢Dépendance:Une relation de type « utilise un » ( « use ») qui signifie qu’une des deux classes utilise l’autre.
Un élément A dépend d'un élément B, lorsque A utilise des services de B.
De ce fait, tout changement dans B peut avoir des répercussions sur A.
Exemples:
Diagramme de classe
Evenementsouris
Fenêtre graphique
Moyenne
note1note2
calcul (Coefficient c)
Coefficient
coeff1coeff2
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 34
➢Exemple récapitulatif:
Diagramme de classe
Vehicule
Voiture
Roue Moteur Chassis
Personnepossède0..* 0..1
4..4
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 35
➢Diagramme d’objetReprésente les objets d’un système (c.a.d. les instances des classes) et leurs liens (c.a.d. les instances des associations) à un instant donné.
(C’est l’illustration des liens entre objets dans un scénario).
A un diagramme de classe correspond une infinité de diagrammes d’objets.
Exemple:
Match
-désignation: string-date: string-lieu: string-vainqueur: string
+annuler(): void+setVainqueur(): void
Equipe
-nom-division
+changerDivision(): void
2*participe à
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 36
Pour que le diagramme d’objet soit complet, il faudra instancier (donner une valeur) à l’attribut ‘vainqueur’ …..
MSPB: Equipe
nom = Boubia
division = 2
CAB: Equipe
Nom = Chouwaya
division = 2
Finale: Match
designation = Coupe d’Algeriedate = 05/07/2020lieu = Batnavainqueur = ???
Diagramme d’objet
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 37
➢Diagramme d’états- transitionsDécrit le comportement interne d'un objet à l'aide d'un automate à états finis.
Met l'accent sur le flot de contrôle d'un objet à l'autre.
❖ La vision globale du système n’apparaît pas sur ce type de diagramme puisqu’ils ne s’intéresse qu’à un seul élément du système indépendamment de son environnement.
Eléments du diagramme:
❑ état : représente la valeur des attributs d'un objet à un instant donné.
❑ état initial : représente l'état au démarrage du système.
❑ état final : représente l'état dans lequel se trouve le système à la fin du fonctionnement.
❑ super-état ou état composite : un état qui englobe d’autres états ettransitions.
❑ historique : représente le dernier état actif d'un super-état.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 38
❑ transition : représente le passage d'un état à un autre.
❑ paquetage : divise et organise la représentation du diagramme (de la même manière que les répertoires organisent les fichiers).
▪ Un état se caractérise par sa durée et sa stabilité, il représente uneconjonction instantanée des valeurs des attributs d’un objet.
▪ Une transition correspond à une action pouvant être déclenchée parun événement. Elle peur être automatique si l’événement déclencheurn’est pas spécifié.
Diagramme d’états-transitions
Etat
Tansition Etat initial Etat final
Etati Etatjévènement
H
Etat historique
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 39
Exemples:
▪ Cet automate à états finis illustre le fonctionnement d'un télérupteur:
Lorsque l'on appuie sur un bouton d'éclairage, la réaction de l'éclairage associé dépendra de son état courant:
- si la lumière est allumée, elle s'éteindra;
- si elle est éteinte, elle s'allumera.
Les états 1 et 2 sont regroupés dans un super-état qui, à son tour, est relié à l’état 3 .
Diagramme d’états-transitions
Allumé Eteint
pression
pression
Etat1
Etat3
Etat2
Etat3
Etat2Etat1évènement1
évènement2 évènement2
évènement1
évènement2
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 40
▪ Un évènement est quelque chose qui se produit pendant l’exécution d’un système.
Quand un événement est reçu, une transition peut être déclenchée et faire basculer l’objet dans un nouvel état.
Plusieurs types d’évènements:
• d’appel (call)
• de changement (change) when (<condition_booléenne>)
• temporel (after ou when) after(<durée>) ; when (date = < date>)
• Paramétré
▪ Une condition de garde peut être associée à une transition.
Il s’agit d’une expression logique sur les attributs de l’objet, associé au diagramme d’états-transitions, ainsi que sur les paramètres de l’événement déclencheur.
Diagramme d’états-transitions
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 41
La condition de garde n’est évaluée que lorsque l’événement déclencheur se produit:
- Si l’expression est fausse, la transition ne se déclenche pas;
- Si elle est vraie, la transition se déclenche et ses effets se produisent.
✓ Transition externe
La transition a pour effet que l’objet passe à un autre état.
✓ Transition interne
• ne possède pas d’état cible. L’état actif reste le même à la suite de son déclenchement (ce n’est pas un changement d’état qui est déclenché, mais une activité).
• n’est pas représentée par un arc mais est spécifiée dans un compartiment de son état associé. (nom transition/activité)
Diagramme d’états-transitions
Etat source Etat cibleévènement[condition]/activité
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 42
Trois déclencheurs particuliers permettent le tir de transitions internes :entry : permet de spécifier une activité qui s’accomplit quand on entre dans l’état.
exit : permet de spécifier une activité qui s’accomplit quand on sort de l’état.
do : une activité précédée de ‘do’ commence dès que l’activité entry est terminée.
include : permet d’invoquer un sous-diagramme d’états-transitions.
Exemple:
❖ Permet de décrire la dynamique d’un état.
Closed
entry / close doordo / door is being closedexit / open door
Diagramme d’états-transitions
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 43
Nom d’état
entry / action d’entréedo / activitéOn Evenement-1/action-1…….On Evenement-n/action-n
exit / action de sortie
➢Diagramme d’activitésSe focalise sur l’aspect ‘traitement’ en représentant graphiquement le comportement d'une méthode ou le déroulement d'un cas d'utilisation.
Insiste sur le flot de contrôle d'une activité à l'autre.
L’exécution est modélisée sous la forme d'un déroulement d'étapes regroupées séquentiellement dans des branches parallèles de flots de contrôle.
Eléments du diagramme:
❑ activité : représente une exécution d'un mécanisme.
Une action est le traitement le plus élémentaire qui puisse être exprimé en UML. Une activité définit un comportement décrit par un séquencement organisé d’unités dont les éléments simples sont les actions.
❑ Transition : déclenchée par la fin d'une activité et provoque le début immédiat d'une autre.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 44
❑ Garde : condition utilisée pour représenter des transitions conditionnelles (devant être mutuellement exclusives).
Exemple:
❑ Nœuds : Un nœud de début et deux nœuds de fin.
activitéi activitéj
Transition automatique
Diagramme d’activités
Retirer argent
Afficher message d’erreur
Récupérer argent
Nœud de début Noeud de finale d’activité Noeud de finale de flux
dénote la fin d’un fluxde contrôle seul
dénote la fin de tous les flux de contrôle dans l’activité
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 45
- Le nœud de contrôle ‘test-décision’ (decision node) est représenté par un losange avec en entrée une seule transition et en sortie plusieurs. Il permet de faire un choix entre plusieurs flots sortants en fonction des conditions de garde de chaque flot.
Diagramme d’activités
Nœud d’exécution Nœud d’objet Nœud de contrôle Barre de synchronisation
Demander l’addition
Régler la note Faire la vaisselle
Nœud de contrôleTest-décision
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 46
- Le nœud de contrôle ‘Fusion-test’ (Merge node) est représenté par un losange avec en entrée une plusieurs transitions ( gardées ou non) et en sortie une seule transition. Le flot sortant est exécuté dès que l’un des flots entrants est activé.
Exemple:
Diagramme d’activités
Commanderpar téléphone
Commander par courrier
Commanderpar messagerie
Facturer
Nœud de contrôleFusion-test
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 47
- La barre de synchronisation (Noeud de bifurcation ou fork node) permet de synchroniser les départs simultanés de plusieurs activités.
- La barre de synchronisation (Noeud d’union ou join node) n’est franchie que lorsque toutes les activités en entrée sont terminées.
Exemple:Décider
de refroidir
Arrêterle chauffage
Aérer
Mesurer La température
Nœud de bifurcation
Nœud d’union
Diagramme d’activités
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 48
Couloirs d’activités : servent à organiser un diagramme d’activités selon les
différents responsables des actions représentées. En général, un couloir
correspond à une classe du système.
Exemple:
Diagramme d’activités
recevoirle produit
expédierle produit
gérer la commande
Client Fournisseur
commanderun produit
réglerla facture
encaisserla facture
Commande[passée]
Commande[réglée]
Etat de l’objet
Couloirs d’activités
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 49
➢Diagramme de séquencesPermet de représenter les communications entre objets selon un point devue temporel. L’accent y est mis sur la chronologie des messages échangésentre les objets et avec les acteurs.
❖ Une interaction se traduit par un envoi de message entre objets.
❖ Envoi de message = appel de méthode
Deux dimensions:
Verticale : correspond au temps (« Vie » de chaque entité )
A chaque instance est associée une ligne de vie (ligne verticale) endessous des objets qui montre la période de temps durant laquelle l’objet“existe”.
Horizontale : correspond aux objets et leurs échanges de messages.
Sont représentés les actions et réactions de l’objet , ses périodes actives / inactives (éventuellement) sa création et/ ou sa destruction.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 50
❖ Un objet peut s’envoyer un message à lui-même (message récursif).
Diagramme de séquences
Objet1 : Classe1 Objet2 : Classe2Ali: Acteur
opération1()
opération2()
résultat2
résultat1
instance d’acteur
instances de classes
appel d’une opération
exécutiond’une opération
lignede vie
messagerécursif
Axe de temps
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 51
Plusieurs types de messages:
▪ Synchrone:
Blocage de l’émetteur pendant le traitement du message par le récepteur (appel).
▪ Asynchrone: ou
(Non bloquant) Prise en compte du message envoyé par le récepteur à tout moment, il peut aussi être ignoré.
▪ Minuté :
Blocage de l'expéditeur pendant un temps donné (qui peut être spécifié dans une contrainte), en attendant la prise en compte du message par le récepteur.
L'expéditeur est libéré si la prise en compte n'a pas eu lieu pendant le délai spécifié.
▪ Message de retour :
Reprise du contrôle par l’objet émetteur du message synchrone.
Diagramme de séquences
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 52
▪ Dérobant :
Pas d’interruption de l’exécution de l’expéditeur;Le déclenchement d’une opération chez le récepteur n’a lieu que si celui-
ci est préalablement mis en attente de ce message.
❑ Fragment d’interactions combinésUne partie du diagramme de séquence (délimitée par un rectangle) décrivant
un comportement particulier.
Opérateurs principaux▪ Option (opt) :Comporte un opérande et une condition de garde associée. Le sous-fragment s’exécute si la condition de garde est vraie.
▪ Alternative (alt) :Possède plusieurs opérandes (exécution à choix multiples). Seul le sous-fragment dont la condition est vraie est exécuté. La condition else n’est exécutée que si aucune autre condition n’est valide.
Diagramme de séquences
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 53
▪ Boucle (loop)
Comporte un opérande et une condition de garde associée. Le sous-fragment s’exécute tant que la condition de garde est vraie.
▪ Parallèle (par)
Contient au moins deux sous-fragments (opérandes) séparés par des pointillés qui s’exécutent simultanément (traitements concurrents).
Autres opérateurs
critical : pour un fragment devant se dérouler sans interruption.
ref : permet de faire appel à un autre diagramme de séquence.
break : pour un fragment représentant un scénario exceptionnel.
…..
Diagramme de séquences
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 54
Diagramme de séquences
Exchange RépertoireAppelant
Décrocher
Destinataire
Tonalité
Composer le num
Routage Recherche route
Appel passé
Téléphone atteintSonnerie
RépondreConnexion établie
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 55
Exemple: Appeltéléphonique
➢Diagramme de composantsPermet de représenter les composants logiciels d’un système et les liensentre ces derniers.
Un composant est une unité logicielle autonome encapsulant un certain nombre de structures complexes. Les éléments encapsulés communiquent avec d’autres composants via des interfaces.
Un composant peut être:
▪ remplacé par un composant équivalent;
▪ réutilisé.
Deux types de composants:
1- Les composants métier: propres à une entreprise;
2- Les composants disponibles sur le marché (EJB, CORBA, .NET, ActiveX, …..)
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 56
Chaque composant est caractérisé par :
▪ Un nom;
▪ Une spécification externe sous forme de:
- une ou plusieurs interfaces requises;
- une ou plusieurs interfaces fournies;
- un port de connexion.
Eléments du diagramme:
❑ Composant : entité qui fournit et consomme un comportement via une interface.
ou ou
Nom du composant
Nom du composant
Diagramme de composants
<<component>>Nom du composant
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 57
❑ Nœud : représente des objets matériels ou logiciels
situés à un niveau supérieur aux composants.
❑ Interface : représente les données d’entrée ou de sorties d’un composant.
Deux possibilités de représentation:1- Intégrées dans la représentation du composant
Diagramme de composants
Interface requise Interface fournie(dont le composant a besoin) (que le composant met à disposition
des autres composants)
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 58
2- Dans un classeur séparé du composant
❑ Port : représente un point d'interaction distinct
entre un composant et son environnement.
❑ Paquetage : regroupe plusieurs éléments
du système.
❑ Remarque : permet d’ajouter des notes
au diagramme de composants.
❑ Dépendance : représente une relation
de dépendance entre les parties du système.
Diagramme de composants
Attributs
Package
notes
<<use>> <<realize>><<interface>>
Interf1
<<interface>>Interf2
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 59
➢Diagramme de déploiementPropose une vision statique de la topologie du matériel sur lequels’exécute le système. Les associations (connexions) existant entre lesnœuds du système y sont représentées.
Eléments
▪ Nœud :
est un élément matériel sur lequel sont déployés un
certain nombre de composants logiciels du système.
Un nœud peut être un processeur, un périphérique,
un réseau…
Exemple:
Un nœud Une instance de nœud
NomNoeud
PC Ordi1:PC
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 61
▪ Lien :
Connexion de nœuds avec éventuellement des cardinalités.Exemple:
Un nœud peut
en contenir d’autres.
Un nœud peut contenir
des artefacts (fichier, script, … )
PC Imprimante
Diagramme de déploiement
1 .. * 1
:PC
: Browser
:PC
: Browser
<<artifact>>index.html
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 62
Exemple: Diagramme de déploiement d’une application web
Diagramme de déploiement
PC
DataBaseServer
ApplicationServer
Browser
<<artifact>>Commande.jar
<<artifact>>Authentification.jar
* *
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 63