Unified Modeling Language 2 Plan du cours 1. Caractéristiques de lobjet Caractéristiques de lobjet...

Preview:

Citation preview

Unified Modeling Language

2

Plan du cours

1. Caractéristiques de l’objet1. Modes de développement

2. 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

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

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?

5

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

RéutilisationDDiminution 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?

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

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

8

Caractéristiques de l ’objet

Il 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

9

Caractéristiques de l ’objet

Un 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érence

Date cde

Ref devis

Créer

Modifier Ref devis

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?

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

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

14

Les activités du projet

Elles sont identiques quelque soit le modèle:

Cascade, incrémental….

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

16

Activités du projet

Chaque 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

est

ion

de p

roje

t

17

Activités du projetDocuments

fondamentaux

Gest

ion

de p

roje

t

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

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

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

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

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 acteurs

Le 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

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

23

Les activités du projet Analyse du problème

Entités

Commande

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

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

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

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

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

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

30

Généralités sur UML

Origine Standard Objectifs Outils Contenu.

31

Généralités sur UMLOrigine

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

Origine

Standard

Objectifs

Contenu

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

Origine

Standard

Objectifs

Contenu

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.

 

Origine

Standard

Objectifs

Contenu

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

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

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

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

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

Origine

Standard

Objectifs

Contenu

Métier

Acteur

PaquetageClasse

Gestionarticles

Client

raisonSociale

calculerRemise

Composant

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

40

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

Exemple: Diagramme de classe

ClientDétaillant ClientGrossiste

CommandeClient

facturer()

11..* 11..*

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

textuelle

Client«Entité »

Client

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

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

commerciale

Gestion de production

Bureau d’étude

Direction

Gestion financière

Étuded’opportunité

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

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

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

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)

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

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

51

Diagrammes:Cas d’utilisation. Acteurs

WantedChef des ventes

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.

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

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

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)

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

57

Diagramme de cas d’utilisation

Relations

Les 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

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

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 fois

La relation entre les 2 cas d’utilisation est exprimée dans le texte de Gestion des forces de vente

Include est un stéréotype d’un autre élément: la dépendance

« include  »

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

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

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.

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 » »

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èglements

Dans 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

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

67

Cas d’utilisationTraiter le passage en

caisse

exemple 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

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

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)

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

71

Exercice

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

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 »

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

75

Modélisation logique structurelle

Diagramme de classe

Architecturedu système d’informationdu système informatique

ObjetsClassesPaquetages

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.  

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 

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

79

Modélisation structurelle Les objets

3 représentations possibles d’un objet:

Valérie

Date 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

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

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.

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

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

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

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

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

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

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

 

  

89

Modélisation structurelle La visibilité

 

Client

— nom— adressePrincipale

— enregistrer()

# facturer()

+ consulter nom()

90

Modélisation structurelle Les relations

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

91

Passe >

Modélisation structurelle L’association

Il existe des liens entre les objets

Exemple:

Les commandes sont liées aux clients

Commande

dateCommande

Client

raisonSociale 1 *

 

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

93

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

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

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

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

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

97

Modélisation structurelle Associations qualifiées

Exercice

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

ChambreHôtelN°Chambre

11

Autre exemple

PersonneSociétéMatricule

1*

Emploi

Salaire

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

101

Modélisation structurelle Association réflexives

Un objet d’une classe peut être associé à un autre objet de la même classe

Personnel

1

chef

1

collaborateur

1..*

102

Modélisation structurelle Associations n-aires

Des associations peuvent relier plus de 2 classes

Joueur

Record

Équipe Année

Gain

Un record est identifié par une équipe, un joueur,

une année

N° place

Nom catégorie

Prix place

Date de représentation

Nom spectacle

Nom du metteur en scène

Nom acteur principal

Nom agence

Adresse de l’agence

N° de téléphone agence

N° billet

Nom du pompier de service

Heure de représentation

Date prise réservation

Exercice : Gestion des représentations d’un théâtre

Construire un diagramme de classes à partir des données suivantes :

Suite

 

•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 

•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

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..*

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

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

110

Exercice

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

112

Exercice

Patient ConsultationDate

0..*1Nom

MaladieNom

0..*

0..*Atteint

de

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

114

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

Fournisseur

régler()

Tiers

raisonSociale

Client

facturer()

Banque

Code

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

115

Modélisation structurelle Généralisation et

spécialisation

Exemple:

Tiers

raisonSociale

Client

facturer()

Banque

Code

ClientNat ClientExport

TypeCrédit

Fournisseur

régler()

Devise

116

Modélisation structurelle Généralisation et

