120. Modélisation des données Généralisation - spécialisation. Table des matières



Documents pareils
Rappel sur les bases de données

Chapitre VI- La validation de la composition.

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

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

Chap. 3: Le modèle de données entité-association (E.A.)

Bases de données. Chapitre 1. Introduction

Grille fluide. Une grille fluide sert à structurer la mise en page, la rendre harmonieuse et faciliter le passage au responsive web design

Information utiles. webpage : Google+ : digiusto/

Université de Bangui. Modélisons en UML

UML (Paquetage) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language

Traduction des Langages : Le Compilateur Micro Java

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Nom de l application

Patrons de Conception (Design Patterns)

Programmation Objet Java Correction

Évaluation et implémentation des langages

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

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

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Méthodes d évolution de modèle produit dans les systèmes du type PLM

II. Modèle conceptuel le modèle entité-association

Avant-propos Certificats et provisioning profiles

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

OCL - Object Constraint Language

Modèle Entité/Association

Systèmes d information et bases de données (niveau 1)

Bases de Données. Plan

Les diagrammes de modélisation

Introduction aux Bases de Données

Talend Technical Note

Diplôme de Comptabilité et de Gestion. D é c r e t N d u 2 2 d é c e m b r e A r r ê t é d u 8 m a r s

16H Cours / 18H TD / 20H TP

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

A. Définition et formalisme

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Chapitre 1 : Introduction aux bases de données

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

IFT2255 : Génie logiciel

Les structures. Chapitre 3

MODELES DE DUREE DE VIE

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Chapitre I : le langage UML et le processus unifié

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Cours de bases de données. Philippe Rigaux

INTÉRÊT DU SCANNER 3D DANS LA MESURE DE L'ANTÉVERSION DES COLS FÉMORAUX

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

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

Visual Paradigm Contraintes inter-associations

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Christophe Le Page CIRAD - UPR Green

palais des congrès Paris 7, 8 et 9 février 2012

D UN BON REFERENCEMENT

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Université Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay

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

Merise. Introduction

Formation : Modélisation avec UML 2.0 et Mise en pratique

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

offre de formations Année 2015

Bases de données Cours 1 : Généralités sur les bases de données

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

CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

gestion des processus La gestion des processus

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

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

PNL & RECRUTEMENT IMPACT SUR LES ENTRETIENS Présentation du 10/06/03

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

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

La Geo-Business Intelligence selon GALIGEO avec 26/10/2005 1

Intégration de l interface graphique de Ptidej dans Eclipse

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

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

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

Conception des systèmes répartis

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

TD 1 - Structures de Traits et Unification

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

Dévéloppement de Sites Web

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Portrait de Femme Meryem Benotmane SSM

Audit financier & budgétaire de la Ville de Clamart

Structure typique d un protocole de recherche. Préparé par Johanne Desrosiers dans le cadre d une formation au réseau FORMSAV

Je découvre Lina Maintenance

Analyse,, Conception des Systèmes Informatiques

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations

OASIS Date de publication

Bases de Données Avancées

Estimation des charges. «Le travail se dilate jusqu à remplir le temps disponible»

Tickets 3:3. ChevauxPartants

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

Chapitre 9 : Informatique décisionnelle

Continuité d une fonction de plusieurs variables

Transcription:

Modélisation de logiciels de gestion 120. Modélisation des données Généralisation - spécialisation Table des matières 1 Concepts de base... 2 2 Représentation conceptuelle... 2 3 Contraintes d intégrité... 3 3.1 Ensemble et sous-ensembles... 4 3.2 Partitionnement d ensemble... 5 4 Imbrication de sous-ensembles et de partitionnement... 6 5 Transformation en modèle logique relationnel... 7 6 Limites... 9 1/9

