Plan
Système d’information : Généralités
Présentation de la méthode Merise
Modèles de conception
Typologie des Systèmes d’Information
ERP : Progiciel de Gestion Intégré
Annexes
Système d’information: Généralités
Approche systémique du SI
Fonctionnalités d’un SI
Besoin en méthode de développement de SI
Panorama des méthodes
Approche systémique du SI
Univers de Discours (UdD): ensemble des choses et des
événements auxquels l’Entreprise fait référence dans son
activité
Le Système d’Information Naturel (SIN) est l’ensemble des
objets de l’UdD
Le Système d’Information Artificiel (SIA) est une
représentation automatique du SIN
Conception
SIN SIA
Validation
Fonctionnalités d’un SI (1)
Système ?
Information
Système d’Information ?
4 fonctionnalités majeures :
Collecter l’Information
Stocker l’Information
Traiter l’Information
Gérer l’Information
Fonctionnalités d’un SI (2)
Positionnement du SI dans l’Entreprise
Système de
Pilotage
Système
d’information
Flux Système de Flux
entrants Production sortants
Environnement
Panorama des méthodes
Définition: 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
Traitements
Événements
Plan
Système d’information : Généralités
Présentation de la méthode Merise
Modèles de conception
Typologie des Systèmes d’Information
ERP : Progiciel de Gestion Intégré
Annexes
Présentation de la méthode Merise
Principes de la méthode Merise
Cycles du Système d’Information
Cycle de vie
Cycle de décision
Cycle d’abstraction
Séparation des données et des traitements
Principes de la méthode Merise
Deux principes majeurs :
Modélisation par cycles d’abstraction
Séparation des Données et des Traitements
Cycles du Système d’Information
Trois cycles majeurs sont identifiés pour un SI
Cycle d’Abstraction
Analyse
Conception
Mise en œuvre
Maintenance Cycle de Décision
Mort
(Obsolescence)
-Découpage en domaines
-Orientations majeures (gestion,
Cycle de Vie organisation, technologie)
-Planification du développement
-Procédures manuelles, automatisées
-Procédures temps-réel, différé
-Postes de travail
-Règles de gestion
-Etats, écrans
Cycles d’abstraction
3 niveaux d’abstraction:
Niveau conceptuel:
Choix de gestion
Sémantique de l’entreprise
Mots clés: pourquoi, comprendre
Niveau organisationnel
Définition des choix d’organisation
Définition des types de procédures (automatisés, manuelles, temps-réel)
Définition des types de ressources:
Profils des agents
Type de matériel
Type de communication
Mots clés: comment, où, qui, organiser
Niveau physique:
Choix techniques (matériel, software, etc.)
Choix humains
Mots clés: spécifier des ressources
Séparation des données et des
traitements
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
Niveaux Données Traitement
Conceptuel MCD MCT
Organisationnel MLD MOT
(Logique)
Physique MPD MPT
Plan
Système d’information : Généralités
Présentation de la méthode Merise
Modèles de conception
Typologie des Systèmes d’Information
ERP : Progiciel de Gestion Intégré
Annexes
Modèles de conception
Modèle conceptuel de données (MCD)
Modèle conceptuel de traitements (MCT)
Modèle organisationnel de Traitements (MOT)
MCD / Présentation générale
Le SI est une représentation de l’univers de discours
Le MCD définit la structure d’accueil du SI (partie statique)
Le MCD se base sur
La classification des objets ayant un rôle dans le système
étudié (exemple: personnes, voitures, contrats, clients, etc.)
La classification des associations entre objets (exemple :
personne possède voiture, client signe contrat, etc.)
La description des classes d’objets:
Toute personne a un nom, un prénom, un âge, une profession
Toute voiture a un numéro, une couleur, une marque
La description des classes d’associations:
Ali possède la voiture n°1 depuis trois ans
MCD / Modèle Entité-Association(1)
Définitions
Entité (ou individu) :
Constitue l’image d’un objet du monde réel dans le SI
Est décrite par un ensemble de propriétés (ou attributs) qui la caractérisent
Association (ou relation) :
Permet de traduire des liaisons existant entre entités
Est caractérisé par une dimension: nombre des entités participant à sa réalisation
Formalisme graphique:
Personne Personne
Nom
Prénom
Personne Adresse
Posséder Posséder
Date acq
Voiture
Voiture
Voiture Matricule
Marque
couleur
MCD / Modèle Entité-Association(2)
Occurrences d’entité et d’association
Personne Personne Personne Personne
Moussa Karim Karim Nom
Ali Fatima Ali Prénom
Rabat Fès Casablanca ville
3 occurrences de l’entité Personne
Ali X
X Les misérables
Mohammed X
X Le pain nu
Omar X
3 occurrences de l’association « lire » :
(Ali, Les misérables)
(Ali, Le pain nu)
(Omar, Les misérables)
MCD / Modèle Entité-Association(3)
Une association peut être:
Réflexive (dimension = 1)
Binaire (dimension = 2)
N-aire (dimension = n)
Binaire
Lire
Personne Personne
posséder
Acheter
3-aire
Épouser
Personne
Réflexive
MCD / Modèle Entité-Association(4)
Identifiant d’une entité:
Pour distinguer les occurrences d’un même objet (entité), on le
dote d’un identifiant. Il permet de repérer d’une façon univoque
chacune des occurrences de cette entité.
On établit ainsi une correspondance biunivoque entre
l’ensemble des occurrences et l’ensemble des identifiants
possibles.
Personne Personne Personne Personne
E1 E2 E3 E4
Moussa Karim Karim Nom
Ali Fatima Ali Prénom
Rabat Fès Casablanca ville
3 occurrences de l’entité Personne
MCD / Modèle Entité-Association(5)
Identifiant d’une association :
L’identifiant d’une occurrence association est obtenu par
concaténation des identifiants des entités participants à cette
association. (l’ordre est indifférent pourvu qu’il soit fixe pour
l’association)
Personne Livre
E1 (E1, L1) L1
Moussa Les misérables
Ali
Rabat (E2, L1)
Personne Livre
E2 (E1, L2) L2
Karim Le pain nu
Fatima
Fès
MCD / Règles de validation sémantique (1)
Règle 1: Un attribut n’appartient qu’ à une seule entité
ou une seule association
Client Client
Numéro Num_Clt
Adresse Adr_Clt
fournisseur fournisseur
Numéro Num_Frs
Adresse Adr_Frs
MCD / Règles de validation sémantique (2)
Règle 2 : construction du dictionnaire des données
Lister les attributs par objet et par relation
Faire la chasse:
Aux synonymes (ex: Code Client et Numéro Client)
Aux polysémes (ex: Date de Commande et Date de
Livraison)
Documenter et commenter les différentes données :
Signification
Mode de coding
MCD / Règles de validation sémantique (3)
Règle 3: sur une entité ou une association, il ne peut y
avoir qu’une valeur prise par tout attribut.
Personne
Nom
Prénom
Personne
Personne Nom
Nom Prénom
Prénom Avoir
Nom Enfant
Prénom Enfant
Est père
Enfant
Nom Enfant
Prénom Enfant
Il faut faire la chasse aux objets cachés
MCD / Règles de validation sémantique (4)
Règle 4: toutes les propriétés d’une entité (ou d’une
association) doivent avoir un sens pour toutes les
occurrences de l’entité (ou de l’association).
Client
Nom
Client Prénom
Nom
Prénom
Raison sociale
Nbre employés est est
Particulier Client
Nom Raison Sociale
Prénom Nbre employés
Il ne faut confondre ce cas avec celui où la valeur d’un attribut n’est pas connue à un
Instant donné
MCD / Règles de validation sémantique (5)
Règle 5: Tout attribut doit dépendre uniquement et
totalement de l’identifiant.
Personne
Connaissant la valeur de #CIN, on connait à coup sûr
#CIN
Nom Celles de Nom et de Prénom
Prénom
MCD / Règles de validation sémantique (6)
Règle 6: il faut s’assurer que tous les attributs portés
par une association ont besoin de toutes les pattes
pour être définies.
Personne Livre
Lire
Date_début
Nbr_page
Personne Livre
Lire
Nbr_page
Date_début
MCD / Cardinalités d’une association (1)
Définition:
On appelle contrainte d’Intégrité toute contrainte que
l’on ajoute au modèle afin que celui-ci reflète le réel le
plus fidèlement possible
Deux types de contraintes:
Contraintes de cardinalité
Dépendance fonctionnelle (DF)
MCD / Cardinalités d’une association (1)
Cardinalités d’un association:
Les cardinalités définissent le nombre d’occurrences de
chaque entité intervenant dans une association
E1 E2
Cmin, Cmax Cmin, Cmax
Cmin = 0 : il existe au moins une occurrence qui ne participe pas
Cmin = 1 : toute occurrence participe au moins une fois
Cmax = 1 : si une occurrence participe, elle le fait au plus une fois
Cmax = n : il peut exister une occurrence qui participe plusieurs fois
MCD / Cardinalités d’une association (2)
Personne Livre
?,? ?,?
Lire
Questions que l’on se pose :
Patte personne
Toute personne lit-elle au moins un livre ?
OUI Cmin= 1 , NON Cmin= 0
Toute personne lit-elle au plus un livre ?
OUI Cmax= 1, NON Cmax= n
Patte livre
Tout livre est-il lu par au moins une personne ?
OUI Cmin= 1, NON Cmin= 0
Tout livre est-il lu par au plus une personne ?
OUI Cmax= 1, NON Cmax= n
MCD / Cardinalités d’une association (3)
Cardinalités d’une association n-aire:
Règles
Les cardinalités doivent être homogènes
Chaque cardinalité, quelque soit l’entité auquel elle
correspond , doit pouvoir s’appliquer au reste de la sous-
collection de l’association.
Personne
#CIN
Nom
Isoler personne: Véhicule 0,n ; Batiment 0,n Prénom
Isoler batiment: Véhicule 1,n ; Personne 1,n
Isoler Véhicule: Personne 1,n ; Batiment 1,n 0, n
Garer
1, n 1, n
Batiment Voiture
#Batiment #Matricule
Adresse marque
MCD / Dépendance Fonctionnelle
Définition:
Dépendance fonctionnelle (DF) intra-entité (entre deux attributs de la même entité):
DF(p1,p2) : p1p2
À toute valeur de p1, on ne peut associer à tout instant qu’une et une seule valeur de p2
Si on connait la valeur de p1, on connait à coup sûr la valeur de p2
Ex: #client NomClient (la réciproque est fausse)
Dépendance fonctionnelle (DF) inter-entités (entre deux entités):
DF(E1,E2): E1 E2
À toute occurrence de E1, on ne peut associer à tout instant qu’une et une seule occurrence
de E2
Si on connait la valeur de #p11 (identifiant de E1), on connait à coup sûr la valeur de #p21
(identifiant de E2)
Client Commande
1,n Commander 1,1
#client #commande
(DF)
MCD / contrainte d’intégrité Fonctionnelle(1)
Définition:
Cas particulier de DF, une contrainte d’intégrité fonctionnelle est stable dans le
temps: une fois le lien établi entre deux occurrences, il ne peut être modifié
dans le temps.
Assuré Police Agent
1,1 1,n 1,n 1,1
CIF DF #Agent
#Assuré #Police
Une police d’assurance peut changer d’agent, alors qu’une fois établie,
cette assurance ne peut changer de propriétaire (assuré)
MCD / Démarche de construction
Élaborer les différentes données du système
Construire le graphe de dépendance fonctionnelles
Transformer chaque groupe sémantique en une entité
ou une association
Ajouter les différentes cardinalités
Exemple: MCD élaboré à partir d’un bon de commande
Graphe de dépendances Fonctionnelle
Exercice 1
Cas 1: MCD d’un livre d’exercice:
Liste de données:
Numéro d’exercice
Type d’exercice
Libelle du type d’exercice
Niveau de difficulté
Nom de l’auteur(un exercice peut être rédigé par plusieurs auteurs)
Durée de réalisation estimée (évaluée par type d’exercice et par
niveau de difficulté)
Enoncé résumé de l’exercice
Nombre de page de l’exercice
Exercice 2
Cas 2: MCD de classement de cassettes magnétophones:
Liste de données:
Numéro de cassette
Nom de l’œuvre enregistrée sur la cassette: il peut y avoir plusieurs
œuvres sur une cassette
Nom de l’artiste interprétant l’œuvre
Style de l’œuvre (classique, Andalous, Reggae)
Numéro de l’emplacement de l’œuvre sur la cassette
Sachant que:
Une cassette peut être vide
Un artiste peut interpréter une œuvre avec d’autres artistes: on veut
connaitre la composition du groupe
Une même œuvre peut être interprétée par des artistes différents
Une œuvre peut être un mélange
Modèles de conception
Modèle conceptuel de données (MCD)
Modèle conceptuel de traitements (MCT)
Modèle organisationnel de Traitements (MOT)
MCT / Définitions (1)
Découpage:
Il n’est pas possible d’appréhender l’Entreprise dans sa totalité, d’où
la nécessité de découper l’entreprise en domaines
Exemple: Administrer, vendre, Acheter, Produire
Le découpage est fonction des stratégies de l’entreprise
Un domaine a son propre système de pilotage
Les différents domaines partagent les données
Acteurs externes
Il s’agit ici des partenaires de l’entreprise
Exemple: Client, Fournisseur, Transporteur, Etat
Acteurs (processeurs):
Un processeur est un domaine ou un intervenant extérieur
Un processeur = « boite noire », émettrice et/ou réceptrice de flux
Différents types de flux : matière, personne, financier, information
On identifie chacun de ces flux entre les processeurs
MCT / Définitions (2)
Matrice de flux: outil de représentation des différents
échanges existant dans le système (inter-acteurs)
Département Vente Département Client
Production
Département Livraison
Vente Facture
Département Avis de production
Production
Client Commande
Paiement
Il faut se poser systématiquement la question pour chaque
case
MCT / Définitions (3)
Evénements
Un événement indique au système que quelque chose s’est passée
Evénement réel perception Compte-rendu prise en charge par le
processeur
Type d’événements: externes (stimulus), interne (compte rendu)
Processus:
Séquence d’activité ordonnancées effectuées par le domaine étudié suite à
la réception d’un événement externe
Le modèle conceptuel de traitement permet de représenter les différents
processus traversant un système ou un domaine étudié. Événement 1
Activité
Événement 2
Processus
Événement m
Événement m Événement m
MCT / Formalisme utilisé (1)
Opération conceptuelle:
Une opération conceptuelle est un ensemble d’actions conceptuellement
non-interruptibles, nécessaires à la prise en charge d’un événement
Type d’action élémentaire: insertion, suppression, consultation,
modification
Une opération peut provoquer l’émission d’un ou de plusieurs messages
(événements) internes
Règles (conditions) d’émission
Ce sont les conditions logique qui vont déterminer la production des
messages en sortie
Client existe Client n’existe pas
Ordre de Inscription
livraison client
MCT / Formalisme utilisé (2)
Synchronisation :
Une synchronisation est la liste des événements liés par
une condition logique, nécessaires pour que l’opération
se déclenche.
Certaines opérations peuvent être déclenchées à dates
fixes ( le temps devient un événement)
exemple
Ordre de Inscription
livraison client
A ou B
MCT / Formalisme utilisé (3)
Evénement en entrée
Règles de synchronisation
Données
mémorisées
R1 R2 … Rn
Evénement en sortie
MCT / Formalisme utilisé (4)
Nouvelle
Cmd
Délai
Vérification Client
Client n’existe
Client existe
pas
Traitement livraison Ordre de Inscription
livraison client
Stk Insuffisant Stk suffisant
Ordre de
réappro Livraison
MCT / Démarche de construction
Règles de construction:
Éliminer les événements intermédiaires entre opérations, sans
attente d’événements externes
Éviter la redondance des opérations : une même règle ne doit pas
apparaitre sur plusieurs opérations
Éviter les synchronisations inutiles, en veillant à la non redondance
des événements
Gérer les cas de conflits, lorsqu’un des événements est sollicité, au
même moment, par plusieurs synchronisations
Règles de de construction:
Identifier les acteurs internes et externes
Élaborer la liste des différents événements
Construire les graphes d’ordonnancement d’Evénement (GOE)
représentant chacun des processus à décrire
Transformer les GOE en MCT
MCT / Exercices (1)
Au début de chaque mois, les acheteurs envoient des
demandes de prix aux fournisseurs possibles, pour les
articles nouveaux ou d’approvisionnement exceptionnel.
Les fournisseurs envoient leurs offres, étudiées et
comparées par les acheteurs afin de faire un choix. Ils
établissent alors, un bon de commande à destination du
fournisseur retenu. Une copie est remise au magasin en
vue de la réception, une autre au service financier pour les
alerter d’un paiement futur aux fournisseurs. Quand la
livraison arrive, le magasinier contrôle la quantité et la
qualité de la marchandise. La livraison est renvoyée en bloc
si l’un de ces contrôles est négatif. Les contrôles
satisfaisants aboutissent à l’entrée en stock des articles. Le
magasin établit un bon à payer aux services financiers.
Quand ceux ci reçoivent la facture du fournisseur, ils
vérifient que le bon à payer lui correspond et émettent le
chèque de paiement.
MCT / Exercices (2)
Cas : Processus de gestion de carte bancaire :
Le demandeur désirant obtenir une carte bleue doit en faire la
demande auprès de la banque, à condition qu’il soit un
client de la banque.
Chaque jour, la banque transmet les demandes de cartes
bleues de ses clients au centre de gestion des cartes bleues.
Dès la réception de la carte en provenance du centre, la
banque adresse au client un avis de mise à disposition.
Si au bout de 2 mois la carte bleue n’est pas retirée, elle est
détruite automatiquement.
1- Faire le MCT de ce processus.
Les règles de passage du MCD au
MLD Relationnel
Traitement des entités
Toute entité est transformée en table
L’identifiant de l’entité devient la clé primaire de la
table
Les propriétés de l’entité deviennent des attributs de la
table.
Les règles de passage du MCD au
MLD Relationnel
Traitement des associations
Une association (*,n)~(*,1) provoque la migration
d’une clé étrangère (l’identifiant coté *,n) vers la table
de l’entité côté (*,1).
Une association (*,n)~(*,n) provoque la création d’une
table ayant comme clé primaire les identifiants des
deux entités
Si des propriétés étaient portées par l’association, elles migreraient dans la
nouvelle table dans le cas d’une association (*,n)~(*,n) ou dans la table
de l’entité côté (*,1).
Les règles de passage du MCD au
MLD Relationnel
Relation ternaire ou supérieure
Création d’une table ayant comme clé les identifiants de
toutes les entités en relation
Relation réflexive (sur la même entité)
(0,n)~(0,1) la clé de l’entité est dupliquée puis
renommée.
(*,n)~(*,n) Création d’une table de lien avec deux fois
l’identifiant de l’entité.
Les règles de passage du MCD au
MLD Relationnel
Remarques
Seules les cardinalités maximales permettent de
déterminer le nombre de tables nécessaires et le reports de
clés.
Les cardinalités minimales servent à exprimer certaines
contraintes d’intégrité mais ne modifient en aucun cas la
structure des tables de la base.
les cardinalités minimales ne servent qu’à préciser par la
suite si les colonnes peuvent prendre la valeur NULL ou
pas.