Le niveau conceptuel : la modélisation des bases de données

Dimension: px
Commencer à balayer dès la page:

Download "Le niveau conceptuel : la modélisation des bases de données"

Transcription

1 BDD Le niveau conceptuel : la modélisation des bases de données stph.crzt.fr/bdd STÉPHANE CROZAT Paternité - Partage des Conditions Initiales à l'identique : 10 juillet 2014

2 Table des matières Introduction 7 I - Modélisation conceptuelle avec UML 9 A. Bases du diagramme de classes UML Exercice : Entreprise Présentation d'uml Classes Attributs Méthodes Associations Cardinalité Héritage Exemple : Des voitures et des conducteurs Gestion des défauts...18 B. Diagramme de classes UML avancé Exercice : Site Web Explicitation des associations Classe d'association Composition Agrégation Classes abstraites Contraintes Exemple de contraintes standardisées sur les associations Exemple de contraintes standardisées sur les attributs Paquetages Associations ternaires Stéréotype Énumération : stéréotype <<enumeration>> Type utilisateurs : stéréotype <<datatype>> Armoires secrètes

3 II - Application : Modélisation UML 33 A. Parc Naturel...33 B. Gestion du personnel...33 C. Appartements à louer...34 D. Médiathèque...35 E. Ouaf!...36 F. Capitaine Krik...37 G. Arbre de scène 3D...37 III - Complément : Le modèle E-A 39 A. Le modèle E-A Le modèle E-A en bref...39 Entité...39 Association...40 Cardinalité d'une association...41 Modèle E-A étendu...41 a) Attributs composites...41 b) Attributs multivalués...42 c) Attributs dérivé...42 d) Sous-type d'entité Entité de type faible Illustration d'entités faibles...43 B. Application : Modélisation E-A Un journal...44 Une société de transport routier...45 Centre médical...46 Tournoi de tennis...47 Gestion d'une coopérative viticole...47

4 C. Test E-A...48 IV - Synthèse : Les diagrammes de modélisation conceptuelle 55 V - Bibliographie commentée sur la modélisation UML 57 Questions de synthèse 59 Solution des exercices 63 Solution des exercices 77 Signification des abréviations 81 Bibliographie 83 Webographie 85 Index 87 5

5 Introduction La modélisation est l'étape fondatrice du processus de conception de BD. Elle consiste à abstraire le problème réel posé pour en faire une reformulation qui trouvera une solution dans le cadre technologique d'un SGBD. Après avoir rappelé succinctement les fondements et objectifs des SGBD, ce chapitre proposera les outils méthodologiques nécessaires à la modélisation, à travers les formalismes E-A et UML. 7

6 Modélisation conceptuelle avec UML I- I Bases du diagramme de classes UML 9 Diagramme de classes UML avancé 21 A. Bases du diagramme de classes UML Objectifs Savoir faire un modèle conceptuel. Savoir interpréter un modèle conceptuel. Si le modèle dominant en conception de bases de données a longtemps été le modèle E-A, le modèle UML se généralise de plus en plus. Nous ne donnons ici qu'une introduction au diagramme de classes (parmi l'ensemble des outils d'uml), limité aux aspects particulièrement utilisés en modélisation de bases de données. 1. Exercice : Entreprise [Solution n 1 p 77] En analysant le schéma UML ci-après, sélectionner toutes les assertions vraies. 9

7 Modélisation conceptuelle avec UML Image 1 MCD UML Une association peut employer un directeur. Une association peut employer plusieurs directeurs. Une association peut ne pas employer de directeur. Une filiale peut appartenir à plusieurs entreprises. Il existe des organisations qui ne sont ni des entreprises ni des associations. 2. Présentation d'uml UML est un langage de représentation destiné en particulier à la modélisation objet. UML est devenu une norme OMG en UML propose un formalisme qui impose de "penser objet" et permet de rester indépendant d'un langage de programmation donné. Pour ce faire, UML normalise les concepts de l'objet (énumération et définition exhaustive des concepts) ainsi que leur notation graphique. Il peut donc être utilisé comme un moyen de communication entre les étapes de spécification conceptuelle et les étapes de spécifications techniques. Dans le domaine des bases de données, UML peut être utilisé à la place du modèle E-A pour modéliser le domaine. De la même façon, un schéma conceptuel UML peut alors être traduit en schéma logique (relationnel ou relationnel-objet typiquement). 3. Classes Définition : Classe Une classe est un type abstrait caractérisé par des propriétés (attributs et méthodes) communes à un ensemble d'objets et permettant de créer des instances de ces objets, ayant ces propriétés. 10

8 Modélisation conceptuelle avec UML Syntaxe Image 2 Représentation UML d'une classe Exemple : La classe Voiture Image 3 Exemple de classe représentée en UML Exemple : Une instance de la classe Voiture L'objet V1 est une instance de la classe Voiture. V1 : Voiture Marque : 'Citroën' Type : 'ZX' Portes : 5 Puissance : 6 Kilométrage : Remarque : Clé Le repérage des clés n'est pas systématique en UML (la définition des clés se fera essentiellement au niveau logique). On peut les représenter en faisant suivre le nom de l'attribut de la contrainte {unique}. En revanche, on n'ajoutera jamais de clé artificielle lorsque aucune clé n'est évidente. Attention : Attribut souligné et # On trouvera dans ce cours des exemples d'attributs soulignés ou précédés de # pour exprimer l'unicité. Ce n'est pas une pratique standard et la notation {unique} devrait lui être substituée. Un attribut souligné est normalement un attribut de classe, ou static, en UML, Un attribut précédé de # est normalement un attribut protégé en UML. Mais les concepts d'attribut de classe et d'attribut protégé ne sont pas utilisés dans le cadre des bases de données. 11

9 Modélisation conceptuelle avec UML Remarque La modélisation sous forme de diagramme de classes est une modélisation statique, qui met en exergue la structure d'un modèle, mais ne rend pas compte de son évolution temporelle. UML propose d'autres types de diagrammes pour traiter, notamment, de ces aspects. Complément : Voir aussi Exemple de contraintes standardisées sur les attributs (cf. Exemple de contraintes standardisées sur les attributs p 27) 4. Attributs Définition : Attribut Un attribut est une information élémentaire qui caractérise une classe et dont la valeur dépend de l'objet instancié. Un attribut est typé : Le domaine des valeurs que peut prendre l'attribut est fixé a priori. Un attribut peut être multivalué : Il peut prendre plusieurs valeurs distinctes dans son domaine. Un attribut peut être dérivé : Sa valeur alors est une fonction sur d'autres attributs de la classe (il peut donc aussi être représenté comme une méthode, et c'est en général préférable). Un attribut peut être composé (ou composite) : Il joue alors le rôle d'un groupe d'attributs (par exemple une adresse peut être un attribut composé des attributs numéro, type de voie, nom de la voie). Cette notion renvoie à la notion de variable de type Record dans les langages de programmation classiques. Syntaxe attribut:type attribut_multivalué[nbminvaleurs..nbmaxvaleurs]:type /attribut_dérivé:type attribut_composé - sous-attribut1:type - sous-attribut2:type -...

