Université Cadi Ayyad - Marrakech Ecole Supérieure de Technologie – Safi Département Informatique DUT Génie Informatique Module 5: Systèmes d’Information et Bases de Données C1: Analyse et Conception des Systèmes d’Information ----------------------Pr. Khadija Arhid [email protected] Année Universitaire: 2020-2021 Chapitre I Introduction aux systèmes d’informations Chapitre I: Introduction aux systèmes d’informations Introduction C’est quoi un système? C’est quoi une organisation? L’information au sens de l’organisation Principaux systèmes d’une organisation Système de pilotage Système opérant Système d’information Système automatisé d’information Fonctions d’un système automatisé d’information Processus d’informatisation C’est quoi un système Définition: Un système est un ensemble d’éléments (matériels ou pas) en interaction entre eux, transformant des flux d’entrée en des flux de sortie. Flux d’entrée Flux de sortie Système Exemple: Une entreprise qui commercialise des produits: Flux d’entrée: produits achetés, commandes, paiements des fournisseurs; Flux de sortie: produits vendus, factures, paiements des clients; C’est quoi une organisation? Définition: Une organisation (entreprise, administration, école, association, etc.) est un ensemble de systèmes complexes dans lequel circule un flux important d’informations et collaborent afin d’atteindre les objectifs Pour leur bon fonctionnement, les organisations doivent avoir des outils performants pour maîtriser leurs flux d’informations, sinon elles auront des anomalies au niveau de leur fonctionnement. L’information au sens de l’organisation Définition: Une information est une donnée indispensable et pertinente pour la prise de décision au sein d’une organisation et pour le fonctionnement de l’organisation, alors c’est une ressource stratégique. Exemples: Stock épuisé, Produit n’est pas commandé par les clients, Les produits les plus vendus en commun, … Principaux systèmes d’une organisation En général une organisation est constituées des trois systèmes suivants: Système de Pilotage (SP); Système d’Information (SI); Système Opérant (SO). Système de Pilotage Système d’Information Flux entrants Système Opérant Environnement Flux sortants Principaux systèmes d’une organisation Système de Pilotage (SP) Appelé aussi système de commande ou encore de décision. Il se situe à la tête de toute organisation, son objectif est de piloter le système opérant. Il fixe les objectifs et prend les décisions. Les décisions stratégiques(long terme): définition des politiques ou moyens à mettre en œuvre. Exemple lancement d’un nouveau produit Les décisions tactiques (moyen terme): utilisation efficace des ressources disponibles pour atteindre les objectifs fixés. Exemple lancer une promotion Les décisions opérationnelles (court terme): Exemple gestion de stock Principaux systèmes d’une organisation Système Opérant (SO) Appelé aussi système de production. C’est l’ensemble de ressources et moyens matériels ou humains couvrant l’activité de l’entreprise. L’objectif principal de ce système est la production, chargé de la réalisation des activités de production (production de produits ou production de services). Principaux systèmes d’une organisation Système d’Information (SI) Est l’intermédiaire entre le Système de Pilotage et le Système Opérant, ce système est considéré comme la mémoire de l’organisation, il collecte, mémorise, traite et diffuse les informations. Il permet aussi de transmettre au Système de Pilotage les informations nécessaires pour la prise de décisions et de transmettre au Système Opérant les directives fournies par le Système de Pilotage pour son fonctionnement. Système d’information Définition: Un système d’information est l’ensemble organisé des moyens (techniques et humains) et des méthodes qui permettent de collecter, mémoriser, traiter et diffuser les informations au sein d’une organisation (interne) et dans ses rapports avec son environnement (externe). Le SI est le centre nerveux des entreprises. Les flux entrant et sortant d’un SI et constitué exclusivement des informations Système informatique: est la partie informatique du système d’information, composée de matériels, logiciels, réseaux et procédures d’utilisation. Système automatisé d’information Dans une organisation on trouve généralement deux types de systèmes d’information: Système manuel d’information; Système automatisé d’information. Lorsque le traitement de l’information est réalisé par l’Homme on parle d’un système d’information manuel; Mais dans le cas où le traitement de l’information est réalisé par la machine (ordinateur) on parle d’un système d’information automatisé ou bien informatisé. Fonctions d’un système automatisé d’information Les principales fonctions d’un système automatisé d’information sont: Fonction de communication: permettant la récolte (saisie) des données en entrée et la production (diffusion) des résultats en sortie; Fonction de traitement: englobant toutes les opérations de transformation (contrôle, mise à jour, recherche, calcul...) des données pour la production des résultats; Fonction de mémorisation: permettant de stocker les données et les programmes sur des supports informatiques. Ces fonctions sont réalisées par les acteurs du système d’information qui sont généralement : le personnel (employés, fonctionnaires …), les logiciels et le matériel. Fonctions d’un système automatisé d’information Le système d’information donc permet: Stocker l’information (conservation de l'information pour des besoins ultérieurs), Traiter l’information (rapprochements, calculs, comparaisons), Diffuser l’information (accès à la mémoire, échange entre acteurs), Produire les informations légales réclamées par l'environnement, Déclencher les décisions programmées, Fournir des informations aux décideurs pour aider à la prise de décisions non programmées Coordonner les tâches en assurant les communications au sein du système organisationnel Processus d’informatisation Une méthode de développement de Système d’Information est une démarche: respectant une philosophie générale présentant des outils, de préférence graphiques, de modélisation du système permettant la validation des modèles et s’appuyant éventuellement sur des supports automatisés 3 aspects à prendre en compte lors de la modélisation : Données Traitement Événementiel Processus d’informatisation Ce processus est composé de différentes étapes formelles dont on doit contrôler la succession : a. b. c. d. e. f. g. Etude de faisabilité : On détermine si le logiciel à développer vaut la peine d’être mis en œuvre suivant le besoin du marché. Spécification des besoins fonctionnels : On détermine les fonctionnalités que doit posséder le logiciel à savoir les exigences des utilisateurs (collecte des exigences) ainsi que les taches et les structures à informatiser (analyse du domaine). Conception générale :On détermine la structure du système (le modèle du système) à savoir les différentes parties du système et la façon dont les différentes parties du système interagissent entre ells Conception détaillée : On écrit les algorithmes de chaque partie du système Codage : L’implantation des algorithmes. Tests et mise en œuvre : On essaye le logiciel sur des données d’exemple pour s’assurer qu’il fonctionne correctement. Puis on le fournit au client. Maintenance : C’est la mise à jour du logiciel et son amélioration pour assurer de son opérabilité. Etude de faisablité Spécification de besoins Conception générale Conception détaillée Codage Tests et mise en œuvre Maintenance Processus d’informatisation Le processus de création d’un système automatisé d’information (un projet logiciel) commence généralement par une phase de conception, suivi par une phase de réalisation et se termine par une phase de maintenance. Dans la suite de ce cours nous étudierons les différentes étapes de conception d’un système d’information en se basant sur la méthode MERISE. Chapitre II Présentation générale de la méthode Merise Chapitre II: Présentation générale de la méthode Merise Introduction Le cycle de vie MERISE Schéma directeur Étude préalable Étude détaillée Étude technique Production logiciel Mise en service Maintenance Le cycle d’abstraction MERISE Niveau conceptuel Niveau organisationnel Niveau logique Niveau physique Le cycle de décision MERISE Définition de Merise MERISE est une Méthode développée dans les années 70 à l’initiative du ministère de l’industrie français, par un ensemble de compagnies de services informatique, cette méthode a pour objectif l’automatisation (informatisation) des systèmes d’information des organisations. Définition de la méthode: Une méthode est une marche rationnelle de l'esprit pour arriver à la connaissance ou à la démonstration d'une vérité. [le dictionnaire français larousse ]. Définition de Merise Définition: MERISE est une méthode d’analyse et de conception des systèmes d’information. Analyse: processus de l’examen de l'existant (étude de l’existant); Conception: processus de définition de la future solution informatique (futur logiciel); Système d’information: ensemble organisé des moyens et des méthodes qui permettent de collecter, mémoriser, traiter et diffuser les informations au sein d’une organisation et dans ses rapports avec son environnement; La méthode MERISE est basée sur le principe de la séparation des données et des traitements. Cycles du Système d’Information Pour l’analyse et la conception d’un système d’information d’une organisation, la méthode MERISE s'appuie sur les trois cycles suivants: Cycle d’Abstraction • Analyse • Conception • Mise en œuvre • Maintenance • Mort (Obsolescence) Cycle de Vie Cycle de Décision • Découpage en domaines • Orientations majeures (gestion, organisation, technologie) • Planification du développement • Procédures manuelles, automatisées • Procédures tempstemps-réel, différé • Postes de travail • Règles de gestion • États, écrans Le cycle de vie MERISE La dénomination cycle de vie traduit le caractère « vivant » du système d’information, présentant une conception, une gestation, une naissance, une croissance, une évolution, et une mort... puis une renaissance. Dans le cas d’un système d’information, on peut distinguer trois grandes périodes : la conception, la réalisation et la maintenance. [Dominique NANCI-Bernard ESPINASSE , "INGENIERIE DES SYSTEMES D’INFORMATION: MERISE DEUXIEME GENERATION", 4°édition -2001] Etapes de cycle de vie MERISE Etapes de cycle de vie MERISE • Le schéma directeur c’est une étape de réflexion globale qui a pour objectif l’étude du cadre général du développement du système d’information global de l’organisation. Pour contrôler le développement du système d’information le schéma directeur permet de découper le système d’information en en sousensembles homogènes et relativement indépendant appelés : « domaines ». • Exemples : Domaine de gestion des inscriptions; Domaine de gestion des emplois des temps; Domaine de gestion des notes. • Document produit à cette étape: Plan d’action. Etapes de cycle de vie MERISE • L’étude préalable a pour objectif l’analyse et le critique de chaque domaine, elle fournit les réponses nécessaires pour prendre une décision d’informatisation ou non de chaque domaine. • Exemples : Les avantages, les inconvénients et les contraintes de la solution ; Le coût des moyens à mettre en œuvre (informatique en particulier). • Document produit à cette étape: Un dossier de choix. Etapes de cycle de vie MERISE • L’étude détaillée a pour objectif d’étudier en détail la solution retenue pour l’informatisation et de l’affiner d’une part, d’autre part de décrire la mise en œuvre de chaque tâche à automatisée en terme des supports (maquettes d’écran, maquettes d’états…), des algorithmes associés aux règles de gestion (règles de calculs et de contrôle de données) et des traitements de données (recherche et mise à jour); • Cette étape permet d’obtenir une description complète du futur système, c’est un engagement entre le concepteur et l’utilisateur; • Document produit à cette étape: Un cahier des charges utilisateur. Etapes de cycle de vie MERISE • L’étude technique a pour objectif de donner unespécification technique de l’architecture de la solution informatique. • Exemples : Les structures de données utilisées (fichiers, bases de données…); L’architecture d’accès aux données (CENTRALISÉE, clientserveur…). • Document produit à cette étape: Un cahier des charges technique. Etapes de cycle de vie MERISE • Production logiciel a pour objectif de traduire les spécifications exprimées dans les étapes précédentes dans un langage de programmation donné (exécutable sur machine), c’est-à-dire le développement (programmation) d’un logiciel; • Cette étape permet la génération des fichiers ou bien la création des bases de données, l’écriture des programmes informatiques et la réalisation des tests de mise au point (des jeux d'essai simplifiés qui représentent le futur système). • Document produit à cette étape: Un dossier de réalisation. Etapes de cycle de vie MERISE • Mise en service a pour objectif l’installation informatique (logiciels et matériels) de la solution développée, c’est-à-dire la mise au service des utilisateurs le nouveau système et la formation des utilisateurs. • Cette étape comprend : Une phase d’installation ; Création, chargement ou migration des informations de bases ; Formation des utilisateurs ; Tests du bon fonctionnement de la solution. • Document produit à cette étape: Un manuel utilisateur. Etapes de cycle de vie MERISE • Maintenance a pour objectif d’adapter le système opérationnel aux évolutions technologiques logiciels (systèmes d’exploitation…) et matériels, corriger les anomalies de fonctionnements et apporter les améliorations nécessaires. • Cette étape comprend : Une étude de l’impact des modifications ; La spécification des modifications ; La réalisation ; La mise en service. Le cycle d’abstraction MERISE • Pendant l’analyse et la conception d’un système d’information plusieurs problèmes peuvent être confrontés : La description du fonctionnement de l’organisation ; La définition de règles de gestion interne ; La définition des informations circulant au sein de l’organisation ; L’organisation physique des données et les traitements sur ces derniers ; La répartition des responsabilités au sein de l’organisation; … Le cycle d’abstraction MERISE • Pour pallier ces problèmes, la méthode MERISE propose ce qu’on appelle un cycle d’abstraction (d’hiérarchisation) qui est basé sur les 4 niveaux d’abstraction suivants : Niveau conceptuel ; Niveau organisationnel ; Niveau logique ; Niveau physique. • Pour chacun de ces niveaux d’abstractions, le système d’information est représenté par un modèle de données et un modèle de traitements. Chaque modèle est exprimé dans un formalisme (schémas) utilisant des concepts adaptés. Le cycle d’abstraction MERISE Niveau conceptuel • Le niveau conceptuel décrit la représentation des informations sur lesquelles est basé le système d’information, sans prendre en considération l’organisation technique des données ou bien les moyens matériels, un modèle conceptuel des données (MCD) est élaboré pour les données; • Le niveau conceptuel décrit aussi l’activité (processus de réalisation des tâches) d’un domaine sans prendre en considération les moyens et leur organisation, un modèle conceptuel des traitements (MCT) est élaboré pour les traitements. • Il s’agit de répondre aux questions: avec quelles données? quoi? Mots clés : pourquoi, comprendre Le cycle d’abstraction MERISE Niveau organisationnel • Le niveau organisationnel décrit l’organisation des informations du système d’information, c’est-à-dire la localisation des données (où sont stockées) et les droits d’accès des utilisateurs, un modèle organisationnel des données (MOD) est élaboré pour les données; • Le niveau organisationnel décrit aussi le fonctionnement du système d’information, en précisant les moyens humains et matériels mobilisés et leur organisation dans le temps et dans l’espace, un modèle organisationnel de traitements (MOT) est élaboré pour les traitements. • Il s’agit de répondre aux questions: qui fait quoi? quand et où? Le cycle d’abstraction MERISE Niveau logique • Le niveau logique décrit les caractéristiques techniques de structuration des données, c’est-à-dire le modèle de donnée utilisé (hiérarchique, réseau, relationnel ou objet) , un modèle logique de données (MLD) est élaboré pour les données; • Le niveau logique décrit aussi la conception technique du fonctionnement du système d’information, un modèle logique de traitement (MLT) est élaboré pour les traitements. • Il s’agit de répondre à la question: comment? Le cycle d’abstraction MERISE Niveau physique • Le niveau physique décrit l’implantation physique des données sur les supports de stockages (utilisation d’un SGBD: Système de Gestion de Bases de Données, ou un SGF: Système de Gestion de Fichiers) , un modèle physique de données (MPD) est élaboré pour les données; • Le niveau physique décrit aussi la réalisation technique (en utilisant un langage de programmation) des tâches définis au niveau du MLT, un modèle physique de traitements (MPT) est élaboré pour les traitements. • Il s’agit de répondre aussi à la question: comment? Mots clés : spécifier des ressources Le cycle d’abstraction MERISE Deux niveaux de structure sont distingués dans un SI : Données : Approche statique Définition de la structure Traitement : Approche dynamique Définition des interactions Tableau récapulatif Niveau Données Traitements Conceptuel MCD MCT Organisationnel MOD MOT Logique MLD MLT Physique MPD MPT Le cycle de décision MERISE • Le déroulement simultané de cycle de vie et de cycle d’abstraction doit être maîtrisé. Dans chaque modèle, à chaque étape, des décisions doivent être prises; • La mise en œuvre de la méthode MERISE se traduit, en plus, par une succession de décision permettant : D'une part, de contrôler la durée globale de l’informatisation du système d’information ; D'autre part, de définir un système en adéquation avec la politique générale de l’organisation et qui répond aux besoins de ses utilisateurs. Le cycle de décision MERISE • Les décisions stratégiques sont prises par le système de pilotage (direction), puis pour chaque domaine et pour chaque niveau des décisions sont prises par les utilisateurs ; Exemple : Le choix de l’enchaînement et de l’organisation des maquettes d’écran ne doit pas être décidé sans consultation et accord de la personne qui passera la majorité du temps devant l’écran. Le cycle de décision MERISE Cycle de décision Merise Etapes de cycle de vie Décisions prises Le schéma directeur Approbation du plan d’action. Étude préalable Choix d’une solution pour chaque domaine ou abondant de l’informatisation (développement ou non d’un domaine). Étude détaillée Accord des spécifications fonctionnelles par les utilisateurs. Étude technique Accord des spécifications techniques par les développeurs. Production logiciel Accord provisoire de la conformité du système. Mise en service Accord définitif de la conformité du système. Maintenance Approbation des améliorations (évolution). Chapitre III Le modèle Conceptuel de données MCD Chapitre III: Le modèle Conceptuel de données MCD Introduction Recueil des informations et de règles de gestion Elaboration d’un Dictionnaire des Données Représentation du dictionnaire des données Epuration du dictionnaire des données Elaboration d’un Graphe de Dépendance Fonctionnelle Dépendance fonctionnelle Propriétés des dépendances fonctionnelles Elaboration du MCD Normalisation du MCD Chapitre III: Le modèle Conceptuel de données MCD Introduction Chaque système d’information est basé principalement sur les données et les traitements: Les données sont considérées comme la partie statique du système d’information ; Tandis que les traitements sont considérés comme la partie dynamique du système d’information. Le principe de succès de la méthode MERISE est la séparation des données et des traitements, c’est-à-dire que cette méthode permet de décrire les données indépendamment des traitements. Chapitre III: Le modèle Conceptuel de données MCD Introduction Le modèle conceptuel de données (MCD) est élaboré au niveau conceptuel du cycle d’abstraction MERISE, il a pour objectif la modélisation des données du système d’information de l’organisation sans prendre en considération les aspects technique de leurs implantation sur les supports de stockage; Pour élaborer le MCD, nous vous proposons de suivre les étapes suivantes : Recueil des informations et de règles de gestion ; Elaboration d’un dictionnaire des données ; Elaboration d’un graphe de dépendance fonctionnelle ; Elaboration du MCD. Chapitre III: Le modèle Conceptuel de données MCD Recueil des informations et de règles de gestion Au niveau de cette étape il faut rassembler toutes les informations d’un domaine à savoir: Le recueil de règles de gestion qui permet de recenser les informations qui définissent la réglementation interne de l’organisation ou toute règle utilisée pour la conservation des données; Exemple : o La règle de gestion "un étudiant ne peut s’inscrire qu'à une seule filière à la fois" permet d’établir le lien entre l’étudiant et la filière. Chapitre III: Le modèle Conceptuel de données MCD Recueil des informations et de règles de gestion Le recueil des informations qui permet de recenser toutes les informations du domaine, c’est-à-dire toutes les données qui représentent les informations circulant dans chaque structure (département, division, service…). Exemple : o Un étudiant est caractérisé par son N° d’inscription, son nom et son prénom. Pour rassembler les informations et les règles de gestion il faut réaliser des interviews avec tous les intervenants (responsables et utilisateurs) concernés par le domaine, en plus il est recommander aussi d’avoir des copies des documents ou des fichiers utilisés au sein de l’organisation. Chapitre III: Le modèle Conceptuel de données MCD Recueil des informations et de règles de gestion Exemples de documents Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données Le dictionnaire des données est un inventaire de toutes les données recensées lors de l’étape de recueil des informations, c’est un document (dans la plupart des cas un tableau) regroupant toutes les données que vous allez stocker dans votre futur base de données. Chaque donnée (appelée aussi propriété) est représentée par : Un code mnémonique (identificateur) : il s'agit d'un nom désignant une donnée (par exemple «Num_insc_etudiant») ; Une désignation (Signification) : il s'agit d'une description de la donnée, c’est-à- dire à quoi correspond le code mnémonique (par exemple «Num_insc_etudiant» correspond au «numéro d’inscription de l’étudiant»); Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données Une nature: Elémentaire: il s’agit des données qui ne sont pas obtenues par des calculs à partir d’autres données (nom de l’étudiant par exemple) ; Calculée : il s’agit des données obtenues par le calcul à partir d’autres données élémentaires (l'âge de l’étudiant par exemple); Paramètre : il s’agit des données qui sont inchangées dans le temps, des données qui prennent une valeur unique (le nom de l’école par exemple). Un type de donnée : A (Alphabétique) : lorsque la donnée est constituées uniquement des caractères alphabétiques (les lettres de 'A' à 'Z' et les lettres de 'a' à 'z') ; Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données N (Numérique) : lorsque la donnée est constituées uniquement des nombres (entiers ou réels); AN (AlphaNumérique) : lorsque constituées des la donnée est caractères alphabétiques et numériques ; Date : lorsque la donnée est une date ; Booléen : lorsque la données est booléenne (Vrai ou Faux). Une taille : il s’agit du nombre de caractères ou de chiffres. Dans le cas d'une donnée de type date au format « AAAA-JJ-MM » par exemple, on compte également le nombre de caractères (10 caractères), et pas besoin de préciser la taille d’une donnée booléenne ; Et parfois des remarques ou observations (exemple la formule de calcul d’une donnée). Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données Exercice d’application Etablir le dictionnaire des données à partir de ce bulletin de notes Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données: solution de l’exercice Code Mnémonique Désignation Nature Type Taille paramètre Paramètre Paramètre Paramètre Élémentaire A A A A N 50 30 50 30 7 Élémentaire Élémentaire Élémentaire Élémentaire Élémentaire A A AN A N 50 50 9 30 3 Rue Num_Module Nom_Mod CodMatiere NomMat NoteDS CoeffDS NoteExam CoeffExam MoyMat Nom de l’université Ville de l’université Nom de l’école Ville de l’école N° d’inscription de l’étudiant Nom de l’étudiant Prénom de l’étudiant CIN de l’étudiant Ville de l’étudiant N° du quartier de l’étudiant Rue de l’étudiant N° module Nom module Code matière Intitulé matière Note DS Coefficient DS Note Examen Coefficient Examen Moyenne de la matière Élémentaire Élémentaire Élémentaire Élémentaire Élémentaire Élémentaire Élémentaire Élémentaire Élémentaire Calculée A N A AN A N N N N N 30 2 50 3 50 4 2 4 2 4 MoyGen Moyenne générale Calculée N 4 NomUniv VilleUniv NomEco VilleEco NumInscEt NomET PreEt CIN Ville N_Adr Observations (NoteExam*CoeffExam)+(NoteDS*C oeffDS) ΣMoyMat/NombreMatieres Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données Exercice d’application Etablir le dictionnaire des données à partir de cette facture Chapitre III: Le modèle Conceptuel de données MCD Elaboration du dictionnaire des données Exercice d’application Etablir le dictionnaire des données à partir de ce contrat : Chapitre III: Le modèle Conceptuel de données MCD Epuration du dictionnaire des données Dans un dictionnaire de données il faut éliminer les incohérences des données suivantes : La redondance : il s’agit de mentionner la même donnée plusieurs fois, il faut veuillez à ce que chaque donnée soit représenter une seule fois dans le dictionnaire des données ; Les synonymes : il s’agit de deux mnémoniques décrivant la même donnée. Exemples : numero_commande et reference_commande, agent et employe, marchandise et produit… Les polysèmes : il s’agit d’un seul mnémonique décrivant plusieurs données à la fois. Exemples : un prix qui désigne le prix_achat et prix_vente, une quantite qui désigne la quantite_commandee et la quantite_livree… MCD: Dépendance Fonctionnelle Définition : On dit qu’une donnée (propriété) B dépend fonctionnellement d’une donnée A si une valeur (une occurrence) de A lui correspond une valeur unique de B (et ceci quel que soit l’instant considéré) On dit que A détermine fonctionnellement B (ou bien B dépend fonctionnellement de A) et on note : A B A est le déterminant ou la source et B est le déterminé ou le but; Exemple: Si on connait le numéro d’inscription d’un étudiant, on détermine son nom (un et un seul), le nom de l’étudiant dépend fonctionnellement de son numéro d’inscription. Cette dépendance est représentée comme suit: NumInscrEt NomEt MCD: Graphe de Dépendance Fonctionnelle(GDF) Définition : Le graphe des dépendances fonctionnelles est une représentation graphique de toutes les dépendances fonctionnelles sous la forme d’un graphe orienté : chaque propriété est un nœud du graphe et chaque dépendance fonctionnelle est une arrête du graphe. Les propriétés figurant dans le GDF sont celles représentées dans le dictionnaire des données sauf les propriétés calculées et les propriétés paramètres; Exemple: Un étudiant est caractérisé par son N° d’inscription, son nom, son prénom, son email et sa date de naissance MCD: Graphe de Dépendance Fonctionnelle(GDF) Dépendances fonctionnelles composées: On dit qu’une dépendance fonctionnelle est composée si le déterminant (la source) de la dépendance fonctionnelle est composé de plusieurs propriétés par exemple : NumFact, NumProd QuantiteCommande NumInscrEt, CodMat NoteExam À partir du Numéro d’inscription de l’étudiant et du code de la matière nous pouvons connaitre exactement la note de l’examen obtenue par un étudiant dans une matière précise. Dépendances fonctionnelles élémentaire (totale): On dit que A,B C est une dépendance fonctionnelle élémentaire si ni A, ni B pris individuellement ne déterminent C. La 1ère et 2ème DF sont des DF élémentaires Exemple : NumProd Designation NumFact, NumProd NumFact, NumProd QuantiteCommande Designation Ce n’est pas une DF élémentaire, car nous avons la DF: NumProd implique Designation MCD: Graphe de Dépendance Fonctionnelle(GDF) Dépendances fonctionnelles directe: On dit que A B est une dépendance fonctionnelle directe si et seulement s’il n’existe pas une propriété C telle que : A C et C B, c’est-à-dire : la dépendance fonctionnelle entre les propriétés A et B n’est pas le résultat d’une transitivité. Exemple : CodMat NumProf NumProf NomProf CodMat NomProf La 1ère et 2ème DF sont directes Ce n’est pas une DF directe, car nous pourrions écrire: CodMat NumProf NomProf MCD: Graphe de Dépendance Fonctionnelle(GDF) Exercice d’application Le département informatique souhaite informatiser le domaine des notes de son SI actuel (manuel) qui contient essentiellement des données figurant sur le bulletin de notes suivant : Les règles de gestion appliquées au sein du département: Chaque matière appartient à un seul module; Un module peut regroupé plusieurs matières; Chaque matière a un seul coefficient de DS et un seul coefficient de l’examen; Un étudiant ne peut avoir pour une matière qu’une seule note dans le DS et une seule note dans l’examen. Questions: 1. Etablir le dictionnaire des données; 2. Etablir le GDF. MCD: Graphe de Dépendance Fonctionnelle(GDF) MCD: Graphe de Dépendance Fonctionnelle(GDF) Exercice d’application Dans une entreprise, un département est identifié par un nom et caractérisé par une localisation. Un employé est caractérisé par un numéro, son nom, son grade et le département dans lequel il travaille. Le numéro d’un employé est unique. 1. Construction du dictionnaire de données (DD): 2. Construire le graphe de dépendances fonctionnelles (GDF) MCD: Elaboration Les concepts de base d’un MCD sont : Les entités; Les associations; Les propriétés. Le MCD est appelé aussi Modèle « Entité -Association » ou encore « Entité-Relation » MCD: Elaboration Une entité: est la représentation d’un objet (abstrait ou concret) dont les caractéristiques présentent un intérêt pour l’organisation. Exemples: Une salle (objet concret), Une matière (objet abstrait) Une propriété: appelée aussi «Attribut» est une donnée élémentaire qui caractérise une entité. Exemple : NumInsEt, NomEt et PreEt des propriétés qui caractérisent l’entité Etudiant. Nom Entité Etudiant Identifiant Propriete_1 … Propriete_n NumInsEt NomEt PreEt DateNaissEt MCD: Elaboration Une occurrence: est un exemplaire de l’entité. Exemple: (123, Kadi, Ali) occurrence d’Etudiant Un identifiant: une ou plusieurs propriétés d’une entité qui ont une valeur unique pour chaque occurrence de l’entité. L'identifiant est représenté souligné pour le distinguer des autres propriétés de l’entité. Exemple : - NumInsEt est l’identifiant de l’entité Etudiant (impossible de trouver deux étudiants qui portent le même N° d’inscription) MCD: Elaboration Exemple de l’entité « Etudiant » et de ses occurrences : Etudiant-1 Etudiant NumInsEt NomEt PreEt DateNaissEt Exemples des étudiants une (son identifiant). Etudiant-2 19884 Hadou Fadoua 8/5/2000 Etudiant-3 L’entité « Etudiant » Remarque: 19883 kanouni Limam 6/9/2001 Occurrences de l’entité « Etudiant » entité doit avoir au moins une propriété 19885 Belghiti Ahmed 16/1/2000 MCD: Elaboration Une association: est un lien sémantique reliant plusieurs entités, elle est souvent nommée par un verbe exprimant le sens du lien sémantique et elle peut avoir des propriétés: dans ce cas elle est appelée association porteuse de propriétés; Une Cardinalité: est le nombre minimum et maximum de participations de chaque occurrence d'une entité à l’association. Remarque: une association peut ne pas avoir des propriétés. MCD: Elaboration Importance des cardinalités Les cardinalités maximales et minimales permettent d’exprimer dans le MCD les règles de gestions utilisée pour la conservation des données (veuillent à l'intégrité des données); Chaque patte d’une association possède deux cardinalités: une cardinalité minimale et une autre maximale; La cardinalité minimale prend dans la plupart des cas les valeurs suivantes : 0 : signifié que certaines occurrences de l'entité peuvent ne pas participer à l'association (participation optionnelle) ; 1 : signifié que toutes les occurrences de l'entité participent au moins une fois à l'association (participation obligatoire) . MCD: Elaboration Importance des cardinalités La cardinalité maximale prend dans la plupart des cas les valeurs suivantes : En résumé voici les cardinalités les plus courantes: 1 : signifié qu’une occurrence de l'entité peut participer au plus une seule fois à une association (unicité de participation); n : signifié qu’une occurrence de l'entité peut participer plusieurs fois à une association (multiplicité de participation). 0,1 : signifié aucune ou une seule; 1,1 : signifié une et une seule; 0,n : signifié aucune ou plusieurs; 1,n : signifié une ou plusieurs. Mais nous pouvons avoir dans des cas exceptionnels des règles de gestion qui nécessitent des cardinalités avec des valeurs particulières. MCD: Elaboration Importance des cardinalités: exemple Compléter le MCD suivant par des cardinalités: Coté « Repertoire »: Poser la question: ‘dans le même répertoire combiens de fichiers nous pouvons créer ou placer?’ Coté « Fichier »: Poser la question: ‘le même fichier peut être créé ou placé dans combiens de répertoires?’ Repertoire NomRepertoire Fichier contient NomFichier MCD: Elaboration Importance des cardinalités: exemple Compléter le MCD suivant par des cardinalités: Coté « Repertoire »: Poser la question: ‘dans le même répertoire combiens de fichiers nous pouvons créer ou placer?’ Repertoire NomRepertoire 0,n Coté « Fichier »: Poser la question: ‘le même fichier peut être créé ou placé dans combiens de répertoires?’ contient 1,1 Fichier NomFichier MCD: Elaboration Traduction d’un GDF en un MCD Règle 1: chaque propriété source de dépendance fonctionnelle devient un identifiant; MCD: Elaboration Traduction d’un GDF en un MCD Règle 2: toutes les propriétés non identifiants (ne sont pas des sources de DF) qui dépendent directement d'un seul identifiant (pas de DF composée) forment avec l'identifiant une entité; MCD: Elaboration Traduction d’un GDF en un MCD Règle 3: toutes les propriétés non identifiants qui dépendent directement de plusieurs identifiants (DF composée) forment une associationporteuse de propriétés dont les cardinalités maximales de coté de chaque patte sont n ; . ,n . ,n MCD: Elaboration Traduction d’un GDF en un MCD Règle 4: les dépendances fonctionnelles entre les identifiants forment une association dont la cardinalité maximale coté source de DF est 1 et la cardinalité maximal coté but de DF est n; MCD: Elaboration En appliquant les règles de gestion et les règles de traduction nous obtenons le MCD suivant: Règles de gestion (rappel): Chaque matière appartient à un seul module; Un module peut regroupé plusieurs matières; Chaque matière a un seul coefficient de DS et un seul coefficient de l’examen; Un étudiant ne peut avoir pour une matière qu’une seule note dans le DS et une seule note dans l’examen MCD: Elaboration Traduction d’un GDF en un MCD Remarques: Il faut ajouter les noms des associations et des entités; Il faut ajouter les cardinalités minimales pour chaque patte des associations; Attention: Il y a des cas particuliers où il est difficile de présenter sur le GDF quelques DF, dans ce cas pour élaborer le MCD il faut revenir au règles de gestion pour pouvoir identifier les associations et les cardinalités. Exemple: Un acteur est caractérisé par: un identifiant, un nom et un prénom, il peut jouer dans plusieurs films. Chaque film est caractérisé par: un identifiant, un titre et une durée, dans lequel peut jouer plusieurs acteurs. Question: Élaborer le GDF correspondant. MCD: Elaboration Traduction d’un GDF en un MCD La traduction de ce GDF ne permet pas d’obtenir l’association « Jouer » dans le MCD. NB: il faut revenir au règles de gestion pour exprimer cette association. MCD: Elaboration Traduction d’un GDF en un MCD Traduire le GDF suivant en un MCD: MCD: Traduction d’un GDF en MCD Exercice : Solution Emprunt 1,1 Emprunt Membre CodeMembre NomMem PreMem Email 0,n NumEmprunt DateEmprunt DateRetourPre DateRetourEffect 1,1 Contient 0,n Livre NumLivre Titre MCD: Elaboration Traduction d’un GDF en un MCD Traduire le GDF suivant en un MCD: MCD: Traduction d’un GDF en MCD Exercice : Solution Commande 1,1 Passer 1,n NumCmd DateCmd 1,n Contient QteCommande e 0,n Client Article CodCli NomCli PreCli Email NumArticle Designation PHT MCD: Graphe de Dépendance Fonctionnelle(GDF) Exercice d’application La coopérative Poteries Océan souhaite informatiser son système d’information actuel (manuel) qui contient essentiellement des données figurant sur la facture suivante : Les règles de gestion appliquées au sein de la coopérative: Chaque facture ne concerne qu’un seul client; Un client peut avoir plusieurs factures; une facture concerne un nombre d’articles en une quantité spéciale pour chacun. 1.Construction du dictionnaire de données 2.Construire le graphe de dépendances fonctionnelles 3. Construire le MCD MCD: Graphe de Dépendance Fonctionnelle(GDF) Les types d’association Dimension d’une association: est le nombre de pattes d’une association, autrement dite le nombre des entités participant dans l’association; Association binaire: est une association de dimension 2 (reliant deux entités), c’est le type des associations le plus courant; MCD: Graphe de Dépendance Fonctionnelle(GDF) Les types d’association Association ternaire: est une association de dimension 3 (reliant trois entités); Association n-aire: est une association reliant plus de trois entités, les cas de ce type des associations sont très rares. MCD: Graphe de Dépendance Fonctionnelle(GDF) Les types d’association Associations plurielles: il peut y avoir deux entités qui sont relies par plusieurs associations; MCD: Graphe de Dépendance Fonctionnelle(GDF) Les types d’association Association réflexive: il peut y avoir une association reliant une entité avec elle- même, dans ce cas il faut donner un libellé « rôle » pour chaque patte de l’association. MCD: Graphe de Dépendance Fonctionnelle(GDF) Les types d’association Association fantôme: est une association où les cardinalités de chaque patte sont (1,1); Remarque: les associations fantômes doivent éliminées du rassemblant êtres MCD en toutes les propriétés des entités dans une seule entité. MCD: Exercice d’application Extraire les règles de gestion responsable du MCD: MCD: Exercice d’application Extraire les règles de gestion responsable du MCD: Solution RG1 : un client doit au moins régler une facture RG2 : une facture peut être réglée plusieurs fois RG3 : une facture doit contenir au moins un article RG4 : un article peut être contenu dans plusieurs factures MCD: Cas Particuliers des MCD Lorsque une entité « E » est en liaison avec plusieurs entités et que toutes les cardinalités maximales coté « E » sont 1 et toutes les cardinalités maximales coté des autres entités sont n, dans ce cas l’entité « E » pourra être remplacée par une association reliant toutes les entités qui sont en liaison avec « E » avec les cardinalités maximales coté de chaque entité sont n. MCD: Cas Particuliers des MCD Lorsque une (ou plusieurs) patte(s) d’une association ternaire a (ont) une cardinalité maximale 1, cette association pourra être décomposée à des associations binaires. MCD : Normalisation d’un MCD La théorie de la normalisation: définit des critères appelées formes normales permettant d’avoir une base de données cohérente, elle définit aussi le processus de normalisation permettant de décomposer (diviser) une entité (ou une association) non normalisée en un ensemble équivalent d’entités (ou d’associations) normalisées ; L’objectif des formes normales c’est d’étudier les dépendances fonctionnelles entre les propriétés des entités afin d’éliminer les propriétés redondantes et de de minimiser les anomalies. MCD : Normalisation d’un MCD Les principales formes normales sont: 1ère forme normale (noté: 1FN); 2ème forme normale (noté: 2FN); 3ème forme normale (noté: 3FN) MCD: 1er forme normale : 1FN Un MCD est en première forme normale si chaque entité possède un identifiant et si la valeur de toute propriété (dans chaque entité et chaque association) est «atomique ou indécomposable», c’est-à-dire n’est pas constituée par une liste de valeurs ou elle est « monovalué » En d’autre termes une relation est en première forme normale si et seulement si : Elle possède un identifiant tout attribut contient une valeur atomique (monovalué). c.-à-d., dans un attribut, on ne peut mettre qu'une seule valeur. MCD: 1er forme normale : 1FN Exemple : Le modèle n’est pas en 1FN car la propriété «Notes» de l’entité «Etudiant» est constituée de plusieurs valeurs, pour normaliser cette entité nous pouvons: Solution 1 : Soit créer une propriété par note si le nombre maximal de notes est connu; Etudiant Etudiant NumInscrEt NomEt PrenomEt Notes 198831 kanouni Limam 13.50; 14.25 Solution 2 : Soit décomposer l’entité en deux entités comme suit Etudiant Etudiant NumInscrEt NomEt PrenomEt Note1 Note2 Note NumInscrEt NomEt PrenomEt Avoir IdNote Note MCD: 1er forme normale : 1FN Exemple : Cette entité est en 1ere forme normale? Si ce n’est pas déjà fait mettre cette relation en 1FN Client NumClient NomClient PrenomClient Adresses MCD: 1er forme normale : 1FN Exemple : Client Cette entité est en 1ere forme normale? Si ce n’est pas déjà fait mettre cette relation en 1FN NumClient NomClient PrenomClient Adresses Client NumClient NomClient PrenomClient Adresse1 Adresse2 Adresse3 Client Adresse NumClient NomClient PrenomClient Avoir IdAdresse intitule MCD: 2eme forme normale : 2FN Un MCD est en deuxième forme normale si: Il est en première forme normale; Toute propriété non identifiant doit dépendre fonctionnellement de toute l’identifiant et non pas d’une partie de l’identifiant, c’est à dire qu'il n'y a pas de DF Partielles En d’autre termes pour être en deuxième forme normale (2FN), il faut déjà être en 1FN et encore toutes les DF issues d'un identifiant sont élémentaires. MCD: 2eme forme normale : 2FN Exemple : Le modèle n’est pas en 2FN car la propriété «TitreLivre» dépend du «CodeLivre», alors que «NbrCpy» dépend de «CodeLivre» et «NomBiblio» Livre CodeLivre TitreLivre NomBiblio NbrCpy Livre 198831 Fondements des BD EST Biblio 5 Solution: Décomposer l’entité en deux entités comme suit Livre CodeLivre TitreLivre Biblio Contient NbrCpy IdBiblio NomBiblio MCD: 3eme forme normale : 3FN Un MCD est en troisième forme normale si: Il est en deuxième forme normale; Aucune propriété non identifiant ne dépend fonctionnellement d’une autre propriété non identifiant, c’est à dire qu'il n'y a pas de DF Transitives. En d’autre termes pour être en deuxième forme normale (3FN), Elle est en 2FN, chaque attribut de la relation ne dépend que de l’identifiant et pas d'un autre attribut de la relation. Si ce n'est pas le cas décomposer la relation en autant de relations que de dépendance entre attributs non identifiant. MCD: 3eme forme normale : 3FN Exemple : Ce modèle est en 1FN, 2FN mais n’est pas en 3FN car la propriété «NomModule» DF de l’identifiant «CodeMat» et de la propriété «CodModule» qui est non identifiant, pour normaliser ce modèle nous pouvons: Matière CodeMat NomMat CodeModule NomModule Matière 19 Analyse et conception 2 SI et BD Solution: Décomposer l’entité «Matière» en deux entités comme suit: Matière CodeMat NomMat 1,1 1,n Regroupe Module CodeModule NomModule MCD: CONCLUSION Un MCD en 3ème forme normale est optimal (c’est à dire de qualité suffisante pour le traduire en un MLD). MCD: Normalisation d’un MCD (exercice) Considérant MCD suivant : Client Matricule Nom Age nomClub prixAbonnement 1. En quelle forme normal est ce MCD 2. Si ce n’est pas déjà fait mettre cette relation en 3FN MCD: Normalisation d’un MCD (exercice) En quelle forme normale est la relation suivante, qui concerne les employés d’une société implantée sur plusieurs bâtiments ? Chaque département est situé dans un bâtiment EMPLOYES NumE Nom Salaire ListeExprience Département Bâtiment 1. En quelle forme normal est ce MCD 2. Si ce n’est pas déjà fait mettre cette relation en 3FN