SlideShare une entreprise Scribd logo
Modèle navigationnel
(Mnav)
TRANSFORMATION DU DIAGRAMME DE CLASSE UML EN UN MODÈLE
NAVIGATIONNEL(PARTIE I)
Soukaina EL HAYOUNI
Notions de l’objet
 Objet physique : entité tangible et visible, une chose concrète qui affecte
les sens, et particulièrement la vue.
 Exemple : un avion, une image, un stylo…
 Objet informatique : En informatique, un objet est un conteneur
symbolique, qui possède sa propre existence et incorpore des informations
et des mécanismes en rapport avec une chose tangible du monde réel, et
manipulés dans un programme. C'est le concept central de
la programmation orientée objet.
 Exemple : un vecteur de valeur, un fichier jpeg….
2
Comment passer du conceptuel au
modèle objet ?
 Le passage du diagramme de classe de UML à l’Objet est rendu facile par
le modèle dit navigationnel (outil didactique pour le niveau conceptuel)
inspiré de la notation proposée par Christian Soutou.
 Le modèle Mnav joue le rôle de pivot ou d’étape entre le diagramme de
classe de UML et le modèle d’implémentation objet.
 Le Mnav ne remplace pas la vérification et le renforcement des contraintes
du modèle, lesquelles devront être prises en charge par les méthodes
spécialisées de chaque interface de classe.
 Le Mnav fournit une structure qui incorpore explicitement certaines
contraintes du modèle mais pas toutes.
3
Modèle navigationnel (Mnav)
 Objectif :
 Faciliter le passage vers l’objet par un ensemble de règles de transposition : Diagramme
de classe  navigationnel  objet
 Favoriser la visualisation des structures complexes et des chemins de navigation
possibles en conservant la notation d’objet.
 Représenter concrètement le plus de contraintes possibles pouvant être spécifiées par le
langage DDL du SGBD.
 Lacune :
 Devient rapidement encombré et encombrant pour des modèles complexe.
 Ne représente pas bien le partage des types entre différentes parties d’un modèle
UML(classes) complexe
 Pourquoi Mnav ?
 Le modèle introduit des liens de type REF (implémentation avec l’OID + autres
informations)entre les classe UML.
4
Quelque définitions clés du Mnav
 Classe externe: la classe UML sera rendu dans le Mnav par une classe dite
externe qui est en quelque sorte au plan informatique un type (structure
nommée) défini par ses attributs.
Une classe externe définit des objets autonome (dont l’existence ne
dépend pas d’un autre objet) dans la base, possède une valeur + un oid qui
rend l’objet persistant.
 OID : est un identifiant d’objet unique, non réutilisable pour toute la vie de
la base. Un objet ayant un oid est persistant dans la base. Il est représenté
par un rond blanc ou noir.
 Classe interne : Une classe interne est une classe capable de définir des
objets (sans oid propre) mais sans oid dont la persistance exige son
imbrication dans un objet nommées et ont chacune une interface
5
Les attributs de Mnav
 Attributs simple :
L’attribut simple est idem à celui de UML: type atomique avec ses
opérations primitives régulières et implicites:
Exemple : un entier avec ses opérations arithmétiques valides
une chaine avec son opérateur de concaténation, …
 Attributs complexe :
L’attribut complexe permet d’abandonner la forme normale FN1 du modèle
relationnel en ajoutant une structure de tuple pour regrouper plusieurs
attributs éventuellement de types différents.(struct)
L’attribut complexe a un type (complexe) mais aucune méthode de traitement
associé. Cette carence sera cependant contournée par une autre approche.
6
Lien: simple avec une classe interne ou
externe
 Lien simple :
 Un lien est établi entre un attribut et une classe interne ou externe.
 Un lien simple associé une valeur d’un attribut à 1 objet de la classe
interne ou externe.
 Ce lien peut être vide (rond blanc) ou obligatoirement valué par un
oid(rond noir).
7
Lien multiple avec une classe interne
ou externe
 Lien multiple:
 Un lien est établi entre un attribut et une classe interne ou externe.
 Un lien multiple pour un attribut y associe à 0 ou plusieurs objets de la
classe interne ou externe.
 Ce lien peut être vide (rond blanc) ou obligatoirement valué par un oid(rond
noir).
8
Attribut complexe: tuples et
ensemble/classe externe et interne
 Tuple : est une structure logique linéaire formée d’attributs simples ou
complexes mais sans interface.
 Un attribut complexe définit des valeurs dont l’existence dépend que de l’objet
