UML
Transcription
UML
UML Qu'est-ce qu'UML Unified Modeling Language C'est un langage, pas une méthode Langage graphique basé autour d'entités et de relations Permet de modéliser Des applications informatiques Des structures de données Les activités d'un domaine (mécanique, biologie, processus métier, ...) Qu'est-ce qu'UML ? Présentation du problème sous différents points de vue → différents types de diagrammes Définitions (classe) Classe : description abstraite d'un ensemble d'objets de même structure et de même comportement extraits du monde à modéliser Attribut : donnée élémentaire servant à caractériser les classes et les relations Méthodes : opérations programmées sur les objets d'une classe Classe UML Classe Nom de la classe Attributs Méthode On met l'identifiant en tête des attributs Classe UML : exemple Obtenu avec StarUML On met l'identifiant en tête des attributs Classe UML : exemple Classe UML avec attributs typés Définitions (association) Association : l'association permet de relier une classe à plusieurs autres classes Multiplicité : chaque extrémité d'une association porte une indication de multiplicité. Elle exprime le nombre minimum et maximum d'objets d'une classe qui peuvent être reliés à des objets d'une autre classe. Entité-association/UML Terminologie Entité-association UML Entité Classe Association (relation) Association (relation) Occurrence Objet Cardinalité Multiplicité Modèle conceptuel de données (Merise) Diagramme de classe Cardinalités/multiplicités Cardinalités 0,1 1,1 0,N 1,N N,N Multiplicités UML 0..1 1 0..* ou * 1..* N..N Exemple d'association Un propriétaire possède une ou plusieurs parcelles Une parcelle est possédée par un et un seul propriétaire Association nommée Avec sens de lecture (< ou >) : Rôles Enrichissent l'extrémité d'une association en décrivant la façon dont la classe perçoit l'autre classe via l'association Association réflexive Association reliant des occurrences de la même entité Association plusieurs-àplusieurs avec attributs Utilisation d'une classe-association Génération de code Java // // // Generated by StarUML(tm) Java AddIn // // @ Project : Untitled // @ File Name : Parcelle.java // @ Date : 02/12/2009 // @ Author : // // public class Parcelle { public Integer Numéro; public Float Superficie; public String Commune; public Proprietaire possede; }