SlideShare une entreprise Scribd logo
C Crochepeyre UML 1
Éléments d’UML
(Unified Modeling Language)
C Crochepeyre UML 2
PLAN
1. Introduction
2. Préliminaires
3. Les règles UML
4. Les diagrammes UML
5. Outils de modélisation UML
6. L’étude préalable avec UML
7. Conclusion
C Crochepeyre UML 3
1- Introduction
• UML: langage de modélisation
• Méta-modèle UML
– définit la structure des modèles UML
– permet la description du modèle concerné par l’application.
– une notation UML avec des éléments de la notation extensibles
à condition d’en définir la sémantique
• Construction de modèles objets ou autres
• Utilisation de la notation graphique
– une solution visuelle
– limite les ambiguïtés
– indépendance par rapport aux langages
C Crochepeyre UML 4
Exemple
-> métamodèle -> Classe, Attribut, Opération
-> modèle -> Fournisseur
Identification, nomFournisseur, adresseFournisseur
commander()
-> objet -> « Dupont »
« 40222 », « ChipsAndChips », « 13 rue Parmentier »
« commander(12005A,13) »
C Crochepeyre UML 5
2- Préliminaires
• Les origines d’UML
• La démarche de conception et d’analyse
• UP: Processus unifié
C Crochepeyre UML 6
Origines d’UML
• Issu en 1996 de la pratique industrielle et de la modélisation des systèmes
logiciels.
• Unification des méthodes objets de J-B-R
– Ivar Jacobson (OOSE)
– Grady Booch (BOOCH'93) ,
– James Rumbaugh (OMT) et
• Normalisation OMG en 1997. En 2007: UML 2.1.2
• Méthodes
– Fonctionnelles : années 60
Inspirée de l’architecture des ordinateurs
études des fonctions en séparant les données du code.
– Objets : années 80
Modélisation objet avec composition et décomposition
des objets ayant des propriétés et des comportements
– Méthodes qui couvrent le cycle de vie d’un logiciel.
• UML : de nouvelles techniques sans rejeter les méthodes existantes
C Crochepeyre UML 7
Démarche de conception et d’analyse
• Analyse du pb: processus unifié UP
– guidée par les besoins des utilisateurs du système
– centrée sur l'architecture logicielle
– itérative et incrémentale
• Utilisation d’un langage de modélisation UML
– permet d'améliorer progressivement les méthodes de travail,
– préserve les modes de fonctionnement,
– boîte à outils
• L’itération peut se faire à toutes les phases
– étude préalable
– construction
– tests et mise au point
C Crochepeyre UML 8
Processus unifié
• Langage de modélisation UML + Processus unifié UP
– UP: Processus de développement proposé par J-B-R
– Processus:
• Recensement des cas d’utilisation
• Construction de l’architecture du système dès le début
avec
• Principe d’itérations et incrémentations
• Évaluation des risques à toutes les étapes
« on part des cas d’utilisations connus, on construit un
premier modèle d’architecture; on complète et affine par
itérations et incrémentations et on évalue par étape les
risques pour faire les meilleurs choix »
C Crochepeyre UML 9
• Les utilisateurs décrivent les cas d’utilisation
– Recensement des besoins
• Description des composants ou objets
• Description des modes opératoires
– Recensement des contraintes
– Interactions entre les besoins et les contraintes
– Construction d’une architecture du système en adéquation
• Progression de la construction en complétant et affinant
l’étude
– Ajouts, compléments, détails des cas d’utilisation
– Description plus détaillée des composants
– Ajustement de l’architecture
• Utilisation de maquettes et prototypes
C Crochepeyre UML 10
• Evaluation permanente du système en terme de bon
choix : le bon produit, une bonne construction, le bon
prix, les bonnes performances….
– Évolution
– Amélioration
– Validation ou rejet des solutions
– Objectif: minimiser les risques au fur et à mesure de la spirale de
développement
C Crochepeyre UML 11
• Phases du processus UP:
– Étude d’opportunité
• Mesures des risques
• Définitions des limites
• Construction d’une maquette des premiers cas d’utilisation
• Décision
– Réalisation
• Première version
• Proposition d’architecture, développements, tests
• Rentabilité: décision
• Puis processus incrémental et itératif jusqu’au produit final
– Mise en exploitation
C Crochepeyre UML 12
• Les activités dans les phases:
– Expression des besoins
– Analyse
– Conception
– Implémentation
– Tests
« les activités sont celles des méthodes connues mais ces activités
se déroulent selon les phases UP »
RUP: Rational Unified Process.
Version UP de la société Rational Software
C Crochepeyre UML 13
• Développement orienté objet
• UML langage de modélisation
– Règles d’écriture et de représentation graphiques normalisées
– Neuf diagrammes (UML 2.1.2: 13 diagrammes )
• Méta-modèle des concepts et notations des diagrammes
– Construire les outils de modélisation selon les règles UML et
adaptés à l’étude
– Règles
• Stéréotypes;
• Notes;
• Contraintes;
• règles d’écriture des noms et expressions: nom, étiquette
valeur d’un composant;
• Paquetage.
3- les règles UML
C Crochepeyre UML 14
• Stéréotypes
– Adaptation du modèle aux éléments de l’application
– Nouveau type d’élément défini depuis un type du modèle
– Application principale aux classes
– Distinction d’utilisation entre guillemets
Ex: classe Client stéréotypée « clientA »
• Notes
– Commentaires d’un élément UML
Client
« clientA » Pour tous
stéréotype commentaire
C Crochepeyre UML 15
• Contrainte
– Note sémantique pour un élément
– Écriture entre { }
– Aussi langage OCL Objet Constraint Language d’UML
• Écriture des noms et des expressions
– Nom: identifiant d’un élément, chaîne de caractères
– Expression: valeur
Elève Cours
assister
{un élève doit
être Inscrit}
NomEleve
Cycle.UE
After (7 minutes)
Date = 7 juillet 2005
contrainte
noms
expressions
C Crochepeyre UML 16
• Paquetage
– Décomposition du système en paquetages
– Ensemble logique d’éléments du modèle
– Nommage du paquetage
– Relations entre paquetages
Elèves U.E Profs
C Crochepeyre UML 17
4- Les principaux diagrammes UML
• Diagramme des cas d’utilisation
– Besoins des utilisateurs
• Diagramme de classes
– Description statique des données et des traitements
• Diagrammes d’objets
– Instances des classes
• Diagramme états-transitions
– États des objets selon les événements
• Diagramme d’activités
– Vue des enchaînements des activités d’un cas d’utilisation ou
d’une opération
C Crochepeyre UML 18
• Diagramme de séquence
– Scénario d’un cas d’utilisation : chronologie des opérations
• Diagramme de collaboration
– Scénario d’un cas d’utilisation: activités des objets et des
messages échangés
• Diagramme des composants
– Représentation des composants logiciels d’un système
• Diagramme de déploiement
– Description de l’architecture technique du système
C Crochepeyre UML 19
4.1. Diagramme de classe et d’objets
– les objets sont identifiés dans le système et portent un nom
– Les classes sont créées en regroupant les objets ayant les
mêmes propriétés, mêmes comportements
– Un objet est une instance d’une classe
– Représentation UML d’une classe
Nom classe
Attributs
Opérations
autres
Elève
N°Elève: entier
NomElève: car
Adresse: car
Inscrire()
Elève
C Crochepeyre UML 20
• Représentation UML d’un objet
Nom objet : classe
Valeur attrib 1
Valeur attrib 2
Valeur attrib 3
Elev2005001: Elève
2005001
durand
1 rue de Paris
Elev2005001
2005001
durand
1 rue de Paris
: Elève
2005001
durand
1 rue de Paris
C Crochepeyre UML 21
• Association entre classes
– Liens entre les instances
– Rôle de l’association et son sens
– Cardinalité des instances associées
Nom classe X Nom classe Y
Nom association
X Y
*
1..2
A une instance X correspond 1 à 2 instances de Y
A une instance Y correspond 0 à n instances de X
C Crochepeyre UML 22
• Agrégation
– Association entre une classe de type « ensemble » avec
plusieurs classes de type « éléments »
Salle
Chaises tableau équipement
1
* 1..2 *
C Crochepeyre UML 23
• Composition
– Agrégation avec une contrainte de durée de vie
– La suppression de la classe « composé » implique la
suppression des classes « composant »
élève
N° élève liste UE dossier
1
1 1..* 1
élève
N° éléve
liste UE
dossier
C Crochepeyre UML 24
• Qualification d’une association
– Sémantique d’une association entre deux classes
– Restriction d’une association
Notes UE élève
N° élève
Nomélève
contenir
« La liste des notes d’une UE contient le n° des élèves et leur nom »
C Crochepeyre UML 25
• Généralisation et héritage simple
– Généralisation: création d’une superclasse à partir de classes
– Héritage: création de sous classes à partir d’une classe
élève
élève FOD
élève HTT
héritage
généralisation
C Crochepeyre UML 26
• Héritage avec recouvrement
– Chevauchement : deux sous classes avec des instances
identiques
– Disjoint : les instances d’une sous classe ne peuvent être dans
une autre sous classe
– Complète : la généralisation ne peut être étendue
– Incomplète : la généralisation peut être étendue
élève
élève FOD
élève HTT {chevauchement}
C Crochepeyre UML 27
• Extension et restriction de classe
– Extension: ajout de propriétés dans une sous classe
– Restriction: masquage de propriétés dans une sous classe
élève
n°élève
nom
adresse
Élève salarié
n°élève
nom
adresse
entreprise
Élève prospect
….
nom
adresse
extension restriction
C Crochepeyre UML 28
• Héritage multiple
– Une classe hérite de deux classes parentes
élève
élève externe élève interne
salarié boursier employé
C Crochepeyre UML 29
4.2. Diagramme des cas d’utilisation
– Description de l’interaction entre l’utilisateur et le système
– Recensement des besoins des utilisateurs
– Descriptions textuelles + diagrammes de tous les cas d’utilisation
inscription
inscrire
élève
Cas d’un élève qui s’inscrit
régie
scolarité
élève
système inscription
Plusieurs acteurs
Plusieurs cas
C Crochepeyre UML 30
• Description textuelle
– Transcription textuelle de la description des cas d’utilisation
– Compléments aux diagrammes
– Avantages:
• La rédaction permet de corriger le diagramme
• Le diagramme oblige à rédiger chaque cas
cas
résumé
acteur primaire
acteur secondaire
Inscription d’un élève
Procédure d’inscription d’un élève jusqu’à la
délivrance de sa carte
L’élève
La scolarité, la régie
pré-conditions
description
exceptions
Vérification préalable des conditions d’inscription
résultats Dossier d’inscription, paiement, délivrance carte élève
1. l’élève présente sa demande
2. Saisie des UE
3. Calcul du coût
4. ……
Pas de délivrance de carte si 1 UE à agrément
C Crochepeyre UML 31
• Relations entre cas d’utilisation
– Réutilisation de cas en utilisant les relations
• d’inclusion include
• d’extension extend
• de généralisation
• Inclusion
– Une instance contient le comportement d’une autre instance
inscription
paiement
carte
« include »
« include »
1 1
C Crochepeyre UML 32
• Extension
– Le comportement d’une instance peut être étendue par le
comportement d’une autre instance
– Point d’extension mentionné dans le cas d’utilisation
Inscription UE
paiement
Délivrance
carte
« include »
« include »
1 1
Inscription CRI
« extend »
Élève en informatique
C Crochepeyre UML 33
4.3. Diagramme états-transitions
– Montre les états simples, les transitions et les états composites
imbriqués
– L’état d’un objet à un instant t peut changé à l’instant t+1
– Le passage d’un état à un autre est une transition
– La condition de passage est appelée « garde »
Etat-Transition
État 1 État 2
Transition [condition]
Élève prospect Élève inscrit
inscription [paiement ok]
C Crochepeyre UML 34
– On peut préciser une action ou activité à la transition
État 1 État 2
Transition [condition]/ action
Élève prospect Élève inscrit
Inscription [paiement ok]/ dépôt dossier
C Crochepeyre UML 35
– Suite d’états et de transitions avec
• Début:
• Fin:
• Ti : transition – Ci : condition – Ai : action
État 1
T1[C1]/A1
État 2 État 3
T4[C4]/A4
État 4
T2[C2]/A2
C Crochepeyre UML 36
Projet formation
Dossier déposé
Personne
Rencontre
conseiller
En cours d’inscription
Remplit un dossier
Inscrit
Paiement ok
Etat
Action
Transition
– Exemple d’états-transitions
C Crochepeyre UML 37
• Exemple de diagramme machine à états
Dossier inscription
plan formation
élève
nouvel
élève
ancien élève
C Crochepeyre UML 38
4.4. Diagramme d’activités
– Description des activités d’un cas d’utilisation ou d’une opération
– Diagramme de type : état-action
– Exécution d’activités différentes selon le résultat de l’activité
précédente
– Exécution synchronisée : plusieurs activités en // avant de
passer à l’activité suivante
C Crochepeyre UML 39
• Exemple diagramme d’activités
Dépôt dossier
[refus]
Paiement
Vérification
[accepté]
convention
[à compléter]
Dossier renvoyé
[retour]
[forfait entreprise]
[individuel]
Carte délivrée
Transition avec condition
« transition gardée »
Transition sans condition
« transition automatique »
C Crochepeyre UML 40
• Exemple synchronisation
Ouvrir inscription
Inscrire UE Modifier une inscription
Inscrire UE et modifier élève sont deux actions //
C Crochepeyre UML 41
4.5. Diagramme de séquence
– Interactions entre objets et chronologie des échanges entre ces
objets
– Base: les cas d’utilisation
– Échange de messages pour déclencher une opération
– Mention des objets créés ou détruits lors des exécutions
– Spécification des contraintes de temps : durée
– Messages synchrones :
– Messages asynchrones :
C Crochepeyre UML 42
• Exemple diagramme de séquence
C Crochepeyre UML 43
• Exemple diagramme de séquence : durée
Convention
signature
facture règlement
(fin semestre)
Paiement ok
C Crochepeyre UML 44
4.6. Diagramme de collaboration
– Relations entre les objets et messages échangés
– Diverses informations mentionnées sur le diagramme
• synchronisation : les préalables à l’envoi du message;
• n° du message : ordre chronologique du message;
• condition du déclenchement de l’envoi;
• type d’envoi: séquentiel ou parallèle;
• résultat : valeur retournée…
Exemples:
[activité professionnelle=Ok] 1: établir plan()
Un élève ne peut s’inscrire que si il a une activité professionnelle
2 / || [j=1…n] 3 : inscrireUE()
Le message 3 ne sera envoyé qu’après le message 2
Envoi en // de n messages
C Crochepeyre UML 45
plan de formation
dossier
devis
élève
[orientation] 1: établir plan
2 : double du plan
3: créer dossier
5 : remise 4 : calculer prix()
Carte élève 8: délivrer carte()
régisseur
7 : maj paiement ()
6 : payer ()
9 : remise carte()
C Crochepeyre UML 46
4.7. Diagramme de composants
– Description des composants du système
– Décomposition en sous-système, programme, processus, tâche,
module
Système Scolarité
Inscriptions Examens Système et sous-systèmes
C Crochepeyre UML 47
• Diagramme d’un module
– Décomposition d’un sous système en modules
C Crochepeyre UML 48
4.8. Diagramme de déploiement
– Description de l’architecture physique des composants matériels
du système
– Un nœud = un composant matériel = un cube
– Lien entre les cubes = communication entre les nœuds
– Classes de composants = noms des classes
– Objets de composants = noms soulignés des instances
– Deux types de noeuds:
• Processeur
• Périphérique au processeur
C Crochepeyre UML 49
• Diagramme de déploiement d’un système d’inscription
Poste
scolarité
Serveur
Scolarité
BD
scolarité
Intranet
TCP/IP
C Crochepeyre UML 50
5- Les outils de modélisation UML
• Plusieurs logiciels, citons
– Rational Rose, IBM
– Together, Borland
– Rhapsody Modeler, I-Logix
– Win Design
– Visio, Microsoft
– Poseidon UML , Gentleware
– PowerAMC/PowerDesigner , Sybase
– Plugin Omondo , Eclipse
– ArgoUML
– Visual Paradigm
Et tous les autres….
C Crochepeyre UML 51
6- Etude préalable avec UML
• L’avant projet « Inscription »
– objectif
– coût
– rentabilité
– abandon ou poursuite
• Commençons l’étude préalable
– Recensement des cas d’utilisation
– Recensement des termes, des concepts, des objets:
diagrammes de classes
– Les processus et leurs acteurs : diagrammes d’utilisation
et d’interaction (séquence et collaboration)
C Crochepeyre UML 52
Construction du modèle
• Le modèle général : ensemble des diagrammes
– Cohérence: détection des incohérences, incomplétudes
– Ordre précis d’exécution
• Évolution du modèle par suite d’itérations et
incrémentations des cas d’utilisations
• Avant de passer à la phase d’analyse informatique, les
besoins doivent être tous recensés
« Développement en spirale »
C Crochepeyre UML 53
Cas d’utilisation
• Cas d’utilisation:
– Les scenari d’utilisation du système « inscription » par les
utilisateurs
– Description de l’utilisation
• Textuelle : phrases ordonnées des opérations
• Graphique: diagramme d’enchaînement des opérations
• Tableau: une ligne/ rubrique caractérisant le cas
• Eléments décrits:
– Les acteurs
– Le scénario
– Les pré-conditions et garanties
– Les exceptions, les extensions, les utilisations d’autres cas
C Crochepeyre UML 54
Description textuelle: cas d’utilisation « inscription »
1. L’auditeur se présente à la scolarité avec son plan de formation
2. l’agent ouvre un dossier d’inscription
3. L’auditeur donne son identité et le mode de financement
4. les sessions de formations sont saisies
5. Les tarifs sont appliqués en fonction du mode de financement et
des sessions à inscrire
6. Un devis est établi
7. Le régisseur encaisse le montant selon le devis
8. La carte d’auditeur est éditée
C Crochepeyre UML 55
Alternative: Tiers payeur
6a. Un tiers payeur est identifié, une convention est établie.
7a. Pas d’encaissement. Retour de la convention signée.
8a. La carte d’auditeur est éditée
9a. L’agent comptable assure le recouvrement de la somme
forfaitaire.
C Crochepeyre UML 56
Description graphique: cas d’utilisation « inscription »
C Crochepeyre UML 57
Cas Inscription d’un auditeur
Définition Inscription d’un auditeur et délivrance de la carte
Acteur principal auditeur
Acteurs secondaires Agent scolarité, régisseur
Pré conditions Plan de formation de l’auditeur
Base de l’offre de formation et tarifs
Garanties Paiement et édition de la carte de l’auditeur
Scénario Plan de formation pour création dossier auditeur, devis
selon les tarifs, règlement auprès du régisseur et
édition carte de l’auditeur
Exception Le financement est assuré par un tiers payeur.
Une convention est établie. Après signature, la carte
est délivrée. Le recouvrement est suivi par l’agent
comptable.
Tableau: cas d’utilisation « inscription »
C Crochepeyre UML 58
Diagramme de classe
• Description générale des types d’objets et leurs relations
• Avec
– leurs attributs principaux
– les opérations principales
C Crochepeyre UML 59
Diagramme de classe: cas inscription
C Crochepeyre UML 60
Diagramme d’interaction
• Description d’un comportement donné d’objets
• Un diagramme d’interaction = un cas d’utilisation
• Transmission des messages entre objets
• Deux diagrammes d’interaction
– De séquence
– De collaboration
C Crochepeyre UML 61
Diagramme de séquence: cas inscription
C Crochepeyre UML 62
Diagramme de collaboration: cas inscription
C Crochepeyre UML 63
Diagramme Etats-Transitions
• Comportement d’un système
• Etats possibles d’un objet
• Changements des états / événements: transitions
C Crochepeyre UML 64
Diagramme états-transitions: cas inscription
C Crochepeyre UML 65
Diagramme d’activités
• Organisation des activités:
– Activités en séquence
– Activités parallèles
– Activités conditionnelles
• Une activité peut être composite
• Quand?
– Analyse cas d’utilisation,
– modélisation métier,
– Algorithme complexe
C Crochepeyre UML 66
Diagramme d’activités: cas inscription
C Crochepeyre UML 67
Diagramme de déploiement
• On peut représenter l’architecture logicielle et matérielle
du système avec un diagramme de déploiement
Poste
scolarité
Serveur scol
(inscription)
BD scolarité
(dossiers
élèves)
Intranet
TCP/IP
C Crochepeyre UML 68
Les autres étapes de construction du système
Informatisation du système « inscription »
– on introduit les composants informatiques
– on construit les modules
– on précise les méthodes associées aux classes
– on intègre les contraintes techniques
– on propose un modèle de données
– Toutes les informations ont été recensées lors de l’étude
préalable. Il s’agit de proposer un modèle informatique pour le
système « Inscription »
– A chaque étape suivante on affine le système en utilisant les
concepts UML
– On utilise les diagrammes si nécessaires
C Crochepeyre UML 69
Conclusion
• UML une aide à toutes les étapes de conception du
projet
• Avantages
– Descriptions graphiques
– Vues différentes à des étapes différentes
– Recoupement des descriptions
• Incohérences
• Incomplétudes mises en évidence
– Adaptation facile aux méthodes
– Projet: un bon outil de démarrage du projet
• S’append par la pratique

Contenu connexe

PDF
Uml partie 1
PDF
Formation viseo modelisation_uml_avec_enterprise_architect
PDF
1- Introduction à UML.pdfhfckyhycyrjxxykrxy
PDF
CoursUML-SlimMesfar-Total
PDF
Support de cours Conception orientée objets - partie 1.pdf
PPTX
CM uml-concepts-avances
Uml partie 1
Formation viseo modelisation_uml_avec_enterprise_architect
1- Introduction à UML.pdfhfckyhycyrjxxykrxy
CoursUML-SlimMesfar-Total
Support de cours Conception orientée objets - partie 1.pdf
CM uml-concepts-avances

Similaire à UMl_language_de modélisation_eninformatique.ppt (20)

PDF
SysML (Valtech Days 2008)
PPTX
Object Oriented Programming course ,Python
PPT
Modelisation agile 03122011
PDF
Analyse et conception orienté objet (uml).pdf
PDF
alphorm.com - Formation UML
PDF
1-Intro-UseCasefqdfqdqfdsfqfdqffdqff.pdf
PDF
Modeliser une application_web
PPT
14_PM_chapitre3_Modelisation pour modélisation
PPT
U M L Analyse Et Conception Objet
PPT
UML use case class2UML use case class2.ppt
PPT
UML use case class une presentation sur uml .ppt
PDF
Design Patterns (2003)
PPT
Présentation sur le diagramme de séquence.ppt
PDF
coursUML2modélisationobjetingénierie.pdf
PDF
Uml2 i formation-uml-2-les-bases
PDF
UMLandStarUML.pdfUMLandStarUMLandStarUMLUML
PDF
Rattrapage uml
PDF
Methodo support
SysML (Valtech Days 2008)
Object Oriented Programming course ,Python
Modelisation agile 03122011
Analyse et conception orienté objet (uml).pdf
alphorm.com - Formation UML
1-Intro-UseCasefqdfqdqfdsfqfdqffdqff.pdf
Modeliser une application_web
14_PM_chapitre3_Modelisation pour modélisation
U M L Analyse Et Conception Objet
UML use case class2UML use case class2.ppt
UML use case class une presentation sur uml .ppt
Design Patterns (2003)
Présentation sur le diagramme de séquence.ppt
coursUML2modélisationobjetingénierie.pdf
Uml2 i formation-uml-2-les-bases
UMLandStarUML.pdfUMLandStarUMLandStarUMLUML
Rattrapage uml
Methodo support
Publicité

Dernier (11)

PPT
Présentation de l’Analyse et Concepti SI
PPTX
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
PDF
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
PDF
famille ................................
PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PPT
Icc courant de court circuit explication
PPTX
Chapitre7-java------------------ Exception.pptx
PDF
Regles sur la gestion de l’Eclairage public
PDF
UX DESIGN presentation canva plan et slides
PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
Présentation de l’Analyse et Concepti SI
mon_expose_de_geophysique_dispositif_de_schlumberger.pptx
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
ENSEIGNEMENT/APPRENTISSAGE ET COMPETENCE
famille ................................
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
Icc courant de court circuit explication
Chapitre7-java------------------ Exception.pptx
Regles sur la gestion de l’Eclairage public
UX DESIGN presentation canva plan et slides
mon_expose_de_geophysique_disposotif_de_wener.pptx
Publicité

UMl_language_de modélisation_eninformatique.ppt

  • 1. C Crochepeyre UML 1 Éléments d’UML (Unified Modeling Language)
  • 2. C Crochepeyre UML 2 PLAN 1. Introduction 2. Préliminaires 3. Les règles UML 4. Les diagrammes UML 5. Outils de modélisation UML 6. L’étude préalable avec UML 7. Conclusion
  • 3. C Crochepeyre UML 3 1- Introduction • UML: langage de modélisation • Méta-modèle UML – définit la structure des modèles UML – permet la description du modèle concerné par l’application. – une notation UML avec des éléments de la notation extensibles à condition d’en définir la sémantique • Construction de modèles objets ou autres • Utilisation de la notation graphique – une solution visuelle – limite les ambiguïtés – indépendance par rapport aux langages
  • 4. C Crochepeyre UML 4 Exemple -> métamodèle -> Classe, Attribut, Opération -> modèle -> Fournisseur Identification, nomFournisseur, adresseFournisseur commander() -> objet -> « Dupont » « 40222 », « ChipsAndChips », « 13 rue Parmentier » « commander(12005A,13) »
  • 5. C Crochepeyre UML 5 2- Préliminaires • Les origines d’UML • La démarche de conception et d’analyse • UP: Processus unifié
  • 6. C Crochepeyre UML 6 Origines d’UML • Issu en 1996 de la pratique industrielle et de la modélisation des systèmes logiciels. • Unification des méthodes objets de J-B-R – Ivar Jacobson (OOSE) – Grady Booch (BOOCH'93) , – James Rumbaugh (OMT) et • Normalisation OMG en 1997. En 2007: UML 2.1.2 • Méthodes – Fonctionnelles : années 60 Inspirée de l’architecture des ordinateurs études des fonctions en séparant les données du code. – Objets : années 80 Modélisation objet avec composition et décomposition des objets ayant des propriétés et des comportements – Méthodes qui couvrent le cycle de vie d’un logiciel. • UML : de nouvelles techniques sans rejeter les méthodes existantes
  • 7. C Crochepeyre UML 7 Démarche de conception et d’analyse • Analyse du pb: processus unifié UP – guidée par les besoins des utilisateurs du système – centrée sur l'architecture logicielle – itérative et incrémentale • Utilisation d’un langage de modélisation UML – permet d'améliorer progressivement les méthodes de travail, – préserve les modes de fonctionnement, – boîte à outils • L’itération peut se faire à toutes les phases – étude préalable – construction – tests et mise au point
  • 8. C Crochepeyre UML 8 Processus unifié • Langage de modélisation UML + Processus unifié UP – UP: Processus de développement proposé par J-B-R – Processus: • Recensement des cas d’utilisation • Construction de l’architecture du système dès le début avec • Principe d’itérations et incrémentations • Évaluation des risques à toutes les étapes « on part des cas d’utilisations connus, on construit un premier modèle d’architecture; on complète et affine par itérations et incrémentations et on évalue par étape les risques pour faire les meilleurs choix »
  • 9. C Crochepeyre UML 9 • Les utilisateurs décrivent les cas d’utilisation – Recensement des besoins • Description des composants ou objets • Description des modes opératoires – Recensement des contraintes – Interactions entre les besoins et les contraintes – Construction d’une architecture du système en adéquation • Progression de la construction en complétant et affinant l’étude – Ajouts, compléments, détails des cas d’utilisation – Description plus détaillée des composants – Ajustement de l’architecture • Utilisation de maquettes et prototypes
  • 10. C Crochepeyre UML 10 • Evaluation permanente du système en terme de bon choix : le bon produit, une bonne construction, le bon prix, les bonnes performances…. – Évolution – Amélioration – Validation ou rejet des solutions – Objectif: minimiser les risques au fur et à mesure de la spirale de développement
  • 11. C Crochepeyre UML 11 • Phases du processus UP: – Étude d’opportunité • Mesures des risques • Définitions des limites • Construction d’une maquette des premiers cas d’utilisation • Décision – Réalisation • Première version • Proposition d’architecture, développements, tests • Rentabilité: décision • Puis processus incrémental et itératif jusqu’au produit final – Mise en exploitation
  • 12. C Crochepeyre UML 12 • Les activités dans les phases: – Expression des besoins – Analyse – Conception – Implémentation – Tests « les activités sont celles des méthodes connues mais ces activités se déroulent selon les phases UP » RUP: Rational Unified Process. Version UP de la société Rational Software
  • 13. C Crochepeyre UML 13 • Développement orienté objet • UML langage de modélisation – Règles d’écriture et de représentation graphiques normalisées – Neuf diagrammes (UML 2.1.2: 13 diagrammes ) • Méta-modèle des concepts et notations des diagrammes – Construire les outils de modélisation selon les règles UML et adaptés à l’étude – Règles • Stéréotypes; • Notes; • Contraintes; • règles d’écriture des noms et expressions: nom, étiquette valeur d’un composant; • Paquetage. 3- les règles UML
  • 14. C Crochepeyre UML 14 • Stéréotypes – Adaptation du modèle aux éléments de l’application – Nouveau type d’élément défini depuis un type du modèle – Application principale aux classes – Distinction d’utilisation entre guillemets Ex: classe Client stéréotypée « clientA » • Notes – Commentaires d’un élément UML Client « clientA » Pour tous stéréotype commentaire
  • 15. C Crochepeyre UML 15 • Contrainte – Note sémantique pour un élément – Écriture entre { } – Aussi langage OCL Objet Constraint Language d’UML • Écriture des noms et des expressions – Nom: identifiant d’un élément, chaîne de caractères – Expression: valeur Elève Cours assister {un élève doit être Inscrit} NomEleve Cycle.UE After (7 minutes) Date = 7 juillet 2005 contrainte noms expressions
  • 16. C Crochepeyre UML 16 • Paquetage – Décomposition du système en paquetages – Ensemble logique d’éléments du modèle – Nommage du paquetage – Relations entre paquetages Elèves U.E Profs
  • 17. C Crochepeyre UML 17 4- Les principaux diagrammes UML • Diagramme des cas d’utilisation – Besoins des utilisateurs • Diagramme de classes – Description statique des données et des traitements • Diagrammes d’objets – Instances des classes • Diagramme états-transitions – États des objets selon les événements • Diagramme d’activités – Vue des enchaînements des activités d’un cas d’utilisation ou d’une opération
  • 18. C Crochepeyre UML 18 • Diagramme de séquence – Scénario d’un cas d’utilisation : chronologie des opérations • Diagramme de collaboration – Scénario d’un cas d’utilisation: activités des objets et des messages échangés • Diagramme des composants – Représentation des composants logiciels d’un système • Diagramme de déploiement – Description de l’architecture technique du système
  • 19. C Crochepeyre UML 19 4.1. Diagramme de classe et d’objets – les objets sont identifiés dans le système et portent un nom – Les classes sont créées en regroupant les objets ayant les mêmes propriétés, mêmes comportements – Un objet est une instance d’une classe – Représentation UML d’une classe Nom classe Attributs Opérations autres Elève N°Elève: entier NomElève: car Adresse: car Inscrire() Elève
  • 20. C Crochepeyre UML 20 • Représentation UML d’un objet Nom objet : classe Valeur attrib 1 Valeur attrib 2 Valeur attrib 3 Elev2005001: Elève 2005001 durand 1 rue de Paris Elev2005001 2005001 durand 1 rue de Paris : Elève 2005001 durand 1 rue de Paris
  • 21. C Crochepeyre UML 21 • Association entre classes – Liens entre les instances – Rôle de l’association et son sens – Cardinalité des instances associées Nom classe X Nom classe Y Nom association X Y * 1..2 A une instance X correspond 1 à 2 instances de Y A une instance Y correspond 0 à n instances de X
  • 22. C Crochepeyre UML 22 • Agrégation – Association entre une classe de type « ensemble » avec plusieurs classes de type « éléments » Salle Chaises tableau équipement 1 * 1..2 *
  • 23. C Crochepeyre UML 23 • Composition – Agrégation avec une contrainte de durée de vie – La suppression de la classe « composé » implique la suppression des classes « composant » élève N° élève liste UE dossier 1 1 1..* 1 élève N° éléve liste UE dossier
  • 24. C Crochepeyre UML 24 • Qualification d’une association – Sémantique d’une association entre deux classes – Restriction d’une association Notes UE élève N° élève Nomélève contenir « La liste des notes d’une UE contient le n° des élèves et leur nom »
  • 25. C Crochepeyre UML 25 • Généralisation et héritage simple – Généralisation: création d’une superclasse à partir de classes – Héritage: création de sous classes à partir d’une classe élève élève FOD élève HTT héritage généralisation
  • 26. C Crochepeyre UML 26 • Héritage avec recouvrement – Chevauchement : deux sous classes avec des instances identiques – Disjoint : les instances d’une sous classe ne peuvent être dans une autre sous classe – Complète : la généralisation ne peut être étendue – Incomplète : la généralisation peut être étendue élève élève FOD élève HTT {chevauchement}
  • 27. C Crochepeyre UML 27 • Extension et restriction de classe – Extension: ajout de propriétés dans une sous classe – Restriction: masquage de propriétés dans une sous classe élève n°élève nom adresse Élève salarié n°élève nom adresse entreprise Élève prospect …. nom adresse extension restriction
  • 28. C Crochepeyre UML 28 • Héritage multiple – Une classe hérite de deux classes parentes élève élève externe élève interne salarié boursier employé
  • 29. C Crochepeyre UML 29 4.2. Diagramme des cas d’utilisation – Description de l’interaction entre l’utilisateur et le système – Recensement des besoins des utilisateurs – Descriptions textuelles + diagrammes de tous les cas d’utilisation inscription inscrire élève Cas d’un élève qui s’inscrit régie scolarité élève système inscription Plusieurs acteurs Plusieurs cas
  • 30. C Crochepeyre UML 30 • Description textuelle – Transcription textuelle de la description des cas d’utilisation – Compléments aux diagrammes – Avantages: • La rédaction permet de corriger le diagramme • Le diagramme oblige à rédiger chaque cas cas résumé acteur primaire acteur secondaire Inscription d’un élève Procédure d’inscription d’un élève jusqu’à la délivrance de sa carte L’élève La scolarité, la régie pré-conditions description exceptions Vérification préalable des conditions d’inscription résultats Dossier d’inscription, paiement, délivrance carte élève 1. l’élève présente sa demande 2. Saisie des UE 3. Calcul du coût 4. …… Pas de délivrance de carte si 1 UE à agrément
  • 31. C Crochepeyre UML 31 • Relations entre cas d’utilisation – Réutilisation de cas en utilisant les relations • d’inclusion include • d’extension extend • de généralisation • Inclusion – Une instance contient le comportement d’une autre instance inscription paiement carte « include » « include » 1 1
  • 32. C Crochepeyre UML 32 • Extension – Le comportement d’une instance peut être étendue par le comportement d’une autre instance – Point d’extension mentionné dans le cas d’utilisation Inscription UE paiement Délivrance carte « include » « include » 1 1 Inscription CRI « extend » Élève en informatique
  • 33. C Crochepeyre UML 33 4.3. Diagramme états-transitions – Montre les états simples, les transitions et les états composites imbriqués – L’état d’un objet à un instant t peut changé à l’instant t+1 – Le passage d’un état à un autre est une transition – La condition de passage est appelée « garde » Etat-Transition État 1 État 2 Transition [condition] Élève prospect Élève inscrit inscription [paiement ok]
  • 34. C Crochepeyre UML 34 – On peut préciser une action ou activité à la transition État 1 État 2 Transition [condition]/ action Élève prospect Élève inscrit Inscription [paiement ok]/ dépôt dossier
  • 35. C Crochepeyre UML 35 – Suite d’états et de transitions avec • Début: • Fin: • Ti : transition – Ci : condition – Ai : action État 1 T1[C1]/A1 État 2 État 3 T4[C4]/A4 État 4 T2[C2]/A2
  • 36. C Crochepeyre UML 36 Projet formation Dossier déposé Personne Rencontre conseiller En cours d’inscription Remplit un dossier Inscrit Paiement ok Etat Action Transition – Exemple d’états-transitions
  • 37. C Crochepeyre UML 37 • Exemple de diagramme machine à états Dossier inscription plan formation élève nouvel élève ancien élève
  • 38. C Crochepeyre UML 38 4.4. Diagramme d’activités – Description des activités d’un cas d’utilisation ou d’une opération – Diagramme de type : état-action – Exécution d’activités différentes selon le résultat de l’activité précédente – Exécution synchronisée : plusieurs activités en // avant de passer à l’activité suivante
  • 39. C Crochepeyre UML 39 • Exemple diagramme d’activités Dépôt dossier [refus] Paiement Vérification [accepté] convention [à compléter] Dossier renvoyé [retour] [forfait entreprise] [individuel] Carte délivrée Transition avec condition « transition gardée » Transition sans condition « transition automatique »
  • 40. C Crochepeyre UML 40 • Exemple synchronisation Ouvrir inscription Inscrire UE Modifier une inscription Inscrire UE et modifier élève sont deux actions //
  • 41. C Crochepeyre UML 41 4.5. Diagramme de séquence – Interactions entre objets et chronologie des échanges entre ces objets – Base: les cas d’utilisation – Échange de messages pour déclencher une opération – Mention des objets créés ou détruits lors des exécutions – Spécification des contraintes de temps : durée – Messages synchrones : – Messages asynchrones :
  • 42. C Crochepeyre UML 42 • Exemple diagramme de séquence
  • 43. C Crochepeyre UML 43 • Exemple diagramme de séquence : durée Convention signature facture règlement (fin semestre) Paiement ok
  • 44. C Crochepeyre UML 44 4.6. Diagramme de collaboration – Relations entre les objets et messages échangés – Diverses informations mentionnées sur le diagramme • synchronisation : les préalables à l’envoi du message; • n° du message : ordre chronologique du message; • condition du déclenchement de l’envoi; • type d’envoi: séquentiel ou parallèle; • résultat : valeur retournée… Exemples: [activité professionnelle=Ok] 1: établir plan() Un élève ne peut s’inscrire que si il a une activité professionnelle 2 / || [j=1…n] 3 : inscrireUE() Le message 3 ne sera envoyé qu’après le message 2 Envoi en // de n messages
  • 45. C Crochepeyre UML 45 plan de formation dossier devis élève [orientation] 1: établir plan 2 : double du plan 3: créer dossier 5 : remise 4 : calculer prix() Carte élève 8: délivrer carte() régisseur 7 : maj paiement () 6 : payer () 9 : remise carte()
  • 46. C Crochepeyre UML 46 4.7. Diagramme de composants – Description des composants du système – Décomposition en sous-système, programme, processus, tâche, module Système Scolarité Inscriptions Examens Système et sous-systèmes
  • 47. C Crochepeyre UML 47 • Diagramme d’un module – Décomposition d’un sous système en modules
  • 48. C Crochepeyre UML 48 4.8. Diagramme de déploiement – Description de l’architecture physique des composants matériels du système – Un nœud = un composant matériel = un cube – Lien entre les cubes = communication entre les nœuds – Classes de composants = noms des classes – Objets de composants = noms soulignés des instances – Deux types de noeuds: • Processeur • Périphérique au processeur
  • 49. C Crochepeyre UML 49 • Diagramme de déploiement d’un système d’inscription Poste scolarité Serveur Scolarité BD scolarité Intranet TCP/IP
  • 50. C Crochepeyre UML 50 5- Les outils de modélisation UML • Plusieurs logiciels, citons – Rational Rose, IBM – Together, Borland – Rhapsody Modeler, I-Logix – Win Design – Visio, Microsoft – Poseidon UML , Gentleware – PowerAMC/PowerDesigner , Sybase – Plugin Omondo , Eclipse – ArgoUML – Visual Paradigm Et tous les autres….
  • 51. C Crochepeyre UML 51 6- Etude préalable avec UML • L’avant projet « Inscription » – objectif – coût – rentabilité – abandon ou poursuite • Commençons l’étude préalable – Recensement des cas d’utilisation – Recensement des termes, des concepts, des objets: diagrammes de classes – Les processus et leurs acteurs : diagrammes d’utilisation et d’interaction (séquence et collaboration)
  • 52. C Crochepeyre UML 52 Construction du modèle • Le modèle général : ensemble des diagrammes – Cohérence: détection des incohérences, incomplétudes – Ordre précis d’exécution • Évolution du modèle par suite d’itérations et incrémentations des cas d’utilisations • Avant de passer à la phase d’analyse informatique, les besoins doivent être tous recensés « Développement en spirale »
  • 53. C Crochepeyre UML 53 Cas d’utilisation • Cas d’utilisation: – Les scenari d’utilisation du système « inscription » par les utilisateurs – Description de l’utilisation • Textuelle : phrases ordonnées des opérations • Graphique: diagramme d’enchaînement des opérations • Tableau: une ligne/ rubrique caractérisant le cas • Eléments décrits: – Les acteurs – Le scénario – Les pré-conditions et garanties – Les exceptions, les extensions, les utilisations d’autres cas
  • 54. C Crochepeyre UML 54 Description textuelle: cas d’utilisation « inscription » 1. L’auditeur se présente à la scolarité avec son plan de formation 2. l’agent ouvre un dossier d’inscription 3. L’auditeur donne son identité et le mode de financement 4. les sessions de formations sont saisies 5. Les tarifs sont appliqués en fonction du mode de financement et des sessions à inscrire 6. Un devis est établi 7. Le régisseur encaisse le montant selon le devis 8. La carte d’auditeur est éditée
  • 55. C Crochepeyre UML 55 Alternative: Tiers payeur 6a. Un tiers payeur est identifié, une convention est établie. 7a. Pas d’encaissement. Retour de la convention signée. 8a. La carte d’auditeur est éditée 9a. L’agent comptable assure le recouvrement de la somme forfaitaire.
  • 56. C Crochepeyre UML 56 Description graphique: cas d’utilisation « inscription »
  • 57. C Crochepeyre UML 57 Cas Inscription d’un auditeur Définition Inscription d’un auditeur et délivrance de la carte Acteur principal auditeur Acteurs secondaires Agent scolarité, régisseur Pré conditions Plan de formation de l’auditeur Base de l’offre de formation et tarifs Garanties Paiement et édition de la carte de l’auditeur Scénario Plan de formation pour création dossier auditeur, devis selon les tarifs, règlement auprès du régisseur et édition carte de l’auditeur Exception Le financement est assuré par un tiers payeur. Une convention est établie. Après signature, la carte est délivrée. Le recouvrement est suivi par l’agent comptable. Tableau: cas d’utilisation « inscription »
  • 58. C Crochepeyre UML 58 Diagramme de classe • Description générale des types d’objets et leurs relations • Avec – leurs attributs principaux – les opérations principales
  • 59. C Crochepeyre UML 59 Diagramme de classe: cas inscription
  • 60. C Crochepeyre UML 60 Diagramme d’interaction • Description d’un comportement donné d’objets • Un diagramme d’interaction = un cas d’utilisation • Transmission des messages entre objets • Deux diagrammes d’interaction – De séquence – De collaboration
  • 61. C Crochepeyre UML 61 Diagramme de séquence: cas inscription
  • 62. C Crochepeyre UML 62 Diagramme de collaboration: cas inscription
  • 63. C Crochepeyre UML 63 Diagramme Etats-Transitions • Comportement d’un système • Etats possibles d’un objet • Changements des états / événements: transitions
  • 64. C Crochepeyre UML 64 Diagramme états-transitions: cas inscription
  • 65. C Crochepeyre UML 65 Diagramme d’activités • Organisation des activités: – Activités en séquence – Activités parallèles – Activités conditionnelles • Une activité peut être composite • Quand? – Analyse cas d’utilisation, – modélisation métier, – Algorithme complexe
  • 66. C Crochepeyre UML 66 Diagramme d’activités: cas inscription
  • 67. C Crochepeyre UML 67 Diagramme de déploiement • On peut représenter l’architecture logicielle et matérielle du système avec un diagramme de déploiement Poste scolarité Serveur scol (inscription) BD scolarité (dossiers élèves) Intranet TCP/IP
  • 68. C Crochepeyre UML 68 Les autres étapes de construction du système Informatisation du système « inscription » – on introduit les composants informatiques – on construit les modules – on précise les méthodes associées aux classes – on intègre les contraintes techniques – on propose un modèle de données – Toutes les informations ont été recensées lors de l’étude préalable. Il s’agit de proposer un modèle informatique pour le système « Inscription » – A chaque étape suivante on affine le système en utilisant les concepts UML – On utilise les diagrammes si nécessaires
  • 69. C Crochepeyre UML 69 Conclusion • UML une aide à toutes les étapes de conception du projet • Avantages – Descriptions graphiques – Vues différentes à des étapes différentes – Recoupement des descriptions • Incohérences • Incomplétudes mises en évidence – Adaptation facile aux méthodes – Projet: un bon outil de démarrage du projet • S’append par la pratique