10 Modélisation conceptuelle avec UML Exemple : La classe Personne Image 4 Représentation d'attributs en UML Dans cet exemple, les attributs Nom, Prénom sont de type string, l'un de 20 caractères et l'autre de 10, tandis que DateNaissance est de type date et Age de type integer. Prénom est un attribut multivalué, ici une personne peut avoir de 1 à 3 prénoms. Age est un attribut dérivé, il peut être calculé par une fonction sur DateNaissance. Conseil : Attribut composé multivalué Un attribut peut être composé et multivalué. On préfère néanmoins dans ce cas l'utilisation de l'écriture d'une composition équivalente. Rappel : Voir aussi Composition (cf. Composition p 22) 5. Méthodes Définition : Méthode Une méthode (ou opération) est une fonction associée à une classe d'objet qui permet d'agir sur les objets de la classe ou qui permet à ces objets de renvoyer des valeurs (calculées en fonction de paramètres). Syntaxe 1 methode(paramètres):type Remarque : Méthodes et modélisation de BD Pour la modélisation des bases de données, les méthodes sont surtout utilisées pour représenter des données calculées (à l'instar des attributs dérivées) ou pour mettre en exergue des fonctions importantes du système cible. Seules les méthodes les plus importantes sont représentées, l'approche est moins systématique qu'en modélisation objet par exemple. Remarque : Méthodes, relationnel, relationnel-objet Lors de la transformation du modèle conceptuel UML en modèle logique relationnel, 13

11 Modélisation conceptuelle avec UML les méthodes ne seront pas implémentées. Leur repérage au niveau conceptuel sert donc surtout d'aide-mémoire pour l'implémentation au niveau applicatif. Au contraire, un modèle logique relationnel-objet permettra l'implémentation de méthodes associées à des tables. Leur repérage au niveau conceptuel est donc encore plus important. 6. Associations Définition : Association Une association est une relation logique entre deux classes (association binaire) ou plus (association n-aire) qui définit un ensemble de liens entre les objets de ces classes. Une association est nommée, généralement par un verbe. Une association peut avoir des propriétés (à l'instar d'une classe). Une association définit le nombre minimum et maximum d'instances autorisée dans la relation (on parle de cardinalité). Syntaxe Image 5 Notation de l'association en UML Remarque Une association est généralement bidirectionnelle (c'est à dire qu'elle peut se lire dans les deux sens). Les associations qui ne respectent pas cette propriété sont dites unidirectionnelles ou à navigation restreinte. Exemple : L'association Conduit Image 6 Représentation d'association en UML L'association Conduit entre les classes Conducteur et Voiture exprime que les conducteurs conduisent des voitures. Complément 14 : Voir aussi Cardinalité (cf. Cardinalité p 15) Explicitation des associations (cf. Explicitation des associations p 21) Associations ternaires (cf. Associations ternaires p 29)

12 Modélisation conceptuelle avec UML Contraintes sur les associations (cf. Exemple de contraintes standardisées sur les associations p 27) 7. Cardinalité Définition : Cardinalité d'une association La cardinalité d'une association permet de représenter le nombre minimum et maximum d'instances qui sont autorisées à participer à la relation. La cardinalité est définie pour les deux sens de la relation. Syntaxe Si mina (resp. maxa) est le nombre minimum (resp. maximum) d'instances de la classe A autorisées à participer à l'association, on note sur la relation, à côté de la classe A : mina..maxa. Si le nombre maximum est indéterminé, on note n ou *. Attention La notation de la cardinalité en UML est opposée à celle adoptée en E-A. En UML on note à gauche (resp. à droite) le nombre d'instances de la classe de gauche (resp. de droite) autorisées dans l'association. En E-A, on note à gauche (resp. à droite) le nombre d'instances de la classe de droite (resp. de gauche) autorisées dans l'association. Remarque Les cardinalités les plus courantes sont : 0..1 (optionnel) 1..1 ou 1 (un) 0..n ou 0..* ou * (plusieurs) 1..n ou 1..* (obligatoire) Exemple : La cardinalité de l'association Possède Image 7 Représentation de cardinalité en UML Ici un conducteur peut posséder plusieurs voitures (y compris aucune) et une voiture n'est possédée que par un seul conducteur. 15

13 Modélisation conceptuelle avec UML 8. Héritage Définition : Héritage L'héritage est l'association entre deux classes permettant d'exprimer que l'une est plus générale que l'autre. L'héritage implique une transmission automatique des propriétés (attributs et méthodes) d'une classe A à une classe A'. Dire que A' hérite de A équivaut à dire que A' est une sous-classe de A. On peut également dire que A est une généralisation de A' et que A' est une spécialisation de A. Syntaxe Image 8 Notation de l'héritage en UML Fondamental : Factorisation Outre qu'il permet de représenter une relation courante dans le monde réel, l'héritage a un avantage pratique, celui de factoriser la définition de propriétés identiques pour des classes proches. Héritage et factorisation Fondamental : Is-a L'héritage permet de représenter la relation "est-un" entre deux objets (is-a en anglais). Donc tout ce qui est vrai pour la classe mère est vrai pour ses classes filles. En particulier si une classe C exprime une association avec une classe A dont hérite B, cela signifie que C peut être associée à B. 16

14 Modélisation conceptuelle avec UML Héritage et propriété "is-a" Exemple : La classe Conducteur Image 9 Représentation d'héritage en UML Dans cet exemple la classe Conducteur hérite de la classe Personne, ce qui signifie qu'un objet de la classe conducteur aura les attributs de la classe Conducteur (TypePermis et DatePermis) mais aussi ceux de la classe Personne (Nom, Prénom, DateNaissance et Age). Si la classe Personne avait des méthodes, des associations..., la classe Conducteur en hériterait de la même façon. 17

15 Modélisation conceptuelle avec UML 9. Exemple : Des voitures et des conducteurs Exemple Image 10 Exemple très simple de diagramme de classes Les relations de ce diagramme expriment que les conducteurs sont des personnes qui ont un permis ; que toute voiture est possédée par une unique personne (qui peut en posséder plusieurs) ; que les voitures peuvent être conduites par des conducteurs et que les conducteurs peuvent conduire plusieurs voitures. Remarque Les mots clés in, out et in/out devant un paramètre de méthode permettent de spécifier si le paramètre est une donnée d'entrée, de sortie, ou bien les deux. Attention Le but d'une modélisation UML n'est pas de représenter la réalité dans l'absolu, mais plutôt de proposer une vision d'une situation réduite aux éléments nécessaires pour répondre au problème posé. Donc une modélisation s'inscrit toujours dans un contexte, et en cela l'exemple précédent reste limité car son contexte d'application est indéfini. 10. Gestion des défauts [20 minutes] Un groupe industriel construisant des moteurs cherche à organiser la gestion des défauts observés sur des moteurs confrontés à des tests en situation réelle. Pour cela un de ses ingénieurs modélise le processus de gestion des défauts, tel qu'il existe actuellement, par le diagramme de classes suivant. 18

16 Modélisation conceptuelle avec UML Image 11 Diagramme de classes de gestion des défauts Question 1 [Solution n 1 p 63] Décrivez en français ce que représente ce diagramme. Question 2 [Solution n 2 p 63] Étant donné ce modèle, est-il possible de savoir dans quelle usine a été fabriqué un moteur et qui est responsable de sa production? Question 3 [Solution n 3 p 63] La responsabilité d'un modèle est elle toujours assumée par un employé travaillant dans l'usine dans laquelle ce modèle est produit? Question 4 [Solution n 4 p 63] Pourquoi avoir fait le choix d'une classe Type pour codifier les défauts, plutôt qu'un attribut de type énuméré directement dans la classe Defaut? Question 5 [Solution n 5 p 63] Pourquoi l'attribut kilométrage apparaît-il à la fois dans les classes Defaut et Moteur et pourquoi avoir fait apparaître la méthode SetKilometrage? Question 6 [Solution n 6 p 63] Ce diagramme permet-il de répondre à la question : Quel est le nombre moyen de défauts rencontrés par les moteurs de chaque modèle ayant été mis en service avant 2000? Quelles sont les classes et attributs utiles? 19

17 Modélisation conceptuelle avec UML Question 7 [Solution n 7 p 64] Peut-on également répondre à la question : Quel est le kilométrage moyen des moteurs ayant été concernés par au moins deux défauts d'une gravité supérieure à 5? B. Diagramme de classes UML avancé Objectifs Maîtriser le diagramme de classe UML dans le cas de la conception de BD. Les éléments de modélisation suivant complètent les notations basiques du diagramme de classe : classe, attribut, association, cardinalité et héritage. 1. Exercice : Site Web [Solution n 2 p 77] En analysant le schéma UML ci-après, sélectionner toutes les assertions vraies. Image 12 MCD UML Tous les chapitres ont un titre. Il est possible d'avoir un auteur différent pour chaque chapitre. Toutes les sections contiennent au moins une section. Toutes les sections contiennent au moins une page. Toutes les sites Web contiennent au moins une page. 20

18 Modélisation conceptuelle avec UML 2. Explicitation des associations Syntaxe : Sens de lecture Il est possible d'ajouter le sens de lecture du verbe caractérisant l'association sur un diagramme de classe UML, afin d'en faciliter la lecture. On ajoute pour cela un signe < ou > (ou un triangle noir) à côté du nom de l'association Syntaxe : Rôle Il est possible de préciser le rôle joué par une ou plusieurs des classes composant une association afin d'en faciliter la compréhension. On ajoute pour cela ce rôle à côté de la classe concernée (parfois dans un petit encadré collé au trait de l'association. Exemple Image 13 Rôle et sens de lecture sur une association Remarque : Associations réflexives L'explicitation des associations associations réflexives. est particulièrement utile dans le cas des 3. Classe d'association Définition : Classe d'association On utilise la notation des classes d'association lorsque l'on souhaite ajouter des propriétés à une association. 21

19 Modélisation conceptuelle avec UML Syntaxe : Notation d'une classe d'association en UML Image 14 Notation d'une classe d'association en UML Exemple : Exemple de classe d'association Image 15 Emplois 4. Composition Définition : Association de composition On appelle composition une association particulière qui possède les propriétés suivantes : La composition associe une classe composite et des classes parties, tel que tout objet partie appartient à un et un seul objet composite. C'est donc une association 1:N (voire 1:1). La composition n'est pas partageable, donc un objet partie ne peut appartenir qu'à un seul objet composite à la fois. Le cycle de vie des objets parties est lié à celui de l'objet composite, donc un objet partie disparaît quand l'objet composite auquel il est associé disparaît. 22

20 Modélisation conceptuelle avec UML Remarque La composition est une association particulière (binaire de cardinalité contrainte). La composition n'est pas symétrique, une classe joue le rôle de conteneur pour les classes liées, elle prend donc un rôle particulier a priori. La composition est une agrégation avec des contraintes supplémentaires (non partageabilité et cycle de vie lié). Syntaxe : Notation d'une composition en UML Image 16 Notation de la composition en UML Attention : Composition et cardinalité La cardinalité côté composite est toujours de exactement 1. Côté partie la cardinalité est libre, elle peut être 0..1, 1, * ou bien 1..*. Exemple : Exemple de composition Image 17 Un livre On voit bien ici qu'un chapitre n'a de sens que faisant partie d'un livre, qu'il ne peut exister dans deux livres différents et que si le livre n'existe plus, les chapitres le composant non plus. Remarque : Composition et entités faibles La composition permet d'exprimer une association analogue à celle qui relie une entité faible à une entité identifiante en modélisation E-A. L'entité de type faible correspond à un objet partie et l'entité identifiante à un objet composite. Conseil : Composition et attribut multivalué Une composition avec une classe partie dotée d'un seul attribut peut s'écrire avec un attribut multivalué. Un attribut composé et multivalué peut s'écrire avec une composition. Rappel : Voir aussi Attribut composé multivalué (cf. Attributs p 12) 23

21 Modélisation conceptuelle avec UML Agrégation (cf. Agrégation p 24) 5. Agrégation Définition : Association d'agrégation L'agrégation est une association particulière utilisée pour préciser une relation tout/partie (ou ensemble/élément), on parle d'association méréologique. Elle possède la propriété suivante : L'agrégation associe une classe agrégat et des classes parties, tel que tout objet partie appartient à au moins un objet agrégat. Remarque L'agrégation est une association particulière (binaire de cardinalité libre). L'agrégation n'est pas symétrique. Syntaxe Image 18 Notation de l'agrégation en UML La cardinalité, peut être exprimée librement, en particulier les instances de la classe Élément peuvent être associées à plusieurs instances de la classe Ensemble, et même de plusieurs classes. Attention L'agrégation garde toutes les propriétés d'une association classique (cardinalité, cycle de vie, etc.), elle ajoute simplement une terminologie un plus précise via la notion de tout/partie. 6. Classes abstraites Définition : Classe abstraite Une classe abstraite est une classe non instanciable. Elle exprime donc une généralisation abstraite, qui ne correspond à aucun objet existant du monde. Attention : Classe abstraite et héritage Une classe abstraite est toujours héritée. généraliser, elle n'a de sens que si des classes peut être héritée par d'autres classes abstraites, non abstraites doivent être présentes pour que la En effet sa fonction étant de en héritent. Une classe abstraite mais en fin de chaîne des classes généralisation ait un sens. Syntaxe : Notation d'une classe abstraite en UML On note les classes abstraites en italique. 24

22 Modélisation conceptuelle avec UML Image 19 Notation d'une classe abstraite en UML Exemple : Exemple de classes abstraites Image 20 Des chiens et des hommes Dans la représentation précédente on a posé que les hommes, les femmes et les chiens étaient des objets instanciables, généralisés respectivement par les classes mammifère et humain, et mammifère. Selon cette représentation, il ne peut donc exister de mammifères qui ne soient ni des hommes, ni des femmes ni des chiens, ni d'humains qui ne soient ni des hommes ni des femmes. 7. Contraintes Ajout de contraintes dynamiques sur le diagramme de classe Il est possible en UML d'exprimer des contraintes dynamiques sur le diagramme de classe, par annotation de ce dernier. 25

23 Modélisation conceptuelle avec UML Syntaxe : Notation de contraintes Image 21 Notation contraintes en UML Exemple : Exemple de contraintes Image 22 Commandes Méthode : Expressions formelles ou texte libre? Il est possible d'exprimer les contraintes en texte libre ou bien en utilisant des expressions formelles. On privilégiera la solution qui offre le meilleur compromis entre facilité d'interprétation et non ambiguïté. La combinaison des deux est également possible si nécessaire. Méthode : Quelles contraintes exprimer? En pratique il existe souvent de très nombreuses contraintes, dont certaines sont évidentes, ou encore secondaires. Or l'expression de toutes ces contraintes sur un diagramme UML conduirait à diminuer considérablement la lisibilité du schéma sans apporter d'information nécessaire à la compréhension. En conséquence on ne 26

24 Modélisation conceptuelle avec UML représentera sur le diagramme que les contraintes les plus essentielles. Notons que lors de l'implémentation toutes les contraintes devront bien entendu être exprimées. Si l'on souhaite préparer ce travail, il est conseillé, lors de la modélisation logique, de recenser de façon exhaustive dans un tableau toutes les contraintes à implémenter. 8. Exemple de contraintes standardisées sur les associations Rappel Image 23 Notation des contraintes sur les associations Définition : Inclusion {I} Si l'association inclue est instanciée, l'autre doit l'être aussi, la contrainte d'inclusion a un sens, représenté par une flèche (également notée {Subset} ou {IN}). Définition : Simultanéité {S} Si une association est instanciée, l'autre doit l'être aussi (également notée {=} ou {AND}). La simultanéité est équivalente à une double inclusion. Définition : Exclusion, {X} Les deux associations ne peuvent être instanciées en même temps. Définition : Totalité {T}, également notée {OR} Au moins une des deux associations doit être instanciée. Définition : Partition {XT}, également notée {+} ou {XOR} ou {P} Exactement une des deux associations doit être instanciée. 9. Exemple de contraintes standardisées sur les attributs {unique} {frozen} Définition : {unique} La valeur de l'attribut est unique pour la classe. 27

25 Modélisation conceptuelle avec UML Définition : {frozen} Une fois instancié l'attribut ne peut plus changer. 10. Paquetages Définition : Package Les paquetages (plus communément appelés package) sont des éléments servant à organiser un modèle. Ils sont particulièrement utiles dès que le modèle comporte de nombreuses classes et que celles-ci peuvent être triées selon plusieurs aspects structurants. Syntaxe Image 24 Notation des paquetages en UML Exemple Image 25 Exemple d'utilisation des packages Méthode On représente chaque classe au sein d'un package. Il est alors possible de faire une présentation globale du modèle (tous les packages), partielle (une partie des packages) ou centrée sur un seul package. Pour une représentation partielle ou centrée sur un package, on représente les packages concernés avec leurs classes propres, ainsi que toutes les classes liées des autres packages (et seulement celles-ci). 28

26 Modélisation conceptuelle avec UML Image 26 Présentation partielle du modèle centrée sur un package 11. Associations ternaires Syntaxe Image 27 Notation d'une association ternaire Conseil : Ne pas abuser des associations ternaires Il est toujours possible de réécrire une association ternaire avec trois associations binaires, en transformant l'association en classe. Conseil : Pas de degré supérieur à 3 En pratique on n'utilise jamais en UML d'association de degré supérieur à Stéréotype Définition : Stéréotype UML Un stéréotype UML est une syntaxe permettant d'ajouter de la sémantique à la modélisation des classes. Il permet de définir des types de classe, afin de regrouper conceptuellement un ensemble de classes (à l'instar d'une classe qui permet de regrouper conceptuellement un ensemble d'objets). C'est une mécanique de méta-modélisation : elle permet d'étendre le méta-modèle UML, c'est à dire le modèle conceptuel du modèle conceptuel. 29

