INTRODUCTION MODELISATION UML. C. Schlick. Université de Bordeaux. Modélisation UML. Axes de Modélisation UML?

Documents pareils
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Les diagrammes de modélisation

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cours de Génie Logiciel

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

UML (Diagramme de classes) Unified Modeling Language

Université de Bangui. Modélisons en UML

UML (Paquetage) Unified Modeling Language

Bases de données. Chapitre 1. Introduction

IFT2255 : Génie logiciel

Générer du code à partir d une description de haut niveau

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Rappel sur les bases de données

OCL - Object Constraint Language

Chapitre I : le langage UML et le processus unifié

Génie Logiciel avec Ada. 4 février 2013

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

UML et les Bases de Données

UML : DIAGRAMME D ETATS

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Table des matières Sources

RTDS G3. Emmanuel Gaudin

3. UML - Unified Modeling Language Diagrammes statiques

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Dossier I Découverte de Base d Open Office

II. Modèle conceptuel le modèle entité-association

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Visual Paradigm Contraintes inter-associations

Langage SQL : créer et interroger une base

Programmation Objet - Cours II

Présentation du langage et premières fonctions

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Le Guide Pratique des Processus Métiers

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Cours STIM P8 TD 1 Génie Logiciel

M1 : Ingénierie du Logiciel

7.0 Guide de la solution Portable sans fil

Nom de l application

MEGA Application Portfolio Management. Guide d utilisation

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

TP1 : Initiation à Java et Eclipse

Java Licence Professionnelle CISII,

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

Excel 2007 Niveau 3 Page 1

Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

1 Introduction et installation

Modélisation des données

Systèmes d information et bases de données (niveau 1)

Projet Active Object

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Modélisation de bases de données : Le modèle relationnel

Conception des bases de données : Modèle Entité-Association

Modélisation et Simulation

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Ingénierie des Modèles. Méta-modélisation

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Guide de développement de «WorkFLows» avec SharePoint Designer 2013

Bases de données et interfaces Génie logiciel

Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel

Meta Object Facility. Plan


Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Initiation à LabView : Les exemples d applications :

Modèle conceptuel : diagramme entité-association

Chapitre VI- La validation de la composition.

Java 7 Les fondamentaux du langage Java

Diagrammes de Package, de déploiement et de composants UML

Créer le schéma relationnel d une base de données ACCESS

MEGA Database Builder. Guide d utilisation

Gestion de projets logiciels. Xavier Dubuc

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

16H Cours / 18H TD / 20H TP

Intégrité des données

Programmation Orientée Objet

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

TP Contraintes - Triggers

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Classes et Objets en Ocaml.

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Introduction au Génie Logiciel

Création et Gestion des tables

Intelligence Artificielle Planification

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

CA 3000 CA 3000 PROGRAMMATION PAR MINITEL

GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction

Transcription:

Université de Bordeaux Modélisation UML MODELISATION UML INTRODUCTION C. Schlick schlick@u-bordeaux.fr 1 2 UML? Axes de Modélisation UML est une notation, pas une méthode de conception UML est un langage graphique de modélisation objet UML convient à tous les langages à paradigme objet Statique Diagramme de Classes Diagramme d Objets Diagramme de Composants Diagramme de Déploiement Langages compilés : C++, Objective C, Delphi... Langages à typage statique : Java, C#... Langages à typage dynamique : Python, Ruby, Perl... 3 Fonctionnel Diagramme de Scénarios Dynamique Diagramme d'etats-transitions Diagramme d'activités Diagramme de Séquences 4

Modélisation UML AXE STATIQUE 5 Diagramme de classes Classe Classe Une description d un ensemble d objets qui partagent les mêmes attributs, opérations, méthodes, relations et contraintes Objet Une entité avec une limite et une identité bien définies qui encapsule un état et un comportement. L état est défini par des attributs et des relations, et le comportement est défini par des opérations et des méthodes. Instance Classe 6 Attributs Méthodes Attribut = valeur stockée dans une classe Syntaxe accès nom : type = valeur initiale Visibilité ' + ' = public ' # ' = protégé ' ' = privé Portée ' ' = package ' ' = portée associée à l instance (attribut d instance) ' $ ' = portée associée à la classe (attribut de classe) Dérivation ' / ' = attribut dérivé (i.e. calculé automatiquement) à partir d un ou plusieurs autres attributs 7 Méthode = action associée à une classe Syntaxe accès nom (paramètres) : type retour Visibilité (même notation que pour les attributs) Portée (même notation que pour les attributs) 8

