UML : DIAGRAMME DE CLASSES

Documents pareils
UML (Diagramme de classes) Unified Modeling Language

GOL502 Industries de services

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

Bases de données. Chapitre 1. Introduction

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Diagramme de classes

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

Modèle Entité/Association

3. UML - Unified Modeling Language Diagrammes statiques

Mon Budget Guide d utilisateur Windows Phone 7

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

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

Rappel sur les bases de données

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

Information utiles. webpage : Google+ : digiusto/

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

Les diagrammes de modélisation

Modélisation des données

1) Information sur le logiciel et la notice 2) Le tableau de bord 3) Les devis 4) Les factures 5) Les factures d acompte 6) Les avoirs sur facture

Guide utilisateur i-milo >> Décisionnel

Chapitre VI- La validation de la composition.

ENT ONE Note de version. Version 1.10

Classes et Objets en Ocaml.

MEGA Database Builder. Guide d utilisation

Introduction au Génie Logiciel

Université de Bangui. Modélisons en UML

Introduction aux concepts d ez Publish

Table des matières Sources

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

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

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

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Chapitre I : le langage UML et le processus unifié

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

OCL - Object Constraint Language

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

AIDE MEMOIRE. Forprev. De l habilitation à la gestion de sessions. Page 1 sur 55

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

A. Définition et formalisme

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

UML. Diagrammes de classes (suite) Delphine Longuet.

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

UML et les Bases de Données

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

TP - Alarme de voiture / Approche fonctionnelle

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

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

M1 : Ingénierie du Logiciel

Traduction des Langages : Le Compilateur Micro Java

UML (Paquetage) Unified Modeling Language

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Patrons de Conception (Design Patterns)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Esterel The french touch star touch esterel advance

Devenez un véritable développeur web en 3 mois!

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

Programmation Orientée Objet

Projet Active Object

Créer un sondage sous Magento

Modéliser des données, l exemple du modèle entité-association

Présentation du Modèle de Référence pour les Bibliothèques FRBR

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

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Nom de l application

I4 : Bases de Données

ANNEXE 2 : CHARTE DE COMMUNICATION

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

Votre Réseau est-il prêt?

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

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

v Sygic, a.s. All rights reserverd. Manuel utilisateur

Bases de Données Avancées

Title Text. Outil intégré de collecte, d'analyse et de visualisation de données de mobilité

CA 3000 CA 3000 PROGRAMMATION PAR MINITEL

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

TP1 : Initiation à Java et Eclipse

MANUEL UTILISATEUR : RECETTES TABLE DES MATIERES PIE : PRESTATIONS INTERNES ET EXTERNES

Initiation à JAVA et à la programmation objet.

Cours CCNA 1. Exercices

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

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

REPERTOIRE D ENTREPRISES NATIONAL A DES FINS STATISTIQUES

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

S il existe, le numéro d identification à la TVA (TVA ID) délivré par le pays de résidence ainsi que la documentation justificative correspondante

Etude de cas BACCALAUREAT PROFESSIONNEL ARCU. E2 Analyse et traitement de situations liées à l accueil

Développement itératif, évolutif et agile

Patrouilleur TCS. Un métier dans la high-tech, une passion. patrouille tcs

B-web V4 MANUEL D UTILISATION. Espace de travail. Clear2Pay Belgium SA B-web V4 Manuel d Utilisation: Espace de travail

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

Concevoir un modèle de données Gestion des clients et des visites

Modèle conceptuel : diagramme entité-association

IFT2255 : Génie logiciel

ARIS : Des Processus de gestion au Système Intégré d Applications

DE MODIFICATION PROCEDURE ELYXBADGE APPLICATION. PI Électronique Restobadge

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Transcription:

APPROCHE OBJET: Représentation d un concept ou d une chose, ayant des limites et un sens dans un contexte donné. Physique ou Abstraite Caractéristiques : Informations Identifiant Comportement Messages Encapsulation

CARACTERISTIQUES : Informations : attributs décrivant l objet Identifiant : permet d individualiser les objets entre eux Comportement : implémenter sous forme de «méthodes» Messages : moyen de communication entre objets Encapsulation : gestion des accés

