Les diagrammes de modélisation



Documents pareils
Cours de Génie Logiciel

Université de Bangui. Modélisons en UML

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

Chapitre I : le langage UML et le processus unifié

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

Diagramme de classes

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

UML : DIAGRAMME D ETATS

UML (Paquetage) Unified Modeling Language

IFT2255 : Génie logiciel

UML (Diagramme de classes) Unified Modeling Language

Cours STIM P8 TD 1 Génie Logiciel

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

Table des matières Sources

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

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

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

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

RAPPORT DE CONCEPTION UML :

Chapitre 1 : Introduction aux bases de données

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

Gestionnaire de procédure Guide rapide

Le Guide Pratique des Processus Métiers

MEGA Database Builder. Guide d utilisation

GOL502 Industries de services

MEGA Application Portfolio Management. Guide d utilisation

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

Spécifications du logiciel. Mise à jour : 24 février 2011 Nombre total de pages : 7

MEGA ITSM Accelerator. Guide de démarrage

MEGA ITSM Accelerator. Guide de Démarrage

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Séquence de découverte de SparkAngels Logiciel d entraide numérique

Analyse,, Conception des Systèmes Informatiques

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

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

ETI/Domo. Français. ETI-Domo Config FR

Qu'est-ce que le BPM?

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

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

modélisation solide et dessin technique

MEDIAplus elearning. version 6.6

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

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

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

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

Introduction à la B.I. Avec SQL Server 2008

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Guide d'utilisation du Serveur USB

Concevoir et déployer un data warehouse

Conception des systèmes répartis

1 sur 5 10/06/14 13:10

Rational Unified Process

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

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

Business Process Modeling (BPM)

Description de la formation

ManageEngine IT360 : Gestion de l'informatique de l'entreprise

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Java 7 Les fondamentaux du langage Java

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

Projet Active Object

Date: 22/10/12 Version: 3.2

Génie Logiciel Orienté Objet UML

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Didacticiel de mise à jour Web

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

S'organiser pour ne plus se noyer dans l'information

LES OUTILS DU TRAVAIL COLLABORATIF

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

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

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Manuel d utilisation NETexcom

I Pourquoi une messagerie?

Le génie logiciel. maintenance de logiciels.

Patrons de Conception (Design Patterns)

Annexe : La Programmation Informatique

UML et les Bases de Données

Information utiles. webpage : Google+ : digiusto/

Manuel d'utilisation

Outil de gestion et de suivi des projets

Comprendre Merise et la modélisation des données

SECTION 5 BANQUE DE PROJETS

Méthodologies de développement de logiciels de gestion

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication.

Installation d'un serveur DHCP sous Windows 2000 Serveur

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

CINEMATIQUE DE FICHIERS

Brique BDL Gestion de Projet Logiciel

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

OASIS Date de publication

OCL - Object Constraint Language

Guichet automatique de banque

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Le modèle conceptuel des traitements

Le Service de Télétransmission par Internet des banques du Réseau OCÉOR GUIDE UTILISATEURS. Version V1.0

Transcription:

L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse à la conception Relation entre les notations OMT et UML 2

Chapitre 3 : Les diagrammes de modélisation Les diagrammes d objets Les diagrammes de collaboration Les diagrammes de classes Moyens de Les diagrammes de cas d utilisationvisualiser et de manipuler des Les diagrammes de séquence éléments de Les diagrammes d états-transitions modélisation Les diagrammes d activités Les diagrammes de composants Les diagrammes de déploiement 3 3.1 Diagrammes d objets, de collaboration et de classes 3.1Diagrammes objets, de collaboration et de classes Les diagrammes d objets (ou d instances)! représenter les objets et leurs relations sans représenter les envois de messages (représentation statique).! permettre la compréhension générale du système! faciliter la compréhension des structures complexes (récursives) Les diagrammes de collaboration! correspondent à une extension des diagrammes d objets.! représentation de la structure spatiale statique qui permet la mise en relation d un groupe d objets! représentation des interactions entre objets. Les diagrammes de classes! représente la structure abstraite statique en terme de classe et de relations! description abstraite des liens potentiels d un objet vers d autres objets 4