Notation complète Classe Association Visibilité Portée Dérivé Argument Fenetre + taille : Rectangle = 100,100 - visible : Boolean = true couleur : Color = blue #$ taillemax : Rectangle #$ taillemin : Rectangle /#$ taillemoyenne : Rectangle } + afficher() : Position + cacher() # settaille(taille : Rectangle) Initialisation }Attributs Méthodes Retour 9 Association = Connexion bidirectionnelle entre classes Note : le cas le plus fréquent est l association binaire Verbe = caractérise les liens qui existent entre objets Sens = le sens d une association est précisé par une flèche Rôle = définit le rôle joué par une classe dans une association Multiplicité = indique le nombre d instances d une classe qui peuvent être reliés avec une instance de la classe associée 1 ou 1..1 : association obligatoire 0..1 : association optionnelle 0..* ou * : nombre quelconque 2..* : au moins 2 1..5, 10 : entre 1 et 5, ou alors 10 10 Exemple Exemple Rôle Mari 1 marié avec 1 Epouse Personne Nom Prénom -employé Verbe emploie -employeur 1..* 0..1 Sens Entreprise Raison Sociale Activité Homme 1 marié avec mari épouse 1 Femme Classe Multiplicité Homme 0..* a été marié avec 0..* Femme 11 12

Note Note = Commentaire placé sur un diagramme Personne Commentaire sur une classe Commentaire sur une association Entreprise 13 Classe d Association Classe d association = Elément ayant à la fois les propriétés d une classe et d une association nom age Personne démissionner( ) Classe nom capital Société 0..* 1..* 0..* embaucher( ) déposer bilan( ) Contrat de Travail date salaire modifier( ) résilier( ) emploie Convention Collective respecte - référence 1..* 1..1 + renégocier( ) 14 Association n-aire Agrégation et Composition Association n-aire = Association définie entre n classes. Chaque instance de l association est un tuple composé des valeurs des classes respectives. Professeur 1 Salle 1 Cours 1..* Elève Agrégation = association particulière correspondant à une relation d inclusion entre deux classes Livre Chapitre 1..* 1..* Mot Composition = variante plus forte de l agrégation où le cycle de vie du composant est lié à celui du composite Date & Heure Durée 15 16

Exemples Agrégation Composition Voiture 1 1 4 2,3,4,5 Moteur Chassis Roue Porte Homme 1 1 0..2 0..2 Tête Tronc Bras Jambe Multiplicité 17 Intégration et Dérivation Intégration = Création d une classe plus générale à partir d un sous-ensemble des attributs et / ou méthodes d une classe donnée Dérivation = Création d une classe plus spécifique à partir d une classe donnée, en ajoutant de nouveaux attributs et / ou méthodes Vocabulaire alternatif : Généralisation / Spécialisation Intégration Dérivation simple Avion motorisation motorisation rayon d'action rayon d'action Planeur AvionAMoteur MoyenCourrier LongCourrier Dérivation multiple A320 Attribut discriminant Dérivation 18 Interface et Implémentation Interface : Une interface est une classe qui contient uniquement des méthodes mais pas d attributs. Son rôle est de spécifier un comportement particulier qui pourra être adopté par les classes qui le souhaitent Implémentation : L implémentation est une version plus légère de la dérivation puisque la classe concernée ne récupère que des méthodes. Les interfaces permettent notamment de contourner les limitations des langages objets qui n autorisent pas la dérivation multiple <<Interface>> GestionVent Avion <<Interface>> GestionMissile Structuration en paquetages Paquetage = Regroupement d un ensemble de classes Les paquetages divisent et organisent les classes de la même manière que les dossiers organisent les systèmes de fichiers Les paquetages peuvent être imbriqués à l intérieur d autres paquetages Paquetage Parent Implémentation Paquetage Enfant 1 Paquetage Enfant 2 Planeur Dérivation AvionDeChasse 19 20