27 Modélisation conceptuelle avec UML Définition : Méta-modèle Un méta-modèle est le modèle d'un modèle. Par exemple le méta-modèle UML comprend les concepts de classe, attribut, association, cardinalité, composition, agrégation, contraintes, annotations,... On mobilise ces concepts (on les instancie) pour exprimer un modèle particulier suivant le formalisme UML. Les stéréotypes permettent donc d'ajouter au méta-modèle UML standard, celui que tout le monde utilise, des concepts locaux pour enrichir le langage de modélisation que l'on utilise pour réaliser des modèles. Syntaxe Image 28 Notation d'un stéréotype en UML Conseil : Stéréotypes spécifiques et stéréotypes standard Un stéréotype spécifique enrichit le méta-modèle UML, mais selon une sémantique qui est propre à celui qui l'a posé, non standard donc. La conséquence est que pour un tiers, l'interprétation du stéréotype n'est plus normalisée, et sera potentiellement plus facilement erronée. Il convient donc de ne pas abuser de cette mécanique. Deux ou trois stéréotypes spécifiques, correctement définis, sont faciles à transmettre, plusieurs dizaines représenteraient un nouveau langage complet à apprendre pour le lecteur du modèle. Il existe des stéréotypes fournit en standard par UML, ou communément utilisés par les modélisateurs. L'avantage est qu'il seront compris plus largement, au même titre que le reste du méta-modèle (ils ont une valeur de standard). 13. Énumération : stéréotype <<enumeration>> Syntaxe Stéréotype UML permettant d'exprimer une énumération 30

28 Modélisation conceptuelle avec UML Exemple Exemple de modélisation UML d'énumération 14. Type utilisateurs : stéréotype <<datatype>> Les types utilisateurs permettent de définir des types complexes propres en extension des types primaires (entier, chaîne, date...) Syntaxe Stéréotype datatype Exemple Stéréotype datatype (exemple) 31

29 Modélisation conceptuelle avec UML 15. Armoires secrètes [30 minutes] Dans le cadre de la réalisation d'une base de données pour les services secrets français, vous disposez de l'analyse de besoins suivant : les agents secrets sont identifiés par un code sur 3 chiffres (comme 007) et possède un nom et un prénom ; les agents secrets produisent des rapports, parfois seul, parfois à plusieurs. Tous les agents secrets ont produit au moins un rapport ; les agents secrets sont communément appelés par leurs initiales et leur code : ainsi James Bond 007 est en général appelé JB007 ; un rapport est identifié par un titre (il n'existe pas deux rapports avec le même titre) et il possède une description ainsi que des mots-clés (au moins 2, au plus 10) ; le rangement des rapports est organisé comme suit : les rapports sont situés dans des dossiers, qui sont classés dans des casiers, qui sont rangés sur des étagères, dans des armoires ; les dossiers, casiers, étagères et armoires sont des rangements, qui sont identifiés par une lettre et un nombre (inférieur à 100). Chaque rangement a une capacité qui détermine le nombre de rangements qu'il peut contenir ; les rapports, les dossiers, les casiers peuvent être déplacés (changés de rangement), en revanche les étagères appartiennent toujours à une même armoire, elles en font partie ; il n'existe pas de rapport ou de rangement qui ne serait rangé nulle part. Question [Solution n 8 p 64] Proposez un MCD en UML de ce problème. L'on cherchera le modèle le plus expressif possible. On fera apparaître les types des attributs, en étant le plus précis possible avec les informations dont nous disposons, ainsi que les clés. 32

30 Application : Modélisation UML II - II Parc Naturel 41 Gestion du personnel 42 Appartements à louer 42 Médiathèque 43 Ouaf! 44 Capitaine Krik 45 Arbre de scène 3D 46 A. Parc Naturel [20 minutes] Un parc naturel veut faire l'inventaire de différentes espèces végétales et animales qu'il contient. Le parc est divisé en 4 grandes sections (Nord, Sud, Est et Ouest) caractérisées par une superficie, contenant chacune plusieurs lieux (comme 'le Pic du Pendu', ou 'le Lac des Noyés') caractérisés par une altitude, une longitude et une latitude. On veut enregistrer pour chaque espèce considérée : son nom, sa taille moyenne adulte, pour les espèces animales, le type (carnivore, herbivore ou omnivore) et le poids moyen, son espérance de vie, dans quels lieux du parc on peut la trouver, quelles autres espèces du parc naturel elle mange. Question [Solution n 9 p 65] Proposer un schéma UML modélisant ces différentes informations. B. Gestion du personnel [30 minutes] Le service de gestion du personnel d'une entreprise désire s'équiper d'un outil lui 33

31 Application : Modélisation UML permettant de gérer informatiquement ses employés, leurs salaires et leurs congés. Les spécifications suivantes ont pu être mises en exergue par une analyse des besoins réalisée auprès des utilisateurs du service du personnel. Généralités : tout employé est identifié par un nom, un prénom et une date de naissance ; tout employé remplit une fonction et appartient à un service ; pour chaque employé on gère la date d'embauche et la quotité (c'est à dire le pourcentage de temps travaillé par rapport au temps plein, en cas de travail à temps partiel). Gestion des salaires : pour chaque employé on gère l'historique de ses salaires dans l'entreprise, chaque salaire étant affecté à une période de temps ; un salaire est composé d'un salaire brut, de charges patronales et de charges salariales ; on cherchera à partir des ces données à obtenir également le salaire chargé (brut + charges patronales), et le salaire net (brut - charges salariales), et ce en particulier pour le salaire en cours (celui que touche actuellement le salarié). Gestion des congés : pour chaque employé, on mémorise chaque congé pris (posant qu'un congé concerne toujours une ou plusieurs journées entières) ; chaque employé a le droit aux jours de congés suivants : 25 jours (pour une quotité de 1) et 25 x quotité sinon, chaque fonction ouvre les droits à un certain nombre de jours de RTT, chaque service ouvre les droits à un certain nombre de jours de RTT, chaque tranche de 5 ans passés dans l'entreprise donne droit à 1 jour supplémentaire, les employés de plus de 40 ans ont un jour supplémentaire, et ceux de plus de 50 ans deux. pour chaque employé on cherchera à connaître le nombre total de jours de congés autorisés, le nombre de jours pris et le nombre de jours restants sur l'année en cours. Question [Solution n 10 p 66] Réaliser le diagramme de classes permettant de modéliser ce problème. C. Appartements à louer [30 min] Une agence d'immobilier (ventes et locations) veut gérer son parc d'appartements dans une base de données. Chaque appartement possède plusieurs pièces, qui peuvent être des pièces d'habitation, des pièces de rangement, ou des commodités. Chaque pièce a une superficie, un nombre de prises électriques et des meubles. Pour ces derniers, on veut enregistrer le nom du modèle et le type (chaise, lit, four, etc.). Rien n'empêche qu'une pièce comporte plusieurs meubles identiques (par exemple plusieurs chaises 'PIN IQUEA'). Les pièces d'habitation ont une ou plusieurs fenêtres, les pièces de rangement ont une ou plusieurs étagères et une surface de rangement utile totale. On veut aussi savoir dans quelles pièces de rangement se situent les tableaux électriques de l'appartement. Finalement, les 34

