Modélisation des bases de données avec UML

Slides:



Advertisements
Présentations similaires
Langage de modélisation objet unifié
Advertisements

Génie Logiciel 2 Julie Dugdale
Projet n°4 : Objecteering
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Les cas d’utilisation (use cases)
Laboratoire Informatique Image Interaction
UML - Présentation.
Les objets: représentation
Le Modèle Logique de Données
UML (2) Rappel sur le modèle statique : classe / objet
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
UML (Unified Modeling Langage)
Introduction à la POO: Les classes vs les objets
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
UML (2) Rappel sur le modèle statique : classe / objet
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
Règle 0 & 1: attribut et classe
UML : GENERALITES Rappel Diagrammes Niveaux de visions
Michel Tollenaere (INPG)
1 Cours MSI, modélisation de SI : livraison journaux version 1 du 8 février 2005 Modélisation de S.I. Livraison de journaux ENSGI – MSI 2ème année Michel.
Analyse et Conception des Systèmes d’Informations
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
UML : Unified Modelling Language
Modélisation en UML : Diagramme des classes
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
MIGRATION DE DONNÉES la méthode générale
1 Introduction : Management des systèmes dinformation version 1.1 du 13 Novembre 2001 Introduction : Management des systèmes dinformation ENSGI Cours MSI.
L’orienté objet: hier, aujourd’hui et demain
Static modeling, Thu G. Falquet, L. Nerima.
Chapitre 3 Les diagrammes de classes
Vers la conception objet
Modèle, Méthode et Conception
UML : Unified Modelling Language
Outils pour la modélisation des systèmes distribués
Analyse et conception orientée objet
SYSTEMES D’INFORMATION
MODELE RELATIONNEL concept mathématique de relation
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Initiation à la conception des systèmes d'informations
Le diagramme de séquences
Le diagramme de collaboration
UML : Unified Modelling Language
Démarche de développement
UML (2) Modèle dynamique le diagramme de séquence
Michel Tollenaere (INPG)
Mickaël GARDONI ENSGI, TD MSI n°2, version 1.1 du /6 produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone.
Sensibilisation a la modelisation
Modélisation Objet UML avec Rational Rose 2000
Bases de données   J-L Hainaut Partie 1 - Comprendre les bases de données Partie 2 - Utiliser les bases de données Partie 3 - Développer une base.
UML - Présentation.
Management des Systèmes d’Information (MSI)
GENIE LOGICIEL Détermination du périmètre cible d’une application
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Unified Modeling Langage
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Nouvelles Technologies Internet & Mobile
2 Processus de conception de BD
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
(UML) Unified Modeling Language
Introduction à la Programmation Orientée Objet
Diagramme de classe Classe Objet Associations Diagramme de classe.
Management des Systèmes d’Information (MSI)
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
UML Unified Modeling Language. UML : 8 diagrammes 1.Classes 2.Activités 3.Séquences 4.Collaboration 5.Etats transition 6.Cas d’utilisation 7.Composants.
Transcription de la présentation:

Modélisation des bases de données avec UML Construction d’un modèle UML d’objets persistants et transformation en modèle relationnel

Axes de modélisation d ’un système Statique (ce que le système EST) diagramme de classes diagramme d’objets diagramme de composants diagramme de déploiement Dynamique (comment le système EVOLUE) Fonctionnel (ce que le système FAIT) diagramme de séquence diagramme de collaboration diagramme d’états-transitions diagramme d’activités diagramme de cas d’utilisation diagramme de collaboration

Niveaux d’abstraction d’un SI En UML, les mêmes modèles peuvent être utilisés à différents niveaux d ’abstraction du plus conceptuel à l’implantation. On peut donc appliquer des mécanismes de transformation continue. Conceptuel organisationnel logique physique

Les 9 diagrammes UML diagramme de cas d’utilisation diagramme de classes diagramme de séquence diagramme de collaboration diagramme d’objets diagramme d’états-transitions diagramme d’activités (nous utiliserons IDEF 0) diagramme de composants diagramme de déploiement

Description UML des 9 diagrammes UML Ceci est un commentaire Cas d ’utilisation Cas d ’utilisation Classes Etats Transitions Séquence Classes Etats Transitions Séquence Collaboration Composants Déploiement Activité Objets

