Analyse, Conception Objet. Diagrammes de classes. Sommaire. Utilisation



Documents pareils
UML (Diagramme de classes) Unified Modeling Language

Diagramme de classes

3. UML - Unified Modeling Language Diagrammes statiques

UML. Diagrammes de classes (suite) Delphine Longuet.

Université de Bangui. Modélisons en UML

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

IFT2255 : Génie logiciel

Chapitre VI- La validation de la composition.

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

GOL502 Industries de services

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

Traduction des Langages : Le Compilateur Micro Java

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

Modélisation UML. Christine Solnon INSA de Lyon - 3IF 1/140.

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

Programmation Orientée Objet

Héritage presque multiple en Java (1/2)

Cours de Génie Logiciel

UML et les Bases de Données

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

Je découvre le diagramme de Venn

Les diagrammes de modélisation

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Introduction au génie logiciel

OCL - Object Constraint Language

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

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

TP1 : Initiation à Java et Eclipse

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

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

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

Programmer en JAVA. par Tama

Bases de données. Chapitre 1. Introduction

UML (Paquetage) Unified Modeling Language

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

Refonte front-office / back-office - Architecture & Conception -

Langage Java. Classe de première SI

Chapitre I : le langage UML et le processus unifié

Table des matières Sources

Chapitre 2. Classes et objets

Chap. 3: Le modèle de données entité-association (E.A.)

Initiation à JAVA et à la programmation objet.

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

Projet Active Object

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

MEGA Database Builder. Guide d utilisation

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

Développement d un interpréteur OCL pour une machine virtuelle UML.

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

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

Cours en ligne Développement Java pour le web

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Programmation Objet Java Correction

RAPPORT DE CONCEPTION UML :

DES CONCEPTS OBJET PAR JAVA

Génie Logiciel Avancé Cours 3 Le modèle à objets

Information utiles. webpage : Google+ : digiusto/

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

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

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Génie Logiciel Orienté Objet UML

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

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

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Programmation sous QT

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Le génie logiciel. maintenance de logiciels.

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

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

Sécurisation de Windows NT 4.0. et Windows 2000

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Évaluation et implémentation des langages

CORBA. (Common Request Broker Architecture)

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

Méthodologies Orientées-Objet!

Auto-évaluation Programmation en Java

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Concevoir et déployer un data warehouse

Le niveau conceptuel : la modélisation des bases de données

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

2 Moodle Guide 2c : banque de questions et activité Test. Version du service

Java c est quoi? Java pourquoi?

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

TP2 : Client d une BDD SqlServer

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

Objets et Programmation. origine des langages orientés-objet

Chapitre 4 : Guide de Mouvement et Masque

Compréhension de lecture

Bases de Données Avancées

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

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

I4 : Bases de Données

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

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

Transcription:

Analyse, Conception Objet Sommaire Diagrammes de Classes Une partie du matériau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr) Septembre 2003 Définition Paquetages Classe Association Aggrégation Composition Généralisation Relation de dépendance Classe abstraite Interface Classe utilitaire Sept.2003 Sept.2003 Sommaire 2 Définition Point central de la modélisation du système pour exprimer sa structure statique. Représentation d un ensemble de classes, d interfaces et de paquetages ainsi que leurs relations. Une classe décrit un ensemble d objets (instances de la classe). Une association décrit un ensemble de liens (instances de l association). Utilisation Lors de l analyse et de la conception: Définitions formelles des objets qui composent le système à partir des cas d utilisation et des diagrammes d interaction (séquences et collaboration). Bases conceptuelles pour les diagrammes d état-transition,dedéploiement,... Lors de l implantation : Génération automatique des structures statiques du système (classes, relations,...). Sept.2003 Définition 3 Sept.2003 Utilisation 4

Paquetages Définition : Mécanisme de partitionnement des modèles et de regroupement des éléments de modélisation. Chaque paquetage peut contenir un ensemble de diagrammes et/ou de paquetages. Chaque élément d un paquetage possède un nom unique dans ce paquetage. Possibilité dedéfinir des relations entre paquetages (dépendances, cf. plus loin). Pack Classe..2 * Pack::Classe2 <<importe>> Pack2 Classe Classe Définition : description d un ensemble d objets partageant les mêmes attributs, opérations, méthodes, relations et sémantiques. Généralement, en fonction de l objectif du diagramme, elle est décrite par : un nom (obligatoire), des attributs, des opérations, des exceptions,... Un nom de classe est unique au sein du paquetage Nom de paquetage::nom de la classe Rque : les objets sont représentés comme les classes avec leur nom souligné. InnerPack Sept.2003 Paquetages 5 Sept.2003 Classe 6 Représentation UML : Nom de classe Nom de classe Classe (suite) Nom de classe Attributs attribut attribut2 Opérations op() op2() Stéréotype Un stéréotype permet d étendre les classes déjà existantes en leur donnant une signification sémantique différente. Si la classe A est un stéréotype de la classe B, alors A se comporte comme B tout en ayant une signification sémantique différente. Mécanisme proche de la généralisation/spécialisation sauf qu il permet le changement de sémantique. Représentation UML : <<stéréotype>> Nom de classe Sept.2003 Classe (suite) 7 Sept.2003 Classe (suite) 8