externe qui les héberge. Il est représenté par une structure non nommée et
sans interface. Ce n’est pas une classe interne mais uniquement une structure
pour y ranger des valeurs.
 L’attribut « laSpecialite » est associé à une structure de tuple (similaire à une
struct ).
9
Attribut associé à un seul objet
 Un attribut associé à un seul objet d’une classe est représenté par un lien
simple vers une casse interne.
10
Attribut d’ensemble ordonné
d’objets(v)
 Un attribut d’ensemble ordonné d’objets est rendu par un lien interne
multiple concrétisée par une structure de type varray.
 Les éléments de l’attribut lesSpecialites sont stockés dans un varray
(similaire à un tableau ou un array et noté V). Chaque entrée est indicée et
peut être soit une valeur soit un objet interne. Le varray a des attributs
propres qui pourraient être considérés comme des fonctions prédéfinies et
non modifiable.
11
Attribut d’ensemble non ordonné
d’objets
 Un attribut d’ensemble d’objets est rendu par un lien interne multiple vers
une classe interne.
 lesSpecialites est un ensemble{} d’objets internes non vide. Chaque objet
de l’ensemble est associé à l’interface de la classe interne.
12
Passage de UML au Relationnel
 Modèle UML : les classe UML sont des concepts logique apparentés à la
notion de type (avec la technologie oracle)
13
Passage de l’UML Atelier-Employe au
Mnav
L’association UML est rendue par un lien externe qui utilise une référence pour
associer un ou plusieurs objets de la classe Employe. La multiplicité minimale 0
du cote Atelier est représentée par le cercle blanc. La multiplicité minimale de 1
le serait par le rond noir.
14
Autre représentation Atelier-Employer
(sans attribut)
15
Partie II
16

Contenu connexe

Tendances

TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMajid CHADAD
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Symphorien Niyonzima
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
Ramzi Noumairi
 
Diagrammes de classes
Diagrammes de classesDiagrammes de classes
Diagrammes de classes
Mireille Blay-Fornarino
 
PL/SQL:les curseurs
PL/SQL:les curseursPL/SQL:les curseurs
PL/SQL:les curseurs
Abdelouahed Abdou
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
Lilia Sfaxi
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
Abdelghafour Zguindou
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
ayoub daoudi
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Ayed CHOKRI
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
Ben Abdelwahed Slim
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf
KanySidibe
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
Lilia Sfaxi
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Mohamed Amine Mahmoudi
 
Rapport de stage de perfectionnement
Rapport de stage de perfectionnementRapport de stage de perfectionnement
Rapport de stage de perfectionnementbadouuur
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
Rim ENNOUR
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
ECAM Brussels Engineering School
 

Tendances (20)

TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Merise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigésMerise+ +exercices+mcd+-+corrigés
Merise+ +exercices+mcd+-+corrigés
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Diagrammes de classes
Diagrammes de classesDiagrammes de classes
Diagrammes de classes
 
PL/SQL:les curseurs
PL/SQL:les curseursPL/SQL:les curseurs
PL/SQL:les curseurs
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Présentation pfe
Présentation pfePrésentation pfe
Présentation pfe
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf1 - Généralités - Réseaux Informatiques.pdf
1 - Généralités - Réseaux Informatiques.pdf
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
 
Polymorphisme
PolymorphismePolymorphisme
Polymorphisme
 
Rapport de stage de perfectionnement
Rapport de stage de perfectionnementRapport de stage de perfectionnement
Rapport de stage de perfectionnement
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Python avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de donnéesPython avancé : Ensemble, dictionnaire et base de données
Python avancé : Ensemble, dictionnaire et base de données
 

Similaire à Modèle navigationnel (Mnav)

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
Chapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfChapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdf
ZakariaTouyeb
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
Joubi Aaziz
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011yassine kchiri
 
Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
ECAM Brussels Engineering School
 
CPOO.pdf
CPOO.pdfCPOO.pdf
Tp3 - UML
Tp3 - UMLTp3 - UML
Tp3 - UML
Lilia Sfaxi
 
coursUML4.pdf
coursUML4.pdfcoursUML4.pdf
coursUML4.pdf
andre543581
 
Diagramme d'Objet
Diagramme d'ObjetDiagramme d'Objet
Diagramme d'Objet
abdoMarocco
 
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptPROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
EddySHANGA
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
Abdelwahab Naji
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
YasushiTsubakik
 
Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdf
AabidiHafid
 