Exemples : Quelques diagrammes : acteur (intéragissant avec VEGA2) Système (VEGA2) message Diagramme de séquence Chaque cas d'utilisation apparaît comme un scénario, décrit par un ou plusieurs diagrammes de séquence. Un diagramme de séquences montre les interactions entre les acteurs et le système selon un point de vue temporel pour accomplir une fonctionnalité attendue du système (un cas d ’utilisation). C’est une ensemble de messages échangés entre les acteurs et le système, ordonnés chronologiquement. Cas d’utilisation une fonctionnalité attendue du système (VEGA2) par les différents acteurs. Diagramme de Classes

Modèle Fonctionnel Use Cases : cas d ’utilisation diagramme de collaboration

Modèle Statique diagramme d ’objets Diagramme de classes

Objets et classes MaVoiture : Voiture marque = Renault Modèle = Nevada Immatriculation = 648ADX38 AnnéeModele = 1992 Kilométrage = 285 000 Objet : une entité concrète avec une identité bien définie qui encapsule un état et un comportement. L ’état est représenté par des valeurs d’attribut et des associations, le comportement par des méthodes. Un objet est une instance d ’une classe. Classe : une description d’un ensemble d’objets qui partagent les mêmes attributs, opérations, méthodes, relations et contraintes. Une classe peut posséder des attributs ou des méthodes « de classe ». Voiture marque : chaîne Modèle : chaîne Immatriculation : chaîne (8) AnnéeModele : date Age_moyen : entier Rouler ( ) Kilometrage_annuel_moyen ( )

Diagramme d’Objets Structure statique d’un système, en termes d’objets et de liens entre ces objets. Ces objets et ces liens possèdent des attributs qui possèdent des valeurs. Un objet est une instance de classe et un lien est une instance d’association. Nom de l’objet : Classe Attributs = valeurs Personne âge : entier collaborateur * Etienne : personne âge = 35 Jean-Luc : personne âge = 25 patron Diagramme d ’objets collaborateur 1 patron emploie> Diagramme de classes