spécialisation

ExerciceUne société d’archéologie vous demande de faire son diagramme de classe

Elle é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.

Objet Nation

Code

Bâtiment Musée

ParticulierStatue Bijou

ObjetMobile

Site

Exercice

0..1 * 1

* 0..1

0..1*

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}

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

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

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

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…

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

125

Modélisation structurelle Représentation de l’architecture

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

MétierCommande

Gestionarticles

paquetage

composant

classe

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

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

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

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 

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.

131

Modélisation de la dynamique Diagramme de

séquence

Acteur

: 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

132

Modélisation de la dynamique Diagramme de

séquence

Un 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

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

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.

135

Modélisation de la dynamique Diagramme de

séquence

ExerciceFaire le diagramme de séquence correspondant à cet

extrait du cas d’utilisation Règlement cotisations

Suite à 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?

137

Modélisation de la dynamique Diagramme de

séquence

unPaiement : Adhérent

unAppel Cotisation

paiementcotisation

accuséRéception

: 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

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é

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

141

Diagramme de séquence, Représentation de plusieurs

scénarios

Exercice

le service commercial doit la contrôlerSi elle n’est pas correcte, l’annulerSi elle est correcte,

Faire le bon de livraisonFaire la facture

Dans 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

Recevoir la commande

service commercial

Commande Livraison Facture

Contrôler

Refuser

Livrer

Facturer

Enregistrer l’état

Alt[Commande pas OK]

[else]

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

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

Recevoir la commande

service commercial

Commande Article Facture

Saisir

Annuler l’article

En stock?

Facturer [Commande OK]

loop

[Article pas OK]

[Pour chaque article]

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 O

K]

3.Avis de solde [écart]

149

Modélisation de la dynamique Diagramme de

communication

                                  

adhérent

nom 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 O

K]

3.Avis de solde [écart]

Flux de contrôle

Message

Lien

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 O

K]

3.Avis de solde [écart]

Flux de contrôle

Message

Lien

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

seqence

Représentation proche du diagramme de classe

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

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

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

155

Diagramme d’activitéPartitions

Client Ventes Entrepôt

Enregistrer

la commande

Contrôler Commande

Sortir article

Expédier Commande

Workflow

Les partitions représentent les ressources qui réalisent les

actions

Ressource

156

Diagramme d’activitéDécisions

Commander

Sortir article

Client Ventes Entrepôt

[OK]

[Pas OK]

Annulerla 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

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é

Sonnerie réveil

Déjeuner

mercredi?

Préparer cartable

Se laver

non

oui

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

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

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.

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

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

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

Livrer

Livraison normale

Livraison urgente

Livraison normale

Livraison urgente

Exécution commande

Clore l'ordre

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

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

170

Les diagrammes d’activitéInvocation d’une méthode

Dans une action, on peut invoquer une méthode

Livrer

Livraison normale

Livraison urgente

Livraison normale

Livraison urgente

Exécution commande

Clore l'ordre

Ordre::SuppressOrder

Nom de la

classe

Nom de la

méthode

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

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é

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

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

Rédiger commande

Commande validée

Annuler commande

Accusé de réception

Envoyer commande

Attendre 2 semaines

177

Région d’expansion

Une 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

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

Exercice

Contrôle d’une commande:

On contrôle le client

On contrôle l’existence et la présence en stock de chaque article

Si tout est correct, on établit une facture

Sinon on refuse la commande

Contrôle client

Existence de l’article

Contrôle stockde l’article

Etablirla facture

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]

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écisioncommande[préparée]commande[préparée]

commande[contrôlée]

Enregistrer

la commande

Contrôler Commande

Expédier Commande

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

185

Modélisation de la dynamique Diagramme État-

Transition Concepts

TransitionsUne 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

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.

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

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:

 

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

 

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

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

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

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

195

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

Sous-état séquentiel

Plante 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

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.

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

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

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

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é

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 anciens

Sans avoir à reconstruire le systèmegrâce aux interfaces

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

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

Diagramme de déploiement

Client 1

Serveur

Client 2

Livraison

Servir« support »

« support 

»« support »

206

Description des processusDe l’analyse des besoins à la conception

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

Acheter

: végétal : client

systè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 fleurs

des 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

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 fleurs

des 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

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

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

210

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

212

Classe/Matière

NombreDheures

Elève

nomElèveprénom élèveadresseElève

Classe

nomClassenuméroSalle

1*

Matière

référenceMatièrenomProfesseur

1..*

*

*

0..*

Elève/Matière

ValeurNote

1*

1..*

* 0..*

*

appartient

214

Recommended