7_Chapitre6_Les collections.pdf
7_Chapitre6_Les collections.pdf7_Chapitre6_Les collections.pdf
7_Chapitre6_Les collections.pdf
fatimakhdidr
 
ACSI.pptx
ACSI.pptxACSI.pptx
ACSI.pptx
Kingrone1
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
lauraty3204
 

Similaire à Modèle navigationnel (Mnav) (20)

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Chapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfChapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdf
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011Cours java smi_2011_2012_partie_i_29_octobre_2011
Cours java smi_2011_2012_partie_i_29_octobre_2011
 
Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
CPOO.pdf
CPOO.pdfCPOO.pdf
CPOO.pdf
 
4711538.pptx
4711538.pptx4711538.pptx
4711538.pptx
 
Tp3 - UML
Tp3 - UMLTp3 - UML
Tp3 - UML
 
.NET
.NET.NET
.NET
 
coursUML4.pdf
coursUML4.pdfcoursUML4.pdf
coursUML4.pdf
 
Diagramme d'Objet
Diagramme d'ObjetDiagramme d'Objet
Diagramme d'Objet
 
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.pptPROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
PROGRAMMATION 2e GENIE PARTIE THEORIE.ppt
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdf
 
7_Chapitre6_Les collections.pdf
7_Chapitre6_Les collections.pdf7_Chapitre6_Les collections.pdf
7_Chapitre6_Les collections.pdf
 
CM uml-diag-statiques
CM uml-diag-statiquesCM uml-diag-statiques
CM uml-diag-statiques
 
ACSI.pptx
ACSI.pptxACSI.pptx
ACSI.pptx
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 

Dernier

Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
Institut de l'Elevage - Idele
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Institut de l'Elevage - Idele
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
sieousse95
 
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Alternative - Complément  au Tramway et 3ème lien de la ville de Québec  Alternative - Complément  au Tramway et 3ème lien de la ville de Québec
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Daniel Bedard
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
Institut de l'Elevage - Idele
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
imed53
 
Présentation PFE (MOUAD LAZRAK) (2).pptx
Présentation PFE (MOUAD LAZRAK) (2).pptxPrésentation PFE (MOUAD LAZRAK) (2).pptx
Présentation PFE (MOUAD LAZRAK) (2).pptx
khalilbatariagro
 

Dernier (7)

Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
 
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
Alternative - Complément  au Tramway et 3ème lien de la ville de Québec  Alternative - Complément  au Tramway et 3ème lien de la ville de Québec
Alternative - Complément au Tramway et 3ème lien de la ville de Québec
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
 
Présentation PFE (MOUAD LAZRAK) (2).pptx
Présentation PFE (MOUAD LAZRAK) (2).pptxPrésentation PFE (MOUAD LAZRAK) (2).pptx
Présentation PFE (MOUAD LAZRAK) (2).pptx
 

