UML

213
Unified Modeling Language

description

UML. Unified Modeling Language. Plan du cours. Caractéristiques de l’objet Modes de développement Les activités du projet Généralités sur UML Diagrammes Cas d’utilisation Etude d’opportunité Analyse des besoins Modélisation logique structurelle Objets Classes Architecture. - PowerPoint PPT Presentation

Transcript of UML

Page 1: UML

Unified Modeling Language

Page 2: UML

2

Plan du cours1. Caractéristiques de l’objet

1. Modes de développement2. Les activités du projet3. Généralités sur UML4. Diagrammes Cas d’utilisation

1. Etude d’opportunité2. Analyse des besoins

5. Modélisation logique structurelle1. Objets2. Classes3. Architecture

Page 3: UML

3

Plan du cours6. Modélisation de la dynamique

1. Diagramme de séquence2. Diagramme de communication3. Diagramme d’activité4. Diagramme Etat-Transition

7. Modélisation de l’implémentation et du déploiement

1. Diagramme de composant2. Diagramme de déploiement

Page 4: UML

4

Caractéristiques de l ’objet

PPourquoi le développement objet?CComment atteindre ces buts?QQuelles répercussions sur les méthodes de développement?

Page 5: UML

5

Caractéristiques de l ’objet Pourquoi le développement objet?RRéutilisationD

Diminution des coûts de développement et de maintenanceFFlexibilité et robustesse du logicielQQualité

Pourquoi le développement objet?Comment atteindre ces buts?Quelles répercussions sur les méthodes de développement?

Page 6: UML

6

Encapsulation

Pourquoi le développement objet?Comment atteindre ces buts?Quelles répercussions sur les méthodes de développement?

Caractéristiques de l ’objet Comment atteindre ces buts?

Propriétés de l’objet

AbstractionHéritagePolymorphisme

Page 7: UML

7

Caractéristiques de l ’objet La brique de base d’un logiciel objet est la

classe Cette classe est un module qui contient des

données (attributs) et les traitements qui manipulent ces données (opérations = méthodes)

Commandeclasse

Page 8: UML

8

Caractéristiques de l ’objetIl existe des contraintes de visibilité entre les

classes, donc entre les objets

Un objet ne peut avoir accès aux propriétés d’un autre objet que selon certaines conditions définies dans le programme

retour

Page 9: UML

9

Caractéristiques de l ’objetUn objet est une instance de classeTous les objets d’une même classe se

décrivent avec les mêmes attributs et ils ont le même comportment

CommandeRéférenceDate cdeRef devisCréerModifier Ref devis

Page 10: UML

10

Quelles répercussions sur Les méthodes de développement? L

Le développement incrémentalLLe développement agileLLa réutilisation

Pourquoi le développement objet?Comment atteindre ces buts?Quelles répercussions sur les méthodes de développement?

Page 11: UML

11

Modèle de développement

Analyse du problème

Conception de la solution

ImplémentationDéploiement

Analyse des besoins

Modèle en cascade Modèle incrémental

Analyse du problème

Analyse des besoins

ImplémentationDéploiement

Conception de la solution

retour

Page 12: UML

12

Modèle de développement

Avantages du modèle incrémental L’implication et la satisfaction de

l’utilisateur La gestion des risques L’intégration progressive

Page 13: UML
Page 14: UML

14

Les activités du projet

Elles sont identiques quelque soit le modèle:

Cascade, incrémental….

Page 15: UML

15

Activités du projet

Toutes ces activités du projet ont une part de modélisation.Modélisation•Du problème•De la solution

UML est un langage de modélisation

Analysedu besoin

Analyse du problème

Opportunité

Implémentation

Conception de la solution

Page 16: UML

16

Activités du projetChaque activité donne lieu a un rapport qui contient les modèles et des commentaires.Chaque rapport est écrit ou validé par le clientLe rapport d’étude d’opportunité + rapport d’analyse des besoins+ la V1 du plan projet constituent le cahier des charges

Le cahier des charges est un élément essentiel du contrat

Analysedu besoin

Analyse du problème

Opportunité

Implémentation

Conception de la solution G

estio

n de

pro

jet

Page 17: UML

17

Activités du projetDocuments

fondamentaux G

estio

n de

pro

jet

Rapport d’Analyse du besoin

Plan projet

Rapport d’ Étude d’opportunité

Cahierdes

charges

Organisation du projet, délais,

coûts, contrôles, normes,

procédures

Page 18: UML

18

Les activités du projetEtude d’opportunité

On souhaite construire un système informatique pour répondre à un besoin Qui a ce besoin? Quel est-il? Est-il justifié? Bilan gains-coûts estimés

On modélise le périmètre du projet et son contexte

Analysedu besoin

Analyse du problème

Opportunité

Implémentation

Conception de la solution

Page 19: UML

19

Les activités du projet Etude d’opportunité

Gestion de production

Gestion des stocks

Etudes

Commercial

Client

L’ellipse représente le périmètre du projet

Les acteurs représentent les systèmes ou les personnes qui échangent des informations avec le projet

Diagramme de contexte

Page 20: UML

20

Les activités du projet Analyse des besoins

Exprimer les fonctionnalités demandées au système d’information+autres besoins (performance, sécurité, flexibilité…)

Analysedu besoin

Analyse du problème

Opportunité

Implémentation

Conception de la solution

Page 21: UML

21

Les activités du projet Analyse des besoins

Ma gestion descommandes

Ma gestion desstocks

Ma gestion descommandes

Ma gestion desstocks

On modélise l’architecture de l’expression des besoins

et les acteursLe domaine de l’étude est découpé selon les

fonctions requises par les acteurs

Pour chaque cas d’utilisation, on rédige un texte qui énonce les exigences de la maîtrise d’ouvrage

Cas d’utilisation

Page 22: UML

22

Les activités du projet Analyse du problème

Exprimer la structure (Entités; données) et la dynamique ( Processus detraitements) du système désiré

Analysedu besoin

Analyse du problème

Opportunité

Implémentation

Conception de la solution Indépendamment de la

technologie

Page 23: UML

23

Les activités du projet Analyse du problème

EntitésCommande

Préparer commande

Client Ventes Entrepôt

Commande annulée

Commande expédiée

Enregistrer la commande

Contrôler Commande

Expédier CommandeProcessus

Modéliser le métier

Chef des ventes

Acteurs

Page 24: UML

24

Les activités du projet Conception de la solution

Déterminer l’architecture technique.

Prendre en compte la technologie (conception structurelle et dynamique)

Analysedu besoin

Analyse du problème

Opportunité

Implémentation

Conception de la solution Ne jamais concevoir

avant d’analyser

Page 25: UML

25

Paquetage

Modéliser l’architecture technique (structurer le logiciel)Isoler les solutions techniques qui évoluent indépendamment

Les activités du projet Conception de la solution

AccèsRéseau

AccèsBase D

IHM Métier

Modélisation logique structurelle

Page 26: UML

26

Les activités du projet Modélisation logique

structurelle

Architecture technique Le découpage du logiciel est représenté par des

paquetages Les paquetages contiennent des classes, des

composants ou d’autres paquetages. La visibilité entre les paquetages est limitée (classe

façade) Une bonne architecture permet la fiabilité et la

flexibilité du logiciel

Page 27: UML

27

Les activités du projetModélisation logique dynamique

Que fait le système informatique? CComportement des objetsDDemandes de serviceCConditions

Commande Article[s’il y a du stock]Réserver un article

J’ai réservéréservationContrôle stock

Objet

Page 28: UML

28

Les activités du projetChronologie

Etude d’opportunité ou InitialisationDéfinition et opportunité du projet