DEFINITION : Classe : modélisation de l ensemble des objets ayant : attributs similaires comportement en commun relations communes avec d autres objets Œuvre littéraire Titre d objet : Titre de classe «Objet» Les Miséra fleurs du -bles mal << objet >> << classe >>

NOTATION : Tout nom de classe commence par une majuscule NomAttribut : type = ValeurInitiale NomOpération(ListeArguments) : typeretour attributs NomClasse opérations

ATTRIBUT : Donnée gérée par la classe (donc pour toutes les instances) Valeur unique par instance (mais la même peut être dans plusieurs occurrences) Identifiant est un attribut : particulier, autant de valeurs que d instances valeurs déterminent les instances de la classe LIVRE Référence Nombre de page Etat Prêté Date du prêt en cours Date de restitution

OPERATIONS - METHODES: Opération : effectuée par l objet Méthode : effectuée par la classe Signature (notation) : NomOperation(arg1,arg2) : TypeOutput Comportement : effets observables des opérations LIVRE Référence Nombre de page Date du prêt en cours Créer(arg1,arg2 ) : bool Prêter(arg1,arg2 ) : bool

OPERATIONS : Peut : Accéder à ses propres attributs Invoquer une autre opération de son propre objet Invoquer une autre opération d un autre objet (même classe ou autre classe) Ne peut pas: Accéder directement aux attributs d un autre objet

LIENS & ASSOCIATIONS: Lien : connexion physique ou conceptuelle entre instances de classes Association: Instance du lien (ex : rédiger, créer) Rôle : Spécifie la contribution (ex : être rédigée par) Notation : Nom : verbe Navigation : via flèche Par défaut : 2 sens

TYPES ASSOCIATIONS: Association binaire : associe 2 classes OEUVRE AUTEUR créer

TYPES ASSOCIATIONS: Association n-aire : associe plus de 2 classes PERSONNE PROJET affecter FONCTION

TYPES ASSOCIATIONS: Association réflective : associe une classe à elle même Dans ce cas, indispensable de nommer les associations (rôles) Être pré requis de UE ANNEE A pour pré requis associer

CLASSE D ASSOCIATION: Définition : classe liée à une association Classe qui a les caractéristiques d une association ou Association qui a les caractéristiques d une classe. Nécessaire quand attributs ou opérations liées à l ensemble des classes de l association Utile pour simplifier ARTICLE 0..* 0..* ENTREPOT Référence article Libellé article stocker Quantité stockée Numéro entrepôt Nom entrepôt

rattacher à diriger prêter UML : DIAGRAMME DE CLASSES MULTIPLICITES (cardinalités): 0.. 1 1.. * SERVICE 0.. 1 0.. 1 1 * PERSONNE 1 Un et un seul 0..1 Zéro ou Un M..N De M à N (entiers naturels) 0..* De Zéro à plusieurs * 1..* De Un à plusieurs N Exactement N (entier naturel)

CLASSES PERSISTANTES : DEFINITION : Une classe est persistante quand elle perdure dans le temps COMMANDE Id Commande Livrée O/N etc... inclure 0..* 0..1 LISTE DES COMMANDES A LIVRER Classe persistante Classe non persistante

CONCEPTS AVANCES

AGREGATION DEFINITION : Forme d association qui spécifie qui spécifie la relation entre un ensemble ou «composé» et sa partie ou «composant». Agrégation composant 0.. 1 composé Contrainte D intégrité Fonctionnelle FAIBLE

AGREGATION La partie (composant) peut exister sans l agrégat (composé) Si le composé (agrégat) disparaît, le composant (partie) peut continuer d exister VOITURE 4..4 1..1 1..1 1..1 Roue Chassis Moteur Carrosserie

COMPOSITION DEFINITION : Forme d agrégation quand l ensemble ou «composé» est responsable de la création et de la destruction de ses parties. Le Composant n existe que dans l association au composé. Chambre d hôtel Composition composant 1.. 1 composé Hôtel Contrainte D intégrité Fonctionnelle FORTE