1 Concepts de base La généralisation spécialisation permet d organiser les entités dans une vision de classification hiérarchique. Au niveau supérieur, se trouve une entité générale ou super entité ; au niveau inférieur se trouve une ou plusieurs entités spécialisées ou sous entités. La généralisation permet de faire ressortir les caractéristiques communes à plusieurs entités ; ces caractéristiques communes constituent la base d une nouvelle «super entité» nommée sur-type par certains auteurs. La spécialisation est le cheminent inverse de la généralisation ; la spécialisation permet de décliner des caractéristiques particulières à certaines occurrences d une entité. Ces occurrences d entité qui ont des caractéristiques particulières de même nature sont regroupées dans une ou plusieurs nouvelles «sous entités» nommées sous-type par certains auteurs. Dans l exemple ci-contre, la super entité Livre contient les attributs tels que Titre ou DateEdition communs à tous les livres qu ils soient destinés aux enfants ou à l enseignement. Par contre, dans la sous entité LivreEnfants nous trouvons les attributs AgeMin et AgeMax qui lui sont propres et que nous ne retrouvons pas dans les livres d enseignement. 2 Représentation conceptuelle En UML, la généralisation spécialisation est représentée par une «relation» de généralisation qui ne comporte ni cardinalité ni nom. La généralisation s exprime généralement sous la forme suivante : «l entité B est une sorte de A». Pour l exemple précédent, un livre d enfant est une sorte de livre. /modelisation-2005 2/9

3 Contraintes d intégrité Le mécanisme de généralisation - spécialisation peut s assimiler au concept de sous-ensemble ou de partitionnement d ensemble. De ce fait, la relation de généralisation spécialisation comporte implicitement les contraintes d intégrité suivantes: Toute occurrence de sous entité est obligatoirement une et une seule occurrence de la super entité. Toute occurrence de super entité ne peut être spécialisée que par au maximum une occurrence d une seule sous entité 1. Le modèle de droite illustre la relation de généralisation représentée par une simple association dotée de cardinalité. Une occurrence b i de B est obligatoirement une occurrence a j de A. Une occurrence a i de A ne peut être spécialisée que par une seule occurrence parmi les occurrences de B et de C soit: b j de B ou (exclusivement) c k de C. La généralisation spécialisation est statique et permanente ; lorsqu une relation de généralisation spécialisation est établie entre une occurrence de super entité A et une occurrence de sous entité B elle ne peut pas être transformée en : changeant d occurrence de la super entité A; changeant d occurrence de la sous entité B ; transférant la spécialisation d une occurrence de B vers une occurrence de C. Pour notre exemple, un livre d enfant ne peut devenir un livre d enseignement. 1 Les restrictions ou contraintes d intégrité que nous venons d énumérer s appliquent à la modélisation des données. Dans la vision générale du langage UML appliquée à la technologie orientée objet, ces restrictions ne s appliquent pas ; une sous classe peut être la spécialisation de plus d une super classe et une super classe peut être spécialisée par plus d une sous classe. /modelisation-2005 3/9

3.1 Ensemble et sous-ensembles Le mécanisme de généralisation - spécialisation peut s assimiler au concept de sousensemble. La super entité représente l ensemble dans sa totalité et la ou les éventuelles sous entités les divers sous-ensembles. Dans le cas de la modélisation de sous-ensembles, nous postulons que : Une occurrence de la super entité peut exister sans être spécialisée par une sous entité. Pour notre exemple, il peut exister un livre qui n est ni livre d enfant ni livre d enseignement. Le livre existe en ayant comme propriétés les éléments communs, à savoir : un code, un titre et une date d édition. /modelisation-2005 4/9

3.2 Partitionnement d ensemble Le mécanisme de généralisation - spécialisation peut aussi s assimiler au concept de partitionnement d ensemble. La super entité représente l ensemble dans sa totalité et les sous entités les diverses partitions de l ensemble. Dans le cas de partitionnement d ensemble, nous pouvons affirmer que : Une occurrence de la super entité ne peut pas exister sans être spécialisée par une sous entité. Pour montrer le caractère restrictif du partitionnement avec UML, nous spécifions la super entité comme étant abstraite 2. Une entité abstraite est représentée graphiquement en écrivant son nom en italique. Pour notre exemple, le modèle montre qu il ne peut pas exister d enfant qui ne soit un garçon ou une fille. Remarque: Dans le cas présent, nous n avons pas de propriétés spécifiques à l une des deux sous entités Garcon et Fille; les deux sous entités nous serviront essentiellement à dissocier les enfants en filles et garçons. 2 En UML, une classe abstraite sert de classificateur pour des objets qui seront instantiés à partir de sous-classes non abstraites. /modelisation-2005 5/9

