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