32 Application : Modélisation UML pièces commodités peuvent être de trois types : cuisine, toilette, ou salle de bain. L'agence veut aussi enregistrer les portes entre les différentes pièces. Une porte peut être à simple battant, double battant, coulissante, ou une simple ouverture. Chaque appartement a une adresse, une superficie totale (qui est la somme des superficies des pièces) et un type, qui est la lettre 'T' suivie du nombre de pièces d'habitation de l'appartement. Pour un appartement donné, chaque pièce est identifiée par un numéro (commençant au numéro 1). L'agence veut également enregistrer le quartier où se trouve l'appartement, auquel est lié un prix par mètre carré. Finalement, elle veut garder un historique de l'histoire de l'appartement : les périodes pour lesquelles il est libre, occupé, en travaux, ou vendu. Question [Solution n 11 p 67] Réalisez le diagramme UML répondant aux besoins de cette agence. D. Médiathèque [30 minutes] Une médiathèque veut s'informatiser pour gérer plus efficacement son catalogue, contenant des livres, des films, et des albums de musique. Les informations à enregistrer pour les livres sont : les titres, le (ou les) auteur(s), la date de parution, l'éditeur, la date d'impression et le nombre de pages. Les informations à enregistrer pour les films sont : le nom, le (ou les) réalisateur(s), au maximum six acteurs ayant joué dans le film avec leur rôle (il peut n'y avoir aucun acteur), le studio de production et la date de sortie. Les informations à gérer pour les albums sont : le nom de l'album, l'auteur, la maison de production, l'année de sortie, et les supports disponibles à la médiathèque (CD et/ou vinyle). Pour chaque auteur, réalisateur, acteur ou musicien d'une œuvre, on veut gérer son nom, son prénom, son ou ses noms d'artiste (s'il en a), et sa date de naissance. Un album de musique peut avoir pour auteur : un artiste (ex : Jimmy Hendrix, Mozart), ou un groupe (ex : les Rolling Stones ou Franz Ferdinand) dont on gérera le nom, l'année de formation, et les informations sur les différents membres. Livres, films et albums sont identifiés de manière unique (un film ne peut pas avoir le même identifiant qu'un album) par un code interne à la médiathèque. On veut aussi pouvoir gérer les adaptations cinématographiques (quels films sont les adaptations de quels livres). On veut enfin pouvoir retrouver facilement la BO correspondant à un film donné (la bande originale est l'album de musique du film). Question 1 [Solution n 12 p 68] Réalisez un package permettant de modéliser en UML le catalogue de la médiathèque. La médiathèque s'étend sur trois étages, chacun comprenant plusieurs rayons à thème (Romans Contemporains, Musique Classique, etc.). Certains de ces rayons peuvent comprendre à la fois des albums, des livres et des films (comme le rayon Science Fiction, ou le rayon Thriller). Dans un rayon, les œuvres centrales ou récentes sont disposées sur des présentoirs (chacun pouvant recueillir un certain nombre d'œuvres : films, livres et/ou albums), tandis que les autres sont rangées sur des étagères identifiées par un code particulier. Chaque étagère peut comprendre un certain nombre d'œuvres, mais d'une seule catégorie (on a des 35

33 Application : Modélisation UML étagères de livres et des étagères d'albums, mais pas d'étagères comprenant à la fois des livres et des albums). Question 2 [Solution n 13 p 70] Réalisez un second package permettant de modéliser l'organisation de la bibliothèque et de ses moyens de rangement. E. Ouaf! [40 min] Un réseau de chenils souhaite informatiser son activité et vous demande de créer un modèle conceptuel de sa future base de données. Un chenil est un établissement destiné à l'élevage ou à la pension des chiens. Dans ce réseau, les chenils s'occupent des chiens de leur naissance jusqu'à la fin de leur apprentissage. L'identité du propriétaire étant privée, aucun chien ne sera relié à un propriétaire dans cette base de données qui sert aussi de vitrine sur le savoir-faire du réseau. Un chenil du réseau possède un nom unique permettant de l'identifier, un nom de contact ainsi qu'un numéro de téléphone, et une description de ses activités. Chaque chien est identifié par son nom et celui du chenil qui gère son apprentissage ; il possède une date de naissance et est associé à une race. Certains des chiens suivront un apprentissage plus spécifique : ils deviendront guides d'aveugle, chiens de garde ou chiens de course. Chaque chien de garde possède une spécialité : attaque, défense, pistage ou détection. Un chien de course quand à lui possède une vitesse maximum mesurée. Le chenil gère également l'historique des poids de chaque animal, afin d'enregistrer régulièrement la courbe de croissance. Pour cela chaque relevé de poids est identifié par le nom du chien et la date du relevé. Les chiens aux parcours plus spécifiques (guides, chiens de garde ou chiens de course) sont liés à des entités qui les géreront après l'apprentissage. Ces entités sont identifiées par un nom, et possèdent une description ainsi qu'un nom de contact avec un numéro de téléphone. Les chiens guides d'aveugle sont ainsi gérés par une association qui propose ensuite les chiens aux personnes malvoyantes. Les chiens de gardes sont utilisés par des entreprises (le chenil souhaite pouvoir ajouter une description de l'activité principale de chaque entreprise). Et un chien de course est possédé par une écurie (qui a une date de création). Bien sûr, chacune de ces entités peut gérer plusieurs animaux. Question 1 [Solution n 14 p 71] Réalisez un modèle conceptuel en UML répondant aux besoins du réseau de chenils, sous la forme d'un package Chenil. Le réseau souhaiterait compléter cette première modélisation en ajoutant des informations sur les chiens de course, pour améliorer sa publicité. L'objectif est de garder en mémoire pour chaque épreuve sportive auquel participe un chien de course son numéro de dossard (de 1 à 6), sa position à l'issue de l'épreuve (de 1 à 6), son temps de course, et s'il a abandonné ou non. Une épreuve est identifiée par la date et le nom du tournoi à laquelle elle appartient (un tournoi est identifié uniquement par son nom). Il y a toujours 6 chiens qui courent dans une épreuve, mais ils ne proviennent pas tous d'un des chenils du réseau (nous ne gérons pas les chiens en dehors du réseau). Chaque épreuve a lieu dans un cynodrome identifié par son nom, et chaque cynodrome se situe dans un département, identifié par son numéro et possédant un nom. 36