Stéréotype (suite) Quelques stéréotypes prédéfinis : énumération : classe définissant un ensemble d identificateurs formant le domaine de valeur d un type. utilitaire : classe réduite au concept de module et qui ne peut être instanciée. acteur : classe modélisant un ensemble de rôles joués par un acteur. interface : classe contenant uniquement une description des opérations visibles. exception : classe modélisant un cas particulier de signal : les exceptions. Attribut Définition : propriétédéfinie par un nom,untype et éventuellement une valeur initiale. Syntaxe UML : [ visibilité ] nom attribut [ multiplicité ] : type attribut [ = valeur initiale ] visibilité : cf. plus loin. nom attribut : identificateur de l attribut, unique au sein de la classe. multiplicité : l attribut représente un ensemble de valeurs; exemple de tableau: Parents[..2 ] :. valeur initiale : valeur prise par l attribut lors de l instanciation de la classe (valeur en concordance avec le type de l attribut). Sept.2003 Classe (suite) 9 Sept.2003 Classe (suite) 0 Attribut : Type type attribut : ensemble des valeurs pouvant être prises par l attribut. Il peut être : une classe : Rectangle, Cercle,,... un type primitif : Entier, Chaîne de caractères, Booléen,... une expression complexe dont la syntaxe n est pas précisée par UML : ensemble de n points,... Attribut : Type (suite) Mutabilité : contrainte quant aux possibilités de modificiation d un attribut. La mutabilité peut être : {gelé} : attribut non modifiable (ou constante), {variable} : modifiable à tout moment (mutabilité par défaut), {ajoutuniquement} : seul l ajout est possible (si multiplicité > ) Télévision on/off : Bouton couleur : enum{ gris, noir } marque : Chaîne télétexte : Booléen = Vrai chaînes [ 5.. * ] : Canal type : TypeTV { gelé } Canal <<énumération>> TypeTV 6/9 4/3 Bouton Sept.2003 Classe (suite) Sept.2003 Classe (suite) 2

Attribut : attribut dérivé Parfois des propriétés redondantes sont spécifiées lors de l analyse. Les propriétés entièrement dépendantes d autres propriétés peuvent être exprimées à l aide d attributs dérivés. Un attribut dérivé peut être traduit par une opération. Rectangle Longueur : Entier Largeur : Entier /Surface : Entier { surface = Longueur * Largeur } Rectangle Longueur : Entier Largeur : Entier Surface() : Entier Longueur * Largeur Opération Définition : spécification du comportement des instances de la classe. Cinq catégories d opérations : les constructeurs qui créent les objets, les destructeurs qui détruisent les objets, les sélecteurs (opérations de consultation) qui nt tout ou partie de l état d un objet, les modificateurs qui changent tout ou partie de l état d un objet, les itérateurs qui visitent l état d un objet ou le contenu d une structure de données contenant des objets. Sept.2003 Classe (suite) 3 Sept.2003 Classe (suite) 4 Opération (suite) Syntaxe UML : [ visibilité ] nom opération ( [ arguments ] ) : type retourné propriétés visibilité : cf. plus loin. nom opération : identificateur de l opération, unique au sein de la classe. type retourné : type de la valeur retournée par l opération; si omis l opération ne retourne aucune valeur. Opération : arguments arguments : description des valeurs nécessaire à l opération. Syntaxe UML : [ direction ] nom argument : type argument [ = valeur par défaut ] [, autres arguments ] valeur par défaut : valeur prise par l argument si aucune valeur n est donnée lors de l utilisation de cette opération. direction : UML définit trois directions pour les arguments in (par défaut) : paramètre en entrée seule et non modifié par l exécution de l opération, out : paramètre en sortie seule; l appelant peut ainsi récupérer des informations, inout : paramètre en entrée-sortie; l argument est passé à l opération et modifiable. Sept.2003 Classe (suite) 5 Sept.2003 Classe (suite) 6