Modèle navigationnel (Mnav)

  • 1. Modèle navigationnel (Mnav) TRANSFORMATION DU DIAGRAMME DE CLASSE UML EN UN MODÈLE NAVIGATIONNEL(PARTIE I) Soukaina EL HAYOUNI
  • 2. Notions de l’objet  Objet physique : entité tangible et visible, une chose concrète qui affecte les sens, et particulièrement la vue.  Exemple : un avion, une image, un stylo…  Objet informatique : En informatique, un objet est un conteneur symbolique, qui possède sa propre existence et incorpore des informations et des mécanismes en rapport avec une chose tangible du monde réel, et manipulés dans un programme. C'est le concept central de la programmation orientée objet.  Exemple : un vecteur de valeur, un fichier jpeg…. 2
  • 3. Comment passer du conceptuel au modèle objet ?  Le passage du diagramme de classe de UML à l’Objet est rendu facile par le modèle dit navigationnel (outil didactique pour le niveau conceptuel) inspiré de la notation proposée par Christian Soutou.  Le modèle Mnav joue le rôle de pivot ou d’étape entre le diagramme de classe de UML et le modèle d’implémentation objet.  Le Mnav ne remplace pas la vérification et le renforcement des contraintes du modèle, lesquelles devront être prises en charge par les méthodes spécialisées de chaque interface de classe.  Le Mnav fournit une structure qui incorpore explicitement certaines contraintes du modèle mais pas toutes. 3
  • 4. Modèle navigationnel (Mnav)  Objectif :  Faciliter le passage vers l’objet par un ensemble de règles de transposition : Diagramme de classe  navigationnel  objet  Favoriser la visualisation des structures complexes et des chemins de navigation possibles en conservant la notation d’objet.  Représenter concrètement le plus de contraintes possibles pouvant être spécifiées par le langage DDL du SGBD.  Lacune :  Devient rapidement encombré et encombrant pour des modèles complexe.  Ne représente pas bien le partage des types entre différentes parties d’un modèle UML(classes) complexe  Pourquoi Mnav ?  Le modèle introduit des liens de type REF (implémentation avec l’OID + autres informations)entre les classe UML. 4
  • 5. Quelque définitions clés du Mnav  Classe externe: la classe UML sera rendu dans le Mnav par une classe dite externe qui est en quelque sorte au plan informatique un type (structure nommée) défini par ses attributs. Une classe externe définit des objets autonome (dont l’existence ne dépend pas d’un autre objet) dans la base, possède une valeur + un oid qui rend l’objet persistant.  OID : est un identifiant d’objet unique, non réutilisable pour toute la vie de la base. Un objet ayant un oid est persistant dans la base. Il est représenté par un rond blanc ou noir.  Classe interne : Une classe interne est une classe capable de définir des objets (sans oid propre) mais sans oid dont la persistance exige son imbrication dans un objet nommées et ont chacune une interface 5
  • 6. Les attributs de Mnav  Attributs simple : L’attribut simple est idem à celui de UML: type atomique avec ses opérations primitives régulières et implicites: Exemple : un entier avec ses opérations arithmétiques valides une chaine avec son opérateur de concaténation, …  Attributs complexe : L’attribut complexe permet d’abandonner la forme normale FN1 du modèle relationnel en ajoutant une structure de tuple pour regrouper plusieurs attributs éventuellement de types différents.(struct) L’attribut complexe a un type (complexe) mais aucune méthode de traitement associé. Cette carence sera cependant contournée par une autre approche. 6
  • 7. Lien: simple avec une classe interne ou externe  Lien simple :  Un lien est établi entre un attribut et une classe interne ou externe.  Un lien simple associé une valeur d’un attribut à 1 objet de la classe interne ou externe.  Ce lien peut être vide (rond blanc) ou obligatoirement valué par un oid(rond noir). 7
  • 8. Lien multiple avec une classe interne ou externe  Lien multiple:  Un lien est établi entre un attribut et une classe interne ou externe.  Un lien multiple pour un attribut y associe à 0 ou plusieurs objets de la classe interne ou externe.  Ce lien peut être vide (rond blanc) ou obligatoirement valué par un oid(rond noir). 8
  • 9. Attribut complexe: tuples et ensemble/classe externe et interne  Tuple : est une structure logique linéaire formée d’attributs simples ou complexes mais sans interface.  Un attribut complexe définit des valeurs dont l’existence dépend que de l’objet externe qui les héberge. Il est représenté par une structure non nommée et sans interface. Ce n’est pas une classe interne mais uniquement une structure pour y ranger des valeurs.  L’attribut « laSpecialite » est associé à une structure de tuple (similaire à une struct ). 9
  • 10. Attribut associé à un seul objet  Un attribut associé à un seul objet d’une classe est représenté par un lien simple vers une casse interne. 10
  • 11. Attribut d’ensemble ordonné d’objets(v)  Un attribut d’ensemble ordonné d’objets est rendu par un lien interne multiple concrétisée par une structure de type varray.  Les éléments de l’attribut lesSpecialites sont stockés dans un varray (similaire à un tableau ou un array et noté V). Chaque entrée est indicée et peut être soit une valeur soit un objet interne. Le varray a des attributs propres qui pourraient être considérés comme des fonctions prédéfinies et non modifiable. 11
  • 12. Attribut d’ensemble non ordonné d’objets  Un attribut d’ensemble d’objets est rendu par un lien interne multiple vers une classe interne.  lesSpecialites est un ensemble{} d’objets internes non vide. Chaque objet de l’ensemble est associé à l’interface de la classe interne. 12
  • 13. Passage de UML au Relationnel  Modèle UML : les classe UML sont des concepts logique apparentés à la notion de type (avec la technologie oracle) 13
  • 14. Passage de l’UML Atelier-Employe au Mnav L’association UML est rendue par un lien externe qui utilise une référence pour associer un ou plusieurs objets de la classe Employe. La multiplicité minimale 0 du cote Atelier est représentée par le cercle blanc. La multiplicité minimale de 1 le serait par le rond noir. 14