Cours de Génie Logiciel



Documents pareils
Les diagrammes de modélisation

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Projet Active Object

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

Diagramme de classes

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Chapitre I : le langage UML et le processus unifié

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

UML (Diagramme de classes) Unified Modeling Language

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Université de Bangui. Modélisons en UML

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

RAPPORT DE CONCEPTION UML :

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

Qualité du logiciel: Méthodes de test

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

OCL - Object Constraint Language

Table des matières Sources

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Navigation dans les fichiers de configuration 1

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

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

Conception des systèmes répartis

Le Guide Pratique des Processus Métiers

UML. Diagrammes de classes (suite) Delphine Longuet.

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Patrons de Conception (Design Patterns)

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Vérification et Validation

LES INTERFACES HOMME-MACHINE

Bases de données. Chapitre 1. Introduction

Cours STIM P8 TD 1 Génie Logiciel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Gestionnaire de procédure Guide rapide

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

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

WEA Un Gérant d'objets Persistants pour des environnements distribués

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Pourquoi l apprentissage?

Programmation Objet - Cours II

Le modèle conceptuel des traitements

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Programme de formation

Java 7 Les fondamentaux du langage Java

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Compte-rendu de projet de Système de gestion de base de données

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

DG-ADAJ: Une plateforme Desktop Grid

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Business Process Modeling (BPM)

Nom de l application

IFT2255 : Génie logiciel

Organigramme / Algorigramme Dossier élève 1 SI

Description de la formation

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

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Méthodes de développement. Analyse des exigences (spécification)

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

RM 4.0 RM 3.6 RM 3.5 RM 3.1 RM 3.0 RM 2.1 RM

INITIATION AU LANGAGE JAVA

Cours en ligne Développement Java pour le web

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

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

L apprentissage automatique

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Introduction : présentation de la Business Intelligence

CINEMATIQUE DE FICHIERS

Qu'est-ce que le BPM?

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

MEGA Application Portfolio Management. Guide d utilisation

Annexe : La Programmation Informatique

La gestion intelligente de vos bâtiments :

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

VRM Monitor. Aide en ligne

Génie Logiciel Orienté Objet UML

Bases de données avancées Introduction

Analyse,, Conception des Systèmes Informatiques

Modélisation multi-agents - Agents réactifs

Les bases du développement Notes/Domino

et Groupe Eyrolles, 2006, ISBN :

Rational Unified Process

PROGRAMMATION EVENEMENTIELLE sur EXCEL

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Annexe 6. Notions d ordonnancement.

Initiation à LabView : Les exemples d applications :

Transcription:

Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005

Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes d'activités Diagrammes de Composants Diagrammes de Déploiement Pierre PARREND 2 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Vue dynamique Extension des diagrammes d'objets Rôle joué par les objets Lien entre les objets Structure spatiale Dimension temporelle Numérotation des messages Pierre PARREND 3 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Exemple Pierre PARREND 4 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Définition 'Réalisation d'une opération ou d'unclassificateur dans un contexte donné' Classificateur = classe, cas d'utilisation Deux types de description Niveau Spécification (classe) Rôles des classes et associations Interaction = séquence de message ordonné entre classes Niveau Instance (implémentation de classe = objet) Objets et liens entre ces objets Contexte particulier Pierre PARREND 5 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Représentation Diagramme de collaboration = Réalisation d'une opération, d'un clasifficateur Exemple : diagramme 'Calcul de la retraite' Si interactions avec de nombreux objets Sinon : diagramme d'activités (procédure algorithmique) Pierre PARREND 6 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Niveaux de granularités Variables Plus ou moins de précision selon les besoins Un élément peut appartenir à plusieurs diagrammes Pierre PARREND 7 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Rôles Pierre PARREND 8 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Rôles : Niveau Spécification * + habitant + habitation 1 1 1 1 + adresse * + loueur 1 1+ loyer Pierre PARREND 9 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Rôles : Niveau Spécification Rôles et Classes Associations Multiplicité Pierre PARREND 10 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Rôles : Niveau Instance PaiementLoyer() * + habitant + habitation 1 menage() * * + loueur entretien() 1 1 1 1 + adresse 1 + loyer Pierre PARREND 11 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Rôles : Niveau Instance Noms d'objets Messages Liens transitoires (appels de procédure) Pierre PARREND 12 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Envoi de message Message : spécification d'opération sur un objet Niveau Méta Stimulus : communication qui déclenche une opération Niveau Implémentation Pierre PARREND 13 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Interactions Séquence partiellement ordonnée de messages Déterminent un certain comportement Composées de Instances Liens Messages Rôles Contexte d'interaction Arguments, variables locales et globales, lien entre objets Pierre PARREND 14 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Interaction : Exemple Pierre PARREND 15 Avril 2005