34 Application : Modélisation UML Question 2 [Solution n 15 p 71] Réalisez un second diagramme UML répondant à ces nouveaux besoins, sous la forme d'un second package Course. F. Capitaine Krik [30 min] Le Capitaine Krik a pour tâche de développer une base de données sur les vaisseaux spatiaux et les équipages de la TarFleet. La flotte ne possède que trois types de vaisseaux : les croiseurs, les frégates et les chasseurs. Chaque membre de la TarFleet a un nom, un prénom, une date de naissance, une planète d'origine et un numéro d'identifiant unique. Certains membres sont aussi soit pilotes, soit capitaines : les pilotes ont un nombre de chasseurs ennemis abattus, tandis que les capitaines ont un certain nombre d'étoiles (entre zéro et cinq). Krik veut savoir dans la base de données quelles personnes sont affectées à quel vaisseau. Dans la flotte, un chasseur a pour équipage un unique pilote, une frégate a deux pilotes et cinq autres membres d'équipage, tandis qu'un croiseur a un capitaine et de nombreux autres personnels. Les croiseurs peuvent aussi transporter dans leur hangar plusieurs chasseurs (leurs pilotes ne sont alors pas comptés dans l'équipage du croiseur). Pour chaque vaisseau, on veut connaître son nom et son identifiant, sachant que celui-ci est généré automatiquement à partir du nom et du type de vaisseau (par exemple "EnterpriseCruser"). Pour les frégates et les croiseurs, on veut également connaître la puissance de leur bouclier (les chasseurs n'en sont pas équipés), et, pour un croiseur, le nombre de membres d'équipage maximal qu'il peut accueillir. Krik veut aussi des informations sur les réacteurs de chaque vaisseau. Les réacteurs sont soit à fission nucléaire, soit à trou noir miniature. Chacun a un numéro d'emplacement (qui indique où le moteur est monté sur le vaisseau), un poids et une poussée, mais les réacteurs à fission ont également une quantité maximale de carburant, tandis que les réacteurs à trou noir ont une puissance critique. Les réacteurs sont identifiés par le nom de leur vaisseau et leur numéro d'emplacement. Question [Solution n 16 p 72] Proposer un schéma UML permettant de modéliser une telle base de données. G. Arbre de scène 3D [30 minutes] On souhaite pouvoir gérer les différents éléments composant des scènes 3D dans une base de données. Une scène contient des objets qui eux-mêmes peuvent appartenir à plusieurs scènes (au moins une), mais il ne peut y avoir plusieurs fois le même objet dans une même scène. Dans chaque scène, les objets peuvent être visibles ou invisibles. Les scènes et les objets sont identifiés de manière unique par un nom. Une scène peut être active ou inactive. Un objet a comme propriété une position dans l'espace, représentée par un vecteur de réels à trois composantes (x, y, z). Les objets sont organisés de manière hiérarchique : un objet peut être parent de plusieurs objets et chaque objet peut avoir au plus un parent. Des scripts 37

35 Application : Modélisation UML peuvent être associés à un objet ou à une scène (à l'un ou à l'autre mais pas aux deux). Un script est identifié de manière unique par un nom et possède également un attribut permettant de connaître son état (actif ou inactif). Un personnage est un objet particulier qui possède des animations. Une animation est relative à un personnage et est identifiée de manière locale par un nom. À un objet est associé un maillage et celui-ci peut être utilisé par plusieurs objets. Un maillage est identifié de manière unique par un nom et est composé de plusieurs éléments. Chaque élément est relatif à un maillage et est identifié de manière locale par un numéro. Il existe exactement trois types d'élément : des nœuds, des arrêtes et des faces. Une face est délimitée par trois arrêtes et chaque arrête est délimitée par deux nœuds. Plusieurs arrêtes peuvent partager un même nœud et plusieurs faces peuvent partager une même arrête. Afin d'évaluer la complexité d'une scène, on souhaite pouvoir calculer le nombre de faces affichées pour une scène donnée (c'est-à-dire la somme du nombre de faces du maillage associé aux objets visibles de la scène). Un maillage possède plusieurs matériaux identifiés de manière unique par un nom. Un matériau peut être associé à plusieurs maillages. Un matériau est caractérisé par une couleur définie par un vecteur d'entiers à quatre composantes : rouge, vert, bleu, alpha. Un matériau peut posséder une texture et celle-ci peut être utilisée par plusieurs matériaux. Une texture est identifiée de manière unique par un nom et possède comme attribut une image. Question [Solution n 17 p 73] Établissez un modèle conceptuel en UML de ce problème. 38