Diagramme de contexte Recueil et spécification des besoins.

Fonctionnalités du système d’information Cas d’utilisation

Analyse du problème Étude de la logique du système d’information(Indépendant des technologies)

Modélisation métier (vue logique) Conception de la solution

Décisions technologique Affinement de la vue logiques

Implémentation (Programmation, diagramme de composants) Déploiement (Diagramme de déploiement)

Activité de gestion de projet pendant toute la durée du projet

Page 29: UML
Page 30: UML

30

Généralités sur UML Origine Standard Objectifs Outils Contenu.

Page 31: UML

31

Généralités sur UMLOrigine

Issue des méthodes objet de: Grady Booch OMT de James Rumbaugh OOSE d’Ivar Jacobson       

OrigineStandardObjectifsContenu

Page 32: UML

32

Généralités sur UMLStandard

UML est une notation standard Elle a été acceptée par l’OMG (Object

Management Group), en novembre 97 Un dispositif est en place à l’OMG qui permet

d’améliorer UML de façon continue L’OMG est un consortium international, il

réunit environ 800 entreprises. Son but est de définir des standards pour le développement orienté objet

OrigineStandardObjectifsContenu

Page 33: UML

33

Généralités sur UMLObjectifs

Modélisation des systèmes informatiques Analyse des besoins Analyse du problème Conception de la solution Implémentation , Déploiement 

UML est une notation graphique. Une notation permet de décrire le système informatique avec des concepts adaptés et non ambigus.

 

OrigineStandardObjectifsContenu

Page 34: UML

34

Généralités sur UMLObjectifs

UML est une notation non une méthode

Une méthode contient non seulement une notation mais aussi une démarche de projet

Plusieurs démarches peuvent être associées à la notation UML.

Nota: Ne pas confondre les concepts de démarche et les concepts UML

Page 35: UML

35

Généralités sur UMLObjectifs

UML est bien adapté à la démarche itérative

Analyse du problème

Analyse des besoins

ImplémentationDéploiement

Conception de la solution

Page 36: UML

36

UML permet la modélisation du système d’information et du système informatique

Et il aide: à la réalisation à la réflexion À la documentation

Il deviendra peut-être un langagede réalisation (MDA)

Généralités sur UML Objectifs

Un modèle est une représentation schématique de la réalité

destiné à montrer son fonctionnement

Page 37: UML

37

Généralités sur UML Objectifs

Outils UML Rational Rose Together Objectory (Softeam) Visio …

Les outils Permettent la modélisation (dessin et contrôle) Gèrent un référentiel Produisent le squelette des programmes Produisent les DDL des SGBDR Produisent les interfaces des ORB (Object Request Broker) Se relient à d’autres outils de développement

Page 38: UML

38

Généralités sur UML Contenu: Éléments

UML propose des élémentsde modélisation qui ont une définition sémantique et un graphisme

Exemples

OrigineStandardObjectifsContenu

Métier

Acteur

PaquetageClasse

Gestionarticles

Client

raisonSociale

calculerRemise

Composant

Page 39: UML

39

Généralités sur UML Contenu: Diagrammes

UML propose 9 types de diagrammes (règles de combinaison des élément standards):

 Cas d’utilisationClassesObjets

Séquence Collaboration

Activité États-Transitions

Composants Déploiement

Page 40: UML

40

Généralités sur UML Contenu: Diagrammes

Exemple: Diagramme de classe

ClientDétaillant ClientGrossiste

CommandeClient

facturer()11..* 11..*

Page 41: UML

41

Généralités sur UML Contenu:Extension de la notation: stéréotypes

UML est une méthode ouverte Les stéréotypes permettent l’extension Un stéréotype est une variante d’un élément standard,

il hérite de sa sémantique, il spécifie souvent un rôle. Exemple:Une façade,un acteur sont des stéréotypes de classe

Représentation graphique

Chef des ventes« Acteur »Représentation

textuelleClient

«Entité »

Client

Page 42: UML
Page 43: UML

43

Représentation du contexte du système Définir les Limites du système à développer Relations entre le système et son

environnement.  

Gestion financière

Gestioncommerciale

Gestion de production

Bureau d’étude

Direction

Étuded’opportunité

Diagrammes:Cas d’utilisation

Page 44: UML

44

Diagrammes:Cas d’utilisation

Gestion commerciale représente le périmètre de l’étude

Les acteurs sont des personnes ou des systèmes en relation avec le domaine de l’étude.

Les acteurs sont extérieurs au domaine de l’étude. Gestion

commercialeGestion de

production

Bureau d’étude

Direction

Gestion financière

Étuded’opportunité

Page 45: UML

45

Diagrammes:Cas d’utilisation

Pour: Structurer fonctionnellement le domaine pour

décrire les exigences Répartir le travail et les responsabilités pour la

spécification et la validation des besoins.Analyse des marges

Fidélisation

Commissions

Directeur commercial

Responsable CRM

Chef des ventes

Analysedes

besoins

Page 46: UML

46

Les cas d’utilisation

Les cas d’utilisation guident la MOE dans l’analyse, la conception, la réalisation et les tests.

Contrat

Ils sont sous la responsabilité de la MOA, ils sont la référence des validations et recettes.

Validation

Recette

Page 47: UML

47

L’analyse des besoins

Les cas d’utilisation

Analysedu besoin

Analysedu problèmede la solution

Conceptionde la solution

Opportunité

Tests

La conception du système

Validation

Périmètre du projet

ImplémentationMise en oeuvre

Page 48: UML

48

Cas d’utilisation Chaque cas d’utilisation est accompagné

d’un texte et éventuellement de diagrammes Ceux-ci expriment les exigences du client Les exigences constituent une partie du

contrat entre le client (maîtrise d’ouvrage) et les développeurs (maîtrise d’œuvre)

Page 49: UML

49

Cas d’utilisationExemple de rédaction

Titre: Préparation de la commande fournisseur But: Déterminer la date de passation de commande Version, date de rédaction Auteur de la rédaction Acteurs du cas d’utilisation: acheteur Préconditions:

Les demandes d’achat sont valides, elles ont été affectées à l’acheteur qui initialise le processus.

Postcondition:La date de passation de commande de la DA est prévue

Événement initial:Affectation des DA nouvellement arrivées à un acheteur

Description du scénario de base Description des flots alternatifs

Page 50: UML

50

Diagrammes:Cas d’utilisation. Acteurs

Le domaine du projet est découpé en cas d’utilisation

Chaque cas d’utilisation représente une fonction du système informatique dont un acteur métier a besoin

Un acteur métier est un rôle.

Dans la démarche: on recherche d’abord les acteurs métier puis les fonctions dont ils ont besoin.

Commissions

Chef des ventes

Page 51: UML

51

Diagrammes:Cas d’utilisation. Acteurs

WantedChef des ventes

Page 52: UML

52

Diagrammes:Cas d’utilisation.

Le cas d’utilisation spécifie la façon dont le système est utilisé pour aider un client ou un utilisateur à atteindre ses objectifs. Il décrit un processus.

Page 53: UML

53

Cas d’utilisation Spécifications de besoins, exigences

Le texte doit être bien structuré Il est sous la responsabilité de l’utilisateur Il peut être accompagné de diagrammes

UML Il décrit ce que doit faire le système et non

comment Rédaction des exigences

Chaque cas d’utilisation donne lieu à une description en texte

Page 54: UML

54

Cas d’utilisation Spécifications de besoins, exigences

Le cas d’utilisation décrit un processus métier Le processus est déclenché par un événement métier Il se termine par un résultat intéressant pour

l’utilisateur ou par un échec Il comporte souvent plusieurs scénarios