Petits conseils pour un schéma UML efficace Lorsque l'on passe à la conceptualisation d'une application de taille, on garde souvent les mauvaises habitudes datant de diagrammes plus simples. Voici quelques règles pour réaliser des diagrammes clairs et lisibles par tous.! Placer avant de relier Les petits projets n'ont qu'un temps, et il faut rapidement perdre l'habitude de construire son diagramme UML au fur et à mesure, à associer deux classes par une ligne dès que celles-ci sont créées. Bien au contraire, l'utilité d'uml étant de vous permettre de réfléchir à votre application avant de vous lancer dans sa réalisation, il faut prendre (et non "perdre") son temps à faire la liste de tous les éléments à placer dans le diagramme, ensuite seulement les placer de manière logique dans le diagramme, et enfin, en tout dernier, associer les éléments entre eux. 5 Petits conseils pour un schéma UML efficace (2)! Ne pas croiser les associations L'association entre deux éléments est primordiale à la bonne compréhension d'un diagramme. Autant que faire se peut, il faut éviter de placer les éléments de telle sorte que leur association puisse se croiser : un ensemble d'associations clairement distinctes permet une lecture beaucoup plus rapide de l'ensemble du diagramme. Dans le cas où deux associations doivent se croiser, il faut bien marquer la distinction entre celles-ci : au point de croisement, l'une d'entre elles doit faire un "saut" par-dessus l'autre, indiquant ainsi qu'elle ne sont pas liées.! Mettre des codes couleurs Même avec des éléments bien disposés et des associations distinctes, le diagramme d'une grosse application peut facilement devenir illisible à l'oeil humain (sans pour autant gêner sa lecture par un logiciel). Pour ne pas être le seul à savoir lire votre diagramme, prenez le temps de marquer selon différentes couleurs les éléments d'une même catégorie, ou à marquer d'une couleur vive les éléments principaux de votre diagramme. Il deviendra ainsi un bien meilleur outil de travail de groupe. 6

Conseils Méthodologiques (suite)! Diviser pour mieux régner Il faut savoir rester sobre : dès que vous vous apercevez que votre diagramme a des grandes chances de contenir beaucoup d'éléments dans tous les sens, découpez-le en plusieurs sous-diagramme, auxquels le diagramme principal fera référence. La plupart des outils de conception UML vous permettent de lier deux fichiers UML directement depuis l'interface : n'hésitez pas à y faire appel! Accessoirement, cela vous permet de simplifier votre diagramme lors de présentation à vos managers ou à d'autres groupes, probablement peut intéressés par les détails...! Mettre du sens N'oubliez jamais d'utiliser des flèches là où elles sont requises, c'est-àdire dans une association à sens unique, indiquant qu'un message ne peut être transmis que dans un seul sens. Cela implique de nombreuses choses au niveau de développement, et savoir qu'un élément n'a pas besoin d'émettre des messages, mais seulement d'en envoyer, peut simplifier de beaucoup la réalisation de l'application. 7 3.2 Diagrammes de cas d utilisation 3.2 Les Diagrammes de cas d utilisation Définition! Description sous forme d actions et de réactions du comportement d un système du point de vue de l utilisateur Objectif! Définir les limites du système à concevoir! Définir les relations entre le système et l environnement! Partitionner l ensemble des besoins d un système Notation UML! Un utilisateur ou acteur est représenté par un petit personnage, un cas d utilisation ou fonctionnalité du système par un ovale, les flèches issues d un personnage pointent vers les cas d utilisation. système retrait client virement 8

3.2 Diagrammes de cas d utilisation(2) Les acteurs Quatre catégories d acteurs! acteurs principaux : utilisent les fonctions principales du système! acteurs secondaires : tâches administratives ou de maintenance! matériel externe : dispositifs matériels incontournables utilisés! autres systèmes : systèmes avec lesquels le système doit interagir Les 3 types de relations entre acteurs et cas d utilisation! relation de communication : Déclenche " déclenchement d un cas d'utilisation par un un acteur! relation d utilisation : Utilise " un cas d utilisation comprend le comportement d un autre cas d utilisation! relation d extension : Etend " le cas d utilisation source étend ou enrichi le comportement du cas d utilisation destination 9 Exemple de Diagramme de Cas d Utilisation Exemple sur un système de navigation GPS 10

