Qu’est ce que la modélisation? - univ-batna2.dz

64

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

❑Qu’est ce que la modélisation?

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 3

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

Un modèle: … des vues multiples

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 6

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

❑GL et Modélisation: Un lien incontournable

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 8

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

❑Modélisation Orienté Objet avec UML

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 13

➢ 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

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 18

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

rali

sati

onS

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

Exemple:

Diagramme de composants

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 60

➢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

➢Diagrammes UML ….. Suite…

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2020-2021 64