INTRODUCTION Concevoir un système est une activité dévolue à une ou plusieurs personnes chargées de mettre en place les différentes phases d'automatisation d'une tâche (réservation de places d'avion, gestion du personnel, gestion de stock, …) Un système est un ensemble organisé de composants ayant des rapports entre eux, établis de manière à pouvoir accomplir une tâche. Le cycle de vie d'un système comprend 5 phases : 1- enquêtes préliminaires, 2- analyse 3- conception 4- développement 5- mise en œuvre La phase 1, appelée aussi étude de faisabilité, est la phase pendant laquelle on fait des enquêtes préliminaires d'études du problème afin de déterminer comment le projet d'analyse et de conception doit être conduit. On détermine la nature et l'étendue du problème, on exprime les besoins de l'utilisateur considérés comme des objectifs. Dans la phase 2, analyse de système, on collecte et on analyse toutes les données venant de différentes sources : documents écrits, interviews, questionnaires, échantillonnages. Les sources de données accessibles sont déterminées, l'analyste doit décider lesquelles sont les plus appropriées. Pour analyser les données, l'analyste peut utiliser divers diagrammes et schémas. Le diagramme de flux de données fournit une image des flux de données à travers le système. Dans la phase 3, conception de système, une conception générale du système devant être approuvée par le client est présentée avant de procéder à la conception détaillée. La conception détaillée apporte des précisions concernant les éléments suivants : - entrées (données) nécessaires : support, contenu, formulaire de saisie - états de sortie nécessaires déjà connus : support, type, contenu, forme - fichiers et bases de données : structures - traitement : opérations à effectuer - contrôle du système et sauvegarde : quand, comment Dans la phase 4, développement de système, on effectue les tâches de programmation et de test. On choisit un logiciel de développement et/ou un langage de programmation. La programmation sera découpée en modules indépendants. On utilise des données bidon (ou jeu d'essai). Chaque module est testé indépendamment. L'utilisation des données réelles ne sera effectuée que plus tard. Dans la phase 5, mise en œuvre, se déroulent les activités suivantes : formation, préparation des utilisateurs à l'utilisation du nouveau système, conversion de matériel, conversion de fichiers, conversion de système.
Merise/MCD
2
Merise propose un ensemble de formalismes et de règles destinées à modéliser de manière indépendante les données et les traitements du système d’information (SI) Les étapes : - le schéma directeur : politique d’organisation et d’automatisation du système d’information. - l’étude préalable par domaine: qui doit aboutir à une présentation générale du futur système de gestion (modèles des données et des traitements) en indiquant les principales novations par rapport au système actuel, les moyens matériels à mettre en œuvre, les bilans coût – avantage. Cette étude est réalisée en 4 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 qui a pour objectif de formaliser et hiérarchiser les orientations nouvelles en fonction des critiques formulées sur le système actuel et d’autre part des politiques et des objectifs de la direction générale. Cela revient à modéliser le futur système avec une vue pertinente de l'ensemble. - une phase d’organisation dont l’objectif est de définir le système futur au niveau 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. A cet effet un découpage en projets est effectué. - l’étude détaillée par projet qui 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 œuvre, 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… A 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é. - la réalisation dont l’objectif est l’obtention des programmes fonctionnant sur un jeu d’essais approuvés par les utilisateurs. - la mise en œuvre qui se traduit par un changement de responsabilité : 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. - la maintenance qui consiste à faire évoluer les applications en fonction des besoins des utilisateurs, de l’environnement et des progrès technologiques. Merise comprend plusieurs modèles : - MCC : Modèle Conceptuel de la Communication - MCD : Modèle Conceptuel des Données - MLD : Modèle Logique des Données - MPD : Modèle Physique des Données - MCT : Modèle Conceptuel des Traitements - MOT : Modèle Organisationnel des Traitements
LE MODELE CONCEPTUEL DE LA COMMUNICATION Acteur 1
Acteur 2
Doc1 Doc2
Act 11
Doc11 Act 13
Doc3
Act 12
Doc12
Acteur 3
En rectangle : l’organisation (ex : l’entreprise) Ellipse en pointillé : les acteurs externes (ex : client) Ellipse en continu : les acteurs internes (ex : service commercial) Doc1, Doc2, …. : noms des documents Flèche : sens de parcours des documents
Merise/MCD
3
LES DONNEES LE MODELE CONCEPTUEL DES DONNEES (utilisé pour représenter les données étudiées lors de l’analyse, et aussi pour représenter les données dans le futur SI)
1/ Définitions : Individu, Objet, Entité : ils ont une existence propre et sont composés de plusieurs propriétés. Ex : Etudiant, Client, Fournisseur. L'entité Etudiant est l'ensemble des noms, des adresses de tous les étudiants. (Une fiche Etudiant contient les noms, les adresses des étudiants, et autres informations concernant les étudiants) Propriété : c'est une information, une rubrique concernant un individu. Ex : Nom d'un étudiant, Adresse d'un étudiant Relation : permet une association entre un ou plusieurs individus. Ex : prêt = relation entre l'entité Livre et l'entité Etudiant Dans le centre de documentation de l'école, on prête un livre à un étudiant. A chaque prêt, il faut connaître l'occurrence de l'entité Livre et l'occurrence de l'entité Etudiant (quel livre a-t-on prêté à tel étudiant) Occurrence : c'est une réalisation ou un élément d'une entité ou d'une relation. Ex : Une occurrence de l’entité Etudiant : Rakoto Une Occurrence de l’entité Livre : Histoire de Madagascar Les occurrences de l’entité Etudiant : Rakoto, Rasoa, Randria, … Les occurrences de l’entité Livre : Histoire de Madagascar, Ilay Vohitry ny nofy, Computers, … 2/ Individu, Objet, Entité : Une entité est donc composée de plusieurs propriétés. Parmi ces propriétés, on choisira une pour servir d'identifiant. Un identifiant est une propriété qui permet d'identifier rapidement et facilement chaque élément d'un individu. Il est unique. (Parmi les rubriques de la fiche Etudiant : nom, adresse, numéro matricule,…. on en choisit une, pour permettre d'identifier rapidement chaque étudiant. Le numéro matricule est choisi, au lieu de nom car il peut exister des noms identiques) Fiche Etudiant (Entité Etudiant) Nom Adresse Rakoto Isotry, lot II Z 4 Rasoa Analakely, lot IVK 12 ……. ……. .…… .…… ……. …….
Numéro Matricule 100255 100256 ……. .…… …….
Propriétés Occurrence 1 Occurrence 2
On représente chaque entité par un rectangle avec son nom et son identifiant : ETUDIANT NUMERO MATRICULE
3/ Relation : Une relation lie deux ou plusieurs individus. Une relation peut aussi avoir des propriétés. La relation ne peut exister sans les individus. (Le mot ‘association’ est aussi parfois utilisé. La relation permet dans ce cas de lier l’association et l’entité) Elle est représentée par une ellipse, reliée aux individus LIVRE
ETUDIANT PRETER
Lorsqu'il n'y a pas de données créées, on dit que la relation est non porteuse de données. Dans le cas contraire, elle est porteuse de données. Elle possède alors des propriétés.
Merise/MCD
4
a ) non porteuse de données Si, dans le projet étudié, la relation n'engendre aucune donnée, les occurrences sont représentées de la manière suivante (schéma de ce qui se passe) : Histoire de Madagascar Ilay vohitry ny Nofy Ohabolana malagasy Computers
Rakoto Randria Rasoa
Les livres Histoire de Madagascar et Computers ont été prêtés à Rakoto Le livre Ilay Vohitry ny Nofy a été prêté à Randria Le livre Ohabolana Malagasy a été prêté à Rasoa Le schéma de la relation : ETUDIANT
LIVRE
PRETER
Lors des prêts, aucune donnée n'est enregistrée. b) porteuse de données On suppose maintenant que la donnée date de prêt est enregistrée lors d'un prêt. Le schéma de la relation : LIVRE
ETUDIANT
PRETER Date de prêt
Date de prêt est la donnée engendrée quand il y a un prêt. La relation Prêter est dite porteuse de données. Les occurrences : 01/02 Histoire de Madagascar Ilay vohitry ny Nofy Ohabolana malagasy Computers 01/02
Rakoto Randria Rasoa
09/02 08/02
Remarque : Mais on peut aussi raisonner de la manière suivante : Un calendrier est utilisé. A une date du calendrier peut correspondre un ou des prêts. A ce moment-là, la date de prêt n’est plus une donnée engendrée mais une entité ou entité composée de toutes les dates du calendrier (Voir relation n-aire). c ) relation binaire, relation n-aire La relation est dite binaire lorsqu'elle lie 2 individus Elle est dite n-aire lorsqu'elle lie 3 ou plusieurs individus .
LIVRE
PRETER
Exemple de relation n-aire :
CENTRE
ETUDIANT
Merise/MCD
5
Les occurrences (schéma de ce qui se passe) :
Histoire de Madagascar Ilay vohitry ny Nofy Ohabolana malagasy Computers
Rakoto Randria Rasoa
Centre d'Ouvrages Scientifiques Internationaux Centre d'Ouvrages Littéraires Centre d'Ouvrages de Civilisation d ) relation réflexive Il existe des relations entre des occurrences d'un même individu. Exemple pour la fiche Etudiants : Rakoto Rasoa …. …. Kolo Patrice
Kolo est le frère de Rasoa Le nom de la relation est : "est frère de" ou "est sœur de" selon le sens de la lecture
Il peut y avoir 2 ou plusieurs occurrences liées en même temps (Rasoa, Kolo et Patrice peuvent être frères et sœurs) Ce qui rend déjà la présentation un peu plus complexe :
Rakoto Rasoa …. …. Kolo Patrice
A ce moment-là, on aura : Rasoa est sœur de Kolo, Rasoa est sœur de Patrice, Kolo est frère de Patrice, Kolo est frère de Rasoa,. Patrice est frère de Kolo, etc
4/ Identifiant L'identifiant d'une entité est choisi parmi ses propriétés. Pour l'entité Livre, ce sera le Code du livre. Pour l'entité Etudiant, on l'a déjà mentionné, c'est le Numéro Matricule. Pour l’entité Date, ce sera la Date qui est aussi la seule propriété. Si on doit préciser l'identifiant d'une relation, il peut être composé des identifiants des individus liés. Mais on préfère préciser cet identifiant dans le MLD. A ce moment-là, on parlera de clé primaire. Le schéma des relations : LIVRE CODE
PRETER
DATE DATE
ETUDIANT N° MATR
Merise/MCD
6
Les occurrences :
Histoire de Madagascar Ilay vohitry ny Nofy Ohabolana malagasy Computers
Rakoto Randria Rasoa
01-02 . . 08-02 09-02 5/ Cardinalités Pour chaque couple Individu-Relation, on détermine le nombre minimum et le nombre maximum d’occurrences. L’ensemble de ces deux nombres est appelé cardinalité. Ex : LIVRE CODE
PRETER
PRETER
DATE DATE
PRETER
ETUDIANT N° MATR
On répond à la question : Combien de fois on a prêté chaque livre ? (On prend un livre qcq, combien de fois on l’a prêté) Réponse : Au minimum 0 fois, au maximum n fois. Cardinalité : 0,n On répond à la question : Combien de fois y a-t-il un prêt à chaque date du calendrier ? (On prend une date qcq, combien de fois on a prêté à cette date) Réponse : Au minimum 0 fois, au maximum n fois. Cardinalité : 0,n On répond à la question : Combien de fois on a accordé un prêt à un étudiant ? (On prend un étudiant qcq, combien de fois on a prêté à cet étudiant) Réponse : Au minimum 0 fois, au maximum n fois. Cardinalité : 0,n
On voit que les cardinalités de chaque couple Individu-Relation sont toutes (0,n) dans notre exemple. Les cardinalités les plus courantes sont : (0,n) – (0,1) – (1,n) – (1,1). Mais on peut avoir des cardinalités particulières précises comme : (5, 22) – (1, 6) – ….. Le schéma des relations avec les cardinalités : LIVRE
( 0,n )
PRETER
ETUDIANT
( 0,n ) N° MATR
CODE
( 0,n ) DATE DATE
Représentation graphique de la cardinalité (0,n) : A un moment donné, si on désire connaître quels livres ont été empruntés et combien de fois, on peut répondre par le schéma suivant :
Merise/MCD
7
Histoire de Madagascar Ilay vohitry ny nofy Législation Ohabolana malagasy L’audit en entreprise Computers
Le nombre de prêts varie de 0 à n pour chaque livre. Il n’y a eu aucun (0) prêt pour le livre Législation. Il y a eu 3 prêts pour le livre Computers, 2 pour Histoire de Mcar
6/ Règles de vérification Après avoir conçu un modèle, il faut vérifier les règles suivantes : Règle 1 : Non-redondance. Une propriété ne peut appartenir qu’à une entité ou une relation. Elle ne peut pas être présente plus d’une fois dans le modèle. Règle 2 : Unique valeur. Une propriété d’une entité ou d’une relation ne peut prendre qu’une seule valeur pour chaque occurrence. Ex : Si les propriétés Matricule, Adresse appartiennent à l’entité Etudiant ; alors un matricule ne peut jamais avoir 2 adresses en même temps. Règle 3 : Occurrence unique d’une relation. Représentation schématique de ce qui se passe : FAUX : 2 occurrences de relation identiques Histoire de Madagascar
Rakoto
Rakoto a emprunté Histoire de Madagascar 2 fois. CORRECT : 1 seule occurrence de relation Histoire de Madagascar
Rakoto
01/02 15/02 Rakoto a emprunté Histoire de Madagascar le 01/02, 1 fois. Il a encore emprunté Histoire de Madagascar le 15/02, 1 fois. Règle 4 : Si la branche qui lie une relation à une entité peut être optionnelle, il faut l’éclater en 2 ou plusieurs relations. La relation Prendre peut être interprétée de 2 manières : consulter sur place (la date FAUX : n’est pas alors nécessaire) ou emprunter (la date est nécessaire). La date est donc optionnelle. LIVRE
PRENDRE
ETUDIANT N° MATRICULE
CODE DATE DATE
CORRECT :
La relation Prendre est éclatée en Consulter et Prêter CONSULTER
LIVRE CODE
ETUDIANT N° MATRICULE
PRETER
DATE DATE
Merise/MCD
8
Règle 5 : Propriétés dépendant de l’identifiant. Chaque propriété d’une entité doit dépendre directement de l’identifiant de cet individu. Si ce n’est pas le cas (la propriété peut aussi dépendre de l’autre entité en relation), cette propriété doit appartenir à la relation, mais pas à l’individu. Ex : On vend certains livres aux étudiants ETUDIANT
LIVRE
ACHETER N° MATRICULE
CODE MONTANT
Le montant du livre peut, à première vue, dépendre du Code de l’entité Livre. Achaque Code peut correspondre son montant. Mais ce montant peut aussi dépendre du N° matricule de l’entité Etudiant (Quel est le montant déboursé par l’Etudiant ?) Le montant doit alors être inséré dans la relation Acheter. ETUDIANT
LIVRE
ACHETER N° MATRICULE
CODE MONTANT
Règle 6 : Entité cachée. Si une propriété dépend d’une entité , et d’une autre propriété de cette entité, il faut chercher un autre entité qui correspond à cette propriété. Ex : ETUDIANT N° MATRICULE Nom et Prénoms Adresse Etablissement Filière
La propriété Filière dépend du N° Matricule et aussi de l’Etablissement (ou bien la propriété Etablissement dépend de la Filière ?) La connaisance de la filière permet de préciser l’établissement. Filière et Etablissement sont donc des propriétés d’une autre entité
L’entité Etudiant est transformée comme suit : ETUDIANT N° MATRICULE Nom et Prénoms Adresse
FILIERE Code Filière Etablissement
Solution 1 ETUDIANT N° MATRICULE Nom et Prénoms Adresse
FILIERE Filière
ETABLISSEMENT Etablissement
Solution 2 Rq : Chercher ou créer les identifiants pour FILIERE et ETABLISSEMENT(Voir 8. Codes) 7. Etapes pour la construction d'un MCD : 1. 2. 3. 4. 5. 6. 7. 8.
Dresser la liste des données (dictionnaire des données) Rechercher les données qui ont la même signification mais de dénomination différente, les données qui se répètent, les données obtenues à partir d'autres données. Eliminer celles qui sont inutiles (polysèmes, synonymes) Rechercher les individus (entités) et leur identifiant Rattacher les propriétés aux entités Recenser les relations porteuses de données et rattacher les propriétés correspondantes Recenser les relations non porteuses de données Etudier les cardinalités Vérifier que les règles de vérification sont respectées
Merise/MCD
8. Codes Les codes sont utilisés pour représenter des désignations trop longues par une suite de caractères, avec des règles logiques de construction. Ex : Le nom d'une marchandise est représenté par la référence marchandise (Papier vélin) (010151) Le nom d'un étudiant est représenté par son numéro matricule (Rakotonandrasana) (14202) Les noms des clients sont représentés par les références client (Sté AB ) (226) a) Avantages de l'utilisation de codes -
Nombre réduit de caractères Ecriture sans ambiguïté (majuscule, minuscule, …) Logique de construction préétablie (Chaque caractère a une signification bien précise) Traitement par l'ordinateur rendu facile Souplesse de la mise à jour des codes Le code peut facilement jouer le rôle d'identifiant Le code est utilisé dans les zones de liste (liste de choix)
b) A quel moment doit-on décider d'adopter des codes
c)
-
Avant l'informatisation des données Chaque entité doit avoir son identifiant qui est un code dans la plupart des cas (numéro matricule, référence marchandise, …). Si l'identifiant d'une entité n'est pas un code, on peut le créer.
-
Lorsqu'on décide de remplacer d'anciens codes Pour diverses raisons, on peut décider de remplacer les codes existants. Les nouveaux codes créés doivent pouvoir représenter correctement les individus correspondants.
Principes de construction des codes c1) Caractères utilisés On préfère utiliser des chiffres plutôt que des lettres. Eviter les caractères spéciaux. Le nombre des caractères n'est pas limité. c2) Signification de chaque caractère On suppose qu'on va créer des codes pour représenter l'entité marchandises. Dans l'entreprise, il existe différents types de marchandises : papier vélin, ciment, chaise, … Classons les marchandises par type : - fourniture de bureau : papier vélin, cahier, stylo, … - matériel de bureau : chaise, table, armoire, … - matériaux de construction et outillage : ciment, marteau, scie, … Attribuons un chiffre à chaque type: 1 : fourniture de bureau 2 : matériel de bureau 3 : matériaux de construction et outillage Attribuons un autre chiffre à chacun des articles - fourniture de bureau : 11 papier vélin, 12 cahier, 13 stylo, … etc. Ce principe suppose qu'il y au plus 9 articles classés dans "fourniture de bureau" (codifiés 11, 12, 13, 14, 15,…19), car on ne peut plus attribuer le code 20 pour le dixième article. S'il existe donc plus de 9 articles, on préfère utiliser 2 positions : - fourniture de bureau : 101 papier vélin, 102 cahier, 103 stylo, … Ce principe suppose qu'il y au plus 99 articles classés dans "fourniture de bureau" (codifiés 11, 12, 13, 14, 15,…99) c3) Codes détaillés
9
Merise/MCD
10
Afin de pouvoir traiter les données correctement, utiliser d'autres chiffres afin de préciser les caractéristiques de chaque article : 1 03 01 : stylo bleu 1 03 02 : stylo rouge De cette manière, si par exemple on désire faire le total des stylos bleus vendus, on fera le total des quantités des articles ayant comme code 1 03 01 Si on désire faire le total des stylos toutes couleurs confondues, on fera le total des quantités des articles ayant un code commençant par 1 03 Si on désire faire le total des montants des "fourniture de bureau ", on fera le total des montants des articles ayant un code commençant par 1 c4) Articles non classés ailleurs Quelquefois, l'opérateur de saisie est embarrassé lorsqu'il doit attribuer un code à un article qui ne figure nulle part. Ex : stylo violet qui n'a pas son propre code Deux possibilités sont offertes : - ou bien le programmeur a prévu qu'on peut insérer un nouveau code dans le fichier ou la table marchandise - ou bien le programmeur a inséré des codes destinés à recevoir les marchandises non classées ailleurs Dans le premier cas, le code du stylo violet peut être 1 03 03 Ex : 1 03 01 : stylo bleu 1 03 02 : stylo rouge 1 03 03 : stylo violet Dans le deuxième cas, on attribue le chiffre 9 à ces marchandises (1 position), ou 90 jusqu'au 99 (2 positions) Ex : 1 03 01 : stylo bleu ou 1 3 1 : stylo bleu 1 03 02 : stylo rouge ou 1 3 2 : stylo rouge 1 03 90 : stylo autres couleurs ou 1 3 9 : stylo autres couleurs c5) Utilisation des codes existants On peut utiliser des codes existants, ou en créer. Ex : code postal (Madagascar), code communes (Madagascar), code pays (international), code douanier des marchandises (international), code CITI (international), … On peut adapter ces codes (ajout, modification) pour le besoin de l'entreprise