Evénement RésultatTâches

Page 55: UML

55

Diagrammes:Cas d’utilisation Chaque cas d’utilisation est accompagné

d’un texte et éventuellement de diagrammes Ceux-ci expriment les exigences du client Les exigences constituent une partie du

contrat entre le client (maîtrise d’ouvrage) et les développeurs (maîtrise d’œuvre)

Page 56: UML

56

Cas d’utilisationExemple de rédaction

Titre: Passation de la commande au fournisseur But: Transmettre une commande valide au fournisseur Version, date de rédaction Auteur de la rédaction Acteurs du cas d’utilisation: acheteur Préconditions:

Les demandes d’achat sont valides, elles ont été affectées à l’acheteur qui initialise le processus.

Postcondition:La commande est transmise, sa transmission est enregistrée

Événement initial:Affectation des DA nouvellement arrivées à un acheteur

Description du scénario de base Description des flots alternatifs

Page 57: UML

57

Diagramme de cas d’utilisation

RelationsLes cas d’utilisation peuvent être

fractionnés.Puis reliés. relation « include » relation « extend » relation « generalise »

Nota: Les flux d’informations sont indiqués dans d’autres diagrammes

Page 58: UML

58

Cas d’utilisationRelation « include »

Permet d ’identifier des sous-ensembles communs à plusieurs cas d ’utilisation

Règlement cotisations

comptable

Inscription activité

AccueilContrôle adhérent

«  include » « include  »

Contrôle adhérent est extrait de « Règlement cotisation » et de « Inscription activité » afin de ne le décrire qu’une fois

Page 59: UML

59

Cas d’utilisationRelation « include »

Gestion force de vente

Chef des ventesGestion des

notes de frais

Gestion des notes de frais est aussi utilisé dans une autre application, on ne le décrit qu’une foisLa relation entre les 2 cas d’utilisation est exprimée dans le texte de Gestion des forces de venteInclude est un stéréotype d’un autre élément: la dépendance

« include  »

Page 60: UML

60

Cas d’utilisationRelation « extend »

Permet de décrire séparément certaines partis alternatives, optionnelles ou exceptionnelles

Inscription activité

Accueil

contrôle adhérent

Inscription activité inexistante

« include »

« extend » extension

Page 61: UML

61

Cas d’utilisationRelation « extend »

L‘extension peut être planifiée dans un autre incrément que le cas d’utilisation de base

L‘extension ne peut être activée directement

Inscription activité

Accueil

contrôle adhérent

Inscription

activité inexistante

« include »

« extend »

Texte: La relation est indiquée dans le cas extension, ici inscription activité inexistante

Page 62: UML

62

Cas d’utilisationRelation généralisation

Plusieurs cas d’utilisation ont le même but

Ils ont des fonctionnements différents, Ce sont les variantes d’une même fonction.

Page 63: UML

63

Cas d’utilisation Relation Généralisation

Règlement cotisations

comptable

Règlement par courrier Règlement par Internet

« Généralisation »

adhérent

contrôle

« include » »

Page 64: UML

ExerciceFaire le modèle de cas d’utilisation correspondant

aux fonctions suivantes: Contrôle des commandes client (la saisie des

commandes est faite chez le client par le commercial ou au siège à partir d’un formulaire)

Réception des règlementsDans ces 2 cas l’identité du client est contrôlée Traitement des anomalies commandes

Le contrôle des commandes est sous la responsabilité du commercial ou de l’administration des ventes.Le comptable est responsable de la réception des règlements

Page 65: UML
Page 66: UML

66

ExerciceModèle de cas d’utilisation

Administration ventes

Réception règlement

Contrôle identité client

Traitement anomalies commandes

Prise de commandechez client

Contrôle commande

<<généralisation>> <<include>><<include>>

<<extend>>

Comptable

Saisie commandeau siège

Commercial

Page 67: UML

67

Cas d’utilisationTraiter le passage en

caisseexemple Titre : Traiter le passage en caisse

Résumé : un client arrive à une caisse avec des articles qu’il souhaite acheter. Le caissier enregistre les achats et récupère le paiement. A la fin de l’opération, le client part avec les articles.Acteurs : principal caissier, secondaire client.Pré conditions : la caisse est ouverte (donc en service) ; un caissier y est connectéPost conditions: Le client a payé, la vente est enregistrée, le ticket de caisse a été donné au client.

Traiter le passage en caisse

Caissier

Page 68: UML

68

Description du flot de base :

1. Ce cas d’utilisation commence quand un client arrive à la caisse avec des articles qu’il souhaite acheter.

2. Le caissier enregistre chaque article. S’il y a plus d’un exemplaire par article, le caissier indique également la quantité.

3. La caisse détermine le prix de l’article et ajoute les informations sur l’article, à la vente en cours. La caisse affiche la description et le prix de l’article en question.

4. Après avoir enregistré tous les articles, le caissier indique que la vente est terminée. La caisse calcule et affiche le montant total de la vente.

5. Le caissier annonce le montant total au client.

6. Le client choisit le type de paiement :

En cas de paiement cash, calculer la monnaie à rendre

7. La caisse enregistre la vente effectuée et imprime un ticket.

8. Le caissier donne le ticket de caisse au client.

9. Le client s’en va avec les articles qu’il a achetés.

retour

Page 69: UML

Pour éviter les Si dans le flot de baseLes flots alternatifs sont décrits à part

Flot alternatif 1: numéro d’identification inconnu Cette alternative démarre au point 2 du flot de base.- La caisse indique au caissier que le numéro d’identification de

l’article est inconnu. L’article ne peut alors être pris en compte dans la vente en cours.

Le flot de base reprend au point 2.

Flot alternatif 2 : client ne pouvant pas payerCette alternative démarre au point 6 du flot de base.- Le client ne peut payer le total avec aucun moyen de paiement

autorisé.- Le caissier annule l’ensemble de la vente et le cas d’utilisation se

termine en échec (post condition non réalisée)

Page 70: UML

Flot alternatif 3: client payant par chèqueCette alternative remplace le point 6 de la version de base.Le chèque est mis par le caissier dans le lecteur de chèque qui imprime le montant et la dateLe caissier fait signer le chèque.Le flot de base reprend au point 7

Les pointeurs sont écrits dans les flots alternatifs et non dans le flot

de base

Page 71: UML

71

Exercice

Faire le cas d’utilisation de paiement par carte en créant un cas d’utilisation extension

Page 72: UML
Page 73: UML

Cas d’utilisation paiement par carte

Ce cas d’utilisation remplace le point 6 du cas d’utilisation: « Traiter le passage en caisse ». En cas de succès, le flot reprend au point 7; en cas d’échec il reprend au point 6 de « Traiter le passage en caisse »

Flot de base

1. Le client insère la carte dans le lecteur de carte et saisit son code

Flot alternatif échec: Le code saisit est faux 3 fois de suiteà la suite du point 1

Traiter le passage en caisse

Caissier

Payer par carte« extend »

Page 74: UML

74

Diagramme cas d’utilisation

Le diagramme de cas d’utilisation montre le comportement d’un système, les services visibles de l’extérieur, fournis par le système dans le contexte de son environnement

Exemple: Téléphone mobile

Passer appeltéléphonique

Passer appelconversation à 3

Recevoir appel

Utiliseragenda

Recevoir nouvelappel

« extend »

« extend »Réseaumobile

Utilisateur

Exemple

Page 75: UML

75

Modélisation logique structurelle

Diagramme de classeArchitecture

du système d’informationdu système informatique

ObjetsClassesPaquetages

Page 76: UML

76

Modélisation structurelle Les objets