Opération : propriétés UML définit cinq propriétés pour les opérations: requête [ = vrai faux ] :sivrai (par défaut), l opération n altère pas l état de l instance. abstrait [ = vrai faux ] :sivrai (par défaut), indique une opération non implémentée c-à-d, une opération dont l implémentation devra être obligatoirement réalisée par les classes filles. estfeuille [ = vrai faux ] :sivrai (par défaut), indique une opération qui ne peut pas être réimplémentée par une classe fille. estracine [ = vrai faux ] :sivrai (par défaut), indique qu une opération est définie pour la première fois dans une hiérarchie de classes. concurrence = séquentiel gardé concurrent : précise le mécanisme d exécution concurrente de l opération. Opération : implémentation Spécification d une pré-condition : condition qui doit être toujours vraie avant l exécution de l opération. Spécifciation d une post-condition : condition qui est toujours vraie après l exécution de l opération. Implémentation avec des diagrammes état-transition, des diagrammes de collaboration, du pseudo-code,... Pile d assiettes nombre_éléments : Entier = 0 + retirersommet() : Booléen + nbrelements() : Entier { <<pré condition>> nombre_éléments > 0 } nombre_éléments Sept.2003 Classe (suite) 7 Sept.2003 Classe (suite) 8 Visibilité des membres Visibilité des membres (suite) UML définit trois niveaux de visibilité : public :l élément est visible pour tous les clients/utilisateurs de la classe, noté par +. protégé :l élément est visible pour les sous-classes de la classe, noté par #. privé :l élément est visible pour la classe seule, noté par -. <<visible>> A + attr_public : Entier # attr_protégé : Booléen attr_privé : Chaîne + op_publique() # op_protégée() op_privée() <<visible>> B <<visible>> C <<visible>> Sept.2003 Classe (suite) 9 Sept.2003 Classe (suite) 20

Portée des membres UML définit deux niveaux de portée : portée d instance (par défaut) : les éléments sont valides pour d une seule instance de la classe; les éléments n ont aucune existance en dehors de l instance. portée de la classe : les éléments sont toujours valides; ils ne sont pas attachés à une instance particulière mais à une classe. Association Définition : relation entre au moins deux classes qui entraînent des connexions entre leurs instances. Représentation UML : trait reliant les deux classes en relation. Syntaxe UML:unélément ayant une portée de classe est souligné + Parents [..2 ] : A + ID : Entier + nombre_instances : Entier Classe A Classe B Sept.2003 Classe (suite) 2 Sept.2003 Association 22 Association : arité Les association ont le plus souvent une arité binaire : deux classes en relation. Représentation UML des associations d arité supérieure (n-aire) : losange. Traduire une association d arité n-aire en un ensemble d associations binaires. Note : la difficulté de trouver un nom différent pour chaque extrémité d une association n-aire est souvent le signe d une association d arité inférieure. Etudiant Etudiant Association : arité (suite) 2..* Salle <<association ternaire>> Cours début fin Salle 2..* Cours début fin Enseignant Enseignant Sept.2003 Association 23 Sept.2003 Association 24

Association : nommage Les associations peuvent être nommées c.-à-d. identifiées par un texte unique décrivant la sémantique de l association. Travaille pour Société Note : utiliser une forme verbale active ( travaille pour ) ou passive ( employé par ). Si ambiguïté, indiquer le sens de lecture avec les signes ou (par défaut lecture de gauche à droite). Société Travaille pour Association : rôles des extrémités Les extrémités des associations peuvent être qualifiées par des rôles. Un rôle indique comment une classe Source voit une classe Destination. Source A Société employeur rôle de B employé Destination B Le rôle est un pseudo-attribut de la classe source (utilisé comme un attribut). Note : ne pas utiliser à la fois le nommage d une association et les rôles des extrémités de la même association. Sept.2003 Association 25 Sept.2003 Association 26 Association : multiplicité Définition : la multiplicitéprécise le nombre d instances pouvant être liées par une extrémité d association à une instance pour chaque autre extrémité d association. Sous sa forme générale, elle s exprime par une suite d intervalles disjoints sur l ensemble des entiers naturels. Sous-estimer la multiplicité des associations réduit la flexibilité du modèle, la sur-estimer conduit à des développements inefficaces. A..0 B Société employeur 0.. 0..* employé Association : multiplicité (suite) Multiplicités définies par UML : un et un seul (multipicité par défaut) 0.. zéro ou un N exactement N M..N de M à N * zéro ou plus, c.-à-d. de 0 à + 0..* zéro ou plus, c.-à-d. de 0 à +..* un ou plus, c.-à-d. de à + Sept.2003 Association 27 Sept.2003 Association 28