Modélisation UML AXE DYNAMIQUE Axe dynamique L axe dynamique a pour objectif de définir les séquences d événements, d états et de réactions qui doivent survenir dans le système à implémenter L axe dynamique est très fortement lié à l axe statique, et décrit toutes les caractéristiques du système qui prennent en compte le temps, le séquencement des opérations et les interactions entre objets L axe dynamique inclut deux diagrammes fondamentaux : Diagramme d Etats-Transitions Diagramme de Séquences 21 22 Diagramme Etats-Transitions (ou Automate) Il permet de décrire l évolution au cours du temps d un objet en réponse aux interactions avec d autres objets Il est forcément associé à une classe, mais toutes les classes n en ont pas besoin Il se défini comme un graphe orienté, dont les sommets sont appelés états et les arcs (orientés) sont appelés transitions Etats A chaque instant, un objet se trouve dans un état spécifique : Etat initial : état d un objet juste après sa création Note : un objet ne peux avoir qu un seul état initial Etat intermédiaire : un objet peut passer par plusieurs états intermédiaire au cours de son cycle de vie Etat final : état d un objet juste avant sa destruction Note : un objet peut avoir plusieurs états finaux, tandis que les objets dits éternels (rares) n ont pas d état final Notation : état initial état intermédiaire état final 23 24

Appui bouton mode clignoter heure Transition, Condition Transition : changement d état (entre un état de départ et un état d arrivée) qui se produit à l apparition d un événement particulier Condition : prédicat devant être vérifié pour effectuer la transition Action, Activité Action : opération (généralement) courte et non interruptible, déclenchée par une transition Activité : opération (généralement) longue et interruptible qui dure tant que l objet se trouve dans l état associé à cette activité init : action exécutée chaque fois que l on arrive dans l état exit : action exécutée chaque fois que l on sort de l état Etat initial Evénement Condition Etat final Arrêt Appui bouton étage(n) [ n!= étage courant ] démarrer moteur Marche init : déplacer cabine Mineur anniversaire [âge == 18 ans] Majeur Transition 25 Action Activité 26 Exemple : montre à affichage numérique Arborescence d états Etat initial Affichage normal Evénement Appui bouton mode arrêter clignotement Appui bouton avance incrémenter minute Modification minute Dans le cas d un comportement dynamique complexe, les diagrammes d états peuvent devenir rapidement illisibles Pour éviter ce problème, on peut définir les diagrammes d états sous forme d une structure arborescente où plusieurs états sont combinés pour former des super-états, afin de permettre une mise en facteur des transitions possibles Appui bouton avance incrémenter heure Appui bouton mode clignoter minute Etat A E2 E1 C E2 B = A E1 C E2 B Modification heure Action 27 Même événement Super-état 28

Temps Exemple : boîte de vitesse mécanique Historique Point Mort (N) R enclenché N enclenché Arrière (R) Par défaut, un automate n a pas de mémoire La notation H offre un mécanisme pour mémoriser le dernier sous-état qui l englobe Exemple : cycle de lavage d un lave-vaisselle N enclenché F enclenché Rinçage Lavage Séchage Avant (F) H rapport sup rapport sup Première Seconde Troisième rapport inf rapport inf Fermeture porte Ouverture porte Historique Attente 29 30 Diagramme de Séquence (ou Scénario) Il permet de définir les relations dynamiques entre les objets L axe temporel est placé en vertical (de haut en bas), alors que l horizontale correspond aux échanges de messages entre objets Chaque diagramme de séquence correspond généralement à l un des cas d utilisation (use case) définis dans le cahier des charges Notation : Acteur nom : classe Acteur en attente Acteur en activité Exemple : appel téléphonique Appelant Ligne téléphonique Appelé décroche () tonalité numérotation () indication sonnerie Acteur Attente indication sonnerie décroche () Message synchrone Message asynchrone Activité (bloquant) (non bloquant) 31 32