Un objet est « une chose » qui peut être parfaitement identifiée; une personne précise, une organisation, une machine ou un événement peuvent être considérés comme des objets.  

Page 77: UML

77

Modélisation structurelleLes objets Un objet peut sauvegarder des valeurs,

ces valeurs ont un nom (nom d’attribut) .Ces valeurs constituent l’état de l’objet.

l’état de l’objet peut changer 

Page 78: UML

78

Modélisation structurelle Les objets

Un objet offre des opérations (son comportement) qui permettent d’examiner ou de modifier son état.  

L’état d’un objet garde le souvenir de l’exécution des opérations

Page 79: UML

79

Modélisation structurelle Les objets

3 représentations possibles d’un objet:

ValérieDate embauche =12-07-76

Valérie: Personne : Personne

nom de l’objet nom de l’objet ,nom de la classe

Objet anonyme

Un objet est une instance de classe

Page 80: UML

80

 Modélisation structurelle Les Classes

Les objets sont groupés en ensembles appelés classes. Les objets sont des instances de classe.

Salarié

nomPoste

salaire

payer()

Lili:Salarié

nom:Liliposte:DRH

3000 euros

Instance de

Page 81: UML

81

Modélisation structurelle Les classes

Une classe est une abstraction qui représente l’idée ou la notion générale que l’on peut avoir d’un ensemble d’objets similairePar exemple tous les salariés d’une entreprise appartiennent à la classe « Salarié »

Tous les objets d’une classe partagent les mêmes attributs, le même comportement et les mêmes associations.Tous les salariés ont un salaire, chaque mois ils touchent leur salaire, ils travaillent pour une entreprise.

Page 82: UML

82

Modélisation structurelle Les Classes

Pendant la phase d’analyse une classe est un concept du monde réel (ex : salarié, adhérent, prime)

Pendant la phase de conception elle peut être un concept technique (ex : pilote d’imprimante, fenêtre…) elle est affinée par des notions techniques (ex: visibilité)

Pendant la phase d’implémentation une classe est un élément du logiciel

Page 83: UML

83

Modélisation structurelle Les Classes

Chaque classe est représentée sous la forme d’un rectangle divisé en 3 compartiments. Le 1er compartiment contient le nom de la classe, le second les attributs et le 3ème les opérations 

Personne

adressePrincipalenom

facturer ()

Analyse

Conception

Page 84: UML

84

Modélisation structurelle Les Attributs

Chaque nom d’attribut peut être accompagné de détails facultatifs tels que le type ou la valeur par défaut.

Le type et la valeur par défaut seront généralement mentionnés à partir de la phase de conception.

Personne

Nom : chaine Age : entier Solvabilité : Booléen=1

Conception

Page 85: UML

85

Modélisation structurelle Les attributs dérivés

Un attribut dérivé peut être calculé à partir d’autres attributsOn le trouve:

soit dans le compartiment attribut précédé d’une barre oblique

soit dans le compartiment opérationC’est un choix de conception

Rectangle Longueur Largeur / Surface

Page 86: UML

86

Modélisation structurelle Les opérations

Une opération spécifie une action qu’un objet doit exécuterUne méthode est une procédure qui implémente une opération

Généralement En phase d’analyse, on écrit seulement le nom de l’opération En phase de conception on écrit

La visibilité Les paramètres Le type de retour La portée

Page 87: UML

87

Modélisation structurelle Les opérations

adressenomsolde

Facturer ( remise : Int = 0, montant : Int ) : montantDu

{auteur=Rémi}

« entité »

créer

Portée de classe

Portée d’instance

Personne

Page 88: UML

88

Modélisation structurelle La visibilité

UML définit 3 niveaux de visibilité pour les attributs et les opérations  + Public qui rend l’élément visible à tous les clients de la classe ·       # Protégé qui rend l’élément visible aux sous-classes de la classe — Privé qui rend l’élément visible aux opérations de la classe seule

 

  

Page 89: UML

89

Modélisation structurelle La visibilité

 

Client

— nom— adressePrincipale

— enregistrer()

# facturer()

+ consulter nom()

Page 90: UML

90

Modélisation structurelle Les relations

L’association La généralisation La dépendance La réalisation

Page 91: UML

91

Passe >

Modélisation structurelle L’association

Il existe des liens entre les objets

Exemple:Les commandes sont liées aux clients

Commande

dateCommande

ClientraisonSociale 1 *

 

Page 92: UML

92

Modélisation structurelle Multiplicité

Un objet peut être relié à plusieurs objets: Un client peut être relié à plusieurs commandes.Mais une commande ne peut être reliée qu’a un seul client et elle est nécessairement reliée à un client.

Ces contraintes expriment la multiplicité d’une classe dans sa relation avec une autre ou avec elle-même

Page 93: UML

93

Modélisation structurelle La multiplicité s’écrit :

1                  toujours 10..1 0 ou 1* ou 0..*0 à plusieurs1..* 1 à plusieursm..nde m à n (entiers naturels)

Page 94: UML

94

Modélisation structurelle Classes d’association

Chaque lien de l’association est relié à un objet de la classe association. Chaque objet de la classe association est identifié par les références aux

classes reliées ; Il ne peut y avoir plusieurs liens entre les mêmes objets

On indique cette classe si le lien est porteur d’attributs ou d’opérations . Une classe d’association peut être associée à d’autres classes

Personnenom

Diplôme

niveau

DiplômeObtenu date obtention

* * *

exercice

Page 95: UML

95

*

Modélisation structurelle Rôle

Un rôle décrit la part prise par une classe dans une association, il est écrit sur l’association du coté de la classe correspondante

Le rôle permet de distinguer plusieurs associations entre les 2 même classes

*

Personne Ville*1

travailleur

 

résident

nom

Page 96: UML

96

Modélisation structurelle Associations qualifiées

Le qualificatif permet de retrouver 1 ou n objets à l’autre bout de l’association il sélectionne certains objets)

Nom de fichier est un identifiant relatif pour Fichier

Banque 1 *compte Personne

1

1

Sans le qualificatif la multiplicité serait *

FichierRépertoire Nom de fichier

Page 97: UML

97

Modélisation structurelle Associations qualifiées

ExerciceComment modéliser les chambres d’une chaîne d’hôtels en indiquant que les hôtels ont la liberté de leur numérotation

Page 98: UML
Page 99: UML

ChambreHôtel N°Chambre1

1

Autre exemple

PersonneSociété Matricule1*

EmploiSalaire

Page 100: UML

100

Modélisation structurelle Contraintes d’intégrité sur

association

{ ou exclusif }

Musée

Statue

Site

Les contraintes d’intégrité sont de format libre, elles sont écrites entre accolades

Commune Personne habitant

Conseiller

municipal

**

1*

Sous-ensemble

Page 101: UML

101

Modélisation structurelle Association réflexivesUn objet d’une classe peut être associé à un autre objet de la même classe

Personnel

1

chef

1

collaborateur

1..*

Page 102: UML

102

Modélisation structurelle Associations n-aires

Des associations peuvent relier plus de 2 classes

Joueur

Record

Équipe Année

GainUn record est identifié par

une équipe, un joueur, une année

Page 103: UML

N° placeNom catégoriePrix placeDate de représentationNom spectacleNom du metteur en scèneNom acteur principalNom agenceAdresse de l’agenceN° de téléphone agenceN° billetNom du pompier de serviceHeure de représentationDate prise réservation

Exercice : Gestion des représentations d’un théâtreConstruire un diagramme de classes à partir des données suivantes :

Suite

