SlideShare une entreprise Scribd logo
Éléments d’UML
                        pour le projet
                (Unified Modeling Language)




C Crochepeyre               UML               1
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   2
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                                   3
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                                   4
2- Préliminaires

• Les origines d’UML
• La démarche de conception et d’analyse
• UP: Processus unifié




C Crochepeyre             UML              5
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                                      6
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                                7
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                             8
• 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                            9
• 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                                  10
• 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                                    11
• 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                                12
3- les règles UML
• 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.


C Crochepeyre                     UML                                 13
•   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                         14
•   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
                                                 noms
                                               NomEleve
            Elève        assister    Cours
                                               Cycle.UE

                                                 expressions

                                               After (7 minutes)
                    {un élève doit             Date = 7 juillet 2005
                    être Inscrit}

                       contrainte

C Crochepeyre                            UML                           15
•   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                    16
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                                  17
• 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                               18
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                                      Elève

                                                        N°Elève: entier
            Attributs                     Elève
                                                        NomElève: car
           Opérations                                   Adresse: car

                                                           Inscrire()
                autres




C Crochepeyre                       UML                                   19
• Représentation UML d’un objet


                            Nom objet : classe

                              Valeur attrib 1
                              Valeur attrib 2
                              Valeur attrib 3




       Elev2005001: Elève      Elev2005001           : Elève

           2005001            2005001            2005001
           durand             durand             durand
           1 rue de Paris     1 rue de Paris     1 rue de Paris




C Crochepeyre                       UML                           20
• 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




                     1..2
         X      *           Y     A une instance X correspond 1 à 2 instances de Y
                                  A une instance Y correspond 0 à n instances de X




C Crochepeyre                         UML                                     21
• Agrégation
     – Association entre une classe de type « ensemble » avec
       plusieurs classes de type « éléments »


                                 Salle


                                1




                 *             1..2       *
                     Chaises    tableau   équipement




C Crochepeyre                       UML                         22
• 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
                                                      élève

                    1
                                                   N° éléve


                                                    liste UE
        1          1..*        1
        N° élève    liste UE   dossier               dossier




C Crochepeyre                            UML                   23
• Qualification d’une association
     – Sémantique d’une association entre deux classes
     – Restriction d’une association




                  Notes UE                                       élève
                                N° élève        contenir
                                Nomélève



                « La liste des notes d’une UE contient le n° des élèves et leur nom »




C Crochepeyre                                UML                                        24
• 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

                                                           héritage
                                 élève




                élève HTT                     élève FOD

                                                               généralisation




C Crochepeyre                      UML                                   25
• 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 HTT   {chevauchement}        élève FOD




C Crochepeyre                      UML                                   26
• 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



extension                                                 restriction

                Élève salarié
                                              Élève prospect
                 n°élève
                 nom                           ….
                 adresse                       nom
                 entreprise                    adresse


C Crochepeyre                       UML                                 27
• 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                                28
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


                                                        système inscription


          inscrire                        élève
                     inscription

 élève

   Cas d’un élève qui s’inscrit    Plusieurs acteurs
                                   Plusieurs cas


                                                       scolarité         régie



C Crochepeyre                       UML                                          29
•   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                        Inscription d’un élève
                                Procédure d’inscription d’un élève jusqu’à la
           résumé               délivrance de sa carte
           acteur primaire      L’élève
           acteur secondaire La scolarité, la régie
          pré-conditions        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
           description          3.   Calcul du coût
                                4.   ……

           exceptions             Pas de délivrance de carte si 1 UE à agrément


C Crochepeyre                                 UML                                         30
• 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




                                  « include »
         1      1                               paiement
                    inscription



                                  « include »    carte


C Crochepeyre                         UML                           31
•   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




                                            « include »
                                                                 paiement
           1    1       Inscription UE

                    Élève en informatique
                                             « include »
                                                                 Délivrance
                                                                   carte
                                            « extend »


                                                   Inscription CRI




C Crochepeyre                               UML                               32
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

                                 Transition [condition]
                       État 1                                État 2



                                 inscription [paiement ok]
                Élève prospect                                   Élève inscrit




C Crochepeyre                              UML                                   33
– On peut préciser une action ou activité à la transition

                               Transition [condition]/ action
                 État 1                                              État 2



                          Inscription [paiement ok]/ dépôt dossier
      Élève prospect                                                  Élève inscrit