36 Complément : Le modèle E-A III - III Le modèle E-A 47 Application : Modélisation E-A 69 Test E-A 74 A. Le modèle E-A Objectifs Savoir faire un modèle E-A étendu. Savoir interpréter un modèle E-A étendu. 1. Le modèle E-A en bref Le modèle E-A (ou E-R en anglais) permet la modélisation conceptuelle de données. Il correspond au niveau conceptuel de la méthode MERISE (méthode d'analyse informatique), le MCD (cf. Tardieu83 [Tardieu83], Tardieu85 [Tardieu85]). La conception E-A est issue des travaux de Chen [Chen76] et se fonde sur deux concepts principaux et un troisième sous-jacent : l'entité, l'association et l'attribut ou propriété. 2. Entité Définition : Entité Une entité est un objet du monde réel avec une existence indépendante. Une entité (ou type d entité) est une chose (concrète ou abstraite) qui existe et est distinguable des autres entités. L'occurrence d une entité est un élément particulier correspondant à l entité et associé à un élément du réel. Chaque entité a des propriétés (ou attributs) qui la décrivent. Chaque attribut est associé à un domaine de valeur. Une occurence a des valeurs pour chacun de ses attributs, dans le domaine correspondant. 39

37 Complément : Le modèle E-A Syntaxe Image 29 Notation MERISE de l'entité Image 30 Notation Chen de l'entité Remarque Un attribut est atomique, c'est à dire qu'il ne peut prendre qu'une seule valeur pour une occurrence. Un attribut est élémentaire, c'est à dire qu'il ne peut être exprimé par (ou dérivé) d'autres attributs. Un attribut qui identifie de façon unique une occurrence est appelé attribut clé. 3. Association Définition : Association Une association (ou type d association) représente un lien quelconque entre différentes entités. Une occurrence d une association est un élément particulier de l association constitué d une et une seule occurrence des objets participants à l association. On peut définir des attributs sur les associations. Le degré d'une association est le nombre d'entités y participant (on parlera notamment d'association binaire lorsque deux entités sont concernées). Syntaxe Image 31 Notation MERISE de l'association Image 32 Notation Chen de l'association 40

38 Complément : Le modèle E-A Remarque On peut avoir plusieurs associations différentes définies sur les mêmes entités. 4. Cardinalité d'une association Définition : Cardinalité d'une association binaire Pour les associations binaires la cardinalité minimale (resp. maximale) d'une association est le nombre minimum (resp. maximum) d'occurrences de l'entité d'arrivée associées à une occurrence de l'entité de départ. Syntaxe Image 33 Notation de la cardinalité Exemple Image 34 Livre-Auteur Le diagramme E-A précédent exprime qu'un auteur peut avoir écrit plusieurs livres (mais au moins un), et que tout livre ne peut avoir été écrit que par un et un seul auteur. Remarque : Trois grands types de cardinalité Il existe trois grands types de cardinalité : Les associations 1:N (qui incluent les association 0,1:N) Les associations N:M Les associations 1:1 (qui incluent les association 0,1:1) Les autres associations peuvent toujours être ramenées à des associations N:M (dans le cas général) ou à plusieurs associations 1:N (cas des associations 2:N ou 3:N par exemple). 5. Modèle E-A étendu Introduction On peut étendre le modèle E-A "classique" de façon à accroître son pouvoir de représentation. Cette extension du modèle E-A permet de favoriser la dimension conceptuelle et de s'approcher des représentations objet, telles que UML. a) Attributs composites Un attribut peut être composé hiérarchiquement de plusieurs autres attributs. 41

39 Complément : Le modèle E-A Exemple Un attribut Adresse est composé des attributs Numéro, Rue, No_Appartement, Ville, Code_Postal, Pays. Remarque Le domaine d'un attribut composite n'est donc plus un domaine simple (entier, caractères, etc.). b) Attributs multivalués Tout attribut peut être monovalué ou multivalué. Exemple Les âges des enfants d un employé. Remarque Un attribut multivalué n'est donc plus atomique. c) Attributs dérivé La valeur d'un attribut peut être dérivée d'une ou plusieurs autres valeurs d'attributs. Exemple L'âge d'une personne peut être dérivé de la date du jour et de celle de sa naissance. Remarque Un attribut dérivé n'est donc plus élémentaire. d) Sous-type d'entité Une entité peut-être définie comme sous-type d'une entité plus générale. Exemple Les entités Cadre et Technicien sont des sous-types de l'entité Employé. Remarque La notion de sous-type est équivalente à la notion d'héritage en modélisation objet. 6. Entité de type faible Certaines entités dites "faibles" n'existent qu'en référence à d'autres entités dites "identifiantes". L'entité identifiante est appelé "identifiant étranger" et l'association qui les unit "association identifiante". 42

40 Complément : Le modèle E-A Définition : Entité de type faible Une entité de type faible, également appelée entité non identifiée, possède une clé locale (appelée identifiant relatif) qui permet d'identifier une de ses occurrences parmi l'ensemble des occurrences associées à une occurrence de l'entité identifiante. La clé complète d'une entité faible est la concaténation de la clé de l'entité identifiante et de sa clé locale. Exemple Image 35 Association identifiante L'entité Tâche est complètement dépendante de l'entité Projet et sa clé locale (No_tâche) n'est pas suffisante à l'identifier de façon absolue. Attention Le repérage des entités de type faible est très important dans le processus de modélisation, il permet de réfléchir à la meilleure façon d'identifier de façon unique les entités et donc de trouver les meilleures clés. Notons de plus que le repérage d'entités faibles aura une influence importante sur le modèle relationnel résultant. 7. Illustration d'entités faibles Exemple Image 36 Villes Dans le schéma ci-avant, on remarque que l'entité "ville" est faible par rapport à l'entité "département", qui est faible par rapport à "région", qui est faible par rapport à "pays". Cela signifie que la clé de ville, son nom, est une clé locale et donc que l'on considère qu'il ne peut pas y avoir deux villes différentes avec le même nom, dans un même département. Il est par contre possible de rencontrer deux villes différentes avec le même nom, dans deux départements différents. De la même façon chaque département possède un nom qui l'identifie de façon unique dans une région, et chaque région possède un nom qui l'identifie de façon unique dans un pays. 43

41 Complément : Le modèle E-A Si les entités n'étaient pas faibles, l'unicité d'un nom de ville serait valable pour l'ensemble du modèle, et donc, concrêtement, cela signifierai qu'il ne peut exister deux villes avec le même nom au monde (ni deux départements, ni deux régions). Remarque Notons pour terminer que, puisque "pays" n'est pas une entité faible, sa clé "nom" est bien unique pour l'ensemble du modèle, et donc cela signifie qu'il ne peut exister deux pays avec le même nom au monde. B. Application : Modélisation E-A 1. Un journal [15 minutes] Voici le schéma E-A du système d'information (très simplifié) d'un quotiden. Image 37 Journal Question 1 Analyser ce schéma et discuter ses cardinalités. Chercher par exemple combien de journalistes peuvent co-signer un article, si un article peut être publié deux fois dans le même numéro, si un numéro est associé à un journal, etc. 44

42 Complément : Le modèle E-A Question 2 [Solution n 18 p 73] A partir de votre analyse, pensez vous que ce modèle soit un bon modèle pour la gestion d'un journal? 2. Une société de transport routier [20 minutes] Une société de transport routier veut installer un système d'information pour rendre plus efficace sa logistique. Embauché au service informatique de cette compagnie, vous êtes donc chargé de reprendre le travail déjà effectué (c'est à dire ce schéma Entité-Association). Image 38 Une société de transport routier Question 1 [Solution n 19 p 74] Analyser ce schéma et discuter ses cardinalités. Chercher par exemple si les conducteurs peuvent avoir plusieurs permis, si un conducteur peut conduire plusieurs camions, si plusieurs conducteurs peuvent conduire le même camion, etc. Question 2 [Solution n 20 p 74] Chercher les cardinalités (A,B), (C,D) et (E,F) manquantes, en fonction de ce qui vous paraît être le plus logique. 45

43 Complément : Le modèle E-A Question 3 [Solution n 21 p 74] Qu'exprime l'association 5-aire "EstLivré"? Pourquoi associe-t-elle deux instances de l'entité "Entrepôt"? Question 4 [Solution n 22 p 74] Qu'exprime l'association réflexive "EstDistantDe" sur l'entité Ville? Question 5 [Solution n 23 p 74] A partir de votre analyse, pensez vous que ce modèle soit un bon modèle pour la gestion d'une société de transport routier? 3. Centre médical [10 minutes] Soit le schéma E-A suivant, représentant des visites dans un centre médical. Image 39 Centre médical Question 1 Analyser ce schéma et discuter ses cardinalités. Chercher par exemple si un patient peut effectuer plusieurs visites, si un médecin peut recevoir plusieurs patients pendant la même consultation, si un médecin peut prescrire plusieurs médicaments lors d'une même consultation, si deux médecins différents peuvent prescrire le même médicament, etc. Question 2 [Solution n 24 p 74] A partir de votre analyse, pensez vous que ce modèle soit un bon modèle pour la gestion d'un centre médical? 46

44 Complément : Le modèle E-A 4. Tournoi de tennis [15 minutes] Le schéma suivant représente des rencontres dans un tournoi de tennis : Image 40 Tournoi de tennis Question 1 Analyser ce schéma et discuter ses cardinalités. Chercher par exemple si le tournoi permet les matchs de double, si les joueurs peuvent gagner des matchs auxquels ils n'ont pas participé, si deux matchs différents peuvent se dérouler sur le même terrain à la même heure, etc. Question 2 [Solution n 25 p 75] A partir de votre analyse, pensez vous que ce modèle soit un bon modèle pour la gestion d'un tournoi de tennis? 5. Gestion d'une coopérative viticole [30 minutes] Cet exercice a été inspiré par Bases de données : objet et relationnel [Gardarin99]. On considère une base "Coopérative" qui possède les caractéristiques suivantes : Un vin est caractérisé par un numéro entier unique nv, un cru, une année de production et un degré. Un viticulteur est caractérisé par un numéro entier unique nvt, un nom, un prénom et une ville. Un viticulteur produit un ou plusieurs vins et réciproquement, un vin est produit par un ou plusieurs producteurs (éventuellement aucun). Les buveurs sont caractérisés par un numéro de buveur nb, un nom, prénom et une adresse (limitée à la ville pour simplifier). Un buveur consomme des vins et peut passer des commandes pour acheter des vins. 47

45 Complément : Le modèle E-A Question 1 [Solution n 26 p 75] Lister toutes les types d'entité à considérer et les attributs associés à chaque type d'entité. Indiquer aussi pour chaque type d'entité sa clé et les domaines de valeurs de ses attributs. Question 2 [Solution n 27 p 75] Lister toutes les associations à considérer, leurs attributs et indiquer leurs cardinalités. Question 3 [Solution n 28 p 76] Donner le diagramme E-A de cette situation. C. Test E-A Exercice 1 [Solution n 3 p 78] Étant donné le schéma E-A suivant, quelles sont les assertions vraies? Image 41 Mariages 48

46 Complément : Le modèle E-A Les mariages homosexuels sont possibles. La polygamie est possible. Une femme peut ne pas être mariée. Les enfants peuvent être plus agés que leurs parents. Deux hommes peuvent avoir un enfant ensemble. Une femme peut avoir plusieurs enfants. Un enfant a obligatoirement deux parents. Les enfants peuvent se marier. Tous les enfants sont mariés. Les personnes mariées ont toujours le même nom. Exercice 2 [Solution n 4 p 78] Soit le schéma E-A suivent : Image 42 Employé 49

Conception de bases de données relationnelles

Conception de bases de données relationnelles Conception de bases de données relationnelles Niveau conceptuel : modélisation de BD relationnelles Marie Szafranski 2015-2016 ensiie 1 2015-2016 ensiie 1 Modélisation d une BD Modélisation d une BD Étape

Plus en détail

1. Objectifs de la Modélisation. Dériver le schéma de la BD. Élaborer un modèle conceptuel. Modélisation E/R des Données

1. Objectifs de la Modélisation. Dériver le schéma de la BD. Élaborer un modèle conceptuel. Modélisation E/R des Données . Objectifs et principes Modélisation E/R des Données 2. Le modèle Entité-Association (E/R) 3. Passage au relationnel 4. Conclusion. Objectifs de la Modélisation Permettre une meilleure compréhension Le

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Chapitre 2 : Conception de base de données relationnelle

Chapitre 2 : Conception de base de données relationnelle Chapitre 2 : Conception de base de données relationnelle Le modèle entité-association 1. Les concepts de base 1.1 Introduction Avant que la base de données ne prenne une forme utilisable par le SGBD il

Plus en détail

A. Définition et formalisme

A. Définition et formalisme Les cardinalités et les différents types d'associations I. Les cardinalités A. Définition et formalisme Les cardinalités sont des couples de valeur que l'on trouve entre chaque entité et ses associations

Plus en détail

Modèle e-a étendu: MCD (Modèle conceptuel des données) de Merise

Modèle e-a étendu: MCD (Modèle conceptuel des données) de Merise 58 Modèle e-a étendu: MCD (Modèle conceptuel des données) de Merise Héritage Contrainte d intégrité Fonctionnelle (CIF) 59 Héritage S impose dans 2 cas : Spécialisation : permet de modéliser dans l'ensemble

Plus en détail

IFT3030 Base de données. Chapitre 7 Conception de bases de données. Plan du cours

IFT3030 Base de données. Chapitre 7 Conception de bases de données. Plan du cours IFT3030 Base de données Chapitre 7 Conception de bases de données Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées avancés

Plus en détail

UML. Diagrammes de classes. Delphine Longuet. Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2015-2016

UML. Diagrammes de classes. Delphine Longuet. Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2015-2016 Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2015-2016 UML Diagrammes de classes Delphine Longuet delphine.longuet@lri.fr Objets et classes Conception orientée objet :

Plus en détail

Chapitre 4 Modélisation et Conception de BD

Chapitre 4 Modélisation et Conception de BD Pourquoi une modélisation préalable? Chapitre 4 Modélisation et Conception de BD Il est difficile de modéliser un domaine sous une forme directement utilisable par un SGBD. Stockage physique Cohérence/intégrité

Plus en détail

Chapitre 2 Modélisation de bases de données

Chapitre 2 Modélisation de bases de données Pourquoi une modélisation préalable? Chapitre 2 Modélisation de bases de données 1. Première étape : le modèle conceptuel Eemple : le modèle Entités-Associations (E/A) 2. Deuième étape : le modèle Traduction

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Bases de données Cours 2 : Modélisation d une base de données

Bases de données Cours 2 : Modélisation d une base de données Cours 2 : Modélisation d une base de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 Modélisation d une base

Plus en détail

Modèle Entité/Association. Marc Plantevit. marc.plantevit@liris.cnrs.fr

Modèle Entité/Association. Marc Plantevit. marc.plantevit@liris.cnrs.fr Modèle Entité/Association Marc Plantevit marc.plantevit@liris.cnrs.fr Objectifs Savoir lire un schéma E/R. Savoir traduire un schéma E/R en Modèle Relationnel.... 2 Le modèle Entité-Association (E/A) E/R

Plus en détail

Diagramme de Classe UML et Base de Données Relationnelle-objet

Diagramme de Classe UML et Base de Données Relationnelle-objet Ecole des Hautes Etudes Commerciales HEC Alger Diagramme de Classe UML et Base de Données Relationnelle-objet par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Plan Introduction

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL

Chapitre 3 LE MODELE RELATIONNEL Chapitre 3 LE MODELE RELATIONNEL Le modèle relationnel a été inventé en 1960 et a fait l'objet de très nombreuses recherches qui ont débouché sur la réalisation et commercialisation de SGBDs relationnels.

Plus en détail

Introduction aux bases de données Cours 2 : Modélisation d une base de données

Introduction aux bases de données Cours 2 : Modélisation d une base de données Cours 2 : Modélisation d une base de données ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bdmat.html Plan du cours 1 Modélisation d

Plus en détail

Chapitre 1 UN MODELE CONCEPTUEL: LE MODELE ENTITE- ASSOCIATION

Chapitre 1 UN MODELE CONCEPTUEL: LE MODELE ENTITE- ASSOCIATION Chapitre 1 UN MODELE CONCEPTUEL: LE MODELE ENTITE- ASSOCIATION 1. Concepts de base et diagrammes EA Le modèle entité-association (EA, appelé aussi entité-relation ou ER) est un modèle de données de type

Plus en détail

Observation de la réalité, Collecte d informations Réflexion et modélisation Définitions des tables d une BD relationnelle Obtenir une représentation

Observation de la réalité, Collecte d informations Réflexion et modélisation Définitions des tables d une BD relationnelle Obtenir une représentation Bases de données Modèle relationnel BD relationnelle Observation de la réalité, Collecte d informations Réflexion et modélisation Définitions des tables d une BD relationnelle Obtenir une représentation

Plus en détail

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

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Conception d une base de données - Modèle E/A -

Conception d une base de données - Modèle E/A - Conception d une base de données - Modèle E/A - Démarche 3 niveaux d'analyse: Niveau conceptuel : (On utilise le modèle E/A) Quelles sont les entités et les associations dans l'entreprise? Quelles informations

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Conception Delphine Longuet delphine.longuet@lri.fr Documentation du processus de GL Cahier des charges Analyse des besoins

Plus en détail

Bases de Données et SGBD. Le Modèle Entité/Association

Bases de Données et SGBD. Le Modèle Entité/Association Bases de Données et SGBD Le Modèle Entité/Association 1 Modèle Entité/Association Représentation explicite de 3 concepts principaux: entité, association, attribut. 1. Entité = classe générique d'individus

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

Plus en détail

Revue du monde Merise NFE 108 : Méthodologie des systèmes d information

Revue du monde Merise NFE 108 : Méthodologie des systèmes d information Revue du monde Merise NFE 108 : Méthodologie des systèmes d information Plan Présentation générale Les niveaux de description Le processus de conception Les modèles de Merise 2 Références Cours du CNAM

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

alg - Relations entre classes [kr]

alg - Relations entre classes [kr] alg - Relations entre classes [kr] Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 21 avril 2015 Table des matières 1 L association 2 1.1 Définitions...................................

Plus en détail

BASE DE DONNEES. OlivierCuré [ocure@univ-mlv.fr]

BASE DE DONNEES. OlivierCuré [ocure@univ-mlv.fr] BASE DE DONNEES 1 Contact Olivier Curé ocure@univ-mlv.fr http://www.univ-mlv.fr/~ocure Copernic 4B060 2 Objectifs du cours Présentation des concepts liés aux bases de données, aux modèles des bases de

Plus en détail

Du monde réel à SQL la modélisation des données

Du monde réel à SQL la modélisation des données ANF «Comment concevoir une base de données en archéométrie» Réseau CAI-RN & rbdd - 05/06/2014 au 06/06/2014 Du monde réel à SQL la modélisation des données Marie-Claude Quidoz (CEFE/CNRS) Ce document est

Plus en détail

Conception de Bases de Données Avec UML

Conception de Bases de Données Avec UML 1 1 Bases de Données Avancées Module B IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Plan du Cours Table of Contents Conception de Bases de Données Avec UML UML et la conception de Bases de Données...2

Plus en détail

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

II. Modèle conceptuel le modèle entité-association II. Modèle conceptuel le modèle entité-association Personne Voiture Schéma conceptuel Monde réel υ Concepteur υ Personne conduit Voiture ϖ ϖ Schéma logique utilisateurs ω LMD BD Personne Dupont Durant

Plus en détail

Modélisation Entité Association

Modélisation Entité Association Modélisation Entité Association 1 Modèle entité association Concepts de base Entités Associations Propriétés Identifiant Cardinalités des rôles Exemple Démarche de conception Passage du modèle Entité/Association

Plus en détail

Le modèle relationnel Page 1 / 8

Le modèle relationnel Page 1 / 8 Le modèle relationnel Page 1 / 8 Sommaire 1 Introduction... 1 2 Les Règles de passage... 2 2.1 Le traitement des entités... 2 2.2 Les associations binaires... 3 2.2.1 Association binaire 1,1-1,n... 3 2.2.2

Plus en détail

CHAPITRE II CONCEPTION D'UN SCHEMA RELATIONNEL. [GARD01] Chapitre XVII

CHAPITRE II CONCEPTION D'UN SCHEMA RELATIONNEL. [GARD01] Chapitre XVII CHAPITRE II CONCEPTION D'UN SCHEMA RELATIONNEL [GARD01] Chapitre XVII 27 CONCEPTION D'UN SCHEMA RELATIONNEL - Introduction 1. INTRODUCTION 1.1. Lien entre la base de données et le système d'information

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Modélisation de bases de données : Le modèle relationnel

Modélisation de bases de données : Le modèle relationnel Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1

Plus en détail

LES CONCEPTS OBJETS. On regroupe les objets ayant les mêmes types de propriétés et de comportements en une classe.

LES CONCEPTS OBJETS. On regroupe les objets ayant les mêmes types de propriétés et de comportements en une classe. LES CONCEPTS OBJETS I Objet et Classe Un objet est une entité du monde réel qui a très souvent un identifiant des propriétés des comportements (actions qu il peut effectuer). La voiture de Clément a pour

Plus en détail

Héritage de type. Objets, classes, interfaces.

Héritage de type. Objets, classes, interfaces. Héritage de type HÉRITAGE DE TYPE......1 OBJETS, CLASSES, INTERFACES....1 L'HÉRITAGE DE TYPE....2 LES PROPRIÉTÉS DE L'HÉRITAGE DE TYPE....3 HÉRITAGE MULTIPLE....3 RELATION ENTRE CLASSES ET INTERFACE....5

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

Conception et Programmation par Objets GLIN404. Langages et paradigmes de programmation

Conception et Programmation par Objets GLIN404. Langages et paradigmes de programmation Conception et Programmation par Objets GLIN404 Marianne Huchard, Clémentine Nebut LIRMM / Université de Montpellier 2 2013 Langages et paradigmes de programmation Le raisonnement classicatoire paradigme

Plus en détail

Modélisation Conceptuelle. Partie 3: Validation et transformations

Modélisation Conceptuelle. Partie 3: Validation et transformations Modélisation Conceptuelle Partie 3: Validation et transformations Méthode de modélisation 1. Etude des besoins de l'entreprise interviews analyse des documents existants 2. Construction du diagramme EA

Plus en détail

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association Modélisation Conceptuelle Partie 2: Le modèle Entité-Association Modèle de type conceptuel But: permettre la description conceptuelle des structures de données d'une application Les concepts de base (correspondent

Plus en détail

TP6 Atelier de génie logiciel WinDesign

TP6 Atelier de génie logiciel WinDesign IUT Orsay Département informatique ACSI S2 TP6 Atelier de génie logiciel WinDesign Exercice 1 : Prise en main du logiciel Pour ce TP, vous allez utiliser le logiciel WinDesign. Ce logiciel permet notamment

Plus en détail

UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins. Emmanuel Pichon 2013 V1.1

UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins. Emmanuel Pichon 2013 V1.1 UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins 2013 V1.1 Objectif Diagramme de classes (class diagram) pour le recueil des besoins et l analyse Présenter un ensemble

Plus en détail

Conventions communes aux profils UML

Conventions communes aux profils UML Conventions communes aux profils UML Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 2.1 Date : Juin 2002 * : Les partenaires du

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

Conception d une base de données

Conception d une base de données Conception d une base de données Cyril Gruau 13 novembre 2003 Résumé Ce support de cours regroupe quelques notions concernant le modèle entité-association, le schéma relationnel et la traduction de l un

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

Identifier les entités présentes

Identifier les entités présentes Merise Analyser un Système d Information déroute parfois le non-initié, car traduire un environnement de travail en symboles cabalistiques n est pas très habituel pour qui ne connaît pas. Pourtant, avec

Plus en détail

Mongi TRIKI Docteur en Informatique Université Paris Dauphine

Mongi TRIKI Docteur en Informatique Université Paris Dauphine Université Méditerranéenne Libre de Tunis Faculté Méditerranéenne Privée des Sciences Informatiques, Economiques et de Gestion de Tunis Département d Informatique LICENCE INFORMATIQUE Guide du Stagiaire

Plus en détail

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet

Programmation orientée objet et événementielle en JavaScript. Département SRC Pôle Universitaire de Vichy Bruno Bachelet Programmation orientée objet et événementielle en JavaScript Département SRC Pôle Universitaire de Vichy Bruno Bachelet «PARTIE IV Introduction au paradigme objet Programmation objet et événementielle

Plus en détail

Modélisation des données

Modélisation des données 1 2 Démarche classique d un projet informatique Analyse de la situation existante et des besoins ; Création d une série de modèles, qui permettent de représenter tous les aspects importants ; A partir

Plus en détail

Comment implémenter un modèle entité-association dans une machine?

Comment implémenter un modèle entité-association dans une machine? Chapitre 3 : Le modèle logique des données Introduction Comment implémenter un modèle entité-association dans une machine? Comment représenter une association? Comment représenter une entité? Il faut donc

Plus en détail

Notions sur la modélisation et la création d une base de données.

Notions sur la modélisation et la création d une base de données. Notions sur la modélisation et la création d une base de données. D. Puthier 1 1 ERM206/Technologies Avancées pour le Génome et la Clinique, http://tagc.univ-mrs.fr/staff/puthier, puthier@tagc.univ-mrs.fr

Plus en détail

SGBDR et conception d'un système d'information avec MERISE

SGBDR et conception d'un système d'information avec MERISE 1 SGBDR et conception d'un système d'information avec MERISE Séminaires Codes & Travaux @ IRISA 26 Avril 2007 Anthony ASSI Ingénieur Expert R&D Plateforme Bio Informatique / Equipe Symbiose 2 SGBDR : Système

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Modèle conceptuel : diagramme entité-association

Modèle conceptuel : diagramme entité-association Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»

Plus en détail

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

Chap. 3: Le modèle de données entité-association (E.A.) Chap. 3: Le modèle de données entité-association (E.A.) En anglais: Entity-Relationship (ER) Origines: C.Bachman (1969), P.Chen (1976). Modèle de données > décrire la réalité perçue à travers les données

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

OMGL UE Modélisation de données 2 / 41

OMGL UE Modélisation de données 2 / 41 Module OMGL UE Modélisation de données Analyse et Conception des Systèmes d Information Modélisation des données J. Christian Attiogbé Septembre 2008, maj 11/2009, 08/2010 OMGL UE Modélisation de données

Plus en détail

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Le modèle conceptuel des données

Le modèle conceptuel des données Le modèle conceptuel des données 1 Objectif du MCD Décrire les données du SI, indépendamment de tout choix d'implantation physique. 1. Le dictionnaire des données Inventaire exhaustif des données du domaine

Plus en détail

Chapitre 2 CONCEPTION D'UN SCHEMA ENTITE- ASSOCIATION

Chapitre 2 CONCEPTION D'UN SCHEMA ENTITE- ASSOCIATION Chapitre 2 CONCEPTION D'UN SCHEMA ENTITE- ASSOCIATION Dans ce chapitre, nous proposons quelques règles pour guider le concepteur lors de la définition du schéma conceptuel entité association d'une (nouvelle)

Plus en détail

BNF101 STRUCTURE D UNE BASE DE DONNEES LE MODELE RELATIONNEL

BNF101 STRUCTURE D UNE BASE DE DONNEES LE MODELE RELATIONNEL BNF101 STRUCTURE D UNE BASE DE DONNEES LE MODELE RELATIONNEL INTRODUCTION Une base de données (BD) est un ensemble structuré d'information qui peut être utilisé simultanément par plusieurs utilisateurs

Plus en détail

MEGA Database Builder. Guide d utilisation

MEGA Database Builder. Guide d utilisation MEGA Database Builder Guide d utilisation MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

COURS CONCEPTION DE BASE DE DONNÉES

COURS CONCEPTION DE BASE DE DONNÉES COURS CONCEPTION DE BASE DE DONNÉES Sana SELLAMI sana.sellami@univ-amu.fr Licence info 2014-2015 Aix-Marseille université Présentation Etroitement lié au cours Base de Données Relationnelles La conception

Plus en détail

Cours Master 1 / 2013-2014. Dr YAO Kouassi Patrick

Cours Master 1 / 2013-2014. Dr YAO Kouassi Patrick Cours Master 1 / 2013-2014 Dr YAO Kouassi Patrick Une base de données est le terme informatique désignant un ensemble de données connexes stockées informatiquement. Ce terme ne doit pas être confondu avec

Plus en détail

Modélisation et stockage des données géographiques. Christelle Pierkot

Modélisation et stockage des données géographiques. Christelle Pierkot Modélisation et stockage des données géographiques Christelle Pierkot Rappels : L information géographique Information relative àun objet ou àun phénomène du monde réel On ne peut appréhender totalement

Plus en détail

Rappels sur l objet. Yannick Prié Département Informatique - UFR Sciences et Techniques Université Claude Bernard Lyon 1 2011-2012

Rappels sur l objet. Yannick Prié Département Informatique - UFR Sciences et Techniques Université Claude Bernard Lyon 1 2011-2012 Rappels sur l objet Yannick Prié Département Informatique - UFR Sciences et Techniques Université Claude Bernard Lyon 1 2011-2012 Objectifs de ce cours 2 Rappels sur les concepts fondamentaux liés à la

Plus en détail

11. Les associations sous la loupe

11. Les associations sous la loupe . Les associations sous la loupe Après avoir, dans les deux chapitres précédents, présenté la méthode que nous préconisons pour analyser les données et concevoir un modèle de la base, nous allons ici étudier

Plus en détail

Introduction aux bases de données

Introduction aux bases de données 1/73 Introduction aux bases de données Formation continue Idir AIT SADOUNE idir.aitsadoune@supelec.fr École Supérieure d Électricité Département Informatique Gif sur Yvette 2012/2013 2/73 Plan 1 Introduction

Plus en détail

II.3. Diagrammes de classes

II.3. Diagrammes de classes II.3. s de classes II.3. s de classes 1. Introduction Introduction Les diagrammes d'uml de structure comportemental de classes de package d objets d activités de cas d utilisation de composant de déploiement

Plus en détail

Visual Paradigm. Réaliser un modèle logique de données (MLD)

Visual Paradigm. Réaliser un modèle logique de données (MLD) 27.02.2013 p.a. sunier Visual Paradigm Réaliser un modèle logique de données (MLD) Sommaire 1 Propos liminaires... 2 2 Organisation du projet... 2 3 Création des tables... 3 4 Création de relations...

Plus en détail

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

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz Geographic Information Technology Training Alliance (GITTA) presents: Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz Table des matières 1. Modélisation conceptuelle

Plus en détail

Introduction à la conception d'une base de données Walter RUDAMETKIN

Introduction à la conception d'une base de données Walter RUDAMETKIN Introduction à la conception d'une base de données Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Étapes de la conception d'une base de données Analyse de la situation existante et des

Plus en détail

Plan du cours. Introduction aux Bases de Données. Plan du cours. I. Introduction II. Le modèle UML III. Le modèle relationnel

Plan du cours. Introduction aux Bases de Données. Plan du cours. I. Introduction II. Le modèle UML III. Le modèle relationnel Plan du cours Introduction aux Bases de Données Maîtrise de Sciences Cognitives Année 2003-2004 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ I. Introduction II. Le modèle UML III. Le modèle relationnel

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes Génération de codes à partir d un modèle UML sous PowerAMC Véronique Deslandres, IUT, Département Informatique Université de Lyon MàJ: 8/10/2013 Introduction La génération de code, ça n est pas immédiat

Plus en détail

Visual Paradigm. Description du comportement du plugin HE-Arc de transformation de MCD en MLD

Visual Paradigm. Description du comportement du plugin HE-Arc de transformation de MCD en MLD 7.1.2012 / 5.11.2013 p.a. sunier Visual Paradigm Description du comportement du plugin HE-Arc de transformation de MCD en MLD Sommaire 1 Propos liminaires... 2 2 Principes généraux... 2 3 Logique de transformation...

Plus en détail

Table des matières. Remerciements... Avant-propos... 1. Introduction... 7

Table des matières. Remerciements... Avant-propos... 1. Introduction... 7 Remerciements..................................................... VI Avant-propos...................................................... 1 À qui s adresse cet ouvrage?..........................................

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

1 Introduction aux bases de données

1 Introduction aux bases de données 1 Introduction aux bases de données Qu'est-ce qu'un SGBD? quelles sont ses fonctions? Peut-on mémoriser tous les types de données? Business Object est-il un SGBD? Access? Citez trois logiciels de SGBD

Plus en détail

Bases de Données. date de dernière modification : 29 octobre 2000

Bases de Données. date de dernière modification : 29 octobre 2000 Bases de Données date de dernière modification : 29 octobre 2000 NB : Ce chapitre s'adresse aux non spécialistes des bases de données. Il a un but d'initiation et de sensibilisation (en anglais "primer").

Plus en détail

Modèle Entité/Association

Modèle Entité/Association Base de données Modèle Entité/Association L3 Informatique Antoine Spicher antoine.spicher@u-pec.fr Contexte du cours Organisation du cours 1 ère partie (C. D.) Modèle et algèbre relationnel Langage SQL

Plus en détail

Modèle relationnel, domaine, relation, attribut, schéma relationnel, clé primaire, clé étrangère, dépendance fonctionnelle, contrainte d'intégrité

Modèle relationnel, domaine, relation, attribut, schéma relationnel, clé primaire, clé étrangère, dépendance fonctionnelle, contrainte d'intégrité Propriétés Titre Type de ressource Niveau Matière Public Description Thème Objectifs Pré-requis B2i - Niveau B2i - Objectifs Le modèle relationnel Description Document de synthèse et base de données exemple

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Rappel : Tout méta-modèle ou profil doit être commenté! 1 Question de compréhension du cours barème indicatif : 5 points Q : Lorsque l on

Plus en détail

0(5,6( 3HWLWHKLVWRLUHGHODPpWKRGH0(5,6(

0(5,6( 3HWLWHKLVWRLUHGHODPpWKRGH0(5,6( 0(5,6( 3HWLWHKLVWRLUHGHODPpWKRGH0(5,6( eopphqwghedvhgxprgqohhqwlwpdvvrfldwlrq 2.1 Les entités...2 2.2 Les attributs...3 2.3 Les associations...4 2.4 Cardinalités...4 2.5 Clef d'une entité...6 7RSRORJLHGHVDVVRFLDWLRQV

Plus en détail

Introduction à la programmation orientée objet

Introduction à la programmation orientée objet 1. De la programmation par Goto à la programmation structurée Introduction à la programmation orientée objet 1.1. Branchement par Goto * Un simple test sur les valeurs des données: * Plus l'application

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Module M1104 Partie 1 - Modélisation de données

Module M1104 Partie 1 - Modélisation de données Module M1104 Partie 1 - Modélisation de données Analyse et Conception des Systèmes d Information J. Christian Attiogbé Septembre 2015 J. Christian Attiogbé (Septembre 2015) Module M1104 Partie 1 - Modélisation

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Spécialisation / généralisation évolutive

Spécialisation / généralisation évolutive Spécialisation / généralisation évolutive Comparaison de complexité avec une solution statique conventionnelle Créé: Juin 2005 Rédigé : Léonard Sandoz Modifié: Dirigé : Pierre-André Sunier Laboratoire

Plus en détail

Introduction générale

Introduction générale Chapitre 1 Introduction générale Le monde de l informatique a connu une évolution effervescente depuis l apparition du premier ordinateur l EDVAC en 1945 jusqu à aujourd hui. Au début de l ère informatique,

Plus en détail

Java Licence professionnelle CISI 2009-2010

Java Licence professionnelle CISI 2009-2010 Java Licence professionnelle CISI 2009-2010 Cours 10 : Type générique (c) http://manu.e3b.org/java/tutoriels/avance/generique.pdf 1 Introduction La programmation générique - nouveauté la plus significative

Plus en détail

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle

Plus en détail