Diagrammes de Collaboration Les Diagrammes de Collaboration Place de l'utilisateur Représentation des acteurs Pour éviter les détails de l'interface graphique Appuyer bouton Ascenseur Pierre PARREND 16 Avril 2005

Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes d'activités Diagrammes de Composants Diagrammes de Déploiement Pierre PARREND 17 Avril 2005

Les Diagrammes UML Diagrammes d'etats-transitions Généralités Etats Transitions Evènements Gardes Réalisation d'automates Pierre PARREND 18 Avril 2005

Diagrammes d'états-transitions Exemple Pierre PARREND 19 Avril 2005

Diagrammes d'états-transitions Diagrammes d'états-transitions = automates à état finis = automates = automates d'états = machines à état Aspect dynamique des cas d'utilisation Comportement complexe de classes Pierre PARREND 20 Avril 2005

Diagrammes d'états-transitions Représentation Des états successifs d'un élément Etat Création Évolution Destruction D'une classe donnée Valeur discrète d'un attribut Exemples ouvert/fermé nombre de produits en stock Pierre PARREND 21 Avril 2005

Diagrammes d'états-transitions Représentation Suite d'évènements discrets Évèment = appel de méthode Réaction des automates à ces évènements = modification de l'état Compléments des scénarios Scénarios = interactions entre objets Etats-transitions = évolution d'un objet Pierre PARREND 22 Avril 2005

Les Diagrammes UML Diagrammes d'etats-transitions Généralités Etats Transitions Evènements Gardes Réalisation d'automates Pierre PARREND 23 Avril 2005

Diagrammes d'états-transitions Etats Pierre PARREND 24 Avril 2005

Diagrammes d'états-transitions Etats Initial Final Pseudo-état Désigne le premier état actif via une unique transition Doit toujours être défini Un ou plusieurs Chacun correspond à une condition de fin différente Peut ne pas exister Si système qui ne s'arrête pas (ex : feux tricolores) Pierre PARREND 25 Avril 2005

Diagrammes d'états-transitions Etats historiques Pierre PARREND 26 Avril 2005

Diagrammes d'états-transitions Etats composites Diagrammes complexes Etats nombreux Transitions nombreuses Vite illisibles Regroupement d'états Deviennent des sous-états du composite Chaque sous-état peut lui même être composite Etat non décomposé = état simple Pierre PARREND 27 Avril 2005

Diagrammes d'états-transitions Etats composites Etats disjoints Dans un seul sous-état à la fois Etats concurrents Partage de l'état composite en Régions Dans un état de chacune des régions Coexistance de plusieurs états (ex : plusieurs variables) Pierre PARREND 28 Avril 2005

Diagrammes d'états-transitions Etats composites Etats disjoints Etats concurrents Pierre PARREND 29 Avril 2005

Diagrammes d'états-transitions Etats de synchronisation Synchronisation entre régions Concurrentes Transition (2) possible Si la transition (1) a été prise Permet la mémorisation (1) (2) Pierre PARREND 30 Avril 2005

Diagrammes d'états-transitions Etats historiques Exemple Lave-vaiselle Si la porte est ouverte, puis fermée, retour au dernier état occupé Pierre PARREND 31 Avril 2005

Diagrammes d'états-transitions Etats historiques Historique de l'état composite H Dernier état mémorisé Historique général H * Indépendent du niveau d'emboitement Pierre PARREND 32 Avril 2005

Les Diagrammes UML Diagrammes d'etats-transitions Généralités Etats Transitions Evènements Gardes Réalisation d'automates Pierre PARREND 33 Avril 2005

Diagrammes d'états-transitions Transitions S'accompagnent ou non d'un changement d'état Changement d'état = transition réflexive Sans changement d'état = transition interne Pierre PARREND 34 Avril 2005

Diagrammes d'états-transitions Transitions Automate = graphe dirigé Etat = noeud Transition = arc Déclenchée par un évènement extérieur Instantannées Généralement Parfois non instantannées Parfois bloquantes Pierre PARREND 35 Avril 2005

