1 modélisation des bases de données avec uml construction dun modèle uml dobjets persistants et...

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

Upload: caroline-gros

Post on 04-Apr-2015

117 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

1

Modélisation des bases de données avec UML

Construction d’un modèle UML d’objets persistants et transformation

en modèle relationnel

Page 2: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

2

• diagramme de classes

• diagramme d’objets

• diagramme de composants

• diagramme de déploiement

Statique (ce que le système EST)

• diagramme de séquence

• diagramme de collaboration

• diagramme d’états-transitions

• diagramme d’activités

Fonctionnel (ce que le système FAIT)

Dynamique(comment le système EVOLUE)

• diagramme de cas d’utilisation

• diagramme de collaboration

Axes de modélisation d ’un système

Page 3: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

3

• Conceptuel

• organisationnel

• logique

• physique

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.

Niveaux d’abstraction d’un SI

Page 4: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

4

• 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

Les 9 diagrammes UML

Page 5: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

5

Diagramme

Classes

Composants DéploiementCollaboration

Etats Transitions Séquence

Objets

Cas d ’utilisationCas d ’utilisation Classes Etats Transitions Séquence

Ceci est un commentaire

Description UML des 9 diagrammes UML

Activité

Page 6: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

6

Cas d’utilisation

une fonctionnalité attendue du système (VEGA2) par les différents acteurs.

cas d'utilisation

Exemples : Quelques diagrammes

: acteur (intéragissant avec VEGA2)

Système (VEGA2)

message

messagemessage

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.

Diagramme de Classes

objet 1

objet 3

objet 2 objet 4

lien exprimant que "objet 2 est

composé de objet 3"

lien exprimant que "objet 2 a une relation avec objet 4"

lien exprimant que "objet 2 est une sorte de objet 1"

Page 7: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

7

Modèle Fonctionnel

• Use Cases : cas d ’utilisation• diagramme de collaboration

Page 8: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

8

Modèle Statique

• diagramme d ’objets• Diagramme de classes

Page 9: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

9

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 ».

Objets et classes

MaVoiture : Voiture

marque = Renault

Modèle = Nevada

Immatriculation = 648ADX38

AnnéeModele = 1992

Kilométrage = 285 000

Voiture

marque : chaîne

Modèle : chaîne

Immatriculation : chaîne (8)

AnnéeModele : date

Age_moyen : entier

Rouler ( )

Kilometrage_annuel_moyen ( )

Page 10: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

10

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.

Personne

âge : entier

patron

collaborateur

1

*

Diagramme de classes

Nom de l’objet : Classe

Attributs = valeurs

Diagramme d’Objets

Etienne : personne

âge = 35

Jean-Luc : personne

âge = 25

patron

Diagramme d ’objets

collaborateur

emploie>

Page 11: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

11

Structure statique d’un système, en termes de classes et de relations entre ces classes.

Nom de classe

Attributs

Opérations ()

Voiture

Couleur

Cylindrée

Vitesse max

Démarrer ()

Accélérer ()

Freiner ()

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

Syntaxe:

• nom_attribut : type_attribut = valeur initiale

• nom_opération (nom_argument : type_argument = valeur_par_défaut, …) : type_retourné

exemple :

Diagramme de classes

Page 12: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

12

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

associa

tion

généralisation sp

écia

lisa

tion

véhicule

voiture camion avion

moteurconstructeur1 1..* 1..*1

Diagramme de classes : Relations entre classes

Page 13: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

13

Agrégation:

• 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..*

Associations

Page 14: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

14

Nommage des associations

véhiculeconstructeur

<construit parConstruire>

fabricantproduit

véhiculepersonneConduit>conducteur véhicule

Possède>propriétaire véhicule

<Transportepassager véhicule

entreprisepersonneDirige>directeur société

Possède>actionnaire société

<Emploieemployé employeur

Page 15: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

15

Personne SociétéEmployeur

Employé 1

0..*

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

Multiplicité des associations

Page 16: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

16

Arité des associations

Salle

EnseignantEtudiant

DébutFin

Courslieu

Association d’arité 3

Page 17: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

17

Placement des attributs et des associations

Diplôme

TravailEtudiant

