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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Comprendre Merise et la modélisation des données

Comprendre Merise et la modélisation des données Comprendre Merise et la modélisation des données Tables des matières Avant-propos 1- Introduction 1-1 Principes fondateurs 1-2 Bases conceptuelles 1-3 Place de Merise dans le cycle de développement informatique

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

Introduction aux Bases de Données

Introduction aux Bases de Données Licence 3 Géographie Aménagement NHUC5548 Introduction aux Bases de Données Le cas des BD relationnelles Concepts, méthodes et applications JP ANTONI / Y FLETY 1 Logistique et autres fonctionnements Cours

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è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

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

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

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

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

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

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3

Plus en détail

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie MODULE C03 - Séquence 4 INTRODUCTION I. DONNEES ET TRAITEMENT II. MODELE CONCEPTUEL DES DONNEES III. MODELE CONCEPTUEL

Plus en détail

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

GOL-502 Industrie de services. Travaux Pratique / Devoir #7 GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

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

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

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

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Diagrammes de classes et d objets

Diagrammes de classes et d objets Diagrammes de classes et d objets Exercice 1 : rédaction d un diagramme de classe Dessiner un diagramme de classe pour décrire les objets suivants: enregistreurs Exercice 1: solution possible Exercice

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

LE MODELE CONCEPTUEL DE DONNEES

LE MODELE CONCEPTUEL DE DONNEES LE MODELE CONCEPTUEL DE DONNEES Principe : A partir d'un cahier des charges, concevoir de manière visuelle les différents liens qui existent entre les différentes données. Les différentes étapes de réalisation.

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Bases de Données Relationnelles. Le Modèle Relationnel

Bases de Données Relationnelles. Le Modèle Relationnel Bases de Données Relationnelles Le Modèle Relationnel Le modèle relationnel modèle de niveau logique modèle simple : deux concepts relation (table) attribut (colonne) défini par Ted Codd en 1970 ; prix

Plus en détail

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

3. UML - Unified Modeling Language Diagrammes statiques

3. UML - Unified Modeling Language Diagrammes statiques 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

Chapitre 1 Généralités sur les bases de données

Chapitre 1 Généralités sur les bases de données Chapitre 1 Généralités sur les bases de données I. Définition d un SGBD Une base de données, généralement appelée BD est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations

Plus en détail

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

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

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

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations Urbanisation de système d'information PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations 1 Mise en gestes L'existence de tout produit, et de tout service commence par

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

Concevoir un modèle de données Gestion des clients et des visites

Concevoir un modèle de données Gestion des clients et des visites page 1 MCD Concevoir un modèle de données Gestion des clients et des visites La gestion des informations d une organisation est un élément essentiel de son efficacité. L obligation de les trouver et de

Plus en détail

La méthode MERISE (Principes)

La méthode MERISE (Principes) La méthode MERISE (Principes) Introduction Création : en 1978-79 par Peter Chen et Hubert Tardieu à Aix en Provence Signifie : MEthode pour Rassembler les Idées Sans Effort ou encore vient du merisier

Plus en détail

NORME INTERNATIONALE D AUDIT 260 COMMUNICATION DES QUESTIONS SOULEVÉES À L OCCASION DE L AUDIT AUX PERSONNES CONSTITUANT LE GOUVERNEMENT D'ENTREPRISE

NORME INTERNATIONALE D AUDIT 260 COMMUNICATION DES QUESTIONS SOULEVÉES À L OCCASION DE L AUDIT AUX PERSONNES CONSTITUANT LE GOUVERNEMENT D'ENTREPRISE NORME INTERNATIONALE D AUDIT 260 COMMUNICATION DES QUESTIONS SOULEVÉES À L OCCASION DE L AUDIT AUX PERSONNES CONSTITUANT LE GOUVERNEMENT D'ENTREPRISE SOMMAIRE Paragraphes Introduction... 1-4 Personnes

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre VIII. Les bases de données. Orientées Objet. Motivation Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet

Plus en détail

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

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

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

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 Modélisation de Systèmes d Information IUT de Villetaneuse - Université de Paris 13 DUT Informatique 2ème année 2004/2005 LATEX Cycle de vie Introduction Processus de développement d un logiciel La méthode

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

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

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du

Plus en détail

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD)

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD) 1 RÈGLES DE TRANSFORMATION DU AU MLD () Nous allons définir les règles de transformation pour le passage du au MLD, en respectant les différents cas qui se posent. Transformation des entités Toute entité