Diagrammes d'états-transitions Transitions composites Plusieurs transitions se rejoignent Pour partager des actions Une transition se sépare En connexions mutuellement exclusives Pierre PARREND 36 Avril 2005

Diagrammes d'états-transitions Transitions composites Points de jonction statiques Plusieurs transitions A partir du même état Différenciées par des gardes mutuellement exclusives Points de jonction dynamiques Transition vers le point de jonction (1) Puis évaluation des gardes (2) Dépendance des gardes à la la transition (1) Pierre PARREND 37 Avril 2005

Les Diagrammes UML Diagrammes d'etats-transitions Généralités Etats Transitions Evènements Gardes Réalisation d'automates Pierre PARREND 38 Avril 2005

Diagrammes d'états-transitions Evènements Exemples Invocation d'une opération Création, destruction d'objet Écoulement du temps Changement de condition Pierre PARREND 39 Avril 2005

Diagrammes d'états-transitions Evènements Occurrence d'une situation donnée Dans le domaine du problème Information instantannée Correspond à un appel de méthode Déclenchent une transition Avec ou sans changement d'état Contrôle les objets Pierre PARREND 40 Avril 2005

Diagrammes d'états-transitions Types d'evènements UML Evènement signal asynchrone Evènement appel Appel d'opération (méthode en Java) Création (stéréotype <<crée>>), destruction (stéréotype <<détruit>>) Evènement temporel Expiration d'une temporisation Evement modification Modification d'état d'un autre objet Pierre PARREND 41 Avril 2005

Diagrammes d'états-transitions Spécification d'évènement Nom Liste de paramètres Objet expéditeur Objet destinataire Description Pierre PARREND 42 Avril 2005

Diagrammes d'états-transitions Evènements différés Par défaut Traitement immédiat des évènements Sinon perte de l'évènement Différer le traitement Par file d'attente Deux transitions nécessaires Réceptionde l'évènement Traitement de l'évènement Pierre PARREND 43 Avril 2005

Diagrammes d'états-transitions Evènements différés Pierre PARREND 44 Avril 2005

Les Diagrammes UML Diagrammes d'etats-transitions Généralités Etats Transitions Evènements Gardes Réalisation d'automates Pierre PARREND 45 Avril 2005

Diagrammes d'états-transitions Gardes Condition booléenne qui contrôle une transition Lors d'un évènement Dépendent de la valeur des attributs ou du temps Rôle de filtre Pierre PARREND 46 Avril 2005

Diagrammes d'états-transitions Gardes Mutuellement exclusives Pierre PARREND 47 Avril 2005

Les Diagrammes UML Diagrammes d'etats-transitions Généralités Etats Transitions Evènements Gardes Réalisation d'automates Pierre PARREND 48 Avril 2005

Diagrammes d'états-transitions Réalisation d'automates Action Atomique Doit être achevée avant de considérer l'action suivante Exécutée à l'intérieur d'un état Etiquettes réservées Entrée (seulement transitions reflexives) Faire Sortie (seulement transitions reflexives) Inclure : invocation d'un sous-automate Pierre PARREND 49 Avril 2005

Diagrammes d'états-transitions Réalisation d'automates Points d'exécution des actions Transition qui précède Action d'entrée Action pendant d'état Action de sortie Transition qui suit Activité = ensemble d'actions Pierre PARREND 50 Avril 2005

Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes d'activités Diagrammes de Composants Diagrammes de Déploiement Pierre PARREND 51 Avril 2005

Diagrammes d'activités Diagramme d'activité Exemple Pierre PARREND 52 Avril 2005

Diagrammes d'activités Diagramme d'activité Variante du diagramme d'état-transition Diagramme d'état-transition Centré sur les états, les transitions Activités secondaires Diagramme d'activité Approche Procédurale Centré sur les activités Etats secondaires Pierre PARREND 53 Avril 2005

Diagrammes d'activités Diagramme d'activité Visualisation du comportement interne D'une méthode D'un cas d'utilisation D'un processus quelconque Pierre PARREND 54 Avril 2005

Diagrammes d'activités Etats Etats Action Objets Etat initial Etat final Pierre PARREND 55 Avril 2005