Page 104: UML

 •Le théâtre propose des spectacles joués en une ou plusieurs représentations.Pour chaque spectacle, sont annoncés le nom du metteur en scène et du ou des acteurs principaux. •Le théâtre peut offrir plusieurs représentations le même jour. •Plusieurs spectacles peuvent être joués le même jour. En revanche, un seul spectacle est joué par représentation.

Suite

Respecter les règles de gestion suivantes 

Page 105: UML

•Les agences de spectacles sont contractuellement autorisées à réserver des places par avance. Les autres clients doivent faire des achats fermes.•Pour chaque place, à chaque représentation est attribué un billet lors de la vente. •Le prix de la place est fonction de la catégorie de la place, et de la représentation

Page 106: UML
Page 107: UML

Billetnum billet

TarifPrix place

ActeurSpectaclemetteur en scène

1..*0..* 1..*0..*

principal

AgenceRéservationDate réservation

10..* 10..*

PlaceCatégorie1 *1 *

ReprésentationDate représentationHeure représentation 1* 1*

*

*

*

*

vendre

*

*

*

*

réserver*

1..*

*

1..*

Page 108: UML

108

Modélisation structurelle L’agrégation

L’agrégation est une forme particulière d’association qui exprime un couplage plus fort entre classes.

L’agrégation permet de représenter les relations de type maître esclave, tout et partie, ou composé et composant.

Mission *

Agrégation simple

Développeur

Page 109: UML

109

Modélisation structurelle Agrégation de composition

L’agrégat « possède » ses parties, Les partie sont « à l’intérieur » de l’agrégat ; Un

objet ne peut être l’élément de plusieurs agrégats. La destruction de l’agrégat entraîne la destruction

des parties

Commande LigneDeCommandequantitéCommandée

préparer

1..*11

ArticleréférenceArticle*datCom

Agrégation de composition

Page 110: UML

110

Exercice

Un médecin veut modéliser des informations concernant ses patients, leurs consultations, leurs maladies.

Page 111: UML
Page 112: UML

112

Exercice

Patient ConsultationDate

0..*1Nom

MaladieNom

0..*

0..*Atteint

de

Page 113: UML

113

Modélisation structurelle Généralisation et

spécialisation

La généralisation consiste à factoriser les éléments communs (attributs, opérations, relations) d’un ensemble de classes dans une classe plus générale appelée super-classe.

Les sous-classes héritent des caractéristiques de leur super-classe

Page 114: UML

114

Modélisation structurelle Généralisation et spécialisation

Fournisseur

régler()

TiersraisonSociale

Client

facturer()

BanqueCode

Fournisseur et client héritent de raison sociale et de l’association à banquefacturer est spécifique à Client; régler est spécifique à Fournisseur

Exemple:

Sous-classe

Super-classe

Page 115: UML

115

Modélisation structurelle Généralisation et

spécialisationExemple:

TiersraisonSociale

Client

facturer()

Banque

Code

ClientNat ClientExportTypeCrédit

Fournisseur

régler()

Devise

Page 116: UML

116

Modélisation structurelle Généralisation et

spécialisationExerciceUne société d’archéologie vous demande de faire son diagramme de classeElle étudie des objets archéologiques, ces objets appartiennent à une nation; ils peuvent être des bâtiments, des statues ou des bijoux.Tous ces objets peuvent se trouver dans un site, les statues et les bijoux peuvent se trouver dans un musée.Les bijoux peuvent aussi se trouver chez un particulier. On dispose d’informations sur les nations, les sites et les particuliers.

Page 117: UML
Page 118: UML

Objet Nation

Code

Bâtiment Musée

ParticulierStatue Bijou

ObjetMobile

Site

Exercice

0..1 * 1

* 0..1

0..1*

Page 119: UML

119

Modélisation structurelleContrainte d’intégrité sur généralisation

Statue Bijou

Objet

Un objet archéologique ne peut pas être à la fois une statue et un bijou

{complétude}

Statue Bijou

Objet

Un objet archéologique ne peut être qu’une statue ou un bijou

{Ou exclusif}

Page 120: UML

120

Modélisation structurelleClasse abstraite

Activité nom activité montant

planifier()

planifier()

Classe abstraite

Une classe abstraite ne peut être instanciée, ses sous-classes sont concrètes

{complétude}

lieu

planifier()

Entraineur

Classe concrète

Toutes les classes ont des propriétés spécifiques

Tennis Foot

Page 121: UML

121

Modélisation structurelleReprésentation de l’architecture

Une bonne architecture doit permettre: La réutilisation La répartition du travail entre équipes L’étude d’impact lors des changements

fonctionnels, techniques et d’explitation

L’architecture est la description des différentes parties du système et de leurs relations

Page 122: UML

122

Modélisation structurelleReprésentation de l’architecture

UML offre des notations destinées à découper

Le système d’information Le logiciel

À isoler les éléments du logiciel

Page 123: UML

123

Représentation de l’architecture Les Paquetages

Un paquetage est un conteneur il permet de représenter l’organisation du système d’information et du logiciel.Il peut contenir tous les éléments de modélisation : des classes, des interfaces, des composants, des nœuds, des cas d’utilisation, des diagrammes, d’autres paquetages…

Page 124: UML

124

Représentation de l’architecture Les Paquetages

Chaque élément est la propriété directe d’un paquetage unique.Le paquetage forme un espace de nommage Les paquetages sont représentés dans le diagramme de classe

Page 125: UML

125

Modélisation structurelle Représentation de l’architecture

Architecture technique 1 paquetage= n éléments 1 composant=1 ou n classes

Métier CommandeGestionarticles

paquetage

composant

classe

Page 126: UML

126

Modélisation structurelleReprésentation de l’architecture

Les Paquetages livraison

(from vente)article (from stock)

Commercial::Vente+ commande + client — livraison

java.io

Le paquetage venteappartient à commercial

dépendance

Paquetages leur contenu et leurs dépendances

Classe non visible à l’extérieur du paquetage

stock+stockFaçade_article_ entrepôt

Classe livraisonappartient à vente

commercial

Page 127: UML

127

Modélisation de la dynamique du système

Diagrammes d’interaction Diagramme de séquence Diagramme de communication

Diagramme d’activité

Diagramme État-Transition

Page 128: UML

128

Modélisation de la dynamique du système

Les diagrammes d’interaction et d’activité précisent le texte du cas d’utilisation

Diagramme de classe

Cas d’utilisation

n diagrammes de séquence n diagrammes

d’activité

flot de base

Flots alternatifs

Texte

Lors de l’analyse des besoins,ils expriment les interactions entre les utilisateurs (acteurs) et le système.

Lors de l’analyse-conception, ils expriment les interactions entre les objets du système

Page 129: UML

129

Modélisation de la dynamique Diagramme de

séquence

Un diagramme de séquence représente un ou plusieurs scénarios d’un cas d’utilisation (cas d’utilisation parent)

Pour un cas d’utilisation, il peut y avoir autant de diagrammes de séquence qu’il y a de scénarios 

Page 130: UML

130

Modélisation de la dynamique Diagramme de

séquence Le diagramme de séquence transforme la structure

fonctionnelle, décrite par le cas d’utilisation en une structure objet

Il représente les messages que les objets doivent s’échanger pour réaliser la fonction.

Ces messages sont des appels d’opérations ou de groupes d’opérations. Ils sont effectués par des objets vers des objets.

Les objets sont des acteurs ou des objets logiciels.

Page 131: UML

131

Modélisation de la dynamique Diagramme de

séquenceActeur

: Accueil : activité : adhérent

Demande inscription activité

inscription

Demande supplément cotisation

Paiement

Un objet de la classe activité

MessageLa flèche est dans le sens du flux de contrôle