3.2 Diagrammes de cas d utilisation(3) Spécification d un cas d utilisation La spécification d un cas d utilisation comprend : L événement qui déclenche le cas d utilisation L événement qui cause l arrêt du cas d utilisation L interaction entre le cas d utilisation et les acteurs Les échanges d informations La chronologie et l origine des informations Les répétitions de comportements Les situations optionnelles (Choix a, Choix b, Choix c) 11 3.3 Les diagrammes de séquence 3.3 Les diagrammes de séquence Un diagramme de séquence montre des interactions entre objets selon un point de vue temporel La représentation se concentre sur l expression des interactions Notation : objet1 objet3 objet2 message 1 message 2 ex. Détruire envoi synchrone (expéditeur bloqué jusqu à acceptation du destinataire) envoi réflexif (envoi d un objet à soi-même) envoi asynchrone l expéditeur) (n interrompt pas l exécution de 12

3.3 Les diagrammes de séquence(2) Période d activités Une période d activité correspond au temps pendant lequel un objet effectue une action objet1 objet2 envois synchrone : Le retour est implicite message 1 objet1 objet2 message 1 Retour explicite d envoi asynchrone objet1 objet2 message 1 Retour explicite avant suicide 13 3.4 Les diagrammes de d états-transitions 3.4 Les diagrammes d états-transitions Un diagramme d états-transitions est un automate d états fini déterministe associé à une classe Abstraction des comportements possibles! chaque objet suit le comportement décrit dans l automate associé à sa classe, son état caractérise ses conditions dynamiques On associe un tel automate à toute classe qui présente un comportement réactif marqué Statecharts de D. Harel! D. Harel, Statecharts : A Visual Formalisme for Complexe Systems, Science of Computer Programming, vol. 8, 1987.! Automates hiérarchiques, possédant les concepts d orthogonalités, d agrégation et de généralisation 14

3.4 Les diagrammes de d états-transitions Sémantique du diagramme Ce diagramme sert à représenter des automates d'états finis, sous forme de graphes d'états, reliés par des arcs orientés qui décrivent les transitions. Les diagrammes d'états-transitions permettent de décrire les changements d'états d'un objet ou d'un composant, en réponse aux interactions avec d'autres objets/composants ou avec des acteurs. Un état se caractérise par sa durée et sa stabilité, il représente une conjonction instantanée des valeurs des attributs d'un objet. Une transition représente le passage instantané d'un état vers un autre. Une transition est déclenchée par un événement. En d'autres termes : c'est l'arrivée d'un événement qui conditionne la transition. Les transitions peuvent aussi être automatiques, lorsqu'on ne spécifie pas l'événement qui la déclenche. En plus de spécifier un événement précis, il est aussi possible de conditionner une transition, à l'aide de "gardes" : il s'agit d'expressions booléennes, exprimées en langage naturel (et encadrées de crochets). 15 3.4 Les diagrammes de d états-transitions(2) Notations Etat, Transition et Evénement état initial Un état Evénement Un autre état état final la transition : passer d un état à un autre Un événement déclenche la transition qui lui est associée Les gardes! Une garde est une condition qui valide ou non le déclenchement d une transition lors de l occurence d un événement! Elles doivent être mutuellement exclusives (aspect déterministe) Trop chaud [été] A Trop chaud [hiver] Climatiser Aérer Evénement[condition] 16

3.4 Les diagrammes de d états-transitions(3) Evénements & Opérations, Actions Le lien entre Evénements et Opération du diagramme de classe apparaît dans l automate! Chaque transition peut être décorée par le nom d une action à exécuter lorsque la transaction est déclenchée par un événement! L action correspond à une des opérations déclarées dans la classe de l objet destinataire de l événement Les états peuvent contenir des actions! exécutées à l entrée ou à la sortie! exécutées lors de l'occurrence d un événement pendant que l objet est dans l état Les mot-clés entry: et exit: " indique les actions d entrée et de sortie Le mot-clé on Un événement: " indique une action sur événement externe Une transition réflexive entraîne les actions de sortie et d entrée Etat A entry: on UnEvénément: exit: Ev1 / UneAction 17 3.4 Les diagrammes de d états-transitions(4) Actions et activités Définitions! Une action correspond à une opération dont le temps d exécution est négligeable! Une activité est une opération qui prend du temps qui est exécutée pendant qu un objet est dans un état donné.! Le mot-clé do: indique une activité! Activité cyclique : s arrête lorsqu une transition de sortie est déclenchée. activité séquentielle : l état peut être quitté si lorsque l'activité parvient à son terme l une des transitions est franchissable Les 6 types d Actions/Activités Etat A / Op1 / Op6 entry:op2 on UnEvénément: Op3 do: Op4 exit:op5 18

3.4 Les diagrammes de d états-transitions(5) Notion avancée : Généralisation d état Un état peut être décomposé en sous-états disjoints! états généraux = super-états, états spécialisés = sous-états! l objet doit être dans un et un seul sous-état à la fois C1 E2 E1 C3 C2 E2 C1 La transition E2 peut être factorisée E1 E2 C3 C2 19 3.4 Les diagrammes de d états-transitions(6) Notion avancée : Agrégation d état Composition d un état à partir de plusieurs autres états indépendants! on parle d agrégation d états et d état composant! l objet doit être simultanément dans tous les états composant l agrégation d états S T U C1 E3 C1 E1 C3 E1 C2 E2 C2 L état S - produit cartésien des états T et U 20

Les diagrammes d états-transitions : exemple Le diagramme d'étatstransitions présenté, montre les différents états par lesquels passe une machine à laver les voitures. Lavage En phase de lustrage ou de lavage, le client peut appuyer sur le bouton d'arrêt d'urgence. S'il appuie sur ce bouton, la machine se met en attente. Il a alors deux minutes pour reprendre le lavage ou le lustrage (la machine continue en phase de lavage ou de lustrage, suivant l'état dans lequel elle a été interrompue), sans quoi la machine s'arrête. En phase de séchage, le client peut aussi interrompre la machine. Mais dans ce cas, la machine s'arrêtera définitivement (avant de reprendre un autre cycle entier). attente lustrage sechage 21 3.5 Les diagrammes de d activités 3.5 Les Diagrammes d activités Un diagramme d activité expose les activités séquentielles et parallèles d un processus.! Le diagramme montre à la fois le flot de de contrôle et le flot de données! Une transition est déclenchée automatiquement une fois l action terminée Ils sont utiliser pour représenter :! Le déroulement de processus métier! Des enchainements d activités regroupées séquentiellement! les synchronisations d activités (workflows) Notations : Activité 1 [cond1] Activité 2 Activité 1 [cond2] Activité 3 Activité 2 Activité 3 22

Exemple de Diagramme d activité Système de navigation GPS 23 3.6 Les diagrammes de composants 3.6 Les diagrammes de composants Description des éléments physiques et leurs relations dans l environnement de réalisation Un composant! élément informatique qui entre dans la fabrication d une application.! ex : fichiers, paquetage ADA, bibliothèque chargée dynamiquement,...! On distingue 3 types de composants : Spécification ou Interface, Corps, Spécification générique Les dépendances entre composants Les processus et tâches Les programmes principaux Les sous-programmes Les Rémy Courdier - V1.11 sous-systèmes 24

3.7 Les diagrammes de déploiement 3.7 Les diagrammes de déploiement Ils montrent la disposition physique des matériels qui composent le système ainsi que la répartition des exécutables sur ces matériels Les nœuds! un nœud est une ressource matérielle physique " Dispositif (ex. Modem), Processeur (ex. PC), Mémoire (ex. Disque) Liens entre nœuds! lignes qui symbolisent un support de communication à priori bidirectionnel " connexion (ex. TCP-IP, RNIS,...) 1..10 1 PC * <<RNIS>> 1 Porte sécurité Serveur 25 Fin du Chapitre 3 Les diagrammes de modélisation 26