C Crochepeyre                               UML                                       34
– Suite d’états et de transitions avec
        • Début:
        • Fin:
        • Ti : transition – Ci : condition – Ai : action




                         T1[C1]/A1              T2[C2]/A2
                État 1               État 2                 État 3




                                              T4[C4]/A4
                                                            État 4




C Crochepeyre                         UML                            35
– Exemple d’états-transitions



                                  Personne            Etat
                                 Rencontre
                                 conseiller           Action

                     Projet formation                 Transition


                             En cours d’inscription

                              Remplit un dossier

                    Dossier déposé

                                   Inscrit

                                Paiement ok




C Crochepeyre                            UML                       36
• Exemple de diagramme machine à états



                            ancien élève
                    élève                    Dossier inscription




           nouvel
           élève
                                    plan formation




C Crochepeyre                              UML                     37
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                                 38
• Exemple diagramme d’activités

                                                                                         Transition avec condition
                                           Dépôt dossier                                 « transition gardée »

                                                                      [refus]
                                            Vérification

                                                                       [à compléter]
                               [accepté]

                                                           [retour]
                         Paiement
                                                                            Dossier renvoyé
                                             [forfait entreprise]
                [individuel]

                                           convention



                     Carte délivrée
                                                            Transition sans condition
                                                            « transition automatique »




C Crochepeyre                                          UML                                                   39
• Exemple synchronisation



                                Ouvrir inscription




                Inscrire UE                    Modifier une inscription




                  Inscrire UE et modifier élève sont deux actions //




C Crochepeyre                                UML                          40
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                                41
• Exemple diagramme de séquence




C Crochepeyre           UML       42
• Exemple diagramme de séquence : durée

                            Convention        facture   règlement



                signature




                                (fin semestre)




                                Paiement ok




C Crochepeyre                                     UML               43
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                                      44
[orientation] 1: établir plan            plan de formation
                                                                                     3: créer dossier

                                   2 : double du plan


                                           devis                                   dossier
                  5 : remise                            4 : calculer prix()
élève


                    9 : remise carte()   Carte élève         8: délivrer carte()
                                                                                     7 : maj paiement ()
                6 : payer ()




                                                              régisseur




C Crochepeyre                                      UML                                                     45
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                                      46
• Diagramme d’un module
     – Décomposition d’un sous système en modules




C Crochepeyre                   UML                 47
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                                48
• Diagramme de déploiement d’un système d’inscription




                Poste       Intranet   Serveur
                scolarité              Scolarité


                                               TCP/IP



                                       BD
                                       scolarité




C Crochepeyre               UML                         49
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                 50
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                               51
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                          52
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                                 53
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                                 54
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                               55
Description graphique: cas d’utilisation « inscription »




C Crochepeyre                 UML                          56
Tableau: cas d’utilisation « inscription »

  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.

C Crochepeyre                       UML                                           57
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                    58
Diagramme de classe: cas inscription




C Crochepeyre                    UML       59
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                       60
Diagramme de séquence: cas inscription




C Crochepeyre                   UML          61
Diagramme de collaboration: cas inscription




C Crochepeyre                     UML             62
Diagramme Etats-Transitions

• Comportement d’un système
• Etats possibles d’un objet
• Changements des états / événements: transitions




C Crochepeyre               UML                     63
Diagramme états-transitions: cas inscription




C Crochepeyre                      UML             64
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     65
Diagramme d’activités: cas inscription




C Crochepeyre                      UML       66
Diagramme de déploiement

• On peut représenter l’architecture logicielle et matérielle
  du système avec un diagramme de déploiement



                  Poste       Intranet       Serveur scol
                  scolarité                  (inscription)


                                                    TCP/IP



                                         BD scolarité
                                         (dossiers
                                         élèves)




C Crochepeyre                 UML                            67
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                                   68
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


C Crochepeyre                     UML                 69

Contenu connexe

Tendances

UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
Mansouri Khalifa
 
Cours d'Introduction à Uml
Cours d'Introduction à UmlCours d'Introduction à Uml
Cours d'Introduction à Uml
Christophe Vaudry
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
agnes_crepet
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
Mohammed Amine Mostefai
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_web
Moez Moezm
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
Uml
UmlUml
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
Nassim Amine
 