Ligne de vie de l’objet

Période d’activité de l’objet

retour

Page 132: UML

132

Modélisation de la dynamique Diagramme de

séquenceUn objet ou un participant peut être anonyme, identifié,

qualifié

: adhérent Martin : adhérent adhérent actif

Anonyme

QualifiéIdentifié

L’objet adhérent appartient à la classe adhérent

: adhérent

Adhérent est ici un objet du

logiciel

Page 133: UML

133

Modélisation de la dynamique Diagramme de séquence, concepts

Acteur  Un acteur déclenche un scénario (il a été identifié dans le cas d’utilisation parent)

Scénario Un diagramme de séquence représente un ou plusieurs scénarios (flot de base, flots alternatifs). On peut représenter l’ensemble des scénarios d’un cas d’utilisation avec 1 ou plusieurs diagrammes de séquence

Page 134: UML

134

Modélisation de la dynamique Diagramme de séquence, concepts

Événements (ou messages)Un diagramme de séquence montre les messages que les objets s’échangent.

Ces messages sont des événements : Ils déclenchent des opérations sur les

objets destinataires

Ligne de vie La durée de vie d’un objet est

matérialisée par une ligne verticale pointillée.

Page 135: UML

135

Modélisation de la dynamique Diagramme de

séquenceExerciceFaire le diagramme de séquence correspondant à cet

extrait du cas d’utilisation Règlement cotisationsSuite à un appel de cotisation (qui a été fait longtemps avant et qui, par conséquent est décrit dans un autre cas d’utlisation) les adhérents paient leur cotisation, le paiement est enregistré, les appels de cotisation correspondants sont mis à jour, un accusé de réception est retourné à l’adhérent

Règlement cotisationsAdhérent

Paiement

AppelCotisation

Quelles interactions doit-il y avoir entre les objets de ces classes pour réaliser le cas d’utilisation: Règlement de cotisation?

Page 136: UML
Page 137: UML

137

Modélisation de la dynamique Diagramme de

séquence

unPaiement : Adhérent unAppel Cotisation

paiementcotisation

accuséRéception

Page 138: UML

: Client Client théatre : Activité

: Spectacle : Représentation

: Place Paiement

[client pas OK]Contrôle activité

[activité pas OK]

Contrôle client

[Réservation OK]

Flot de contrôle

Flot d’informations

Le flot d’informations est facultatif Il revient par le chemin inverse du flot de contrôle

Les messages sont synchrones par défautretour

Page 139: UML

139

Diagramme de séquenceReprésentation des paramètres

: Client Client

Demande réservation(code client,code activité)

Opération

Paramètres

Le nom de l’opération peut être accompagné de ses paramètres

Client est un objet logiciel stéréotype

entité

Page 140: UML

140

Diagramme de séquence, Représentation de plusieurs

scénarios

adhérent Un paiement Un appel cotisation

paiement

cotisation

Qualité du montant

Accusé réception

Avis solde

[Si montant OK]

[Else]

Alt

Par un cadre d’interaction

Page 141: UML

141

Diagramme de séquence, Représentation de plusieurs

scénariosExercice

le service commercial doit la contrôlerSi elle n’est pas correcte, l’annulerSi elle est correcte,Faire le bon de livraisonFaire la factureDans tous les cas mémoriser son état

A la réception de la commande:

Found message=la source du message est

indéterminée

Recevoir la commande

service commercial

Page 142: UML
Page 143: UML

Recevoir la commande

service commercial

Commande Livraison Facture

Contrôler

Refuser

Livrer

Facturer

Enregistrer l’état

Alt[Commande pas OK]

[else]

Page 144: UML

15 octobre

Jardinier Plantoir Sol Bulbe

Prendre

Creuser

[Pour chaque bulbe]

Placer

Ranger

Diagramme de séquence, Représentation d’une itération

Par un cadre d’interaction

loop

Page 145: UML

145

Diagramme de séquence, Représentation d’une itération

A la réception de la commande:le service commercial doit la contrôlerIl saisit la commandeIl contrôle que chaque article est en stockSinon, il annule l’articleSi la commande est OKIl fait la facture

Page 146: UML
Page 147: UML

Recevoir la commande

service commercial

Commande Article Facture

Saisir

Annuler l’article

En stock?

Facturer [Commande OK]

loop

[Article pas OK]

[Pour chaque article]

Page 148: UML

148

Modélisation de la dynamique Diagramme de communication

Le diagramme de communication est une autre

forme de diagramme d’interaction

: Adhérent

:Paiement

: Appel cotisation

2:cotisation

1. paiement

3.Accusé de réception [montant OK]

3.Avis de solde [écart]

Page 149: UML

149

Modélisation de la dynamique Diagramme de

communication

                                  

adhérentnom adhérent

activiténom activitémontant

* ***

association

Correspondance avec le diagramme de classe

séquence

: Adhérent

:Paiement

: Appel cotisation

2:cotisation

1. paiement

3.Accusé de réception [montant OK]

3.Avis de solde [écart]

Flux de contrôleMessage

Lien

Page 150: UML

150

Modélisation de la dynamique Diagramme de

communication

Un lien est une connexion entre objets, qui indique

qu’une forme de navigation et de visibilité entre eux est possible, c’est une intance

d’association

: Adhérent

:Paiement

: Appel cotisation

2:cotisation

1. paiement

3.Accusé de réception [montant OK]

3.Avis de solde [écart]

Flux de contrôleMessage

Lien

Page 151: UML

151

Paiement

: Client

Client théatre : Activité

: Spectacle

: Représentation

: Place

1: Demande réservation

2: Contrôle client

3: [client pas OK]

4: Contrôle activité

5: [activité pas OK]

6:

7:

8: 9:

10: 11:

12: 13: 14: 15: [Réservation OK]

Modélisation de la dynamique Diagramme de communication

seqenceReprésentation proche du diagramme de

classe

Page 152: UML

152

Diagrammes d’interaction et démarche

Diagramme de séquence Interactions entre les acteurs et le système (Analyse

des besoins) Interactions entre les objets logiciels (Analyse du

problème et conception) Diagramme de communication

Interaction entre les acteurs (Analyse des besoins) Diagramme de flux (Analyse des besoins) Interaction entre les objets logiciels

(Analyse du problème et conception) (surtout s’il n’y a pas de chronologie ou si on veut montrer les liens entre les objets)

classe système

Page 153: UML

153

Modélisation de la dynamique Diagramme d’activité

Permet de représenter une logique procédurale, un processus métier, un workflowOn peut représenter le déroulement des actions dans des chemins alternatifs ou parallèles

Page 154: UML

154

Modélisation de la dynamique Diagramme d’activité

Enregistrer la commande

Contrôler Commande

Sortir article

Expédier Commande

Déroulement séquentiel des

actions d’’un processus

métier

Nœud initial

Action

Nœud final

Page 155: UML

155

Diagramme d’activitéPartitions

Client Ventes Entrepôt

Enregistrer la commande

Contrôler Commande

Sortir article

Expédier Commande

WorkflowLes partitions

représentent les ressources qui réalisent les

actions

Ressource

Page 156: UML

156

Diagramme d’activitéDécisions

Commander

Sortir article

Client Ventes Entrepôt

[OK]

[Pas OK]Annuler

la commande

Contrôler Commande

Sortir article

Expédier Commande

Chemins alternatifs

Enregistrer état Commande

OU

OU

Pour que l’action Enregistrer état commande s’exécute, il suffit q’une des actions précédentes soit terminée

Page 157: UML

157

ExerciceLorsque le réveil sonne, prendre le petit déjeuner puis préparer le cartable (sauf le mercredi) puis, dans tous les cas, se laver