Association : qualification Clé d accés sur l ensemble des instances que représente l association. Plateau Plateau Abscisse Ordonnée Association : contraintes Expression de contraints sur les extrémités, entre associations,... (cf. cours OCL). 0..* {ordonné} Compte PC portable {ou exclusif} Secteur..n Batterie Case Case Classe d école Parents d élèves * {sous ensemble} * Délégués Sept.2003 Association 29 Sept.2003 Association 30 Association : classe-association Si une association possède des propriétés ou des opérations, il est possible de la qualifier à l aide d une classe-association. Une classe-association possède les mêmes caractéristiques que les associations et les classes. Etudiant..* réalise 0..* Travail Association : classe-association (suite) Lors de la conception, une classe-association peut être remplacée par une classe intermédiaire. A m n B note : 0..20 Une classe-association qui ne participe pas à d autres relations avec d autres classes peut ne pas porter de nom. A m attribut C attribut n B Sept.2003 Association 3 Sept.2003 Association 32

Aggrégation Définition : forme spéciale d association exprimant une relation de composition entre aggrégats (part-whole). Association irréflexive, antisymétrique dans laquelle une des extrémitiés joue un rôle prédominant, pouvant être récursive. Permet de modéliser les contraintes d intégrité etdedésigner les aggrégats comme garant de ces contraintes. A travers une aggrégation, il est possible de représenter : la propagation des valeurs d attributs d une classe vers l autre; une action sur une classe qui implique une action sur une autre classe (ex: copie profonde); une subordination des objets d une classe à ceux d une autre. propriétaire..* 0..* Immeuble Sept.2003 Aggrégation 33 Composition Cas particulier d aggrégation. La classe ayant le rôle prédominant est la classe composite ou classe conteneur. La composition implique : la durée de vie des composants est la même que celle du composite. la multiplicitéducôté du composite prend ses valeurs dans 0 ou. La composition et les attributs sont sémantiquement équivalents. Voiture m : Moteur Composite 0.. * Voiture Composant m Moteur Sept.2003 Composition 34 Généralisation Définition : relation (irréflexive, antisymmétrique, transitive) entre une classe plus générale et une classe plus spécifique (signifie est un ou est une sorte de ). Ce n est pas une association. Exemple : un animal est un concept plus général qu un chat ou un chien. Inversement un chien est un concept plus spécialisé qu un animal. La classe Animal est une généralisation de la classe Chat ou la classe Chien. La classe Chien est une spécialisation de la classe Animal. L élément plus spécifique peut contenir des informations qui lui sont propres, à condition que ces informations et la description des éléments plus généraux soient totalement cohérentes. Deux types de généralisation : simple ou multiple. Généralisation : simple La généralisation simple est une relation binaire. Représentation UML : flèche triangulaire blanche orientée vers la classe la plus générale. Chien Chien Animal Chat Animal Chat Cheval Cheval Sept.2003 Généralisation 35 Sept.2003 Généralisation 36

Généralisation : simple (suite) La classe la plus générale peut être nommée : classe mère, classe parent, superclasse, classe de base. La classe la plus spécialisée peut être nommée : classe fille, classe enfant, sous-classe, classe dérivée. La classe la plus élévée dans la hiérarchie (pas de généralisation) est souvent nommée classe racine. Généralisation : simple (suite) Les sous-classes héritent des attributs, des opérations, des relations et des contraintes définies dans la classe mère. Héritage: mécanisme permettant à une classe d utiliser les membres de sa classe mère sans avoir à les redéfinir. Animal # âge : Entier = 0 + mange() Chat + anniversaire() { âge := âge + ; } Sept.2003 Généralisation 37 Sept.2003 Généralisation 38 Polymorphisme Définition : mécanisme permettant à une classe fille la spécialisation d opérations. <<énumération>> Type_Alimentation Omnivore Carnivore Herbivore Animal + mange() : Type_Alimentation Omnivore Généralisation : multiple Définition : mécanisme permettant à une classe d avoir plusieurs classes mères. Les superclasses n ont pas forcément d ancêtres communs. Véhicule Lion Vache Humain Tapis Aérien + mange() : Type_Alimentation + mange() : Type_Alimentation Carnivore Herbivore L exécution de l opération mange() déprendra du type réel de l objet : Lion::mange() pour un Lion et Animal::mange() pour un Humain. Tapis volant Tapis volant hérite des propriétés de Tapis et de Aérien. Sept.2003 Généralisation 39 Sept.2003 Généralisation 40