Seminaire Borland UML (2003)
Seminaire Borland UML (2003)Seminaire Borland UML (2003)
Seminaire Borland UML (2003)
Pascal Roques
 
Uml2
Uml2Uml2
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
489591919 estaca-catalogue f-auto-pdf
489591919 estaca-catalogue f-auto-pdf489591919 estaca-catalogue f-auto-pdf
489591919 estaca-catalogue f-auto-pdf
LmhAlger
 
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Amira Hakim
 
Transformation M2M avec ATL
Transformation M2M avec ATL Transformation M2M avec ATL
Transformation M2M avec ATL
Halima Bouabdelli
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mda
Shili Mohamed
 

Tendances (19)

UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Cours d'Introduction à Uml
Cours d'Introduction à UmlCours d'Introduction à Uml
Cours d'Introduction à Uml
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_web
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Uml
UmlUml
Uml
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Seminaire Borland UML (2003)
Seminaire Borland UML (2003)Seminaire Borland UML (2003)
Seminaire Borland UML (2003)
 
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interactionCM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
 
Uml2
Uml2Uml2
Uml2
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
489591919 estaca-catalogue f-auto-pdf
489591919 estaca-catalogue f-auto-pdf489591919 estaca-catalogue f-auto-pdf
489591919 estaca-catalogue f-auto-pdf
 
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
 
Transformation M2M avec ATL
Transformation M2M avec ATL Transformation M2M avec ATL
Transformation M2M avec ATL
 
Approche Mda
Approche MdaApproche Mda
Approche Mda
 
Manuel uml-poweramc
Manuel uml-poweramcManuel uml-poweramc
Manuel uml-poweramc
 
CM uml-concepts-avances
CM uml-concepts-avancesCM uml-concepts-avances
CM uml-concepts-avances
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mda
 

En vedette

Pinata anniversaire
Pinata anniversairePinata anniversaire
Pinata anniversaire
Maman Dessine
 
Jag Tim Track Lip090923 Redux
Jag Tim Track Lip090923 ReduxJag Tim Track Lip090923 Redux
Jag Tim Track Lip090923 Redux
Miguel Morales
 
Cambios vitales
Cambios vitalesCambios vitales
Cambios vitales
Anna Solyom
 
Plaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoria
Plaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoriaPlaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoria
Plaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoria
La FabrIque à Jeux et à Buzz (Key Performance Group)
 
Unidad 3.actividad 3. software de presentación de problemas.
Unidad 3.actividad 3. software de presentación de problemas.Unidad 3.actividad 3. software de presentación de problemas.
Unidad 3.actividad 3. software de presentación de problemas.
CARLOS PRADO ACENAT MONDRAGÓN
 
La colaboración y el trabajo en red
La colaboración y el trabajo en redLa colaboración y el trabajo en red
La colaboración y el trabajo en red
Anabel Marcelo
 
Metro Moscu
Metro MoscuMetro Moscu
impacto2
impacto2impacto2
Anniversaire barbapapa
Anniversaire barbapapaAnniversaire barbapapa
Anniversaire barbapapa
Maman Dessine
 
Carte mariage pop up
Carte mariage pop upCarte mariage pop up
Carte mariage pop up
Maman Dessine
 
La route mandarine vietnam
La route mandarine vietnamLa route mandarine vietnam
La route mandarine vietnam
agencedevoyageauvietnam
 
Frances ii cursos de apoyo abril agosto 2015
Frances ii cursos de apoyo abril agosto 2015Frances ii cursos de apoyo abril agosto 2015
Frances ii cursos de apoyo abril agosto 2015pucesi
 
Pinata totoro
Pinata totoroPinata totoro
Pinata totoro
Maman Dessine
 
Etiquette presentation fbla
Etiquette presentation fblaEtiquette presentation fbla
Etiquette presentation fbla
parkercjc
 
Casos Lujo
Casos LujoCasos Lujo
Casos Lujo
Gladys Arneri
 
Remise en conformité toiture solaire photovoltaïque
Remise en conformité toiture solaire photovoltaïqueRemise en conformité toiture solaire photovoltaïque
Remise en conformité toiture solaire photovoltaïqueaimsolutionsenergies
 