Diagrammes d'activités Etats Etats Action Etape dans l'exécution d'un algorithme ou d'un workflow Définie en langage naturel, en pseudo-code, en langage de programmation Exemples Appel de procédure Création ou destruction d'un objet Envoie d'un signal Pierre PARREND 56 Avril 2005

Diagrammes d'activités Transitions Pierre PARREND 57 Avril 2005

Diagrammes d'activités Transitions En général : automatiques = transitions sans déclencheur = transitions de terminaison Quand l'action de l'état se termine Après la transition Démarrage de l'action de l'état suivant Pierre PARREND 58 Avril 2005

Diagrammes d'activités Transitions Décisions Avec ou sans point de jonction Conditions booléennes = gardes Pierre PARREND 59 Avril 2005

Diagrammes d'activités Transitions Décisions Commande de flux If Then Else Pierre PARREND 60 Avril 2005

Diagrammes d'activités Transitions Décisions Alternatives Pierre PARREND 61 Avril 2005

Diagrammes d'activités Transitions Synchronisation Séparation Jonction Pierre PARREND 62 Avril 2005

Diagrammes d'activités Flots entre actions et objets Objets Nom Etat Pierre PARREND 63 Avril 2005

Diagrammes d'activités Partitions de diagrammes Travées Pierre PARREND 64 Avril 2005

Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes d'activités Diagrammes de Composants Diagrammes de Déploiement Pierre PARREND 65 Avril 2005

Diagrammes de Composants Diagramme de Composants Exemple d'un fichier Composant (boite noire) Interfaces Fichier Consultation Archivage Pierre PARREND 66 Avril 2005

Diagrammes de Composants Diagramme de Composants Composants Dépendances Environnement de réalisation Vue statique de l'implémentation Représentation de systèmes complexes Pierre PARREND 67 Avril 2005

Diagrammes de Composants Composants : ce que c'est Code <<stéréotypes>> Source, exécutable Script Fichier de commandes Fichier de données Tables etc. Pierre PARREND 68 Avril 2005

Diagrammes de Composants Composants : ce que c'est Stéréotypes <<application>> <<database>> <<document>> <<executable>> <<file>> <<framework>> <<infrastructure>> <<library>> <<source code>> <<table>> <<web service>> <<XML dtd>> Pierre PARREND 69 Avril 2005

Diagrammes de Composants Composants : ce que c'est Composant = Bloc fonctionnel Souvent, composant = service Implémentation d'interfaces Correspondant à ces services Avec attributs, opérations Pierre PARREND 70 Avril 2005

Diagrammes de Composants Composants Liés à d'autres composants Dépendance composition Peuvent être distribués dans plusieurs noeuds Peuvent être complexes Contenir d'autres composants Pierre PARREND 71 Avril 2005

Diagrammes de Composants Dépendance entre Composants Dépendance Dépendance Interface Réalisation Pierre PARREND 72 Avril 2005

Diagrammes de Composants Processus et tâches Stéréotypes <<Processus>> <<Thread>> <<Processus>> Superviseur <<Thread>> Capteur Pierre PARREND 73 Avril 2005

Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes d'activités Diagrammes de Composants Diagrammes de Déploiement Pierre PARREND 74 Avril 2005

Diagrammes de Déploiement Diagramme de Déploiement Disposition physique du matériel Pierre PARREND 75 Avril 2005

Diagrammes de Déploiement Diagramme de Déploiement Deux formes Spécifications classes Instances - Objets Noeuds Liens de communication Vue macroscopique des systèmes Pierre PARREND 76 Avril 2005

Diagrammes de Déploiement Noeuds = ressource matérielle Classe Ou Instance Comprend Mémoire Capacité de calcul Peut être Calculateur Personnes Périphériques Pierre PARREND 77 Avril 2005

Diagrammes de Déploiement Noeuds Sous-classe de classificateur Attributs (Ex : vitesse de processeur) Opérations Relations (associations, généralisation, dépendance) Pierre PARREND 78 Avril 2005

Diagrammes de Déploiement Noeuds Contient des composants Pierre PARREND 79 Avril 2005

Diagrammes de Déploiement Supports de communication A priori bidirectionnels Indiqués par des stéréotypes Pierre PARREND 80 Avril 2005

Diagrammes UML Bilan Vision statique vs. vision dynamique Abstraction vs. implémentation Programmatique vs. matériel Pierre PARREND 81 Avril 2005