Modélisation de la dynamique Diagramme d’activité

Page 158: UML
Page 159: UML

Sonnerie réveil

Déjeuner

mercredi?

Préparer cartable

Se laver

non

oui

Page 160: UML

160

Les diagrammes d’activitéBarre de synchronisation

Préparer Commande

Ventes Entrepôt

Contrôler Commande

[OK]

[Pas OK]

Commande expédiée

administration

Préparer bon livraison

Contrôler Commande

Préparer bonlivraison

Barre de synchronisation(fork)

Barre de synchronisation(joint)

Chemins parallèles

ET

Page 161: UML

161

Les diagrammes d’activitéBarre de synchronisation

Explication du schéma précédent Si le contrôle de la commande est satisfaisant (OK) on peut faire le

bon de livraison et préparer la commande, dans n’importe quel ordre successivement ou parallèlement

Pour expédier la commande il faut que sa préparation soit terminée et que le bon de livraison soit fait

Chemins parallèles

Page 162: UML

162

Exercice lorsque le réveil sonne Lorsque le réveil sonne, l’homme commence par

prendre sa douche. Au sortir de la douche, il réveille sa femme et effectue

sa gymnastique Ensuite, il prépare le petit déjeuner pour sa famille, et

enfin prépare la voiture pour le départ  La femme, à son réveil, fait sa toilette matinale, puis

prépare les cartables des enfants – sauf le mercredi – et enfin prend son petit déjeuner avec les enfants.

Tout le monde se retrouve ensuite en voiture l’homme fait l’inspection finale et la mise en route.

Page 163: UML
Page 164: UML

Sonnerie réveil

Douche

Gym

Préparation petit déjeuner

Préparation voiture

Inspection et mise en route

Famille en route

Toilette

Préparation cartable

Petit déjeuner

Mercredi?

[ Non ] [ Oui ]

FemmeHomme

Exercice

Page 165: UML

165

Les diagrammes d’activitéDécomposition d’une action

Les actions peuvent être décomposées en sous-activités.On peut ainsi décrire un processus globalement puis l’affiner progressivement

Page 166: UML

Réception commande

Exécution commande Envoi facture

Traitement paiement

Livrer

Clore l'ordre

Le rateau signifie que l’action est

décomposable en sous activités

Page 167: UML

Livrer

Livraison normale

Livraison urgente

Livraison normale

Livraison urgente

Exécution commande Clore

l'ordre

Page 168: UML

ExerciceDétailler l’exercice: « lorsque le

réveil sonne »Pour préparer le petit déjeuner l’homme sort les

ingrédientsSi le café manque, il prend du thé.Il prépare soit le thé soit le caféIl dresse la table

Page 169: UML

Préparation petit déjeuner

Sortir ingrédients

Préparer café

Préparer thé

Dresser la table

Sortir ingrédients

Préparer café

Préparer thé

Dresser la table

Gym

Homme en forme

Petit déjeuner

Préparation voiture

Page 170: UML

170

Les diagrammes d’activitéInvocation d’une méthodeDans une action, on peut invoquer une méthode

Livrer

Livraison normale

Livraison urgente

Livraison normale

Livraison urgente

Exécution commande

Clore l'ordreOrdre::SuppressOrder

Nom de la

classe

Nom de la

méthode

Page 171: UML

171

Les diagrammes d’activitéSignaux

Signal temporelUne activité écoute ces signaux en permanence, ils constituent un événement d’un processus extérieur, le diagramme définit comment l’activité réagit à ces événements

Page 172: UML

Faire les bagages

Partir pour l'aéroport

Taxi arrive

2 heures

avant le vol

Je ne pars à l’aéroport que si mes bagages sont faits et si le taxi est arrivéL’action Partir pour l’aéroport accepte le signal Taxi arrive

Une action peut aussi émettre des signaux

Signal tempor

el

Signal accepté

Page 173: UML

Réserver l’itinéraire

Retenir itinéraire

Annuler itinéraire

Itinéraire confirmé

Envoyer l’itinéraire

Signal émis

Signal accept

é

Attendre 48 heures

Page 174: UML

ExerciceUne commande Fournisseur est rédigée puis envoyéeA la réception de l’accusé de réception, la commande est validée.Si 2 semaines après l’envoi de la commande, l’accusé de réception du fournisseur n’est toujours pas parvenu, la commande est annulée

Page 175: UML
Page 176: UML

Rédiger commande

Commande validée

Annuler commande

Accusé de réception

Envoyer commande

Attendre 2 semaines

Page 177: UML

177

Région d’expansionUne région d’expansion délimite dans un diagramme d’activité une zone ou les actions s’exécutent une fois pour chaque élément d’une collection

Page 178: UML

Choisir un thème

Ecrire l’article

Relirel’article

Publierla revue

« concurrent »

On écrit n article, chacun est relu. Les différents articles peuvent être écrits en même temps

Région d’expansion

Page 179: UML

Exercice

Contrôle d’une commande:On contrôle le clientOn contrôle l’existence et la présence en stock de chaque articleSi tout est correct, on établit une factureSinon on refuse la commande

Page 180: UML

Contrôle client

Existence de l’article

Contrôle stockde l’article

Etablirla facture

Page 181: UML

181

Modélisation de la dynamique Les diagrammes d’activité

Activités et flot d’objets Dans un diagramme d’activité, il est

possible de faire apparaître clairement les objets créés, détruits ou modifiés, par une activité. .

Les objets modifiés sont indiqués par des flèches en pointillé.

CommanderEtablir Devis D : Devis[établi]

Page 182: UML

182

Modélisation de la dynamique Les diagrammes d’activitéActivités et flots d’objets

Préparer commande

Client Ventes Entrepôt

[OK]

[Pas OK]

Commande annulée

Commande expédiée

Décision commande[préparée]commande[préparée]

commande[contrôlée]

Enregistrer la commande

Contrôler Commande

Expédier Commande

Page 183: UML

184

Modélisation de la dynamique Diagramme État-

Transition Concepts

État Un objet passe par différents états au cours de son

existence

Un état est une situation au cours de la vie d’un objet pendant la quelle il satisfait certaines conditions, exécute certaines activités ou répond à certains événements

L’état d’un objet est matérialisé par la valeur de certains de ses attributs et par ses liens

Page 184: UML

185

Modélisation de la dynamique Diagramme État-

Transition ConceptsTransitionsUne transition représente le passage d’un état à un autre

ÉvénementsUn événement est un stimulus qui peut déclencher une transition d’état

Page 185: UML

186

Modélisation de la dynamique Diagramme état-

transition

Le diagramme d’états-transitions représente: Les différents états possibles d’un objet Les opérations qui peuvent être exécutées

dans cet état Les événements qui provoquent des

transitions d’un état à un autre.

Page 186: UML

Diagramme état-transition

commande

commande valide entry: mise en attente exit/^: bon de préparation

commande invalide

commande servie

commande en enregistrement entry: contrôle client

do: contrôle articleUrgence / prioritéexit: décision

prise en compte commande

[ non ] [oui ]

[ stock OK ] / ordre de servir

Etat initial

Etat final

Commande refusée

Evénement déclencheur

condition

Opération courte pendant la transition

Opération courte pendant l’état

Opération longueDurée de l’état

Événement qui ne change pas l’état

Activité

Envoi d’événement

Page 187: UML

188

Modélisation de la dynamique Diagramme état-

transition

Plusieurs types d’opérations:  Une opération longue ou activité

se prolonge autant que dure l’état est précédée de la mention  do:

Opérations courtes ou actions pratiquement sans durée: 

Page 188: UML

189