Las 7 maravillas de rusia
Las 7  maravillas de rusiaLas 7  maravillas de rusia
Las 7 maravillas de rusia
Jaime Nariño V, PMP
 

En vedette (20)

Pinata anniversaire
Pinata anniversairePinata anniversaire
Pinata anniversaire
 
Jag Tim Track Lip090923 Redux
Jag Tim Track Lip090923 ReduxJag Tim Track Lip090923 Redux
Jag Tim Track Lip090923 Redux
 
Cambios vitales
Cambios vitalesCambios vitales
Cambios vitales
 
Plaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoria
Plaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoriaPlaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoria
Plaquettes La Fabrique à Jeux et à Buzz - Mail Metrics - AdScoria
 
Unidad 3.actividad 3. software de presentación de problemas.
Unidad 3.actividad 3. software de presentación de problemas.Unidad 3.actividad 3. software de presentación de problemas.
Unidad 3.actividad 3. software de presentación de problemas.
 
Terminal 24 ( model 1)
Terminal 24 ( model 1)Terminal 24 ( model 1)
Terminal 24 ( model 1)
 
La colaboración y el trabajo en red
La colaboración y el trabajo en redLa colaboración y el trabajo en red
La colaboración y el trabajo en red
 
Metro Moscu
Metro MoscuMetro Moscu
Metro Moscu
 
impacto2
impacto2impacto2
impacto2
 
Anniversaire barbapapa
Anniversaire barbapapaAnniversaire barbapapa
Anniversaire barbapapa
 
Carte mariage pop up
Carte mariage pop upCarte mariage pop up
Carte mariage pop up
 
La route mandarine vietnam
La route mandarine vietnamLa route mandarine vietnam
La route mandarine vietnam
 
Frances ii cursos de apoyo abril agosto 2015
Frances ii cursos de apoyo abril agosto 2015Frances ii cursos de apoyo abril agosto 2015
Frances ii cursos de apoyo abril agosto 2015
 
Pinata totoro
Pinata totoroPinata totoro
Pinata totoro
 
Etiquette presentation fbla
Etiquette presentation fblaEtiquette presentation fbla
Etiquette presentation fbla
 
Questionnement
QuestionnementQuestionnement
Questionnement
 
Voeux
VoeuxVoeux
Voeux
 
Casos Lujo
Casos LujoCasos Lujo
Casos Lujo
 
Remise en conformité toiture solaire photovoltaïque
Remise en conformité toiture solaire photovoltaïqueRemise en conformité toiture solaire photovoltaïque
Remise en conformité toiture solaire photovoltaïque
 
Las 7 maravillas de rusia
Las 7  maravillas de rusiaLas 7  maravillas de rusia
Las 7 maravillas de rusia
 

Similaire à Uml

UMl_language_de modélisation_eninformatique.ppt
UMl_language_de modélisation_eninformatique.pptUMl_language_de modélisation_eninformatique.ppt
UMl_language_de modélisation_eninformatique.ppt
ATOMI5
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
Pascal Roques
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architect
Mïna You
 
Génie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling languageGénie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling language
Julien Schneider
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
YasushiTsubakik
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UML
Alphorm
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)
Pascal Roques
 
Soutenance séminaire bibliographique
Soutenance séminaire bibliographiqueSoutenance séminaire bibliographique
Soutenance séminaire bibliographique
Maxime ALAY-EDDINE
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
Mansouri Khalifa
 
Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
PrinceLankoand
 
UML use case class2UML use case class2.ppt
UML use case class2UML use case class2.pptUML use case class2UML use case class2.ppt
UML use case class2UML use case class2.ppt
ryoko1935
 
UML use case class une presentation sur uml .ppt
UML use case class une presentation sur uml .pptUML use case class une presentation sur uml .ppt
UML use case class une presentation sur uml .ppt
ryoko1935
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdf
SamirAwad14
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
cifaf13039
 
Rattrapage uml
Rattrapage umlRattrapage uml
Rattrapage umlvangogue
 
1 intro-use case
1 intro-use case1 intro-use case
1 intro-use case
tendelcallaghan
 
Uml2 i formation-uml-2-les-bases
Uml2 i formation-uml-2-les-basesUml2 i formation-uml-2-les-bases
Uml2 i formation-uml-2-les-basesCERTyou Formation
 
