Unified Modeling Language
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
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?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?
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 ’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
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
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 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
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
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 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
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é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
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
OrigineStandardObjectifsContenu
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
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
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
OrigineStandardObjectifsContenu
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
textuelleClient
«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
commercialeGestion 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
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
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 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 »
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è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
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
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
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 classeArchitecture
du 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é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
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
ClientraisonSociale 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..nde 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
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
ChambreHôtel N°Chambre1
1
Autre exemple
PersonneSociété Matricule1*
EmploiSalaire
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éflexivesUn 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
GainUn record est identifié par
une équipe, un joueur, une année
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
•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()
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
115
Modélisation structurelle Généralisation et
spécialisationExemple:
TiersraisonSociale
Client
facturer()
Banque
Code
ClientNat ClientExportTypeCrédit
Fournisseur
régler()
Devise
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.
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étier CommandeGestionarticles
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é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
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
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é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?
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é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
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 OK]
3.Avis de solde [écart]
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
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
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
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
WorkflowLes 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]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
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é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
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’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
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 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
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écision commande[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 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
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é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
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 anciensSans 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è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
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
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è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
214
Top Related