Plus en détail

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

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

Auguria_PCM Product & Combination Manager

Auguria_PCM Product & Combination Manager Auguria_PCM Product & Combination Manager Guide utilisateurs v1.5 Auguria 9, rue Alfred Kastler 44300 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Description générale du module...3 2 Mise en

Plus en détail

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe

Plus en détail

Débuter avec OOo Base

Débuter avec OOo Base Open Office.org Cyril Beaussier Débuter avec OOo Base Version 1.0.7 Novembre 2005 COPYRIGHT ET DROIT DE REPRODUCTION Ce support est libre de droit pour une utilisation dans un cadre privé ou non commercial.

Plus en détail

MERISE. Modélisation et Conception de Systèmes d Information

MERISE. Modélisation et Conception de Systèmes d Information MERISE Modélisation et Conception de Systèmes d Information Intro L'analyse des données constitue le point de passage obligé de toute conception d'application mettant en oeuvre un SGBDR La méthode MERISE,

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business

Plus en détail

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

Windows Server 2008. Chapitre 3 : Le service d annuaire Active Directory: Concepts de base Windows Server 2008 Chapitre 3 : Le service d annuaire Active Directory: Concepts de base omar.cheikhrouhou@isetsf.rnu.tn omar.cheikhrouhou@ceslab.org Objectives Comprendre les concepts de base d Active

Plus en détail

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il Le modèle Entité-Association C est un modèle important pour la conception des bases de données relationnelles. Il est très répandu, très documenté. Il aide à concevoir une base de données sans redondance,

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM) Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages

Plus en détail

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Interface PC Vivago Ultra. Pro. Guide d'utilisation Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci

Plus en détail

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur NOTIFICATIONS GUIDE Le module Notifications permet de retrouver des notifications en utilisant les champs spécifiques de la base de données du Registre central des notifications (RCN). Il comporte une

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4

1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4 1. Création d'un état... 2 2. Création d'un état Instantané Colonnes... 3 3. Création d'un état Instantané Tableau... 4 4. Création d'un état avec plusieurs tables... 9 5. Modifier la structure d'un état...11

Plus en détail

Modélisation : Entité-Association Pattes de corbeau Relationnel. Plan BD4 : A.D., S.B. 2013-2014. . 1 Des systèmes d'information. Pourquoi?

Modélisation : Entité-Association Pattes de corbeau Relationnel. Plan BD4 : A.D., S.B. 2013-2014. . 1 Des systèmes d'information. Pourquoi? Modélisation : Entité-Association Pattes de corbeau Relationnel BD4 : AD, SB Licence MASS, Master ISIFAR, Paris-Diderot 2013-2014 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) Modélisation avec Workbench

Plus en détail

Site Web de paris sportifs

Site Web de paris sportifs HENAUD Benoît Numéro d auditeur 05-39166 Version V1.2 Date de mise à jour 31/03/2008 1/21 Table des matières 1. Objectif du document... 3 2. Présentation... 3 2.1. Présentation du projet... 3 2.2. Situation

Plus en détail

Stéphane Crozat NF17 3. Travaux Dirigés 3. Université de Technologie de Compiègne Génie Informatique http://www4.utc.fr/~nf17

Stéphane Crozat NF17 3. Travaux Dirigés 3. Université de Technologie de Compiègne Génie Informatique http://www4.utc.fr/~nf17 Stéphane Crozat NF17 3 Travaux Dirigés 3 Université de Technologie de Compiègne Génie Informatique http://www4.utc.fr/~nf17 TRAVAUX DIRIGÉS NF17 III Conception de bases de données Stéphane Crozat Version

Plus en détail

Guide de démarrage rapide

Guide de démarrage rapide Guide de démarrage rapide 1 Sommaire 1.Préambule...3 2.Démarrage du programme...4 3.Prise en main...6 3.1.Les saisies...6 3.2.Les listes...10 4.Gestion courante...13 4.1.Saisie d'un devis...13 4.2.Transformation

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE SOMMAIRE Sommaire... 1 INTRODUCTION... 3 I. Particularités d UML... 4 I.1 UML est une norme... 5 I.2 UML est un langage de modélisation objet... 5 I.3 UML est un support de communication... 6 I.4 UML est

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 17 octobre 2005 (corrigé le 13 juillet 2006) Résumé Ce support de cours regroupe quelques notions concernant le modélisation conceptuelle de système d information

Plus en détail