2 TUP
2 TUP2 TUP
14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation
Georges OLE
 

Similaire à Uml (20)

UMl_language_de modélisation_eninformatique.ppt
UMl_language_de modélisation_eninformatique.pptUMl_language_de modélisation_eninformatique.ppt
UMl_language_de modélisation_eninformatique.ppt
 
Uml partie 1
Uml partie 1Uml partie 1
Uml partie 1
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architect
 
Génie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling languageGénie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling language
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
alphorm.com - Formation UML
alphorm.com - Formation UMLalphorm.com - Formation UML
alphorm.com - Formation UML
 
Design Patterns (2003)
Design Patterns (2003)Design Patterns (2003)
Design Patterns (2003)
 
Soutenance séminaire bibliographique
Soutenance séminaire bibliographiqueSoutenance séminaire bibliographique
Soutenance séminaire bibliographique
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
 
UML use case class2UML use case class2.ppt
UML use case class2UML use case class2.pptUML use case class2UML use case class2.ppt
UML use case class2UML use case class2.ppt
 
UML use case class une presentation sur uml .ppt
UML use case class une presentation sur uml .pptUML use case class une presentation sur uml .ppt
UML use case class une presentation sur uml .ppt
 
srep_cours_05.pdf
srep_cours_05.pdfsrep_cours_05.pdf
srep_cours_05.pdf
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
 
Rattrapage uml
Rattrapage umlRattrapage uml
Rattrapage uml
 
1 intro-use case
1 intro-use case1 intro-use case
1 intro-use case
 
Uml2 i formation-uml-2-les-bases
Uml2 i formation-uml-2-les-basesUml2 i formation-uml-2-les-bases
Uml2 i formation-uml-2-les-bases
 
2 TUP
2 TUP2 TUP
2 TUP
 
14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation14_PM_chapitre3_Modelisation pour modélisation
14_PM_chapitre3_Modelisation pour modélisation
 

