"Systèmes d`Information"
Transcription
"Systèmes d`Information"
Conception de Systèmes d’Information Éric Würbel 12 mars 2008 Table des matières 1 Introduction & motivations 1.1 Sources . . . . . . . . . . . . . . . . 1.2 Donnée et information . . . . . . . . 1.3 Quelques propriétés de l’information 1.4 Le concept de système d’information 1.5 Fonctions d’un SI . . . . . . . . . . . 1.5.1 La saisie . . . . . . . . . . . . 1.5.2 Le stockage . . . . . . . . . . 1.5.3 Le traitement . . . . . . . . . 1.5.4 La restitution . . . . . . . . . 1.5.5 transmission, communication 2 Conception d’un SI 2.1 Architecture et conception . . . . . . 2.2 Démarche générale . . . . . . . . . . 2.2.1 Schéma directeur . . . . . . . 2.2.2 Étude préalable par domaine 2.2.3 Étude détaillée par projet . . 2.2.4 Réalisation . . . . . . . . . . 2.2.5 Mise en oeuvre . . . . . . . . 2.2.6 Maintenance . . . . . . . . . 2.2.7 Conclusion . . . . . . . . . . 2.3 Modélisation du SI . . . . . . . . . . 2.4 modèle conceptuel des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Définitions initiales 3.1 Propriété . . . . . . . . . . . . . . . . . . 3.2 Entité . . . . . . . . . . . . . . . . . . . . 3.2.1 Définition . . . . . . . . . . . . . . 3.2.2 Les identifiants . . . . . . . . . . . 3.2.3 Occurence d’entité ou individu . . 3.2.4 Dépendance fonctionnelle directe . 3.3 L’association (ou relation type) . . . . . . 3.3.1 Définition . . . . . . . . . . . . . . 3.3.2 Identifiant d’une association . . . . 3.3.3 Occurences d’une association . . . 3.3.4 Cardinalité . . . . . . . . . . . . . 3.3.5 Caractéristiques d’une association . 3.3.6 Association porteuse . . . . . . . . 3.3.7 Les associations transitives . . . . 3.3.8 Les associations réflexives . . . . . 3.4 Héritage . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 5 5 9 10 10 10 10 10 . . . . . . . . . . . 11 11 12 12 13 13 13 13 13 13 14 14 . . . . . . . . . . . . . . . . 15 15 17 17 17 18 18 20 20 21 21 22 24 26 27 27 28 Table des matières 3.5 Contraintes ensemblistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.1 Inclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 Méthodologie 4.1 Présentation du cas . . . . . . . . . . . 4.1.1 Objectifs de l’analyse : . . . . . 4.2 Étude des données . . . . . . . . . . . 4.2.1 Dictionnaire des données . . . . 4.2.1.1 Définition . . . . . . . 4.2.1.2 Vocabulaire . . . . . . 4.3 Dépendance fonctionnelle . . . . . . . 4.4 Matrice des dépendances fonctionnelles . . . . . . . . . . . . . . . . 5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 32 32 33 33 33 34 36 36 37 3 1 Introduction & motivations L’objectif de ce cours est de familiariser un public non-informaticien avec la notion de système d’information. De quoi s’agit-il, quel est son rôle au sein des organisation, et comment le conçoit-on ? La première question a bien évidemment un intérêt en tant qu’élément de culture générale. Au delà de cet aspect, nous vivons tous dans une société où l’information est omniprésente, et comprendre la façon dont on la modélise et on la gère, c’est être capable de prendre du recul par rapport à celle-ci, et éviter les pièges que recèle l’utilisation de l’information. La seconde question « quel est son rôle », amène à poser quelques jalons sur l’utilisation de l’information au sein des organisations. La dernière question prend tous son sens pour de futurs utilisateurs de systèmes d’information du fait que généralement, les méthodes de conception de systèmes d’information associent l’utilisateur à la démarche de conception. De plus, cela permet aussi d’apréhender les limites de l’utilisation automatisée de l’information, en prenant conscience de la limite des modèles. 1.1 Sources Le présent support a été rédigé en s’inspirant des sources suivantes – cours de conception des système d’information de S. Manar et Y Assaï à l’INT. http://ebiz. int-evry.fr/sie/ – cours d’analyse des systèmes d’information de E. Crépin. http://www.ac-nancy-metz.fr/eco-gestion/ eric_crepin/accueil.htm – cours MERISE de F. Di Gallo au CNAM. \url{http ://fdigallo.online.fr/cours/contenu.htm} 1.2 Donnée et information L’ordinateur manipule des données. D’un point de vue très abstrait et général, une donnée est un signe (une trace, écrite par exemple) auquel est associé un code (l’ensemble des signes admis, par exemple l’alphabet). La codification des signes permet de représenter des données. Une série de signes, tels que le ’1’ ou le ’T’, devient une donnée lorsqu’on connait la codification correspondante. Une information est quelque chose de beaucoup plus riche qu’une donnée brute. C’est une donnée qui a un sens, ce sens provenant d’un modèle d’interprétation. Une même donnée peut avoir plusieurs sens suivant selon le modèle d’interprétation qui lui est associé. Par exemple, la donnée ’12101961’ peut être interprétée comme le nombre «douze million cent un mille neuf cent soixante et un», mais un anglo-saxon pourra y reconnaitre la date «10 décembre 1961». Un français peut aussi y reconnaitre une date : «12 octobre 1961». Les modèles d’interprétation font partie de notre culture générale. On voit, au regard de l’exemple précédent, qu’il peut être extrêmement difficile d’apréhender une information si on ne connait pas le contexte sémantique auquel réfère le modèle d’interprétation. La figure 1.1 présente quelques exemples supplémentaires. 4 1 Introduction & motivations Fig. 1.1: Information = donnée + modèle d’interprétation 1.3 Quelques propriétés de l’information On peut citer : – l’information est une donnée qui a un sens et un impact sur le récepteur. – la valeur de l’information est corélée à son impact et à son potentiel de surprise. – c’est une ressource et une richesse au même titre que les autres. Notons enfin que la valeur d’une information est quelque chose de très difficile à quantifier. En effet, plusieurs facteurs rentrent en ligne de compte : – l’écoulement du temps : – une information fraîche a plus de valeur qu’une information périmée – inversement, une information vérifiée, qui a pu mettre plus de temps à émerger, a probablement plus de valeur qu’un « scoop » créant la sensation mais s’avérant peut être (partiellement) erroné. – du récepteur de l’information : une information politique, économique, un résultat sportif, ont une valeur différente selon le potentiel de surprise. La récolte, le stockage et la diffusion de linformation est devenue une industrie à part entière. Toute organisation, quelle qu’elle soit, doit consacrer une partie de son effort à récolter, traiter, stocker et diffuser l’information issue de son propre fonctionnement. C’est l’objet du système d’information que nous allons tenter de définir dans la suite. 1.4 Le concept de système d’information De façon abstraite, comment définir une organisation ? En première approche, on peut se référer au schéma de la figure 1.2. 5 1 Introduction & motivations Fig. 1.2: Représentation abstraite d’une organisation. Une organisation est un système opérationnel où les matières premières sont transformées, et où les produits finaux sont fabriqués. C’est ce qu’on appelle la vision systémique des organisations. Exemple 1.4.1 Pour prendre un exemple parlant, si on considère l’USTV sous l’angle de la vision systémique (l’USTV est une organisation comme les autres), le système opérant est constitué des services et des UFR de l’USTV. Ceux ci organisent les délibérations de jurys, les examens, les cours de L1, L2, L3, M1 . . . , les corrections de copies. Les étudiants qui suivent les cours, passent les examens, . . . font aussi partie de ce système opérant. C’est l’obtention des diplômes qui est — entre autres — le produit final du système opérant à l’USTV. Le flux physique est constitué des étudiants, des examens, des cours, des résultats, des rapports. . . Toute organisation est pilotée par une équipe dirigeante, une direction. Sous l’angle de la vision systémique, on l’appelle système de pilotage. Sa mission est de conduire l’organisation vers des objectifs qui lui sont fixés, et de vérifier que ces objectifs ont été atteints. Cela nécessite généralement un contrôle continu du système opérant et d’éventuelles modifications à apporter au système opérant (recrutements, investissements, nouveaux développements, . . . ). Donc, parallèlement au flux physique, il y existe un flux de décision. Ce flux correspond aux décisions prises par le système de pilotage de l’organisation pour que celle ci fonctionne dans les meilleures conditions et puisse atteindre ses objectifs. Enfin, toute organisation est soumise à des contraintes extérieures et intérieures qui limitent son action et l’empèchent d’évoluer librement (ceci dit sans connotation péjorative aucune, une contrainte peut avoir aussi des effets positifs). La figure synthétise ce qui vient d’être dit sur le système de pilotage. Exemple 1.4.2 En reprenant le cas de l’USTV, les décisions prisent par le système de pilotage concernent : la définition du contenu des cursus, le nombre d’étudiants admis dans certaines filière particulières (IUT,. . . ), la définition des modalités d’examen et le règlement des études, les investissement en matériel, en logiciels, . . . Les contraintes qui pèsent sur l’USTV sont diverses : statutaires (rattachement à l’état), budgétaires, . . . C’est dans ce contexte qu’émerge la notion de système d’information (SI). Ce sous-système de l’orgasation est chargé de la collecte, du stockage, du traitement et de la diffusion de l’information dans le système opérant et dans le système de pilotage. Au sein du système opérant, l’information va permettre le fonctionnement, puisque chaque individu et chaque tâche ont besoin d’être informés sur le flux physique qui les traverse. En général, cette information est détaillée, ne concerne qu’un petit élément de l’organisation, et est tournée vers le présent. Au sein du système de pilotage, l’information va permettre à celui ci de prendre des décisions en étant constamment informé de ce qui se passe dans le système opérationnel. Ici, l’information est plus de nature synthétique, elle concerne une grande partie de l’organisation (si ce n’est toute, par exemple l’équilibre des comptes annuels, le chiffre d’affaires), et est tournée vers le passé ou le futur. La tâche principale du système d’information est de fournir un flux d’information qui, d’une part, reflète le plus fidèlement possible le flux physique (est-ce possible ?), et d’autre part fournit au système opérationnel les éléments nécessaires à son fonctionnement quotidien et au système de pilotage les 6 1 Introduction & motivations Fig. 1.3: missions du système de pilotage : – fixation des objectifs (en tenant compte des contraintes) ; – contrôle de la réalisation ; – corrections (tenant compte des contraintes). éléments nécessaires à des prises de décisions dans des conditions correctes. Ce rôle du SI est résumé dans la figure . Le flux d’information est vu comme une image du flux physique. Il représente, sous une forme plus ou moins réduite et plus ou moins grossissante, tous les événements survenus dans le système opérant ainsi que tous les éléments d’information permettant de traiter ces événements. Cette image est nécessairement une réduction de la réalité. Elle ne concerne que les aspects considérés comme pertinents et comme ayant une incidence ou un rôle dans le fonctionnement de l’organisation. Si on se réfère à notre exemple de l’USTV, on trouvera dans le SI de l’USTV toutes les informations sur les étudiants inscrits à l’USTV : nom, prénom, adresse, date de naissance, parcours scolaire précédent. . . mais on ne trouvera ni la couleur des yeux, ni le groupe sanguin, informations non pertinentes pour le fonctionnement de l’USTV. Plus précisément, on dit que dans le SI il y a des modèles de la réalité organisationnelle. Ces modèles sont construits par ceux qui mettent en place le SI. La validité et la pertinence de ces modèles sont indispensables au fonctionnement du SI lui même, et elles garantissent la qualité de l’information fournie. En conclusion, la construction des modèles dans un SI est une phase est une phase très importante dans construction de ce SI. Cette tâche relève de l’ingéniérie des SI, et on utilise le terme de « conception de SI ». Au sein de ce cours, nous aborderons une partie des techniques de modélisation indispensables à la construction des SI. En bref : – Le SI est une représentation de la réalité. – C’est un modèle — forcément réducteur — des faits et des événements survenus (présents et passés). – C’est un artefact, un objet artificiel, qui est greffé sur l’objet réel de l’organisation. Pourquoi dit-on que le SI est un artefact ? Parce que l’organisation doit consacrer une partie de ses ressources et de son énergie à gérer l’information alors que ce n’est pas sa tâche initiale. 7 1 Introduction & motivations Fig. 1.4: Le système d’information dans l’organisation. Exemple 1.4.3 En reprenant notre exemple, l’USTV doit consacrer une partie de ses ressources (humaines et techniques), pour gérer l’information concernant son fonctionnement quotidien. Cette tâche occupe plusieurs personnes et consomme des ressources informatiques, mais elle n’est pas le métier original de l’USTV qui est de former et instruire des étudiants, de délivrer des diplômes et de mener des activités de recherche scientifique. Cette tâche qui ne fait pas partie du cœur de métier des organisations (sauf dans le cas particulier des SSII), est parfois sous-traitée. Cette pratique se nomme « out-sourcing » ou infogérance. Cela permet à l’organisation de se concentrer sur son cœur de métier, avec toutefois le risque de devenir trop dépendante d’un acteur extérieur. Exemple 1.4.4 Pour prendre un autre exemple de système d’information dans le monde de l’enseignement supérieur, considérons une bibliothèque universitaire et essayons de déterminer les différents flux en jeu. Flux physique : Les livres, les abonnés de la bibliothèque, les prêts consentis aux abonnés, les restitutions d’exemplaires d’ouvrages empruntés, le renouvellement des abonnements, . . . Flux d’information : La cote du livre : un numéro unique tel que l’ISBN, son titre, ses auteurs, l’éditeur, l’année d’édition, le nombre de pages, . . . Des informations relatives à l’abonné : nom et prénom, adresse, date de validité de son abonnement, nombre d’ouvrages actuellement en prêt,. . . Flux de décision : Le tarif des abonnements, la durée d’un prêt, le nombre maximal d’ouvrages prêtés simultanéments, la sanction des prêts non restitués, les acquisitions de nouveaux ouvrages, . . . Exemple 1.4.5 Une compagnie de chemins de fers (SNCF) 8 1 Introduction & motivations Fig. 1.5: Fonctions d’un SI Flux physique : Les trains, les wagons, les voyageurs, les billets, les réservations, les départs et les arrivées, les trajets, le paiement d’un billet,. . . Flux d’information : Le trajet (n˚de trajet, nom de la ville départ et de la ville d’arrivée, fréquence, heure de départ et d’arrivée), n˚ de billet, n˚ de réservation, n˚ de siège réservé, heure effective de départ et d’arrivée,. . . Des informations synthétiques tels que la répartition du nombre de voyageurs sur un trajet selon les périodes de l’année, la répartition du nombre de voyageurs selon les trajets pendant la période de Noël des 5 dernières années, la répartition du CA (chiffre d’affaire) d’un trajet selon les jours de la semaine pour les trois derniers mois,. . . Flux de décision : Définition de la grille tarifaire, définition des trajets pour une période donnée, ouverture de nouveaux trajets, fermeture de certains trajets, achat de nouveaux équipement,. . . Contraintes : Réglementation, cycles économiques, inflation, climat,. . . 1.5 Fonctions d’un SI Le schéma de la figure résume les 5 fonctions de base d’un système d’information. Notez que la communication s’effectue autant avec le système de pilotage qu’avec le système opérant. 9 1 Introduction & motivations 1.5.1 La saisie C’est la fonction la plus basique. Dans le passé, elle mobilisait des opérateurs et des opératrices de saisie qui passaient leurs journées à saisir des tonnes d’information sur des claviers. . . On en trouve encore, malgré l’introduction des lecteurs de code-barre, des logiciels de reconnaissance vocale et de reconnaissance de caractères, des GPS pour les saisie de géolocalisation. . . 1.5.2 Le stockage On distingue l’archivage de courte durée et l’archivage de longue durée. L’archivage de courte durée concerne essentiellement les informations en cours d’exploitation dans le SI et celles suceptibles de servir dans des futurs proches. L’archivage de longue durée a une fonction de mémoire de l’organisation. Les technologies évoluent rapidement aujourd’hui. Notez que l’archivage de longue durée nécessite la conservation de la chaîne matérielle et logicielle (il faut pouvoir relire plus tard !). Hormis les problèmes de pérénité de la conservation, l’archivage, quelque soit sa durée, doit faire face à deux problèmes majeurs : – sécurité : droits d’accès, mais aussi sécurité de conservation (qu’advient-il en cas d’incendie ?) – localisation : il s’agit de savoir où se trouve l’information recherchée. 1.5.3 Le traitement Son but est de créer de nouvelles informations à partir des informations existantes grace à des opérations de tri, de calculs, de regroupements, de recoupements. . . 1.5.4 La restitution L’impression sur papier reste la plus commode et la plus couramment utilisée. Nous recevons tous des relevés de comptes bancaires, des factures de téléphone, d’électricité, des fiches de paie. . . Mais les ordinateurs ont encahi notre quotidien. La restitution s’effectue donc aussi via les écrans : – technologie WEB (pages WEB en intranet ou extranet). – visualisation via des applications dédiées – formats de document électronique (odf, pdf, djvu,. . . ) – image de synthèse 1.5.5 transmission, communication Il faut aussi être capable de déplacer l’information d’un point à un autre. Pour cela, on a besoin d’un support de transmission et de protocoles de communication. (voir le cours de L2 second semestre sur le WEB). Les technologies utilisées dans ce domaine sont très variées : – réseaux hertzien ; – transmission par satellite ; – réseaux privés d’organisations ; – fibre optique ; – infra-rouge ; – ... 10 2 Conception d’un SI 2.1 Architecture et conception On a dit précédemment que le SI doit représenter le plus fidèlement possible le fonctionnement du système opérant. Pour réaliser cet objectif, on structure le SI en deux composantes : – une base d’informations, dans laquelle seront mémorisés la description des objets, des règles et des contraintes du système opérant ; – un processeur d’information, destiné à piloter et à contrôler les évolutions auquelles base d’information est sujette. Cette architecture est décrite à la figure 2.1. Le processeur d’information produit des changements dans la base d’information à la réception d’un message.Le message contient des informations et exprime une commande décrivant une action à entreprendre dans la base d’information. Le processeur d’information interprète la commande et effectue le changement en respectant les contraintes et les règles. Si le message exprime une recherche sur le contenu de la base d’information, le processeur interprète la commande et émet un message rendant compte du contenu actuel de la base d’information. Dans tous les cas, l’environnement a besoin de savoir si la commande a été acceptée ou refusée. À cet effet, le processeur émet un message vers l’environnement. Dans le cadre de la conception du SI, l’architecture présentée induit une double conception : – conception de la base d’information (aspect statique) ; – conception du processeur de traitement (aspect dynamique). Pour aider le concepteur dans ces deux tâches, la méthode Merise propose un ensemble de formalismes et de règles destinés à modéliser de manière indépendante les données et les traitements du SI. Ces modèles ne sont qu’une base de réflexion pour le concepteur et un moyen de communication entre les divers acteurs du SI dans l’organisation. La validation de l’ensemble se fera en commun. Fig. 2.1: Architecture du SI 11 2 Conception d’un SI Fig. 2.2: Étapes de conception. 2.2 Démarche générale La démarche de conception du SI proposée par la méthode Merise s’articule autour des étapes décrites à la figure 2.2. Nous allons examiner ces étapes. 2.2.1 Schéma directeur Son rôle est de définir de manière globale la politique d’organisation et d’automatisation du système d’information. Pour ce faire, on recense l’ensemble des applications informatiques existantes à modifier et à développer. Pour rendre contrôlable et modulable ce développement, il est nécessaire de découper le SI en sous-ensembles homogènes et relativement indépendants. Ces sous-ensembles sont appelés domaines. Exemple 2.2.1 En reprenant notre exemple de l’USTV, on pourra trouver des domaines « Personnel », « Enseignement », « Recherche ». Les résultats attendus à la fin de cette étape sont : – une définition précise des domaines ; – une planification du développement de chaque domaine ; – un plan détaillé, année par année, des applications qui doivent être réalisées. 12 2 Conception d’un SI 2.2.2 Étude préalable par domaine Elle doit aboutir à une présentation générale du futur système de gestion (modèles des données et des traitements), en identifiant bien les principales nouveautés par rapport au système actuel, les moyens nécessaires à mettre en œuvre, les bilans coût-avantage. Cette étude est réalisée en quatre phases : – une phase de recueil qui a pour objectif d’analyser l’existant, afin de cerner les dysfonctionnements et les obsolescences les plus frappantes du système actuel. – une phase de conception dont l’objectif est de formaliser et de hiérarchiser les orientations nouvelles en fonctions des critiques formulées à propos du système actuel. et des objectifs et politiques du système de pilotage. Cela revient à modéliser le futur système avec une vue d’ensemble aussi pertinente que possible. Cette phase, quand elle est menée honêtement, fait une très large place aux futurs utilisateurs du système. Nous y reviendrons. – une phase d’organisation dont l’objectif est de définir le système futur en terme organisationnel : qui fait quoi ? – une phase d’appréciation, dont le rôle est d’établir les coûts et les délais des solutions définies ainsi que d’organiser la mise en œuvre de la réalisation. Pour ce faire, on procède au découpage du domaine en projets. 2.2.3 Étude détaillée par projet Elle consiste d’une part à affiner les solutions conçues lors de l’étude préalable et d’autre part à rédiger, pour chaque procédure à mettre en oeuvre, un dossier de spécifications détaillé décrivant les supports (maquettes d’états ou d’écran) ainsi que les algorithmes associés aux règles de gestion. À l’issue de cette étude, il est possible de définir le cahier des charges utilisateurs qui constitue la base de l’engagement que prend le concepteur vis à vis des utilisateurs. Le fonctionnement détaillé du futur système, du point de vue de l’utilisateur, y est entièrement spécifié. 2.2.4 Réalisation L’objectif de cette phase est l’obtention de programmes fonctionnant sur un jeu de données d’essai approuvé par les utilisateurs. 2.2.5 Mise en oeuvre Elle se traduit par un changement de responsabilités : l’équipe de réalisation va en effet transférer la responsabilité du produit à l’utilisateur. Cette étape intègre en particulier la formation des utilisateurs. Après une période d’exploitation de quelques mois, la recette définitive de l’application est prononcée. 2.2.6 Maintenance Son rôle est de faire évoluer les applications en fonction des besoins des utilisateurs, de l’environnement et des progrès technologiques. 2.2.7 Conclusion La démarche présentée se prête plutôt bien à la conception de « gros » systèmes d’information. Dans les cas plus modestes (petites structures), il n’est pas nécessaire de suivre toutes les étapes, et on peut se contenter d’isoler certaines étapes ou concepts importants. Dans le cadre de ce cours, nous nous attacherons à décrire les formalismes et les concepts utiles à la description statique du système d’information. Cette modélisation des aspects statiques, autrement dit de la base d’information du SI, est traditionnellement une étape ou l’utilisateur est impliqué, 13 2 Conception d’un SI que ce soit en tant qu’interviewé (le concepteur veut récolter le savoir des acteurs du système pour l’intégrer au modèle), ou que partie prenante à la conception (validation du modèle produit par le concepteur, ou parfois même particimation à la définition du modèle). C’est en ce sens que cette modélisation statique est importante pour les futurs utilisateurs de SI que vous êtes. Avec plus de temps, nous aurions pu aussi aborder la description dynamique du système. 2.3 Modélisation du SI Concernant la modélisation (ou description) du SI, la méthode Merise préconise trois nveaux d’abstraction : – le niveau conceptuel, qui décrit la statique et la dynamique du SI en se préoccupant uniquement du point de vue du gestionnaire du système. – le niveau organisationnel décrit la nature des ressources qui sont utilisées pour supporter la description statique et dynamique du SI. Ces ressources peuvent être humaines, matérielles ou logicielles. – Le niveau opérationnel, dans lequel fait des choix techniques d’implantation du SI (données et traitements). Du fait de ce découpage (qui a été introduit pour faciliter l’analyse d’un problème) seul le premier niveau est réellement indépendant de toute considération technologique (logicielle ou matérielle). Par exemple, si les données du futur SI doivent être gérées par un SGBD, c’est au niveau organisationnel que le choix du type du SGBD (relationnel, réseau ou objets) devra être effectué. La description statique du SI à ce niveau sera donc basée sur l’organisation des bases relationnelles, ou réseau, ou objets. C’est pour cette raison que le premier niveau nous intéresse, car c’est celui où l’utilisateur a l’occasion d’exprimer ses connaissances et ses désidératas sans pour autant avoir de connaissance dans la technologie supportant le futur SI. Le troisième niveau est encore plus dépendant de l’aspect technologique puisqu’il cherchera à optimiser l’implantation. Il suppose donc une connaissance très pointue de l’architecture et des fonctions du SGBD qui gérera le système d’information. 2.4 modèle conceptuel des données C’est un ensemble de conventions graphiques ayant un sens très précis qui permettent de représenter la partie statique d’un système d’information. Nous étudierons son utilisation dans la conception et la représentation de schémas de bases de données relationnelles. Les schémas EA étudiés ici sont similaires au MCD de la méthode MERISE. 14 3 Définitions initiales 3.1 Propriété Une propriété (ou attribut, ou rubrique), est une information élémentaire, c’est à dire non déductible d’autres informations, qui présente un intérêt pour le domaine étudié. Exemple 3.1.1 Si on considère le domaine de gestion des commandes d’une société de vente par correspondance, les données « référence article », « désignation article », « prix unitaire HT », « taux de TVA » sont des propriétés pertinentes pour ce domaine. La donnée « prix unitaire TTC » n’est pas une propriété d’après la définition, car ses valeurs peuvent être retrouvées à partir des propriétés « prix unitaire HT » et « taux de TVA ». Chaque valeur prise par une propriété est appelée un occurence. Exemple 3.1.2 Les occurences de la propriété « désignation article » sont par exemple : « râteau », « bêche », « scie » . . . Une propriété est dite simple, ou encore atomique, si chacune des valeurs qu’elle regroupe n’est pas décomposable. Exemple 3.1.3 La propriété adresse, dont des exemples d’occurences sont donnés ci-dessous, n’est pas élémentaire car elle peut être décompsée en trois propriétés : rue, code postal, ville. Adresse 310, rue de la gare, 16000 Angoulême 45, avenue de la plage, 17000 La Rochelle La décomposition d’une propriété en propriétés plus simple n’est pas une nécessité. Il faut considérer son exploitation dans le système. Si cette exploitation est toujours globale, alors il n’y a aucune raison de décomposer la propriété. Dans le cas contraire, on procédera à la décomposition, créant ainsi de nouvelles propriétés. Une propriété qui, à tout instant, contient une seule occurence est appelée propriété paramètre. Par exemple, une propriété « Valeur Euro » qui contiendrait une occurence unique « 6, 55957 ». Le modèle conceptuel des données (MCD) contient toutes les propriétés qui présentent un intéret pour le domaine à étudier. Elles sont identifiées par un nom, qu’il convient de choisir de façon à ce qu’il soit le plus explicite possible. Sa lecture doit immédiatement nous renseigner sur ce que représente la propriété. En outre, l’identification de chaque propriété doit garantir une bijection entre l’ensemble des noms et l’ensemble des propriétés à gérer. Il faut donc exclure : – les synonymes, qui associent deux noms différents à une même propriété ; – les polysèmes, qui accocient deux propriétés différentes à un même nom. Pour finir, le principe de non-redondance impose que toute propriété correctement identifiée n’apparaisse qu’une seule fois dans le modèle. 15 3 Définitions initiales Fig. 3.1: Polysémie et synonymie. 16 3 Définitions initiales 3.2 Entité 3.2.1 Définition Un entité (ou individu type), est la représentation d’un élément matériel ou immatériel ayant un rôle dans le système qu’on désire décrire. On appelle classe d’entité un ensemble composé d’entités de même type, c’est à dire dont la définition est la même. Le classement des entités au sein d’une classe s’appelle classification (ou abstraction). Une entité est une instanciation d’une classe. Chaque entité est composée de propriétés, qui sont les données élémentaires permettant de la décrire. Exemple 3.2.1 Les étudiants Jean Dupont, Hélène Durand et Jacques Duchemin sont trois entités faisant partie d’une classe d’entité qu’on pourrait nommer ETUDIANT. Chacune de ces entités peut comprendre des propriétés telles que « Nom », « Prénoms », « Date de naissance ». . . ATTENTION, CONFUSION ! ! Par la suite, et par abus, on dira entité pour désigner une classe d’entité, et l’instanciation d’une classe d’entité sera généralement appelée occurence de l’entité. Au premier abord, on peut définir la l’entité comme étant un regroupement bien pensé de plusieurs propriétés. Exemple 3.2.2 Par exemple, on considère la l’entité ARTICLE qui regroupe les propriétés « Référence », « Désignation » et « PrixUnitaireHT ». Mais le droit d’entrée d’une propriété dans une entité est soumis à d’autres facteurs que le bon sens, comme nous allons le voir. Les entités sont représentées par des rectangles. Ce rectangle est séparé en deux champs : – Le champ du haut contient le libellé. Il s’agit généralement d’une abbréviation du nom de l’entité. Ce libellé est malgré tout unique (deux entités ne peuvent pas posséder le même libellé). – Le champ du bas contient la liste des propriétés de l’entité. Considérons deux propriétés P1 et P2 . La création d’une entité E regroupant ces deux seules propriétés n’est envisageable que si l’une des deux conditions suivantes est satisfaite : – À toute valeur de la propriété P1 doit correspondre au plus une valeur de la propriété P2 . Ce fait traduit l’existence d’une dépendance fonctionnelle monovaluée entre P1 et P2 notée P1 → P2 . On dit aussi que P1 détermine P2 . P1 est alors appelée propriété identifiante de l’entité E. La représentation graphique de E est alors : E P1 P2 – À toute valeur de la rubrique P2 doit correspondre au plus une valeur de la rubrique P1 . P2 est alors en dépendance fonctionnelle avec P1 et l’entité E doit être représentée ainsi : E P2 P1 Exemple 3.2.3 L’entité suivante, qui peut être considérée comme un regroupement sensé, n’est pas correcte, car il n’y a pas de dépendance fonctionnelle entre la propriété « code postal » et la propriété « commune ». PAr exemple, au code postal 83170 correspond 6 communes : Brignoles, Camps la Source, La Celle, Rougiers, Tourves, Vins sur Caramy. 3.2.2 Les identifiants Un identifiant est un ensemble de propriétés (j’insiste sur le fait qu’il peut y en avoir plusieurs), permettant de désigner une seule occurence d’entité. La définition originale est la suivante : l’identifiant 17 3 Définitions initiales ARTICLE Référence Désignation Prix Unitaire HT Fig. 3.2: Occurences de l’entité ARTICLE. est une propriété particulière d’une entité telle qu’il n’existe pas deux occurences de cette entité pour lesquelles cette propriété pourrait prendre une même valeur. Les propriétés d’une entité permettant de désigner de façon unique chaque occurence de cette entité sont appelées identifiant absolu. Dans le MCD, les propriétés participant à un identifiant sont soulignées, et généralement placées en premier. Chaque entité possède obligatoirement un identifiant. 3.2.3 Occurence d’entité ou individu D’après la définition d’une entité, on sait que la connaissance d’une valeur de l’identifiant détermine a connaissance des valeurs des autres rubriques de l’entité. L’ensemble de ces valeurs est appelé occurence de l’entité. Exemple 3.2.4 La figure 3.2 représente des exemples d’occurences de l’entité ARTICLE. 3.2.4 Dépendance fonctionnelle directe Exemple 3.2.5 Considérons l’entité suivante et quelques une de ses occurences : ARTICLE Référence Désignation Prix Unitaire HT N˚ Catégorie Libellé Catégorie Cette entité est pertinente mais elle implique une redondance d’information relative à la catégorie. L’association entre le numéro de la catégorie et son libellé est en effet répétée dans chaque occurence. Essayons d’énoncer de problème un peu plus formellement. Pour supprimer de telles redondances, on doit veiller à ce que toute dépendance fonctionnelle entre la propriété identifiante de l’entité et une propriété non identifiante de l’entité soit directe. Une dépendance fonctionnelle monovaluée x → y est directe s’il n’existe pas de propriété z telle que x → z et z → y. 18 3 Définitions initiales Exemple 3.2.6 Dans l’exemple précédent, la dépendance fonctionnelle Référence → Libellé Catégorie n’est pas directe car il existe la propriété N˚ Catégorie telle que : Référence → N˚ Catégorie et N˚ Catégorie → Libellé Catégorie Exercice 3.2.1 La société Azur-Hebdo consacre l’essentiel de son activité à l’édition et à la distribution d’un journal spécialisé dans les petites annonces et la publicité dans le Sud-Est de la France. La parution du journal est hebdomadaire et sa distribution est assurée uniquement dans les départements des Alpes maritimes et du Var. La tarification d’une annonce est fournie ci-dessous : – Première semaine de parution : tarif pour 5 lignes au plus : Rubrique de l’annonce Prix Emploi 7,5 Bourse aux affaires 7 8 Tout ce qui roule Immobilier 8 Contacts 11 Loisirs 7,5 – Options : – Prix de la ligne supplémentaire : 7,5 – Domiciliation (pour préserver l’anonymat du client) : 11 – Semaines supplémentaires : des réductions sont accordées selon le tableau ci-dessous1 : Période Pourcentage de réduction 2e semaine 20% e 3 semaine et suivantes 40% Le tableau ci-dessous répertorie un ensemble de données se rapportant à la gestion des annonces (la liste est triée sur le nom de la donnée). Nom Signification CP Code postal du client qui dépose l’annonce DateRédac Date de dépot de l’annonce Domiciliation de l’annonce déposée (oui/non) Nombre de lignes de l’annonce déposée Nombre de semaines de parution de l’annonce déposée Nom du client qui dépose l’annonce Numéro servant à identifier chaque annonce déposée Numéro servant à identifier chaque client qui dépose une annonce Prénom du client qui dépose l’annonce Prix de l’annonce déposée Rubrique de l’annonce déposée : Emploi, Contacts. . . première partie de l’adresse du client qui dépose l’annonce Tarif de la domiciliation Tarif de la ligne supplémentaire Tarif de la première semaine Texte de l’annonce Ville de l’adresse du client qui dépose l’annonce Dom NbLignes NbSem Nom NumAnn NumCli Prénom Prix Rub Rue TarifDom TarifSup TarifPrem Texte Ville 1 ces réductions sont applicables au prix de base de la première semaine 19 3 Définitions initiales Question 1 Indiquez, parmi les données ci-dessus, celles qui peuvent être qualifiées de propriétés. Question 2 En vous basant sur les éléments de tarification, fournissez l’ensemble des occurences des propriétés TarifPrem et TarifSup. Parmi ces deux propriétés, laquelle est une propriété paramètre ? Question 3 On considère l’ébauche de MCD suivante : On considère l’occurence d’événement suivant : «Figeac Claire qui habite : 72, Avenue de la gare 06000 NICE dépose le 14/02/2007 l’annonce suivante : Annonce n˚465 Vends Renault Clio. Essence, 1,4l, 120000km, 3000 e Écrire sous référence 52369 au journal Nombre de semaines de parution : 3 En limitant le système d’information à cette annonce, déterminez les occurences des entités CLIENT et ANNONCE. Question 4 Les dépendances fonctionnelles issues de la conception de l’entité ANNONCE sont-elles toujours directes ? Justifiez votre réponse. 3.3 L’association (ou relation type) 3.3.1 Définition Une association (appelée aussi parfois relation), est un lien sémantique (porteur de sens) entre plusieurs entités. Une classe de relation contient donc toutes les relations de même type (qui relient donc des entités appartenant à une même classe d’entité). Une classe de relation peut lier plusieurs classes d’entités. En fonction du nombre d’intervenants dans la relation, on adopte les dénominations suivantes : – une classe de relation réflexive relie une classe d’entité à elle même ; – une classe de relation binaire relie une classe d’entité à une autre ; – une classe de relation ternaire relie trois classes d’entité. Une classe de relation n-aire relie n classes d’entités. Les classes de relation sont représentées par des hexagones (parfois des ellipses) dont l’intitulé décrit le type de relation qui lie des classes d’entité. Il s’agit généralement d’un verbe. Les relations peuvent être porteuses de propriétés. 20 3 Définitions initiales Exemple 3.3.1 Dans le MCD relatif à la gestion des annonces, on introduit deux associations « déposer » et « concerner » afin d’exprimer les réalités suivantes : un client dépose une annonce et une annonce concerne une rubrique. Ces deux relations sont illustrées dans le schéma suivant : Il peut exister, entre deux entités, plusieurs associations représentant des réalités différentes. Exemple 3.3.2 Dans le MCD ci-dessous, l’asociation HABITE indique le département dans lequel un employé habite, alors que l’association TRAVAILLE va indiquer dans quel département un employé travaille. Pour certains employés (certaines occurences de l’entité employé), cette relation sera identique. 3.3.2 Identifiant d’une association L’identifiant d’une association est constitué de la concaténation des identifiants des entités reliées. 3.3.3 Occurences d’une association Une occurence d’association est un lien particulier reliant deux occurences d’entités. Exemple 3.3.3 le schéma ci-dessous représente deux occurences de l’association HABITE présentée plus haut. 21 3 Définitions initiales 3.3.4 Cardinalité Les cardinalités permettent de caractériser le lien qui existe entre une entité et une association à laquelle elle est reliée. La cardinalité d’une relation est composée d’un couple comportant une borne minimale et une borne maximale : – la borne minimale (généralement 0 ou 1) indique le nombre minimal de fois qu’une entité peut participer à une association. – la borne maximale (généralement 1 ou n) indique le nombre maximal de fois qu’une entité peut participer à une association. Un couple de cardinalités placé entre une entité E et une association A représente les nombres minimaux et maximaux d’occurences de l’association Aqui peuvent être « ancrés » à une occurence de l’association E. Le tableau 3.1 récapitule les valeurs habituelles de ce couple. Pour chaque occurence de E, le modèle admet : – soit l’absence de lien – soit la présence d’un seul lien Pour chaque occurence de E, le modèle admet la présence d’un et un seul lien. Pour chaque occurence de E, le modèle admet : – soit l’absence de lien – soit la présence de plusieurs liens Pour chaque occurence de E, le modèle admet la présence d’un seul ou de plusieurs liens. Tab. 3.1: Cardinalité des associations Remarquez qu’en cas de disponibilité d’informations plus précises sur une association modélisée, il est possible de remplacer le n par une valeur entière, par exemple 0-3, ou 1-10. Exercice 3.3.1 Le système d’information étudié concerne la gestion des locations saisonnières d’une agence immobilière. Une analyse de l’existant a permis de dégager les entités suivantes : 22 3 Définitions initiales Entité PROPRIETAIRE Objectif Regroupe toutes les informations relatives au propriétaires d’appartements APPARTEMENT Regroupe toutes les informations des appartements meublés mis en location. LOCATAIRE Regroupe toutes les informations sur les locataires qui ont effectué au moins une location par l’intermédiaire de l’agence CONTRAT Regroupe toutes les informations relatives à une location qui va avoir lieu ou qui a actuellement lieu. Une location s’étend éventuellement sur plusieurs semaines consécutives. TARIF Regroupe les informations de tarification 23 Propriétés – – – – – – – – – – – NumPropriétaire Nom Prénom Adresse1 Adresse2 CodePostal Ville NumTel1 NumTel2 Email Cacumulé – – – – – – – NumLocation Catégorie : 1, 2 ou 3 étoiles Type : T2, T3, T4 NbPersonnes AdresseLocation Photo Équipements – – – – – – – – – – NumLocataire NomLocataire PrénomLocataire Adresse1Locataire Adresse2Locataire CodePostalLocataire VilleLocataire NumTel1Locataire NumTel2Locataire EmailLocataire – NumContrat – État : réservé, confirmé, soldé – DateCréation – DateDébut – DateFin – CodeTarif – PrixSemHS (prix par semaine, haute saison) – PrixSemBS (prix par semaine, basse saison) 3 Définitions initiales Question 1 Pourquoi l’information « Cacumulé » de l’entité propriétaire est-elle une propriété ? Question 2 La propriété « Équipement » sert à décrire les principaux équipements de l’appartement : lave-linge, téléviseur, . . . Quels sont les incovénients liés à une telle propriété ? Question 3 Présenter un MCD décrivant ce système d’information, en tenant compte des règles de gestion suivantes : – La notion de copropriété ne sera pas prise en compte. Autrement dit tout appartement possède un et un seul propriétaire. – À tout appartement correspond un code tarif. Faites uniquement apparaitre les noms des entités sur le modèle, ainsi il sera moins lourd. Exercice 3.3.2 Un magasin de sport a besoin de stocker ses informations principales dans une base de données. Il s’agit de stocker toutes les informations relatives à ses produits, ses clients et ses fournisseurs. Il souhaite que l’organisation soit facilitée par le regroupement des produits en différentes catégories. Et il souhaite à partir de là pouvoir facilement consulter ses stocks, la liste de ses meilleurs clients, le top 10 de ses produits vendus, ou la facture d’un client donné... Créez le MCD nécessaire à la gestion de l’activité de ce magasin. Exercice 3.3.3 Un complexe cinématographique a besoin d’une base de données pour gérer la distribution de ses billets de cinéma. Les gérants souhaitent ainsi facilement gérer le remplissage de leurs salles. Et ils souhaitent ensuite pouvoir facilement obtenir des informations sur les films qui marchent le mieux, les acteurs attirant le plus de public, les heures d’affluence des clients, ou la recette d’une séance précise... Exercice 3.3.4 Pour gérer ses livraisons de journaux à des dépositaires qui les vendent, une société de presse voudrait organiser les données dont elle dispose dans un système d’information. Les journaux distribués sont identifiés par un code barre unique. Ils ont un titre, un prix et appartiennent à une catégorie. Par exemple, « Le Monde » est vendu 1,2 e, appartient à la catégorie des quotidiens, alors que « La Recherche » est une revue mensuelle vendue aux prix de 6,5 e. Les dépositaires sont connus de la société de presse sous un numéro d’identification, avec leur nom et leur adresse. Par exemple, le dépositaire numéro 345 est « Café de la Poste », au 24 av. Lénine, 91000 Evry. La société de presse emploie des livreurs pour remettre les journaux aux dépositaires. Ceux-ci font leurs livraisons selon un parcours prédéfini et fixe. Ils ne livrent pas plus de 20 dépositaires chacun. La société les caractérise par des attributs : un numéro unique et leur nom. Les dépositaires ne se font pas toujours livrer les mêmes quantités de journaux car, selon les jours de la semaine et la semaine de l’année, les ventes sont plus ou moins importantes. Par expérience, les dépositaires déterminent les quantités dont ils ont besoin pour un jour donné. On vous demande de construire un schéma Entité-Association pour décrire et modéliser les informations nécessaires au fonctionnement de ce cette entreprise. 3.3.5 Caractéristiques d’une association La dimension d’une association est le nombre d’entités participant à l’association. Généralement, cette dimension est de 2 ou 3. L’association binaire exprime la présence de liens sémantiques entre les occurences d’une entité A et d’une entité B. L’association ternaire exprime la présence de liens sémantiques entre les occurences de trois entités. 24 3 Définitions initiales Toute occurence d’une association de dimension n doit être reliée à une occurence des n entités participant à l’association. Par exemple, pour une association ternaire reliant trois entités A, B, C, toute occurence de l’association doit être reliée à une occurence de A, une occurence de B et une occurence de C. On ne peut donc pas avoir d’occurence « à deux pattes » comme ci dessous : Occurence de A Occurence de C L’opération de décomposition consiste à éclater une association de dimension n en associations de dimension inférieure sans perte sémantique. Exemple 3.3.4 L’exemple se rapporte à la gestion des options pour des classes de seconde. La figure 3.3 décrit la décomposition de l’association ternaire Choisir en deux associations binaires. Fig. 3.3: Décomposition d’une association ternaire en deux associations binaires. Toute association n’est pas nécessairement décomposable, et déterminer celles qui le sont n’est pas évident. Il n’y a pas de règle. Ce’est pour cette raison qu’on préfèrera créer en priorité des associations binaires, puis des ternaires si dans certaines situations les binaires ne suffisent pas à rendre compte d’un lien. Définition 3.3.1 (fonctionnalité d’une association binaire) La fonctionnalité des associations binaire est une information qui synthétise les cardinalités maximales de chacune des branches de l’association. Les différents types de fonctionnalité d’une association A définie entre deux entités E1 et E2 sont donc les suivants : un à un (on notera 1, 1), caractérisé par une cardinalité maximum égale à un pour les deux segments de l’association E1 − A et E2 − A. un à plusieurs (on notera 1, n) caractérisé par une cardinalité maximum égale à un pour l’un des deux segments et à n pour l’autre segment. plusieurs à plusieurs (on notera m, n), caractérisé par par une cardinalité maximum égale à n pour les deux segments de l’association E1 − A et E2 − A. Définition 3.3.2 (totalité d’une association binaire) Une association binaire A définie entre deux entités E1 et E2 est dite totale si elle est caractérisée par une cardinalité minimale de 1 sur les deux segments E1 − A et E2 − A. 25 3 Définitions initiales Définition 3.3.3 (partialité d’une association binaire) Une association binaire A définie entre deux entités E1 et E2 est dite partielle si elle est caractérisée par une cardinalité minimale de 0 sur au moins un des deux segments E1 − A et E2 − A. 3.3.6 Association porteuse Les propriétés qui dépendent fonctionnellement de plusieurs identifiants d’entités sont portées par les associations entre ces entités. C’est un cas de dépendance fonctionnelle multi-attribut au niveau de la source. Le droit d’entrée d’une propriété P dans une association reliant n entités est donc soumis à l’existence de la dépendance fonctionnelle I1 , I2 , . . . , In → P , où I1 , I2 , . . . , In représentent les identifiants de chaque entité participant à l’association. Pour éviter toute redondance, on s’assurera en outre que la dépendance fonctionnelle est élémentaire. On dit qu’une propriété est en dépendance fonctionnelle élémentaire avec une liste de rubriques LR : – si elle est fonctionnellement dépendante de LR ; – si elle n’est pas fonctionnellement dépendante d’une sous-liste de LR. Exemple 3.3.5 Dans le système d’information de l’exercice 3.3.1, la propriété Superficie est portée par l’association qui relie l’entité APPARTEMENT à l’entité TYPE_PIECE car pour un appartement et une pièce on a une et une seule superficie. Par exemple pour l’appartement 134 et la pièce de type kitchenette on a la superficie : 3 m2 . Exercice 3.3.5 Pour faciliter les contacts entre ses différents employés, la société X a confié à son service informatique la réalisation d’un annuaire électronique. L’une des spécifications de cette application précise qu’elle devra être accessible à l’ensemble du personnel par l’intermédiaire de l’INTRANET de l’entreprise. Un extrait de l’entretien avec le demandeur de l’application M. D est reproduit ci-dessous : L’analyste : Comment sont identifiés les salariés de la société ? M. D : Chaque employé de la société est identifié par un numéro et appartient à un service caractérisé par un nom. Comme exemples je peux vous citer le service comptabilité ou le service production. L’analyste :Peut-il y avoir deux services qui portent le même nom ? M. D : Non. L’analyste : Quelles sont les données relatives à un salarié que vous souhaitez déposer sur l’annuaire M. D : son nom, son prénom, ses coordonnées téléphonique et INTERNET ainsi que le service et la section auquel il est rattaché. Je précise que certains services sont découpés en sections, elles aussi identifiés par un nom. Par exemple, le service informatique comprend les sections études et production. Le service comptabilité n’admet pas de section. L’analyste : Tout salarié a-t-il un poste téléphonique ? M. D : non, certains employés n’ont pas encore de poste téléphonique. Pour les autres ils en ont un et un seul. C’est un numéro interne composé de 4 chiffres. Le mien est par exemple 48 14. L’analyste : Je suppose que tous les salariés n’ont pas une adresse électronique. 26 3 Définitions initiales M. D : Sur notre INTRANET tous les employés ont une adresse professionnelle qui leur permet d’envoyer ou de recevoir du courrier électronique relatif à leur activité. L’analyste : Revenons sur les sections. Une section peut-elle concerner plusieurs services ? M. D : Non, une section concerne un et un seul service. L’analyste : En terme de traitements quelles sont vos attentes ? M. D : Ma première attente serait bien évidemment de retrouver très rapidement les coordonnées d’un employé. Dans le cas où l’employé n’a pas de numéro de téléphone, il serait souhaitable d’afficher le nom ainsi que le numéro de téléphone du responsable du service auquel il appartient. Je précise qu’il y a un seul responsable par service. Proposez un Modèle Conceptuel des Données pour la conception de cette application. 3.3.7 Les associations transitives Considérons le modèle suivant : L’association binaire ETABLIR qui relie l’entité CONTRAT et l’entité PROPRIETAIRE doit être ôtée du modèle car on peut retrouver le propriétaire à partir des associations CONCERNER et APPARTENIR. Il s’agit d’une assosiation transitive. Seules les dépendances fonctionnelles directes entre identifiants d’entités peuvent donner lieu à des associations binaires de type un à plusieurs. La suppression des associations transitives vise aussi bien à alléger le modèle qu’à éviter des incohérences de ce type : 3.3.8 Les associations réflexives Une association réflexive est une association binaire qui relie une entité à elle-même. Une occurence d’une association réflexive relie une occurence de l’entité à une autre occurence de cette même entité. Dans le cas d’une association non symétrique, on fait porter un rôle à chacun des segments. Exemple 3.3.6 27 3 Définitions initiales Remarque : On suppose que deux personnes ne portent pas le même nom. Le lien « parent de » est représenté au moyen de segments pointillés. 3.4 Héritage Quand le concepteur s’aperçoit que plusieurs entités, proches mais distinctes, partagent un ensemble de caractéristiques, il doit mettre en œuvre un processus de création d’entités génériques (ou entités surtypes) et d’entités spécialisées (ou entités soustypes) appelé héritage. Ce concept permet de représenter un lien « est-un » (« is a » en anglais) entre deux entités A et B (une occurence de A est une occurence de B). Graphiquement, il est représenté par une flèche double ou grasse allant de A à B, comme illustré dans la figure 3.4. Fig. 3.4: Héritage. 28 3 Définitions initiales On dit qu’il y a héritage simple quand un sous-type possède un seul sur-type. Dans ce cas, toutes les occurences du sous-type sont aussi des occurences de son sur-type. Cela n’implique pas que toutes les occurences du sur-type soient des occurences de l’un des sous-types. La figure illustre l’inclusion des ensembles d’occurences des sous-types dans l’ensemble des occurences du sur-type. Fig. 3.5: Inclusion des occurences dans l’héritage. Le sous-type hérite de toutes les propriétés de son sur-type, y-compris de l’identifiant. Exemple 3.4.1 Le schéma suivant modélise les employés d’une entreprise qui peuvent êtres de deux type : salariés de l’entreprise où venant d’un prestataire de services (ici une SSII : société de services et d’ingéniérie informatique). Exercice 3.4.1 On souhaite représenter le système d’information relatif à la composition du personnel intervenant dans un lycée. Cette description devra fournir pour chaque personnel du lycée — administratif, professeur, surveillant, etc. — un numéro qui permet de l’identifier sans ambiguïté ainsi que les données signalétiques suivantes : – civilité, – nom, – prénom, 29 3 Définitions initiales – date d’affectation dans le lycée, – fonction : professeur, proviseur, surveillant, CPE, ... Parmi ces personnels, la représentation devra donner des renseignements supplémentaires sur les professeurs, notamment la ou les disciplines qu’ils sont capables d’enseigner, ainsi que les classes qu’ils ont en charge. La notion de professeur principal devra aussi être modélisée. Compléter le MCD suivant et mentionner sous forme de commentaire les contraintes qui ne sont pas exprimables par les concepts de base que nous avons vus jusqu’à présent. 3.5 Contraintes ensemblistes Ce sont des éléments du formalisme permettant d’exprimer des contraintes sur des ensembles d’occurences d’entités ou d’associations. C’est probablement un des plus grands apports des extensions propsées. Si la notion d’ensemble des occurences d’une entité ne pose pas de problème, il convient d’apporter quelques précisions sur la notion d’ensemble des occurences d’une association. À cet effet, considérons une association ternaire reliant trois entités A, B et C. Une occurence de cette association est un lien « à trois pattes », qui relie une occurence de l’entité A une occurence de l’entité B et une occurence de l’entité C. En désignant par a1 , b1 et c1 les occurences des identifiants respectifs de ces trois occurences d’entités, on peut matérialiser l’occurence de l’association par le triplet (a1 , b1 , c1 ), puisque nous avons dit dans la section 3.3.2 que l’identitifiant d’une association était constitué de la concaténation des identifiants des entités reliées. L’ensemble des occurences de cette association peut donc être représenté par l’ensemble des triplets issus de la présence de liens entre les occurences des entités A, B et C. Exemple 3.5.1 Le tableau ci-dessous représente des exemples d’occurences des associations « TRAVAILLER » et « HABITER ». Modèle conceptuel des données Occurences de l’association TRAVAILLER (Dupont, 13) (Durand, 13) (Dubois, 83) (Laforêt, 83) Occurences de l’association HABITER (Dupont, 83) (Durand, 13) (Dubois, 13) (Laforêt, 06) Remarque : on suppose qu’il n’y a pas deux professeurs qui portent le même nom. À partir de l’ensemble des occurences d’une association, il est possible de construire d’autres ensembles en supprimant, dans chaque n-uplet, la participation d’une ou plusieurs entités. 30 3 Définitions initiales Exemple 3.5.2 Dans l’exemple précédent, si on considère uniquement l’entité DEPT (et donc qu’on ne se préoccupe plus de l’entité PROF), l’ensemble des occurences de l’association « TRAVAILLER », limité à l’entité DEPT, est alors composé des éléments 13 et 83. (Dupont, 13) (Durand, 13) (Dubois, 83) (Laforêt, 83) On appelle pivot la ou les entités qu’on retient pour former ces nouveaux ensembles. Pour simplifier les définitions à venir, on notera Ens (P ivot, Association) l’ensemble des occurences d’un pivot participant à une association. Selon la même logique, on notera Ens (Entite) l’ensemble des occurences d’une entité et Ens (Association) l’ensemble des occurences d’une association. Pour les associations réflexives, il est possible de définir deux nouveaux ensembles, notés Ens (Role, Association), issus de chacun des rôles de l’association. Exemple 3.5.3 Pour reprendre l’exemple 3.3.6, L’ensemble des occurences de l’association PARENTÉ est {(Dubois, Durand) , (Durand, Delage)} . Le premier composant du couple désigne le parent, le second désigne l’enfant. On a alors Ens Enfant, PARENTÉ = {Durand, Delage} . Quelque soit leur origine, les ensembles sur lesquels portent une contrainte ensembliste doivent être compatibles, c.-à-d. que les éléments doivent avoir des structures (en terme de propriété) identiques. Exemple 3.5.4 On peut définir une contrainte ensembliste entre Ens (TRAVAILLER) et Ens (HABITER). Par contre, il n’est pas possible de définir une contrainte ensembliste entre Ens (PROF) et Ens (TRAVAILLER), car leurs éléments n’ont pas la même structure : le premier est un ensemble de noms, le second un ensemble de couples composés d’un nom et d’un numéro de département. Nous allons maintenant examiner les principales contraintes ensemblistes exprimables dans un MCD. 3.5.1 Inclusion La contrainte d’inclusion (notée I), entre deux ensembles A et B impose que l’ensemble A soit inclus dans l’ensemble B. L’inclusion n’étant pas symétrique, la notation graphique fait apparaitre lequel des deux ensembles est inclus dans l’autre. 31 4 Méthodologie Jusqu’à présent, pour construire le MCD, nous avons utilisé essentiellement le « bon sens ». Même si nous avons introduit la notion de dépendance fonctionnelle, nous ne l’avons pas utilisée de façon très formelle. Nous allons voir dans les sections suivantes comment construire de façon plus formelle le MCD à partir du recueil des propriétés élémentaires. Pour ce faire, nous nous appuyerons sur un cas : la gestion d’examens au BEPC, CAP et BEP. 4.1 Présentation du cas Les Examens BEPC, CAP , BEP sont gérés au niveau académique par l’Inspection Académique et concernent les élèves de cette académie. Les élèves doivent obligatoirement remplir un dossier d’inscription numéroté avant le 31 décembre de l’année scolaire en cours. Ce dossier comprend le nom, la date de naissance, le nom de l’examen. Chaque examen, comprend une série d’épreuves qui lui est propre, chacune dotée d’un coefficient. Chaque épreuve d’examen se déroule donc à la même date dans toute l’académie. La gestion de ces examens comprend aussi la convocation d’une dizaine d’enseignants de l’académie à la commission de rédaction du sujet de chaque épreuve. Cette commission se réunit à l’inspection académique au plus tard 2 mois avant la date de l’épreuve. Les corrections ont lieu le lendemain de l’épreuve. La centralisation des notes de l’élève est faite sur un bordereau transmis au jury chargé d’examiner l’admission définitive du candidat. NB : Un candidat peut s’inscrire en même temps au BEP et au CAP. 4.1.1 Objectifs de l’analyse : Les domaines de gestion sont la gestion des candidats inscrits à un examen, l’émission du bordereau des notes de chaque élève, la convocation des enseignants à la commission de rédaction. libellé examens B_000 BEPC C_102 CAP Tourneur sur bois B_102 BEP Tourneur sur bois C_852 CAP Cuisinier B_456 BEP restauration C_862 CAP Coiffeur B_741 BEP Coiffeur coloriste Codes épreuves FR_C_102 FR_B_102 MA_C_112 français CAP tourneur sur bois français BEP tourneur sur bois mathématiques CAP de cuisinier 32 4 Méthodologie bordereau 1287A-ZZ N˚ candidat : Nom : Code Examen : Épreuves Français Mathématiques Langue vivante 1 Histoire géographie Sciences Physiques Notes/20 Coef. Examen : Note coefficentée Epreuve professionnelle Total Moyenne Appréciation du jury INSPECTION ACADÉMIQUE DU DOUBS 30, Avenue de l’Observatoire 25000 Besançon CONVOCATION COMMISION REDACTION Nom : Monsieur HAMME Éric numen : 125894E5F est convoqué à la commission concernant la mise en place des sujets de l’épreuve de mathématiques appliquées du CAP Mécanique. le 5 mai 1993 à l’inspection d’académie. L’inspecteur académique Jean CAISSE 4.2 Étude des données 4.2.1 Dictionnaire des données 4.2.1.1 Définition Le dictionnaires des données est une mise en forme cohérente de l’ensemble des données (propriétés) de l’organisation dans le ou les domaines de gestion étudiés. C’est la liste précise de chacune des données manipulées, représentée par une mnémonique (un identificateur) et une définition précise de la donnée reconnue par tous au sein de l’organisation. Le principe d’attribution de mnémonique est établi autant pour faciliter l’ensemble de la démarche d’analyse que pour des raisons purement informatiques, à savoir la limitation du nombre des caractères 33 4 Méthodologie des noms de variables dans un programme ou une base de données. L’explication liée à une propriété ne sert pas uniquement à définir la mnémonique, mais aussi à préciser le cadre de validité de cette donnée, entre autre les caractéristiques de l’ensemble des valeurs qu’elle peut prendre dans le domaine de gestion étudié. 4.2.1.2 Vocabulaire Définition 4.2.1 (propriété) Une propriété se définit comme la plus petite unité d’information manipulée par une organisation. Une propriété se rattache généralement à un ensemble d’informations (une entité) : RSCLI (raison social du client) est une propriété de l’entité « client ». Définition 4.2.2 (Domaine) Le domaine de valeur d’une propriété se définit comme l’ensemble des valeurs que peut prendre cette propriété. Le domaine de RSCLI sera donc l’ensemble des raisons sociales des clients de notre organisation, par exemple depuis sa création. Une définition précise de la «contrainte temps»,c’est à dire la période de temps sur laquelle on veut avoir des informations, est nécessaire à la définition des domaines de valeurs des données. Définition 4.2.3 (Unicité sémantique) «L’unicité sémantique» de chacune des propriétés du dictionnaire peut s’exprimer par l’équation «Une propriété = Une mnémonique». Pour arriver à l’unicité sémantique des données du dictionnaire, il faut arriver à ce que chacune des mnémoniques ait pour tous au sein de l’organisation une signification unique. Pour cela, il faut parvenir à éliminer un certain nombre d’anomalies vues plus haut : les redondances, les synonymes et les polysèmes. La notion d’unicité sémantique touche donc aux notions de « consensus » et « d’universalité » du dictionnaire de données dans le contexte du domaine étudié. Définition 4.2.4 (redondance) L’analyse des documents de gestion, des interviews, des rapports d’observation vont permettre de constituer le dictionnaire de données. Or dans cet ensemble brut de données, il y a toujours une proportion importante de « redondances », c’est à dire de données en double. On relèvera peut-être l’information « RSCLI/raison social du client » aussi bien sur une facture que sur un bon de commande, un extrait de compte, un relevé des impayés etc... En tout état de cause, il ne faudra retenir qu’une entrée dans le dictionnaire. Un dictionnaire de données doit être étiqueté «zéro redondance». C’est sur cette absence de redondances que se base l’ensemble des techniques de modélisation de données étudiées et particulièrement les techniques de conception de Base De Données Relationnelles. Lorsque sur deux documents, on relève deux fois une même mnémonique, la redondance est évidente. Par contre, lorsque la redondance est masquée par le fait que la donnée se présente d’un document à l’autre sous des noms différents, il est moins évident de la débusquer, on a alors affaire à un synonyme. Définition 4.2.5 (synonyme) Un synonyme est une anomalie qui se présente sous la forme de deux mnémoniques différentes pour un seul et même domaine de valeur. Par exemple, deux données «codart» et «référence» seront synonymes si elles correspondent en fait à une seule information : la référence des articles en catalogues. Il faut donc retenir une seule mnémonique dans le dictionnaire. Définition 4.2.6 (polysème) Inversement, un polysème se définit comme une mnémonique qui aurait plusieurs sens, d’un individu à l’autre dans une organisation. Par exemple, la mnémonique «codart» correspond, pour certains, à la référence des articles dans notre catalogue et, pour d’autres, à la référence des articles sur les catalogues de nos fournisseurs. Pour supprimer cette anomalie, il faut donc créer deux entrées dans le dictionnaire. Définition 4.2.7 (contrainte d’intégrité) Une contrainte d ?intégrité (C.I.) est une règle à observer pour que chacune des valeurs que revêt une donnée soit correcte. Autrement dit, les CI associées 34 4 Méthodologie à une donnée définissent les règles d’appartenance à son domaine. Par exemple, la date de naissance d’un titulaire du permis de conduire sera considérée comme correcte — indépendamment de toute erreur de saisie — si elle est antérieure d’au moins 18 ans à la date du jour. Au stade de modélisation ou nous en sommes, on ne considère que deux types de contraintes d’intégrité : – contrainte mono-propriété : concerne une seule propriété – contrainte inter-propriété : concerne plusieurs propriétés simultanément. N˚ Mnémonique 1 Numéro 2 Nom 3 4 5 6 7 8 9 10 11 12 Date naissance Nom examen Coefficient épreuve Date Libellé examen Code examen Code épreuve Libellé épreuve Numéro Numéro 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Nom candidat Prénom candidat Examen Épreuve Note élève Coef Note coefficientée Total coefficient Total note Moyenne Appréciation Adresse académie Nom enseignant Prénom enseignant Numéro 28 Date 29 30 Nom inspecteur Prénom inspecteur Définition Numéro de dossier Nom du candidat (ambiguïté nom, nom et prénom) Remarque hors domaine unicité sémantique Synonyme avec 7, 15 Synonyme avec 18 Polysème Date épreuve Synonyme avec 4, 15 Date de l’épreuve Numéro de bordereau Numéro de candidat Nom de l’examen Matière de l’épreuve Note de l’élève à une épreuve d’examen Coefficient de l’épreuve Synonyme avec 16 hors domaine Polysème Numéro candidat Synonyme avec 4,7 Synonyme avec 10 Synonyme avec 5 Calculée Calculée Calculée Calculée Hors domaine Numen Date de la convocation 1. Élimination des données hors domaine 2. Élimination des données calculées 3. Élimination des problèmes d’unicité sémantique 4. Élimination des polysèmes 35 Polysème Numéro enseignant Polysème date rédaction Hors domaine Hors domaine 4 Méthodologie 4.3 Dépendance fonctionnelle Nous rappelons la définition de la dépendance fonctionnelle donnée plus haut. Deux données sont en dépendances fonctionnelles, si la connaissance d’une valeur de la première permet de déterminer la connaissance d’une et une seule valeur de la seconde. La première donnée est dite source, et la seconde but. On note Source → But Exemple 4.3.1 On considère un examen. En français, on dira qu’à une épreuve est associée un et un seul coefficient. Du point de vue des valeurs des données, on aura : Épreuve Coefficient Informatique → 3 Mathématiques → 5 Anglais → 5 Remarque : Attention à la définition de la source et du but. Exemple 4.3.2 Coefficient→Épreuve est faux ! Par la valeur d’un coefficient, on ne détermine pas la connaissance d’une et une seule épreuve ! Du point de vue des valeurs de données, cela se traduit par le fait qu’au coefficient 5 sont associées deux matières (mathématiques et anglais), et qu’au coefficient 1 ne correspond aucune matière. 4.4 Matrice des dépendances fonctionnelles La matrice des dépendances fonctionnelles est une représentation graphique de l’ensemble des dépendances fonctionnelles entre données. Elle permet de faire une étude exhaustive des relations entre chaque données. Elle se présente sous forme d’une table carrée ayant pour entrées l’ensemble des données du dictionnaire. – Les entêtes de colonnes sont les données sources – Les entêtes de lignes sont les données buts Comme de bien entendu une donnée est en dépendance fonctionnelle avec elle même, et réciproquement. on traduira cette règle par une série de ’*’ sur la diagonale. On placera pour chaque dépendance fonctionnelle déterminée un ’1’ dans la case correspondante, pour cela il va falloir parcourir pour chaque donnée source l’ensemble des données buts. Le parcours va se faire colonne par colonne, et pour chaque colonne ligne par ligne. On se pose à chaque étape la question suivante : la donnée source est elle en dépendance fonctionnelle avec la donnée but ? – si OUI on place un ’1’ – si NON on passe à la ligne suivante. 36 5 Conclusion 37