Diagramme de classes exemple : Structure statique d’un système, en termes de classes et de relations entre ces classes. Voiture Couleur Cylindrée Vitesse max Démarrer () Accélérer () Freiner () Nom de classe Attributs Opérations () exemple : Syntaxe: nom_attribut : type_attribut = valeur initiale nom_opération (nom_argument : type_argument = valeur_par_défaut, …) : type_retourné Visibilité : trois niveaux de visibilité pour les attributs et les opérations: public (+) : élément visible à tous les clients de la classe protégé ( #) : élément visible aux sous-classes de la classe privé (-) : élément visible à la classe seule

Diagramme de classes : Relations entre classes Agrégation : quand une classe fait partie d’une autre classe (agrégat - composant) Association : toute relation structurelle entre classes, autre que l ’agrégation et la généralisation Généralisation : factorisation des éléments communs d’un ensemble de classes dits sous-classes dans une classe plus générale dite super-classe. Elle signifie que la sous-classe est un ou est une sorte de la super-classe. Le lien inverse est appelé spécialisation classe 4 classe 3 classe 2 classe 1 agrégation association généralisation spécialisation 1 1..* 1 1..* constructeur véhicule moteur voiture camion avion

Associations Agrégation: Rôle et multiplicité : Association transitive : si voiture est composée de moteur et si moteur est composé de courroie alors voiture est composée de courroie Association non systémique : si voiture est composée de moteur, moteur ne peut pas être composé de voiture Association qui peut être réflexive : une fonction peut être composée d ’autres fonctions Rôle et multiplicité : Une classe a un rôle dans une association. Les rôles portent une information de multiplicité précisant le nombre d ’associations auquel une instance d ’objet peut être associée. Les multiplicités les plus courantes sont : 1 / 0..1 / m..n / * /0..* / 1..*

Nommage des associations constructeur véhicule Construire> produit fabricant <construit par <Transporte passager véhicule personne véhicule Conduit> conducteur véhicule Possède> propriétaire véhicule <Emploie employé employeur personne entreprise Dirige> directeur société Possède> société actionnaire

Multiplicité des associations 1 0 .. 1 m .. n * ou 0 .. * 1 .. * Un et un seul (obligatoire) Zéro ou un (optionnel) De m à n (entiers) quelconque Au moins 1 Personne Société Employeur Employé 1 0..*

Arité des associations Association d’arité 3 Salle lieu Etudiant Cours Enseignant Début Fin

Placement des attributs et des associations Etudiant Travail 1 Réalise > 0..* 0..* 0..* 1 Diplôme Note Mention 0..1 Chambre Numéro

Contraintes personne compte Est_titulaire> {Ordonnée} personne 0 .. * 1 {Ordonnée} 0 .. * personne classe Parent d ’élève {Sous ensemble} 0 .. * Délégués 0 .. * personne université Enseignants {Ou-exclusif} 0 .. * Etudiants

Agrégation Livre Chapitre {Ordonnée} {Ordonnée} Paragraphe 1 .. * 1

Composition La composition traduit une dépendance existentielle forte. Homme Tête 1 1 La composition traduit une dépendance existentielle forte.

Exemple de diagramme de classes Outil Simulation Créer_Projet() Modifier_Projet() ModifierParamètre_Projet() Créer_Problème() Modifier_Problème() ModifierParamètre_Problème() Créer_Etude() Modifier_Etude() ModifierParamètre_Etude() FaireAppelAUneAncienne_Etude() Conclure_Etude() Créer_Cycle() Modifier_Cycle() ModifierPramètre_Cycle() Rajouter_Entité() Conclure_Cycle() 1..* Projet NomProjet NuméroPDM DateDebutProjet Projet() Tes_infos?() Nouv_Paramètres() Problème Titre_Problème Objectif Delai Prix NiveauPriorite FicheEtude Conclusion Problème() Nou_Paramètres() Etude Titre_Etude NomPièce ButEtude TypeEtude Etude() Tes_infos() Ajouter_Conclusion() 1 1..* 1..* 1 Induit 1..* 1..* 1..* LesProjets LesProblèmes 1 1 EstResoluPar 0..* 0..* 0..1 0..1 0..1 0..1 Suivant ComplétéePar 0..* 0..* 0..* 0..* LesEtudes 1..* 1..*

Modèle Statique Passage d ’un diagramme de classe à un modèle relationnel

Passage du modèle statique UML au relationnel : Règle 0 & 1: attribut et classe Passage du modèle statique UML au relationnel : les associations produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone Classe Relation / Table Produit (Réf-produit, Libellé-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Téléphone)

Passage du modèle statique UML au relationnel : Règle 2 : relation de multiplicité (1) Passage du modèle statique UML au relationnel : les associations Classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone * < fournir 1 remise Produit (Réf-produit, Libellé-p, Prix-vente-p, Code-fournisseur, remise) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table

Passage du modèle statique UML au relationnel : Règle 3 : relation de multiplicité (0-1) Passage du modèle statique UML au relationnel : les associations Classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone * < fournir 0-1 remise Produit (Réf-produit, Libellé-p, Prix-vente-p, remise, Code-fournisseur) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table

Passage du modèle statique UML au relationnel : Règle 4 : relation de multiplicité (0..*) (1..*) Passage du modèle statique UML au relationnel : les associations Classe produit Réf-produit Libellé-p Prix-vente-p fournisseur Code-fournisseur Adresse Téléphone * 0..* ou 1..* < fournir remise Produit (Réf-produit, Libellé-p, Prix-vente-p) Fournisseur (Code-fournisseur, Adresse, Téléphone) Relation / Table Fournir (Réf-produit, Code-fournisseur, remise)

Passage du modèle statique UML au relationnel : Règle 5 : relation réflexive orientée Passage du modèle statique UML au relationnel : les associations Père (nom-fils, nom-père) Relation / Table Classe Personne nom 0..* 1 père de >

Passage du modèle statique UML au relationnel : Règle 6 relation réflexive symétrique Passage du modèle statique UML au relationnel : les associations Relation / Table Personne (Nom) Frère (nom, nom) Classe Personne nom frère de Attention, la relation étant transitive, des traitements devront être associés au modèle.

Références http://uml.free.fr/ site en français http://gilco.inpg.fr/~tollenaere/msi/diaporamas/UML1.ppt