Modélisation de la dynamique Diagramme état-

transition

Opérations courtes ou actions, pratiquement sans durée:

Précédées de entry lorsqu’elles s’exécutent au moment ou l’objet entre dans le nouvel état 

Précédées de exit lorsqu’elles s’exécutent au moment ou l’objet sort d’un état

Précédées de: / lorsqu’elles sont déclenchées par un événement

 

Page 189: UML

190

Modélisation de la dynamique Diagramme état-

transition Conditions

Les conditions sont encadrées par des crochets

Une condition peut avoir une certaine durée alors qu’un événement est instantané

Condition:Je sors si le temps est beauÉvénement: s’il se met à pleuvoir, je rentre

Page 190: UML

191

Modélisation de la dynamique Diagramme état-

transition

Monter le diagramme d’états-transitions représentant les différents états que peut prendre, au sens de l’état civil, la classe INDIVIDU

Exercice

Page 191: UML
Page 192: UML

Exercice

CÉLIBATAIRE

Naissance

MARIÉ DIVORCÉ

VEUF

DÉCÉDÉ

Décès individu

Contrat de mariage signé

Jugement de divorce

Contrat de mariage signé

Contrat de mariage signé

Décès conjoint

PACSÉ

Contrat PACS signé

Contrat PACSE signé

Contrat PACSE signé

iDécès individu

Rupture contrat

Page 193: UML

194

Modélisation de la dynamique Diagramme état-transition Sous- état  

Un sous- état est un état emboîté dans un autre état.

Un état composé peut contenir soit des sous-états concurrents, soit des sous-états séquentiels

Page 194: UML

195

Modélisation de la dynamique Diagramme état-transition Sous-état

Sous-état séquentielPlante en croissance

Plante non mure

Plante à maturité

on Disponibilité[ temps favorable ]: Récolter

do: Arroser

Plante récoltée

Plante non mure

Plante à maturité

Disponibilité[ temps favorable ] / Récolter

Page 195: UML

196

Modélisation de la dynamique Diagramme état-transition Sous-état

Plante semée

Plante en hibernation

Plante en croissance

Plante récoltée

Bonne pratique

On fait d’abord un diagramme global, pour avoir une vision d’ensemble, puis on affine en recherchant les états emboîtés.

Page 196: UML

197

Modélisation de la dynamiqueDiagramme d’états concurrents et synchronisation

Préparation

Emission

do: Distribuer billetsexit: billets pris

do: éjecter carteexit: carte prise

Prêt à initialiserdo: Distribuer billetsexit: billets pris

do: éjecter carteexit: carte prise

Ce distributeur de billets fournit les billets ou la carte dans un ordre indifférent

Fork

joint

Page 197: UML

198

La modélisation de l’implémentation Les Composants

Les composants sont des éléments physiques comme les exécutables, les composants Com, les EJB, les bibliothèques, les tables, les fichiers et les documents

Un composant peut réaliser une interface définie dans le modèle logique

Généralement, les services d’un composant sont disponibles uniquement à travers leur interface

Page 198: UML

199

La modélisation de l’implémentation Les Composants, organisation

On peut regrouper les composants en paquetages

Les composants sont des éléments de la gestion de configuration.

On détermine les composants à partir des cas d’utilisation et des postes de travail. Les composants sont distribués sur les postes de travail

Page 199: UML

200

La modélisation de l’implémentation

Les Composants

La distribution des composants permet un découplage entre les applications et le métier et facilite

La réutilisation La maintenance La flexibilité

Page 200: UML

201

La modélisation de l’implémentation ……………….…... Développement par composants

On créé un système à partir de composants,

On le fait évoluer En ajoutant de nouveaux composants En remplaçant les anciensSans avoir à reconstruire le systèmegrâce aux interfaces

Page 201: UML

202

La modélisation de l’implémentation

Diagramme de composants

Servir

disponibilité

Le composant Servir contient les classes Article et Entrepôt

Livraison

interfaces

Article

+contrôle stock()+contrôle stock()+préparation()

<<Interface>>disponibilité

Entrepôt

+préparation()

livraison

Page 202: UML

203

Modélisation du déploiement

Nœud Un nœud représente une ressource de

calcul Un composant peut être déployé par un

ou plusieurs nœud

Page 203: UML

Diagramme de déploiement

Client 1

Serveur

Client 2

Livraison

Servir« support »

« support »

« support »

Page 204: UML
Page 205: UML

206

Description des processusDe l’analyse des besoins à la conception

: client : sol : plante : commande : client client : cotiser

Acheter

: végétal : client

systèsystèmeeffectuez votre choix

type de végétal

pourquoi?(de l'ombre?des fruits?des fleurs?)

des arbres

réponse

nature du sol

ensoleillement

Planche de fruits

idem

idem

idem

des fruits

choix de fruit

planche de fleurs

choix de fleursdes fleurs

idem

planche de silhouettes

de l'ombre

choix de silhouette

liste de choix possibles

idem

idem

Diagramme de séquence système

Diagramme de séquence objet

logiciel

Le diagramme de séquence

retour

Page 206: UML

Représentation du dialogue entre l’acteur et le système.On représente les flux de données•Quelles données sont saisies•Quelles données sont affichées.•Eventuellement les traitements importants effectués par le système.

: clientsystèsystème

effectuez votre choix

type de végétal

pourquoi?(de l'ombre?des fruits?des fleurs?)

des arbres

réponse

nature du sol

ensoleillement

Planche de fruits

idem

idem

idem

des fruits

choix de fruit

planche de fleurs

choix de fleursdes fleurs

idem

planche de silhouettes

de l'ombre

choix de silhouette

liste de choix possibles

idem

idem

Cas d’utilisation

Scénario

DiagrammeSéquence

1 1..*1

1..*0..* 0..1

Diagramme séquence système

Diagr. séquence objets logiciel

Opération système

Page 207: UML

Les opérations système

Opérations système

:système: RespFormation

initialiserFormation (titre, durée, prix)

creerFormation( )

creerContenu( )

creerContenu( audience, prerequis, objectifs, outils, plan )

creerSession(date debut, lieu)

creerSession()

gestion Catalogue

Exemple

ConseilUn diagramme de séquence par fonction (Créer, Modifier, Supprimer, Editer, ../)

: RespFormation

Page 208: UML

209

Identifier les opérations système

creerFormation()creerContenu()creerSession() creerFiliere()modifierFormation()modifierContenu()modifierSession()modifierFiliere()…..

:Système:système

: Utilisateur

initialiserFormation (titre, durée, prix)

creerFormation( )

creerContenu( )

creerContenu( audience, prerequis, objectifs, outils, plan )

creerSession(date debut, lieu)

creerSession

retour

Page 209: UML

210

Page 210: UML

Description des données

Référence matière,Adresse de l'élève,Nombre d'heures,Nom de la classe,Nom de l'élève,Nom du professeur,Valeur de la note,Numéro de salle,Prénom de l'élève

Règles de gestion A chaque classe est attribuée

une seule salle de cour Chaque matière est

enseignée par un seul professeur

Pour chaque classe et chaque matière est défini un nombre fixe d'heures de cours

A chaque élève est attribuée une seule note par matière

L'établissement scolaire gère les emplois du temps des professeurs, des élèves et le contrôle des connaissances.

retour

Page 211: UML

212

Page 212: UML

Classe/MatièreNombreDheures

ElèvenomElèveprénom élèveadresseElève

ClassenomClassenuméroSalle1*

MatièreréférenceMatièrenomProfesseur

1..*

*

*

0..*

Elève/MatièreValeurNote

1*

1..*

* 0..*

*

appartient

Page 213: UML

214