Conception des Systèmes Informatiques LA METHODE MERISE
11/29/2011
Cours CSI-BTS DSI
1
Système d'Information (S.I)
Le SI est composé des moyens (humains et techniques) nécessaires au stockage et au traitement de l'information d'une organisation.
système opérant
système de pilotage
Un sous-système qui se préoccupe de recevoir des informations de l'intérieur ou de l'extérieur de l'organisation de les traiter puis de les retransmettre vers l'intérieur ou l'extérieur. un système d'information automatisé (Système informatique) est un système d'information qui fait intervenir des moyens automatiques de traitement notamment des ordinateurs. 11/29/2011
Cours CSI-BTS DSI
2
Les fonctions du système d’information
1- Recueillir l’information (saisie) 2- Mémoriser l’information (stockage dans des fichiers ou bases de données) 3- Exploiter l’information (traitement) a. Consulter b. Organiser c. Mettre à jour d. Produire de nouvelles informations par des calculs 4- Diffuser l’information (édition)
11/29/2011
Cours CSI-BTS DSI
3
Analyse de besoins et cahier de charges L'analyse des besoins: processus visant à établir quelles fonctionnalités le système doit fournir, et les contraintes auxquelles il sera soumis. Un cahier des charges: vise à définir exhaustivement les « spécifications de base » d'un produit ou d'un service à réaliser. C'est le document sorti de l'analyse des besoins.
11/29/2011
Cours CSI-BTS DSI
4
Analyse de besoins et cahier de charges- Objectifs Comprendre la nature exacte du problème, par l'analyste et par le client Fournir un document compréhensible par le client et les concepteurs du système, ce qui fournira une sorte de fondement du contrat Définir la base pour la validation des étapes ultérieures (A-t'on conçu ce qui a été demandé ?) Préciser les contraintes de réalisation Réduire les coûts de développement du système. Eviter l'oubli, les allers-retours dans le cycle de développement. 11/29/2011
Cours CSI-BTS DSI
5
Typologies des besoins Besoins fonctionnels (exigences fonctionnelles) : ce que l'utilisateur attend en termes de fonctionnalités. Exemple : dans un DAB (distributeur automatique de billets), on aura besoin d'implémenter la vérification de la validité de la carte bleue. Besoins non fonctionnels (spécifications techniques) : conformité aux standards, contraintes sous lesquelles le système doit rester opérationnel. Exemple : dans un DAB, le distributeur doit répondre au plus 2 secondes après insertion de la carte, ou encore, contrainte du système d'exploitation (on demande un travail sous UNIX]. 11/29/2011
Cours CSI-BTS DSI
6
Etude de cas : Projet ARENA Développer une infrastructure pour une arène opérationnelle : enregistrer des nouveaux jeux et joueurs, organiser des tournois, gérer les scores des joueurs, etc. Offrir la possibilité aux organisateurs de programmer des matchs et de gérer leurs résultats. Fournir aux développeurs de jeux d'en développer de nouveaux ou d'adapter l'existant en utilisant ARENA. Besoins fonctionnels : définir un nouveau jeu, un nouveau tournoi Permettre à un joueur de s'enregistrer, être membre d'une ligue, jouer des matchs, etc. Besoins non fonctionnels : Le système doit supporter le déroulement de plusieurs tournois en parallèle (10 maximum), chacun peut impliquer au maximum 64 joueurs et plusieurs centaines de spectateurs. Les joueurs doivent pouvoir jouer avec au moins un modem 56k. 11/29/2011
Cours CSI-BTS DSI
7
L'analyse des besoins en pratique Les différents acteurs lors de cette étape sont l'analyste, le client, et l'utilisateur final. Procédé Séries de questions posées aux clients et aux utilisateurs Eventuellement, les documents fournis par le client Analyse de la tache Problèmes rencontrés comment organiser et structurer les informations obtenues ? Comment résoudre les contradictions pouvant exister entre les différents interlocuteurs ? 11/29/2011
Cours CSI-BTS DSI
8
L'analyse des besoins en pratiqueEléments de solution Utiliser des méthodes d'analyse : SADT(Structured Analysis and Design Technic), Merise, OOA (Object-Oriented Analysis)... Qualités de l'analyste en matière de communication Application de 3 principes Décomposition des problèmes en plusieurs parties (ex d'un système d'exploitation difficilement concevable en tant que tel, on le décompose alors en sous-système). Abstraction : appréhender les problèmes à un bon niveau d'abstraction, éviter les détails. (Dans l'exemple d'un OS : création / destruction de fichiers quel que soit le système de fichiers, par exemple ...). Projection : Etudier le système à partir de plusieurs points de vue : utilisateur, programmeur et administrateur.
11/29/2011
Cours CSI-BTS DSI
9
Spécifications: types II existe différents types de spécifications, Spécification informelle : Généralement rédigée en langage naturel, ces caractéristiques : pas de structures précises de document Pas de contenu imposé Risque d'ambiguïté Pas d'outils Lisibles par l'utilisateur final Spécification semi-fonctionnelle : Ce type est lié aux méthodologies employées, à base de graphiques et utilisant des modèles. Spécification formelle : Elle est fondée sur des langages de spécification, et reste dans un domaine encore très universitaire.
11/29/2011
Cours CSI-BTS DSI
10
Spécifications: cahier des charges II est en règle générale composé des éléments suivants : introduction Description générale Environnement / contexte du système Modèle conceptuel: regrouper l'ensemble des fonctionnalités ... Caractéristiques des utilisateurs Besoins fonctionnels Spécification des structures de données Spécifie les entités les plus importantes du système, ainsi que les associations qui les relient. Besoins en performance (non fonctionnels) Contraintes de développement Références (bibliographie, source d'obtention...) Index Annexes (description, tout ce qui peut être vulgarisé par le lecteur...) 11/29/2011
Cours CSI-BTS DSI
11
Historique 2. Merise : une méthode de conception et de développement 1.
11/29/2011
Cours CSI-BTS DSI
12
Méthodes d'analyse et de conception Une méthode d'analyse et de conception permet la formalisation des étapes préliminaires du développement d'un système afin de rendre ce développement plus fidèle aux besoins du client. La phase d'analyse permet de lister les résultats attendus, en termes de fonctionnalités, de performance, de robustesse, de maintenance, de sécurité, d'extensibilité, etc. La phase de conception permet de décrire de manière non ambiguë, le plus souvent en utilisant un langage de modélisation, le fonctionnement futur du système, afin d'en faciliter la réalisation. 11/29/2011
Cours CSI-BTS DSI
13
Historique Années 70 : Méthodes orientées vers les fonctionnalités des systèmes, décomposition fonctionnelle et hiérarchique d'un système. Années 80 : Méthodes systémiques, modélisation des données et modélisation des traitements de manière séparée. (MERISE comme exemple) 1990-1995 : Emergence des méthodes objet Analyser et modéliser un système en considérant de manière unifiée les données et les traitements : Booch, Classe-Relation, Fusion, HOOD, OMT, OOA, OOD, OOM, OOSE ... Aucune de ces méthodes ne s'est réellement imposée. 1995-1997 : Unification et normalisation des méthodes vers une sorte de standard appelé UML
11/29/2011
Cours CSI-BTS DSI
14
Merise : une méthode de conception et de développement MERISE est une méthode de conception, de développement et de réalisation de projets informatiques. Le but de cette méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques.
A partir de l'existant de l'organisation (entreprise, société, association, …) on va procéder à l'étude de son système d'information qui va être successivement modélisé (utilisation des méthodes) puis formalisé (mise en forme en fonction de normes ou de standards) de telle façon à obtenir un système informatique représentatif de la réalité du système d'information de l'organisation étudiée. 11/29/2011
Cours CSI-BTS DSI
15
Merise : une méthode de conception et de développement La méthode MERISE date de 1978-1979, et fait suite à une consultation nationale lancée en 1977 par le ministère de l'Industrie dans le but de choisir des sociétés de conseil en informatique afin de définir une méthode de conception de systèmes d'information. Les deux principales sociétés ayant mis au point cette méthode sont le CTI (Centre Technique d'Informatique) chargé de gérer le projet, et le CETE (Centre d'Etudes Techniques de l'Equipement). MERISE est un acronyme signifiant Méthode d'Étude et de Réalisation Informatique par les Sous-Ensembles ou pour les Systèmes d'Entreprises.
11/29/2011
Cours CSI-BTS DSI
16
Merise : une méthode de conception et de développement - Caractéristiques Merise est une méthode ou démarche de construction de système d'information. Les points forts de merise : Elle permet de recenser la totalité des informations dans l'organisation. Elle permet une description instantanée et aussi perspective. Elle se base sur une description objective des informations permettant de confrontes les points de vue des acteurs. Elle utilise un formalisme spécifique à base de modèle. Elle se base sur la séparation des traitements et des données. 11/29/2011
Cours CSI-BTS DSI
17
Les deux approches de MERISE Approches par niveaux Vise à concevoir le système d'information de chaque domaine de l'organisation suivant une logique de modélisation des trois niveaux : conceptuelle, logique ou organisationnelle et le niveau physique ou opérationnel. Niveaux
Préoccupation
Données
Traitement
Conceptuel Quoi faire ? Logique Qui fait quoi ? Quand et ou ?
MCD MLD
MCT MOT
Physique
MPD
MPT
Comment et avec quelle moyenne ?
•MCD = Modèle Conceptuel de Données •MLD = Modèle Logique de Données •MPD = Modèle Physique de Données
11/29/2011
Cours CSI-BTS DSI
18
Les deux approches de MERISE Approches par étapes schéma directeur: étape de planification de développement de système d'information (SI), le S.I est étudié d'une manière globale et décomposer en domaine. Il s'agit en suite d'affecter les finalités aux besoins correspondants, aux niveaux informatiques en établie un plan prévoyant l'évolution de l’étude ainsi que le besoin matériel et logiciel.
étude préalable: reprendre domaine par domaine ou le domaine de choix, et les étudier de manière plus approfondie. On distincte 3 étapes : Etude de l'existant. Procédure ou scénario future. Evaluation (le coût).
étude détaille: réalisée pour chaque domaine à partir des solutions choisies lors de l'étude préalable. Le domaine peut être découpé en projet et chaque projet peut être découpé en applications, un cahier de charge utilisateur sera rédigé par applications. étude technique: Dans cette étape on étudie le MPD et le MPT. Réalisation: la programmation, les tests et la mise en ouvre (former la personne qui dirige le programme). Maintenance: modification des programmes pour faire vivre les applications et les mettre à niveau jusqu'à leur mort 11/29/2011
Cours CSI-BTS DSI
19
Modèle acteur-flux Graphe de flux de données
11/29/2011
Cours CSI-BTS DSI
20
Modèle acteur-flux Le modèle acteur-flux nommé aussi le Modèle Conceptuel de Communication (MCC), représente les systèmes fonctionnels externes et internes à l'entreprise. A chaque fonction correspond un objectif de l'entreprise.
11/29/2011
Cours CSI-BTS DSI
21
Composants d'un MCC- Flux Un flux est un lot d'informations transmis entre deux acteurs du SI étudié. C'est un échange d'informations entre un acteur émetteur et un acteur récepteur. Code Flux F1 F2 F3 F4 F5
11/29/2011
Flux Contact fournisseur pour devis Établissement de fiche de Commande Emprunt des documents Retour des documents Validation des livraisons
Cours CSI-BTS DSI
22
Composants d'un MCC- Acteur un acteur est tout ce qui peut émettre ou recevoir des flux. une entité, humaine ou matérielle, intervenant dans le système d'information. Exemple : un domaine, un service, une personne, un rôle joué par une personne. (Dépend du degré de finesse de l'analyse). deux catégories, internes et externes, selon leur appartenance ou non à l'entreprise. Acteur externe : entité externe à l'organisation ou au domaine étudié. Exemple : un client, la banque de l'entreprise... Acteur interne : appartient à l'organisation ou au domaine étudié. Exemple : le service production, commercial...
Le choix interne/externe est fondamental : il décrit la frontière du domaine d'études. C'est à faire tout au début d'une analyse.
11/29/2011
Cours CSI-BTS DSI
23
Composants d'un MCC- Acteur Les acteurs du système « bibliothèque » Code acteur A1 A2 A3 A4 A5
11/29/2011
Acteur Responsable de la bibliothèque Le service de catalogage Le fournisseur Le service de la comptabilité Les utilisateurs
Cours CSI-BTS DSI
Type (interne ou externe)
24
Etapes de construction d'un MCC La première étape: isoler le système. Il s'agit donc de définir le système et les acteurs externes avec lesquels il échange des flux d'information. La seconde étape: consiste à découper l'organisation en acteurs internes (ou domaines). La dernière étape est l'analyse des flux d'information.
11/29/2011
Cours CSI-BTS DSI
25
Matrice et graphe de flux Matrice de flux : c'est un tableau qui décrit les flux d'information entre acteurs : les acteurs figurent en tête des lignes et des colonnes; un flux apparaît à l'intersection d'une ligne et d'une colonne. Émetteur \ Récepteur Acteur 1 Acteur 2 Acteur 3
Acteur 1 Acteur 2 Acteur 3 Flux1 Flux 2 Flux 4 Flux 3
Graphe des flux : c'est une représentation graphique de la matrice des flux.
11/29/2011
Cours CSI-BTS DSI
26
Exemple 1 : Gestion d’une bibliothèque Code Flux
Flux
Code acteur
Acteur
F1
Contact fournisseur pour devis
F2
Établissement de fiche de Commande
A1
Responsable de la bibliothèque
F3
Emprunt des documents
A2
Le service de catalogage
F4
Retour des documents
A3
Le fournisseur
F5
Validation des livraisons
A4
Le service de la comptabilité
A5
Les utilisateurs
F3 F2 A3
F5
A2
A1
F1
A5
F4
A4 bibliothèque
11/29/2011
Cours CSI-BTS DSI
27
Exemple 2 : Gestion des sinistres dans une société d'assurance A l'arrivée d'une déclaration de sinistre, on l'examine. Si la déclaration est recevable, on demande l'avis d'un expert, sinon on notifie le refus à l'assuré. Au retour de l'expertise et après réception de la facture du garage, on calcule le montant du remboursement et on envoie le chèque au client.
•Déduire la matrice des flux 11/29/2011
Cours CSI-BTS DSI
28
Exercice : Gestion des commandes des clients Les commandes des clients sont saisies au niveau des comptoirs d'accueils régionaux et sont transmises chaque soir au siège central de la société. Tous les matins, le service magasin du siège traite les commandes reçues: il édite pour chaque commande des bons de réquisition. Ces bons sont transmis aux magasiniers qui sortent les articles des stocks, pointent manuellement les bons, puis apportent les articles au service emballage, afin qu'ils soient conditionnés le jour même. Dès le lendemain, le service emballage expédie les colis aux clients. En fin de semaine, le centre de traitement informatique du siège édite les factures qui correspondent aux commandes de la semaine. Dégager les acteurs et leurs types Tracer le graphe de flux 11/29/2011
Cours CSI-BTS DSI
29
Dictionnaire des données Modèle Conceptuel Entité-Association Modèle Logique Relationnel Normalisation des relations Expression des contraintes d'intégrité
11/29/2011
Cours CSI-BTS DSI
30
Modélisation des données La modélisation des données passe par plusieurs phases. 1) 2)
3)
elle consiste à collecter les données du SI étudié et les représenter dans un tableau appelé dictionnaire de données. Une analyse de dépendances existantes entre les données du dictionnaire permet de regrouper ces données en entités liées entre elles par des associations, on parle de modèle conceptuel de données (MCD). Enfin un ensemble de règles sont appliquées pour transformer l'MCD en un autre modèle appelé le modèle logique de données(MLD).
Niveau conceptuel Niveau logique Niveau physique
11/29/2011
Analysa des données Analyse des traitements Quelles Informations MCD Que veut-on taire ? MCT manipule-t-on? Comment structurer MLD Qui fait quoi, où, MOT ces données? quand? Tables et Comment? Où les stocker? Procédures index
Cours CSI-BTS DSI
31
Modélisation des données Etude de cas Soit une entreprise qui a pour activité la vente de matériel de bureau. On espère modéliser les données manipulées par son service de facturation. Lors de la première étude de l'existant et du premier contact avec le service. Nous avons eu des exemples de facture client comme documents de base
11/29/2011
Cours CSI-BTS DSI
32
Dictionnaire de données Un dictionnaire des données est une collection de métadonnées ou de données de référence nécessaire à la conception d'un SI. Il couvre une importance stratégique particulière, car il est le vocabulaire commun de l’organisation Il est souvent représenté par un tableau à quatre colonnes contenant le nom, le code et le type de donnée ainsi que des commentaires Alphanumérique [AN], Numérique (N) ou booléenne (B) Abréviation ou acronyme représentant la donnée Information formalisable manipulée par le SI. Elle doit être claire et précise.
N° Nom de la donnée 1 Numéro de la facture 2…
Code
Commentaire Type
N°FACTURE
procédé de calcul. Ex. : si Montant > 2000F alors Taux TVA=15% sinon 0%. 11/29/2011
Cours CSI-BTS DSI
•Élémentaire (E) : La donnée n'est pas obtenue par un calcul à partir d'autre données. Ex. le nom d'un client, le n° de téléphone d'un fournisseur. •Calculée (C) : Elle résulte d'un calcul effectué à partir d'autre données. Ex. le montant brut d'une facture, le montant de la TVA. Paramètre (P): Donnée particulière qui ne prend qu'une unique valeur. Ex. Un taux unique de TVA, la valeur d'acquisition d'une immobilisation Nature
Règle de gestion Contrainte d'intégrité
AN
précision sur la valeur possible de la donnée, Ex. : Age <40.
33
Dictionnaire de données: Exemple N° Nom de la donnée
Code
1 Numéro de la facture 2 Numéro du client 3 Raison sociale du client 4 Adresse du client 5 Désignation du produit 6 Numéro du produit 7 Quantité de produit achetée 8 Prix unitaire du produit 9 Prix total du produit 10 Montant de la facture
N°FACTURE N'CLIENT RSCLIENT ADRESSE DESIGN N°PRODUIT QUANTITE PRIXUNIT TOTPRODUIT TOTFACTURE
11/29/2011
Cours CSI-BTS DSI
Commentaire Type Nature Règle de Contrainte gestion d'intégrité AN AN -
N En Franc (F) C C
34
11/29/2011
Cours CSI-BTS DSI
35
Dictionnaire de données: Nettoyage des informations On ne garde que les données élémentaires du domaine. On supprime : Les données indiquant la même chose (synonyme) les données résultats d'un calcul exemple : TOTPRODUIT = QUANTITE x PRIXUNIT TOTFACTURE = somme(TOTPRODUIT) N° Nom de la donnée
Code
1 Numéro de la facture 2 Numéro du client 3 Raison sociale du client 4 Adresse du client 5 Désignation du produit 6 Numéro du produit 7 Quantité de produit achetée 8 Prix unitaire du produit 9 Prix total du produit 10 Montant de la facture
N°FACTURE N'CLIENT RSCLIENT ADRESSE DESIGN N°PRODUIT QUANTITE PRIXUNIT TOTPRODUIT TOTFACTURE
11/29/2011
Cours CSI-BTS DSI
Commentaire Type Nature Règle de Contrainte gestion d'intégrité AN AN -
N En Franc (F) C C 36
Représentation de l’information
11/29/2011
Cours CSI-BTS DSI
37
Représentation de l’information N°Facture
N°Client
RSClient
Adresse
Désign
N°Produit
Quantité
PrixUnit
C101
NC20
S.A.Toto
PARIS
crayon
NP1
102
1,10
papier
NP2
120
2,25
gomme
NP3
242
2,56
stylo
NP4
124
2,58
crayon
NP1
563
1,10
gomme
NP3
256
2,56
stylo
NP4
86
2,58
crayon
NP1
52
1,10
stylo
NP4
45
2,58
C102
C312
11/29/2011
NC56
NC20
S.A.Paul
S.A.Toto
DIJON
PARIS
Cours CSI-BTS DSI
38
Représentation de l’information Avantages on a bien une modélisation de notre système d’informations. Inconvénients nombreuses anomalies de consultations et de mises à jour. Comment modifier le prix du produit NP1 (1,10 à 1,15) ? Comment trouver les clients qui ont commandé des stylos ? On doit adopter un parcourt séquentiel de toutes les informations. Comment trier sur un critère particulier ? On va modifier la sémantique de la table On est en présence d’une représentation du type de base de données hiérarchique. 1 Facture à n Produits 11/29/2011
Cours CSI-BTS DSI
39
Une amélioration N°Facture N°Client
RSClient
Adresse
Désign
N°Produit
Quantité
PrixUnit
C101
NC20
S.A.Toto
PARIS
crayon
NP1
102
1,10
C101
NC20
S.A.Toto
PARIS
papier
NP2
120
2,25
C101
NC20
S.A.Toto
PARIS
gomme
NP3
242
2,56
C101
NC20
S.A.Toto
PARIS
stylo
NP4
124
2,58
C102
NC56
S.A.Paul
DIJON
crayon
NP1
563
1,10
C102
NC56
S.A.Paul
DIJON
gomme
NP3
256
2,56
C102
NC56
S.A.Paul
DIJON
stylo
NP4
86
2,58
C312
NC20
S.A.Toto
PARIS
crayon
NP1
52
1,10
C312
NC20
S.A.Toto
PARIS
stylo
NP4
45
2,58
11/29/2011
Cours CSI-BTS DSI
40
Inconvénients nombreuses redondances d’informations. Coût élevé temps de saisie volume de stockage gestion des erreurs nombreuses anomalies de consultations et de mises à jour. Comment modifier le prix du produit NP1 (1,10 à 1,15) ? Comment trouver les clients qui ont commandé des stylos ? On doit adopter un parcourt séquentiel de toutes les informations. ou effectuer un tri sur critères avant un parcours en séquence. Impossibilité de modéliser l’évolution à venir. Comment décrire un nouveau produit pas encore vendu ? Comment décrire un futur client qui vient d’être prospecté ?
11/29/2011
Cours CSI-BTS DSI
41
Optimisation On va procéder à la décomposition de la précédente table en des sous tables (logiques) qui ne comporteront pas les précédentes anomalies. Pour atteindre cet objectif on va pouvoir utiliser le modèle conceptuel de données
11/29/2011
Cours CSI-BTS DSI
42
Modèle conceptuel des données ( MCD ) Le MCD est l'élément le plus connu de MERISE et certainement le plus utile. Il permet d'établir une représentation claire des données du Système d’Information et définit les dépendances fonctionnelles de ces données entre elles. Les éléments utilisés pour la formalisation d'un MCD sont les suivants : Attribut(ou Propriété) Entité Identifiant Association Cardinalité (minimum , maximum)
11/29/2011
Cours CSI-BTS DSI
43
Modèle conceptuel des données ( MCD ): attribut Attribut: une caractéristique d'un objet (entité ou association). Un attribut est elle-même caractérisé par un type (Chiffre ou Texte ...) et une longueur. L'ensemble des attributs du MCD compose le dictionnaire des données. Cela veut dire que pour notre exemple précédents: N°Facture,N°Client,RSClient,Adresse, Design,N°Produit,Quantité,PrixUnit sont des attributs. N°Facture N°Client C101
NC20
RSClient S.A.Toto
Adresse PARIS
Désign crayon
N°Produit NP1
Quan tité 102
PrixUnit 1,10
….
11/29/2011
Cours CSI-BTS DSI
44
Modèle conceptuel des données ( MCD ): attribut Chaque propriété doit figurer une seule fois sur le modèle conceptuel (principe de non redondance). Il faut éviter l’emploi de synonymes et de polysémies (mot présentant plusieurs sens) pour les attributs. Dans le même ordre d’idée, les mots réservés sont à éviter.
11/29/2011
Cours CSI-BTS DSI
45
Modèle conceptuel des données ( MCD )
Attribut (ou Propriété) Entité Identifiant Association Cardinalité (minimum , maximum)
11/29/2011
Cours CSI-BTS DSI
46
Modèle conceptuel des données ( MCD ) Entité Une entité est la représentation d'un élément matériel ou immatériel ayant un rôle dans le système que l'on désire décrire. • Chaque entité est composée de propriétés. • Par exemple: on considère l’entité ARTICLE qui regroupe les propriétés : Référence, Désignation et PrixUnitaireHT. • Les entités sont représentées par un rectangle. Ce rectangle est séparé en deux champs: •
Libellé Liste des propriétés . . .
• le champ du haut contient le libellé. Ce libellé est généralement une abréviation pour une raison de simplification de l'écriture. Il s'agit par contre de vérifier qu'à chaque entité correspond un et un seul libellé, et réciproquement. • le champ du bas contient la liste des propriétés de la classe d'entité.
11/29/2011
Cours CSI-BTS DSI
47
Modèle conceptuel des données ( MCD ) Entité La figure suivante décrit une entité. Un poste de travail a trois attributs : un numéro de série (chaîne de caractères, ex : p1), une adresse IP (chaîne de caractères, ex : 130.20.53.60) et un type (chaîne de caractères, ex : Unix, Windows).
11/29/2011
Cours CSI-BTS DSI
48
Modèle conceptuel des données ( MCD )
Attribut (ou Propriété) Entité Identifiant Association Cardinalité (minimum , maximum)
11/29/2011
Cours CSI-BTS DSI
49
Modèle conceptuel des données ( MCD ) Identifiant Un identifiant est un ensemble de propriétés (une ou plusieurs) permettant de désigner une et une seule occurrence d’une entité. La définition originale est la suivante: L'identifiant est une propriété particulière d'un objet telle qu'il n'existe pas deux occurrences de cet objet pour lesquelles cette propriété pourrait prendre une même valeur. Les attributs d'une entité permettant de désigner de façon unique chaque instance de cette entité sont candidats d’être identifiant. Le modèle conceptuel des données propose de souligner les identifiants.
11/29/2011
Cours CSI-BTS DSI
50
Modèle conceptuel des données ( MCD ) Occurrence d’entité ou individu Le tableau suivant présente des exemples d’occurrences de l’entité ARTICLE:
11/29/2011
Cours CSI-BTS DSI
51
Modèle conceptuel des données ( MCD )
Attribut (ou Propriété) Entité Identifiant Association Cardinalité (minimum , maximum)
11/29/2011
Cours CSI-BTS DSI
52
Modèle conceptuel des données ( MCD ) L’association (ou relation) Une association (appelée aussi parfois relation) est un lien sémantique entre plusieurs entités. On distingue les types d’associations suivants: • Une association récursive (ou réflexive) relie l’entité à elle même • Une association binaire relie deux entités différentes • Une association ternaire relie trois entités différentes • Une association n-aire relie n entités différentes. Une association se représente à l’aide d’un ovale (ou losange) contenant son nom et ses éventuels attributs et connectant plusieurs entités. Les associations se déduisent en général des verbes du discours.
11/29/2011
Cours CSI-BTS DSI
53
Modèle conceptuel des données ( MCD ) L’association (ou relation) Exemple: les postes de travail sont connectés à un réseau local. Chaque poste est relié à un segment caractérisé par un indicatif IP, un nom et une longueur de câble. Le verbe « connecter » induit une association entre les entités Poste_travail et Segment. L’association binaire Connecter est décrite dans la figure
11/29/2011
Cours CSI-BTS DSI
54
Modèle conceptuel des données ( MCD ) occurrence d’une association le poste de travail p1 est un élément particulier du réseau local modélisé. Au niveau conceptuel, il s’agit d’une occurrence de l’entité Poste_travail. Pour sa part, le câble 130.20.53 est une occurrence de l’entité Segment. Un exemple d’occurrence de l’association Connecter est la connexion du poste p1 au segment 130.20.53.
11/29/2011
Cours CSI-BTS DSI
55
Modèle conceptuel des données ( MCD ) L’association (ou relation) Il peut y avoir, entre deux mêmes entités, plusieurs associations qui représentent chacune des réalités différentes.
11/29/2011
Cours CSI-BTS DSI
56
Modèle conceptuel des données ( MCD ) L’association (ou relation)
CLIENT, FACTURE, PRODUIT représentent les ENTITES
11/29/2011
Cours CSI-BTS DSI
RECOIT, LIGNE_FACTURE représentent les associations entre les diverses entité.
57
Modèle conceptuel des données ( MCD )
Attribut (ou Propriété) Entité Identifiant Association Cardinalité (minimum , maximum)
11/29/2011
Cours CSI-BTS DSI
58
Modèle conceptuel des données ( MCD ) Cardinalité Couple de valeurs (minimum, maximum) indiqué à l’extrémité de chaque lien d’une association. Il caractérise la nature de l’association en fonction des occurrences des entités concernées. • la borne minimale (généralement 0 ou 1) décrit le nombre minimum de fois qu'une entité peut participer à une association • la borne maximale (généralement 1 ou n) décrit le nombre maximum 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 le nombre minimal et maximal d’occurrences de l’association A.
11/29/2011
Cours CSI-BTS DSI
59
Modèle conceptuel des données ( MCD ) Cardinalité Par exemple: les cardinalités décrivent la nature de l’association Connecter : un poste de travail est relié au plus à un segment et un segment de câble permet de connecter plusieurs postes de travail.
11/29/2011
Cours CSI-BTS DSI
60
Modèle conceptuel des données ( MCD ) Cardinalité
11/29/2011
Cours CSI-BTS DSI
61
Modèle conceptuel des données ( MCD ) Résumé Attribut : donnée élémentaire, également appelée « propriété », qui sert à caractériser les entités et les associations. Entité : concept concret ou abstrait (fait, moment etc.) du monde à modéliser. Elle se représente par un cadre contenant le nom de l’entité et de ses attributs. Identifiant : attribut particulier permettant d’identifier chaque occurrence d’une entité. L’identifiant est souligné. Association : l’association permet de relier plusieurs entités entre elles. Une association se représente à l’aide d’un ovale (ou losange) contenant son nom et ses éventuels attributs et connectant plusieurs entités. Cardinalité minimum : Nombre minimum de fois où une entité est concernée par l'association. 0 indique que les entités ne sont pas obligatoirement concernés par l'association. Cardinalité maximum: Nombre maximum de fois où une entité est concernée par l'association. N signifie plusieurs fois sans préciser de nombre. Ce nombre ne peut être égal à 0. 11/29/2011
Cours CSI-BTS DSI
62
Modèle conceptuel des données ( MCD ) Résumé Présentation Graphique Entité
Nom Entité
Association
Nom Association
Cardinalité Max
Cardinalité Min COMMANDE N°Code Date Code
PRODUIT
1, N
CONCERNER - Quantité Commandée
Attribut de l’entité
11/29/2011
Identifiant
0, N
N°Produit Désignation Prix Unitaire
Attribut de l’association
Cours CSI-BTS DSI
63
Modèle conceptuel des données ( MCD )
Exercice N°1 Au service de l'intendance : Chaque ordinateur est identifié par un N° d'inventaire crée par l'intendant. Sa date d'achat doit être conservée, ainsi que son nom générique et sa marque. Les informations courantes sur le fournisseur de l'ordinateur sont notées. Certains sont couverts par un contrat de maintenance. Le type de garantie, la date de signature, sa durée sont indispensables. Un contrat peut couvrir plusieurs ordinateurs et a un coût forfaitaire. Un contrat est toujours signé auprès d'une société dont on désire garder toutes les coordonnées. Celle-ci est bien souvent le fournisseur. Présentez le MCD.
11/29/2011
Cours CSI-BTS DSI
64
Modèle conceptuel des données ( MCD ) Corrège Exe N°1
65
METTRE EN OEUVRE UN MCD INVENTORIER LES RÈGLES DE GESTION Les règles de gestion précisent les contraintes qui doivent être respectées par le modèle. On cherche à relever, au travers de tous les documents, toutes les informations recueillies par l'analyse préalable de l'existant, toutes les contraintes que le MCD devra respecter. Les règles de gestion sur les données : Elles peuvent préciser la forme, les valeurs possibles ou admissibles, le nombre d'occurrence des données ou leurs liens avec d'autres données.
66
METTRE EN OEUVRE UN MCD INVENTORIER LES RÈGLES DE GESTION Les règles de gestion sur les traitements : Les règles peuvent correspondre à une contrainte d'activité de l'organisation, à une formule de calcul arithmétique ou logique.
11/29/2011
Cours CSI-BTS DSI
67
METTRE EN OEUVRE UN MCD INVENTORIER LES RÈGLES DE GESTION: EXEMPLE Règle de gestion 1 : Tout professeur enseigne en principe au moins une matière, mais certains d'entre eux peuvent être dispensés d'enseignement en raison de leurs travaux de recherche. Règle de gestion 2 :Toute matière est enseignée dans au moins une classe. Règle de gestion 3 : Toute classe a au moins trois enseignements.
11/29/2011
Cours CSI-BTS DSI
68
METTRE EN OEUVRE UN MCD CONTRAINTES D'INTÉGRITÉ Les règles de gestion expriment les CONTRAINTES D'INTÉGRITÉ du modèle. Ces contraintes d'intégrité représentent les lois de l'univers réel modélisé dans le SI. Les contraintes statiques: Elles peuvent porter Sur une propriété (forme, liste de valeurs possibles…) Sur diverses propriétés d'une même relation ou entité. Exemple COMMANDE (NOCDE,DATE-CDE,DATE-LIVRAISON) On doit avoir DATE-CDE < DATE-LIVRAISON.
Sur les cardinalités Sur les dépendances fonctionnelles 11/29/2011
Cours CSI-BTS DSI
69
METTRE EN OEUVRE UN MCD CONTRAINTES D'INTÉGRITÉ Les contraintes dynamiques : Les CI dynamiques expriment les règles d'évolution et portent directement sur le passage du SI d'un état dans un autre. Exemple Le salaire d'un employé ne doit pas diminuer.
11/29/2011
Cours CSI-BTS DSI
70
METTRE EN OEUVRE UN MCD LES DÉPENDANCES FONCTIONNELLES On parle d'une dépendance fonctionnelle entre une donnée Dl et une donnée D2 si pour chaque valeur de la donnée source Dl correspond une et une seule valeur de la donnée but D2. En revanche, à la valeur d'un but peut correspondre plusieurs valeurs de la source. Exemple : Code_Elève Rèf_Article Nom_Elève
11/29/2011
Nom-Elève Désignation Article Code Postal
Cours CSI-BTS DSI
71
METTRE EN OEUVRE UN MCD LES DÉPENDANCES FONCTIONNELLES: Types La DF élémentaire : C'est une DF dont la source est une donnée élémentaire. Comme Num_Client ou NumCommande. Chaque donnée source d'une DF élémentaire constitue l'identifiant d'une entité. La DF élémentaire directe (DF simple) : La valeur de B dépend directement de celle de A si cette dépendance est élémentaire : A B C'est une DF qui n'est pas transitive. Il ne doit pas exister de propriété telle que A C B
Seules les DF directes doivent être conservées. Les DF transitives doivent être supprimées. Code_Prof Nom_Matière Code_Matière Nom_Matière 11/29/2011
Cours CSI-BTS DSI
72
METTRE EN OEUVRE UN MCD LES DÉPENDANCES FONCTIONNELLES: Types La DF non élémentaire (composé) : C'est une DF dont la source comporte plusieurs données (elle est dite aussi "à partie gauche composée"). Exemple : DF RéférenceProduit, NumCommande QtéCommandée. La connaissance de la référence du produit et du n° de la commande détermine de façon unique et certaine la
quantité de produit commandée.
11/29/2011
Cours CSI-BTS DSI
73
METTRE EN OEUVRE UN MCD LES DÉPENDANCES FONCTIONNELLES: Exercice
DF
OUI/NON
TYPE
N°FACTURE—> N°CLIENT N°FACTURE—> DESIGN N°FACTURE, N°PRODUIT—> QUANTITE N°CLIENT—> RSCLIENT N°FACTURE—> RSCLIENT 11/29/2011
Cours CSI-BTS DSI
74
METTRE EN OEUVRE UN MCD LES DÉPENDANCES FONCTIONNELLES: Le graphe des DF Dans ce graphe on ne garde que les dépendances fonctionnelles directes (élementaire ou composées). Exemple : NuméroClient -> NomClient NuméroClient -> AdresseRue NuméroClient -> CodePostal NuméroClient -> AdresseVille NumCommande -> RéfCdeClient NumCommande -> DateCommande NumCommande -> DateEnrCde NumCommande -> TauxRemise NumCommande -> DélaiLiuraison NumCommande -> NuméroClient RéférenceProduit -> Désignation RéférenceProduit -> PrixUnitaire RéférenceProduit, NumCommande -> QtéCommandée 11/29/2011
Cours CSI-BTS DSI
75
METTRE EN OEUVRE UN MCD LES DÉPENDANCES FONCTIONNELLES: Le graphe des DF Pour notre dictionnaire et d'après les exemples de facture on aura le graphe suivant :
11/29/2011
Cours CSI-BTS DSI
76
METTRE EN OEUVRE UN MCD NORMALISATION 1ere forme Normale: Toutes les dépendances entre les propriétés doivent être fonctionnelles et toutes les propriétés sont élémentaires (non décomposables). Chaque entité doit disposer d'un identifiant qui la caractérise de manière unique. Un objet ou une association est en 1FN s'il possède un identifiant et si aucune propriété n'est à multiples valeurs.
11/29/2011
Cours CSI-BTS DSI
77
METTRE EN OEUVRE UN MCD NORMALISATION 2eme forme Normale: Une entité ou une association est en 2FN s'il est en 1FN et si toutes les DF entre ses propriétés sont élémentaires. Les propriétés d'une entité ne doivent dépendre que de l'identifiant de l'entité et non d'une partie de cet identifiant. Un identifiant peut être composé de la concaténation de plusieurs propriétés.
11/29/2011
Cours CSI-BTS DSI
78
METTRE EN OEUVRE UN MCD NORMALISATION
L'association DEVOIR est en 1FN mais pas en 2FN car : (nom, matière, numéro) note, (nom, matière, numéro) moyenne, (nom, matière) moyenne. La deuxième DF n'est pas élémentaire. Avec ce modèle, l'occurrence de la propriété « moyenne » sera répétée pour chacun des mois. Pour que l'association DEVOIR soit en 2FN, il faut retirer la propriété « moyenne » de cette association et la placer dans une nouvelle association MOYENNE :
11/29/2011
Cours CSI-BTS DSI
79
METTRE EN OEUVRE UN MCD NORMALISATION
11/29/2011
Cours CSI-BTS DSI
80
METTRE EN OEUVRE UN MCD NORMALISATION 3ème forme Normale: Les propriétés d'une entité doivent dépendre de l'identifiant de l'entité de manière directe. Un objet ou une association est en 3FN s'il est en 2FN et si toutes les DF entre ses propriétés sont directes. L'objet COMMUNE est en 2FN mais pas en 3FN car : code postal
nom commune,
code postal numéro département, code postal
nom département,
numéro département
nom département
La troisième DF n'est pas directe. Avec ce modèle, la même occurrence de la propr iété « nom département » sera répétée pour chaque commune appartenant au même département. Pour que l'objet COMMUNE soit en 3FN, il faut créer un nouvel objet DEPARTEMENT pour refléter cette DF : 11/29/2011
Cours CSI-BTS DSI
81
METTRE EN OEUVRE UN MCD NORMALISATION Ce modèle permet de plus de gérer l'ensemble des départements, y compris ceux qui ne sont pas rattachés à une commune.
11/29/2011
Cours CSI-BTS DSI
82
METTRE EN OEUVRE UN MCD NORMALISATION Forme Normale de BOYCECODD Pour les identifiants composés de plusieurs propriétés, ces dernières ne doivent pas être dépendantes d'une autre propriété de l'entité.
11/29/2011
Exemple : On suppose qu'une matière n'est enseignée qu'une seule fois dans une classe et que par un seul professeur. De plus, un professeur n’enseigne qu'une seule matière.
Cours CSI-BTS DSI
83
METTRE EN OEUVRE UN MCD NORMALISATION L'association EMPLOI est en 3FN mais pas en BCFN car : (matière, classe) professeur Professeur matière Il existe donc des DF dont la source ne contient pas l'identifiant de l'association. Ce modèle n'interdit pas l'existence des occurrences du type [« Mathématiques », « 6A», « Zoubir »], [«Mathématiques », « 6A », « Essaid »], et ceci est en contradiction avec la première contrainte. Pour que l'association EMPLOI soit en BCFN, il faut la décomposer :
11/29/2011
Cours CSI-BTS DSI
84
METTRE EN OEUVRE UN MCD NORMALISATION
11/29/2011
Cours CSI-BTS DSI
85
Le modèle logique des données(MLD)
11/29/2011
Cours CSI-BTS DSI
86
Le modèle logique des données Le modèle conceptuel sous la forme "entité-association" est bien adapté à la représentation de la structure des données. En revanche, sous cette forme, il n'est pas directement exploitable par un SGDBR. Sa mise en œuvre nécessite sa transformation dans un autre formalisme et à passer par un autre modèle, le modèle logique ou relationnel de données (MRD ou MLD). Le modèle logique des données consiste à décrire la structure de données utilisée sans faire référence à un langage de programmation. Il s'agit donc de préciser le type de données utilisées lors des traitements. 11/29/2011
Cours CSI-BTS DSI
87
La notion de relation Dans le MCD, la relation représente une association de plusieurs objets. Dans le MLD, une relation permet de décrire les entités ou les associations par des ensembles d'attributs. NB : Ne pas confondre la relation (ou association) dans le MCD et la relation dans le MLD Cette relation est notée : Nom de la relation (Attribut 1, attribut 2,...attribut n).
L'ensemble des occurrences de la relation est représentée par une table dont les colonnes contiennent les valeurs prises par les attributs de cette relation. Les lignes de la table représentent les occurrences de la relation, ou tuples. Chacune de ces lignes est identifiée par un attribut appelé clé primaire.
11/29/2011
Cours CSI-BTS DSI
88
La notion de relation Exemple : Relation "Elèves" Notation: ELEVES (N° Elève, Nom, prénom, Date de naissance, #Section)
11/29/2011
Cours CSI-BTS DSI
89
Passage au modèle logique •
On passe du modèle conceptuel au modèle logique par une opération de TRADUCTION
90
Règles de passage REGLE N°1 : TOUTE ENTITE DEVIENT UNE RELATION dans laquelle : les attributs traduisent les propriétés de l'entité la clé primaire traduit l'identifiant de l'entité
91
Règles de passage REGLE N°2 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE 1,1 SE REECRIT EN : portant dans la relation fille la clé primaire de la relation mère. L'attribut ainsi ajouté s'appelle clé étrangère. Symbole : #.
92
Règles de passage REGLE N°3 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE PLUSIEURS A PLUSIEURS SE REECRIT EN : créant une relation particulière qui contient comme attributs les identifiants des 2 entités associées ces attributs constituent à eux 2 la clé primaire de la relation ils sont individuellement clés étrangères ajoutant la ou les éventuelles propriétés de l'association à cette relation.
93
Règles de passage
94
Règles de passage REGLE N°4 : UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 SE REECRIT SELON LA REGLE 3
95
Le modèle relationnel de notre Êtude de cas
Le modèle relationnel de notre étude de cas
CLIENT
(N°Client,RSClient,Adresse)
FACTURE
(N°Facture,#N°Client)
PRODUIT
(N°Produit,Design,PrixUnit)
LIGNE_FACTURE (#N°Facture,#N°Produit,Quantité)
97
Modélisation logique CLIENT
(N°Client,RSClient,Adresse)
FACTURE
(N°Facture,#N°Client)
PRODUIT
(N°Produit,Design,PrixUnit)
LIGNE_FACTURE (#N°Facture,#N°Produit,Quantité)
98
Représentation physique (modèle base de données) Voyons la représentation des relations sous forme de tables CLIENT
LIGNE_FACTURE
N°Client
RSClient
Adresse
NC20
S.A.TOTO
PARIS
NC56
DIJON
FACTURE
PRODUIT
N°Facture
N°Produit
Quantité
C101
NP1
102
C101
NP2
120
C101
NP3
242
C101
NP4
124
C102
NP1
563
N°Facture
N°Client
C102
NP3
256
C101
NC20
C102
NP4
86
C102
NC56
C312
NP1
52
C312
NC20
C312
NP4
45
N°Produit
Design
PrixUnit
NP1
crayon
1,10
NP2
papier
2,25
NP3
gomme
2,56
NP4
stylo
2,58
99
Exercice: Traduisez le MCD en schĂŠma relationnel
11/29/2011
Cours CSI-BTS DSI
100
11/29/2011
Cours CSI-BTS DSI
101
11/29/2011
Cours CSI-BTS DSI
102