Relation de dépendance Relation de dépendance (suite) Définition : relation unidirectionnelle indiquant qu un changement dans la cible (fournisseur) provoque un changement dans la source (client). Relation non structurelle existant entre plusieurs éléments. Représentation UML : une flèche pointillé éventuellement stéréotypée. Quatre types de relations de dépendances : Abstraction: relation entre éléments qui représentent un même concept à différents niveaux d abstraction ou selon des points de vue distincts; Liaison: dépendance entre une classe paramètrable (cible) et une classe paramètrée (source); Permission: l élément source a le droit d accéder à l espace de nommage de l élément cible; Utilisation: l élément source requiert la présence d un élément cible. Stéréotypes prédéfinis dans UML pour les relations de dépendance : Liaison : lie Utilisation : utilise, appelle (une opération source appelle une autre opération cible), crée (une instance de la classe source crée une instance de la classe cible), instancie (une opération de l élément source crée une instance de l élément cible), instance de (l élémént source est une instance de l élément cible). Permission : ami (permet àl élément source d ignorer la propriétéde visibilitédel élément cible), Abstraction : dérive (un élément source est défini ou calculé à partir d un élément cible), raffine relation de dépendance entre deux éléments à des niveaux sémantiques différents, réalise : l élément source implémente la spécification désignée par l élément cible. Sept.2003 Relation de dépendance 4 Sept.2003 Relation de dépendance (suite) 42 Classe abstraite Définition : classe non instanciable définissant au moins un mécanisme général instanciable par des classes filles. Représentation UML : définition de la classe avec la propriété {abstrait} ou si une de ses opérations (héritée ou non) possède la propriété {abstrait = vrai}. <<énumération>> Type_Alimentation Omnivore Carnivore Herbivore Animal + mange() : Type_Alimentation {abstrait} Classe A { abstrait } Classe abstraite (suite) On définit une classe abstraite lorsque : il est impossible de connaître l implantation d une méthode (abstractisation d une opération). Exemple : l opération manger() de la classe Animal n a pas de sens sémantique propre; il s agit d une propriété existant chez tous les animaux; il est impossible de préciser le comportement de ce service au niveau de la classe Animal. l instanciation d une classe n a aucun sens sémantique ou pratique. Lion + mange() : Type_Alimentation Vache + mange() : Type_Alimentation Humain + mange() : Type_Alimentation Carnivore Herbivore Omnivore Sept.2003 Classe abstraite 43 Sept.2003 Classe abstraite (suite) 44

Interface Définition : description d un ensemble d opérations utilisées pour spécifier un service offert par une classe. Ne contient ni attribut, ni association, ni implémentation des opérations (les opérations sont abstraites). Une classe réalisant une interface doit : soit implémenter les opérations de l interface, soit définir les opérations de l interface comme des opérations abstraites (implémentables par les classes filles). Représentation UML : classe ayant le stéréotype interface, ou par un cercle pour faire référence à l interface utilisée dans la classe, flèche d héritage en pointillés pour la réalisation d une interface par une classe, flèche de dépendance en pointillés pour l utilisation. Sept.2003 Interface 45 Entreprise Client <<utilise>> <<utilise>> <<utilise>> Interface (suite) Crédit <<interface>> Assurance mensualité() : Réel <<interface>> Crédit Banque <<réalise>> <<réalise>> Sept.2003 Interface (suite) 46 Classe utilitaire Définition : définition d une classe dont tous les membres ont une portée de classe les attributs et les opérations deviennent des variables et des procédures globales. Une classe utilitaire ne peut pas être instanciée. En Java, une classe utilitaire correspond à une classe qui ne contient que des membres statiques. Représentation UML : classe ayant le stéréotype utilitaire. <<utilitaire>> Math + sin(degré) : Réel + cos(degré) : Réel Sept.2003 Classe utilitaire 47 Pour en savoir plus... Modélisation objet avec UML. Muller, Gaertner. 2000. Éditions Eyrolles (http://www.editionseyrolles.com/). Le guide de l utilisateur UML. Booch. 2000. Éditions Eyrolles. UML en action De l analyse des besoins à la conception en Java. Roques. 2000. Éditions Eyrolles. Intégrer UML dans vos projets. Lopez. 997. Éditions Eyrolles. Sept.2003 Pour en savoir plus... 48