COMPOSITION La partie (composant) n existe pas sans l agrégat (composé) Si le composé (agrégat) disparaît le composant (partie) disparait aussi SOCIETE 1..1 1..* 1..* SIEGE AGENCE USINE

MULTIPLICITES DES AGREGATIONS ET COMPOSITIONS: Une agrégation peut avoir N maxi du côté de la classe agrégat car l élément agrégeant peur servir (en même temps ou successivement) à plusieurs agrégats Une composition ne peut avoir que 1..1 du côté de la classe composée car le composant, ne pouvant exister indépendamment du composé, est obligatoirement lié à un seul VOITURE 1..1 MOTEUR SOCIETE 1..N ETABLISSEMENT O..N 1..1 Un moteur peut appartenir à plusieurs voitures (mais à une seule voiture en même temps)

généralisation UML : DIAGRAMME DE CLASSES LA CLASSIFICATION : 2 Approches : La généralisation La spécialisation SUPER CLASSE SOUS CLASSE Classe plus générale Classe plus détaillée spécialisation

GENERALISATION: OISEAU Plume Bec Voler Factoriser les éléments communs (attributs, opérations, contraintes) d un ensemble de classes dans une classe plus générale appelée Super-Classe (ou classe mère). MESANGE MOINEAU Tous les attributs qui se trouvent dans la Super-Classe sont vrais dans toutes les sous-classes.

HERITAGE MULTIPLE: VEHICULE TAPIS MARIN TERRESTRE AERIEN TAPIS VOLANT

CONTRAINTES DE GENERALISATION: Une classe peut être spécialisée selon plusieurs critères. Certaines contraintes peuvent être posées sur les relation de généralisations. Par défaut, la généralisation symbolise une décomposition exclusive. VEHICULE motorisation milieu A MOTEUR A VOILE MARIN TERRESTRE AERIEN

CHAMPIGNON {exclusion} Agaricus Boletus CONTRAINTES DE GENERALISATION : { INCOMPLET DISJOINT} ( = {EXCLUSION} ) Un champignon peut être : Soit un agaricus Soit un Boletus Ou Aucun des deux. Pied Bleu Bolet de Loup

{partition} PERSONNE CONTRAINTES DE GENERALISATION : { COMPLET DISJOINT} ( = {PARTITION} ) Une personne est : Soit Mineure Soit majeure Mais pas les deux. MINEUR MAJEUR

{Totalité} MUSICIEN CONTRAINTES DE GENERALISATION: { COMPLET RECOUVREMENT} ( = {TOTALITE} ) Un Musicien est obligatoirement : Soit un compositeur Soit un interprète Soit les deux. Compositeur Interprète

{aucune contrainte} Société CONTRAINTES D ASSOCIATIONS: { INCOMPLET RECOUVREMENT} ( = {AUCUNE CONTRAINTE} ) Une Société peut être : Client Fournisseur Ou autre chose Client Fournisseur

surface Forme POLYMORPHISME Une opération est polymorphe lorsque : CalculerSurface() Elle est appelée sous forme générique au niveau de la Super-Classe Elle est spécifiée au niveau de chaque Sous-Classe Cercle Carré R Pi CalculerSurface(){ Sf = pi * R * R; } Cote CalculerSurface(){ Sf = cote*cote; }

CONSEILS Généralisation - spécialisation: Ne spécialiser que si cela apporte un gain. Ne spécialiser que sur un seul niveau Par défaut, la généralisation symbolise une décomposition exclusive.

CLASSES ABSTRAITES : Ne peut être instanciée On instancie une sous-classe. Indiquée en italique de manière générale.

<<Interface>> Vendeur Créer() Modifier() Consulter() 1 1 Client CLASSES D INTERFACE: Décrit le comportement externe visible d une classe, d un objet ou d une autre entité. <<Interface>> Secrétaire 1 Public Créer() Public Modifier() Public Consulter() Consulter() 1 Client Vendeur Public Créer() Public Modifier() Public Consulter() Secrétaire

EXERCICES