Uml

  • 1. Éléments d’UML pour le projet (Unified Modeling Language) C Crochepeyre UML 1
  • 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 2
  • 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 3
  • 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 4
  • 5. 2- Préliminaires • Les origines d’UML • La démarche de conception et d’analyse • UP: Processus unifié C Crochepeyre UML 5
  • 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 6
  • 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 7
  • 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 8
  • 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 9
  • 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 10
  • 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 11
  • 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 12
  • 13. 3- les règles UML • 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. C Crochepeyre UML 13
  • 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 14
  • 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 noms NomEleve Elève assister Cours Cycle.UE expressions After (7 minutes) {un élève doit Date = 7 juillet 2005 être Inscrit} contrainte C Crochepeyre UML 15
  • 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 16
  • 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 17
  • 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 18
  • 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 Elève N°Elève: entier Attributs Elève NomElève: car Opérations Adresse: car Inscrire() autres C Crochepeyre UML 19
  • 20. • Représentation UML d’un objet Nom objet : classe Valeur attrib 1 Valeur attrib 2 Valeur attrib 3 Elev2005001: Elève Elev2005001 : Elève 2005001 2005001 2005001 durand durand durand 1 rue de Paris 1 rue de Paris 1 rue de Paris C Crochepeyre UML 20
  • 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 1..2 X * Y A une instance X correspond 1 à 2 instances de Y A une instance Y correspond 0 à n instances de X C Crochepeyre UML 21
  • 22. • Agrégation – Association entre une classe de type « ensemble » avec plusieurs classes de type « éléments » Salle 1 * 1..2 * Chaises tableau équipement C Crochepeyre UML 22
  • 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 élève 1 N° éléve liste UE 1 1..* 1 N° élève liste UE dossier dossier C Crochepeyre UML 23
  • 24. • Qualification d’une association – Sémantique d’une association entre deux classes – Restriction d’une association Notes UE élève N° élève contenir Nomélève « La liste des notes d’une UE contient le n° des élèves et leur nom » C Crochepeyre UML 24
  • 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 héritage élève élève HTT élève FOD généralisation C Crochepeyre UML 25
  • 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 HTT {chevauchement} élève FOD C Crochepeyre UML 26
  • 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 extension restriction Élève salarié Élève prospect n°élève nom …. adresse nom entreprise adresse C Crochepeyre UML 27
  • 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 28
  • 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 système inscription inscrire élève inscription élève Cas d’un élève qui s’inscrit Plusieurs acteurs Plusieurs cas scolarité régie C Crochepeyre UML 29
  • 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 Inscription d’un élève Procédure d’inscription d’un élève jusqu’à la résumé délivrance de sa carte acteur primaire L’élève acteur secondaire La scolarité, la régie pré-conditions 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 description 3. Calcul du coût 4. …… exceptions Pas de délivrance de carte si 1 UE à agrément C Crochepeyre UML 30
  • 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 « include » 1 1 paiement inscription « include » carte C Crochepeyre UML 31
  • 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 « include » paiement 1 1 Inscription UE Élève en informatique « include » Délivrance carte « extend » Inscription CRI C Crochepeyre UML 32
  • 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 Transition [condition] État 1 État 2 inscription [paiement ok] Élève prospect Élève inscrit C Crochepeyre UML 33
  • 34. – On peut préciser une action ou activité à la transition Transition [condition]/ action État 1 État 2 Inscription [paiement ok]/ dépôt dossier Élève prospect Élève inscrit C Crochepeyre UML 34
  • 35. – Suite d’états et de transitions avec • Début: • Fin: • Ti : transition – Ci : condition – Ai : action T1[C1]/A1 T2[C2]/A2 État 1 État 2 État 3 T4[C4]/A4 État 4 C Crochepeyre UML 35
  • 36. – Exemple d’états-transitions Personne Etat Rencontre conseiller Action Projet formation Transition En cours d’inscription Remplit un dossier Dossier déposé Inscrit Paiement ok C Crochepeyre UML 36
  • 37. • Exemple de diagramme machine à états ancien élève élève Dossier inscription nouvel élève plan formation C Crochepeyre UML 37
  • 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 38
  • 39. • Exemple diagramme d’activités Transition avec condition Dépôt dossier « transition gardée » [refus] Vérification [à compléter] [accepté] [retour] Paiement Dossier renvoyé [forfait entreprise] [individuel] convention Carte délivrée Transition sans condition « transition automatique » C Crochepeyre UML 39
  • 40. • Exemple synchronisation Ouvrir inscription Inscrire UE Modifier une inscription Inscrire UE et modifier élève sont deux actions // C Crochepeyre UML 40
  • 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 41
  • 42. • Exemple diagramme de séquence C Crochepeyre UML 42
  • 43. • Exemple diagramme de séquence : durée Convention facture règlement signature (fin semestre) Paiement ok C Crochepeyre UML 43
  • 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 44
  • 45. [orientation] 1: établir plan plan de formation 3: créer dossier 2 : double du plan devis dossier 5 : remise 4 : calculer prix() élève 9 : remise carte() Carte élève 8: délivrer carte() 7 : maj paiement () 6 : payer () régisseur C Crochepeyre UML 45
  • 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 46
  • 47. • Diagramme d’un module – Décomposition d’un sous système en modules C Crochepeyre UML 47
  • 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 48
  • 49. • Diagramme de déploiement d’un système d’inscription Poste Intranet Serveur scolarité Scolarité TCP/IP BD scolarité C Crochepeyre UML 49
  • 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 50
  • 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 51
  • 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 52
  • 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 53
  • 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 54
  • 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 55
  • 56. Description graphique: cas d’utilisation « inscription » C Crochepeyre UML 56
  • 57. Tableau: cas d’utilisation « inscription » 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. C Crochepeyre UML 57
  • 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 58
  • 59. Diagramme de classe: cas inscription C Crochepeyre UML 59
  • 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 60
  • 61. Diagramme de séquence: cas inscription C Crochepeyre UML 61
  • 62. Diagramme de collaboration: cas inscription C Crochepeyre UML 62
  • 63. Diagramme Etats-Transitions • Comportement d’un système • Etats possibles d’un objet • Changements des états / événements: transitions C Crochepeyre UML 63
  • 64. Diagramme états-transitions: cas inscription C Crochepeyre UML 64
  • 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 65
  • 66. Diagramme d’activités: cas inscription C Crochepeyre UML 66
  • 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 Intranet Serveur scol scolarité (inscription) TCP/IP BD scolarité (dossiers élèves) C Crochepeyre UML 67
  • 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 68
  • 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 C Crochepeyre UML 69