Chambre

Réalise >

Note

Numéro

Mention

0..* 0..*

1

0..1

0..*

1

Page 18: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

18

Contraintes

comptepersonne

{Ordonnée}

Est_titulaire>

10 .. *

classepersonne{Sous ensemble}

0 .. *

0 .. *

Parent d ’élève

Délégués

universitépersonne

{Ou-exclusif}

0 .. *

0 .. *

Enseignants

Etudiants

Page 19: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

19

Agrégation

ChapitreLivre

{Ordonnée}1

1 .. *

Paragraphe

{Ordonnée}1 .. *

Page 20: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

20

Composition

TêteHomme 1 1

La composition traduit une dépendance existentielle forte.

Page 21: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

21

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

NomProjetNuméroPDMDateDebutProjet

Projet()Tes_infos?()Nouv_Paramètres()Créer_Problème()

Problème

Titre_ProblèmeObjectifDelaiPrixNiveauPrioriteFicheEtudeConclusion

Problème()Tes_infos?()Nou_Paramètres()Créer_Etude()

Etude

Titre_EtudeNomPièceButEtudeTypeEtudeConclusion

Etude()Tes_infos()Nouv_Paramètres()Créer_Cycle()Ajouter_Conclusion()

11..*

1..*

1

0..*

EstResoluPar

1

0..*

1..*

11..* Induit

1..*

LesProblèmes LesProjets

1..*1..*LesEtudes

0..1

ComplétéePar

0..*

0..1

0..*

0..1

Suivant

0..*

0..1

0..*

Exemple de diagramme de classes

Page 22: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

22

Modèle Statique

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

Page 23: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

23

Relation / Table

Produit (Réf-produit, Libellé-p, Prix-vente-p)

Fournisseur (Code-fournisseur, Adresse, Téléphone)

Règle 0 & 1: attribut et classe

produitRéf-produitLibellé-pPrix-vente-p

fournisseurCode-fournisseurAdresseTéléphone

ClassePassa

ge du modèle statique

UML au relationnel :

les associations

Page 24: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

24

Produit (Réf-produit, Libellé-p, Prix-vente-p, Code-fournisseur, remise)

Fournisseur (Code-fournisseur, Adresse, Téléphone)

Relation / Table

Règle 2 : relation de multiplicité (1)

fournisseurCode-fournisseurAdresseTéléphone

Classe

< fournir 1produitRéf-produitLibellé-pPrix-vente-p

remise

Passage du modèle sta

tique UML au

relationnel :

les associations

*

Page 25: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

25

Classe

Produit (Réf-produit, Libellé-p, Prix-vente-p, remise, Code-fournisseur)

Fournisseur (Code-fournisseur, Adresse, Téléphone)

Relation / Table

Règle 3 : relation de multiplicité (0-1)

fournisseurCode-fournisseurAdresseTéléphone

< fournir 0-1produitRéf-produitLibellé-pPrix-vente-p

remise

Passage du modèle sta

tique UML au

relationnel :

les associations

*

Page 26: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

26

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)

Règle 4 : relation de multiplicité (0..*) (1..*)

fournisseurCode-fournisseurAdresseTéléphone

< fournir 0..*ou1..*

produitRéf-produitLibellé-pPrix-vente-p

remise

ClassePassa

ge du modèle statique UML au

relationnel :

les associations

*

Page 27: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

27

Père (nom-fils, nom-père)

Relation / Table

Personne

nom

père de >

Classe

0..*

1

Règle 5 : relation réflexive orientée

Passage du modèle sta

tique UML au

relationnel :

les associations

Page 28: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

28

Personne

nom

frère de

Classe

Personne (Nom)Frère (nom, nom)

Relation / Table

Règle 6 relation réflexive symétrique

Passage du modèle sta

tique UML au

relationnel :

les associations

Attention, la relation étant transitive, des traitements devront être associés au modèle.

Page 29: 1 Modélisation des bases de données avec UML Construction dun modèle UML dobjets persistants et transformation en modèle relationnel

29

Références

• http://uml.free.fr/ site en français

• http://gilco.inpg.fr/~tollenaere/msi/diaporamas/UML1.ppt