4 Imbrication de sous-ensembles et de partitionnement Naturellement, les concepts de sous-ensembles et de partitionnement peuvent s imbriquer sur plusieurs niveaux pour représenter des structures quelque peu complexes. L exemple ci-contre montre qu une personne ne peut être qu une éducatrice, un garçon ou une fille ; mais, un garçon ou une fille sont des enfants. Personne et Enfant sont deux entités abstraites. /modelisation-2005 6/9

5 Transformation en modèle logique relationnel Pour respecter la sémantique de la généralisation spécialisation : les différentes entités sont transformées en tables ; les relations de spécialisation, «est une sorte de», sont transformées en relations identifiantes entre tables ; les cardinalités des relations identifiantes sont obligatoirement : o 1 du côté de la table provenant de la super entité ; o 0..1 du côté de la table provenant de la sous entité. Ces cardinalités correspondent aux contraintes d intégrité que nous avons définies précédemment. Le modèle relationnel ci-dessus peut s avérer difficilement exploitable par certaines bases de données ou outils de développement. Face à ce genre de situation, une structure de généralisation spécialisation peut être transformée en une simple table qui contient les attributs de chacune des entités super-type et sous-types. Naturellement, la réduction de la structure de généralisation spécialisation à une seule table se traduit par une perte importante de sémantique : Les propriétés spécifiques des sous entités deviennent générales ; Les relations spécifiques à certaines sous entités deviennent, elles aussi, générales. L attribut TypeLivre contient l une des deux valeurs {ENFANT, ENSEIG} ou une valeur nulle pour pouvoir mémoriser l éventuelle spécialisation d un livre ; la valeur nulle correspond à un livre qui n est pas spécialisé. /modelisation-2005 7/9

L attribut TypeLivre ne respecte manifestement pas la règle de non redondance «horizontale». Conformément aux règles de normalisation 3, nous ajoutons en référence à notre table de livres une table contenant les types de livres. Avec notre table unique de livres, nous avons perdu de la sémantique par rapport à la structure de généralisation spécialisation du modèle conceptuel. Nous pouvons en retrouver une partie en créant un lien réflexif 4 sur la table de types de livres pour montrer sous forme d une arborescence dynamique la structure de spécialisation des livres. Remarque: La table de type et la relation réflexive pourraient être modélisées au niveau conceptuel en lieu et place de la généralisation spécialisation pour avoir une représentation uniforme entre le niveau conceptuel d une part et le niveau logique ou relationnel d autre part. 3 Plus de détails dans le chapitre de normalisation du modèle relationnel 4 Plus de détails dans le chapitre des associations réflexives /modelisation-2005 8/9

6 Limites Les structures de spécialisation/généralisation sont très contraignantes : L ajout d une entité spécialisée nécessite de revoir le modèle Une erreur dans les hiérarchies nécessite aussi de revoir le modèle Il n est pas possible de modifier l appartenance d une occurrence d entité spécialisée ; par exemple, de la spécialisation B à la spécialisation C. Ce besoin de changement n est pas forcément lié à une mutation de l occurrence de l entité spécialisée mais ce peut être simplement une erreur de saisie. Face à ces limites, nous recommandons de ne recourir aux structures de spécialisation que lorsque le modèle de données est figé, ce qui nous semble que rarement le cas et que les erreurs de saisies sont inexistantes ce qui nous semble tout aussi peu réaliste. Dès lors, nous privilégions le recours à des modèles évolutifs et/ou supportant les erreurs. Pour la gestion des enfants de la crèche et pour se prémunir d erreurs, nous proposons un modèle où le genre de l enfant est fixé, optionnellement ou pas par une table de genre. Pour la gestion des livres et pour anticiper la création de nouvelles spécialisations de livre, nous proposons un modèle conceptuel utilisant une entité de référence hiérarchique pour simuler la généralisation/spécialisation. /modelisation-2005 9/9