M.E.D.A.L.
M.E.D.A.L.
Module d’Enseignement à Distance
Module d’Enseignement à Distance
pour l’Architecture Logicielle
pour l’Architecture Logicielle
IUP-MIAGE 1ère année
MEDAL
MEDAL
Cours magistral
Contexte
Exercices
Corrigés
des
Références
Evaluation
M.E.D.A.L. M.E.D.A.L.comportements M.E.D.A.L. M.E.D.A.L.
Cours magistral
- le modèle E-A-P
informations fonctions- le modèle relationnel
1) Introduction2) Les différents modèles
3) Modèle Conceptuel des Traitements 4) Modèle Organisationnel des Traitements 5) Conclusion
PLAN
M.E.D.A.L.
M.E.D.A.L.
Cours magistral
5) Conclusion
PLAN
4) Modèle Organisationnel des Traitements
2) Les différents modèles
4.1) Création 4.2) Adaptations 3.1) Notions de base 3.2) Extensions 3.3) Dynamique des MCT 3.4) Normalisation 3.5) Utilisation 3.6) Erreurs à éviter 2.1) Graphes de flux
2.2) Diagrammes des flux 2.3) Modèle des flux
2.4) Diagrammes divers 2.5) Synthèse
1) Introduction
5) Conclusion 3) Modèle Conceptuel des Traitements
0) Rappels
M.E.D.A.L.
M.E.D.A.L.
• La méthode Merise comporte deux « volets », un premier concernant la structuration des données et un second
abordant la description des traitements. Il s’agit ici du second.
• « modèles » anciens,
• assez peu utilisés… quoique utiles !
non normalisés, hélas !
non normalisés, hélas !
- un grand flou sur les notations,
- un grand flou sur les notations,
- une certaine cacophonie dans les appellations.
- une certaine cacophonie dans les appellations.
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Comme dans tout langage, celui qui est utilisé pour décrire les modèles conceptuels des traitements respecte des règles,
des normes.
Celles-ci sont au nombre de onze : - six pour les synchronisations,
- deux pour les règles d’émission,
3) Modèle Conceptuel des Traitements
3.4) Normalisation M.E.D.A.L. M.E.D.A.L. Lorsqu’une synchronisation compte n (avec n ≥ 2) événements, la proposition logique nepeut être vraie du seul fait de l’arrivée d’un et
d’un seul événement.
TRES RAREMENT VERIFIEE
synchronisation synchronisation a OPERXY b S1 : a ou b S1 R1
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Lorsqu’une synchronisation compte n (avec n ≥ 2) événements,
la proposition logique ne peut pas être toujours fausse.
synchronisation synchronisation [5] OPERXY 10 R2
La participation d’un événement à une synchronisation est toujours
inférieure à la capacité de R3
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Tout événement contribuant à une synchronisation avec une durée limite doit nécessairement contribuer à une autre synchronisation, pour qu’il puisse être consommé au delà de la
durée limite. synchronisation synchronisation OPERXY R4 OPERYZ [DL = 1 jour]
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Une synchronisation ne peut avoir qu’un seul événement contributif avec une durée limite de participation égale à 0.
synchronisation synchronisation R5 [DL = 0] [DL = 0] Un, ça va ; Un, ça va ; deux, bonjour deux, bonjour les dégâts ! les dégâts !
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Les conditions locales ne peuvent porter que sur des propriétés appartenant au message associé à l’un des événements
contributifs, à l’exclusion de toute autre donnée mémorisée. synchronisation
synchronisation
R6
Si les participations des événements sont toutes égales à 1, ces conditions portent sur des comparaisons entre propriétés
associées, chacune, à un événement différent.
Si l’une des participations est supérieure à 1, les conditions pourront impliquer plusieurs occurrences d’un même type
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
La cardinalité d’un événement en sortie est nécessairement inférieure ou égale à la capacité de l’événement. émission émission R7 OPERXY C1 C2 C3 10
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
L’expression booléenne fournie par la disjonction de
toutes les règles d’émission d’une opération doit nécessairement être vraie.
émission émission R8 OPERXY C1 C2 C3 E1 E2 E3 [5] 10 C1 et C2 et C3 = 1
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Toute propriété véhiculée par un message associé à un événement doit appartenir au
modèle externe.
émission
émission
R9
Tout événement en sortie d’une opération doit R10
Toute combinaison d’événements rendant
déclenchable une synchronisation doit
constituer un modèle externe valide en mise à jour pour les actions élémentaires de
R11
C’est quoi, un « modèle externe » ?
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un modèle externemodèle externe (ME), dans la méthode Merise, c’est un morceau du MCD qui correspond à une vue du système d’information. A chaque modèle externe correspond un traitement précis. Ce sont les données du MCD qui sont
impliquées dans le traitement.
MCD
ME n° 1
ME n° 2 ME n° 3
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Il y a une autre règle à vérifier : un MCT doit être bien formé pour tous les états initiaux prévisibles. Il n’est pas nécessaire
qu’il soit déterministe ; il pourra être parallèle.
C’est quoi, ce
C’est quoi, ce
Ce sont des propriétés
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un MCT est bien formébien formé pour un état initial E0 si et seulement si :
- il est borné, vivant et ré-initialisable ;
- il existe un événement Er défini comme suit :
- Er ne contribue qu’à une seule synchronisation S0 ; - Er n’est le résultat que d’une seule opération Of ; - Er n’est marqué qu’à l’état initial E0.
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un MCT est bornéborné à partir d’un état initial E0 si et seulement si la capacité maximale des différents événements n’est jamais dépassée, après un nombre quelconque d’activations à partir de
E0.
Cette notion de bornitude diffère légèrement de celle en usage dans les réseaux de PETRI. Il y a en effet autant de bornes que
3) Modèle Conceptuel des Traitements
3.4) Normalisation M.E.D.A.L. M.E.D.A.L. MCT non borné MCT non borné3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un MCT est vivantvivant pour un état initial E0 si et seulement si, pour toute synchronisation S et tout état E obtenu à partir de E0, il est possible d’activer S dans une séquence d’activation à partir
de E.
3) Modèle Conceptuel des Traitements
3.4) Normalisation M.E.D.A.L. M.E.D.A.L. MCT non vivant MCT non vivant OP1 a b R1 R2 a b S1 S3 : a et b E1 E2 E3 E4 E5 E0 = [1, 1, 0, 0, 0] OP2 S2 OP3 OP4 S4 : a et b3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un MCT est ré-initialisableré-initialisable pour un état initial E0 si et
seulement si, pour tout état E obtenu à partir de E0, il existe une séquence d’activation depuis E qui « ramène » à E0.
3) Modèle Conceptuel des Traitements
3.4) Normalisation M.E.D.A.L. M.E.D.A.L. MCT non MCT non ré-initialisable initialisable OP1 a b c a b S1 S3 : a et b et c E1 E2 E3 E4 E5 OP2 S2 OP3 OP4 S4 : a et b3) Modèle Conceptuel des Traitements
3.4) Normalisation M.E.D.A.L. M.E.D.A.L. MCT MCT ré-initialisable initialisable OP1 a b c a b S1 S3 : a et b et c E1 E2 E3 E4 E5 OP2 S2 OP3 OP4 S4 : a et b3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un MCT est déterministedéterministe si et seulement si tous les conflits sont résolus.
OPERXY OPERYZ
S1 S2
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Un MCT est parallèleparallèle s’il existe un état E, obtenu à partir de l’état initial E0, tel que deux synchronisations au moins sont
3) Modèle Conceptuel des Traitements
3.4) Normalisation
M.E.D.A.L.
M.E.D.A.L.
Tout ceci repose sur la notion d’étatétat (une distribution de jetons dans les événements) :
a OPERXY E1 E2 E3 b c • • • • • • •• {5, 2, 0…} un marquage RdP
3) Modèle Conceptuel des Traitements
3.4) Normalisation M.E.D.A.L. M.E.D.A.L. [1, 1, 0, 0, 0] OP1 a b R1 R2 a b S1 S3 : a et b E1 E2 E3 E4 E5 E0 = [1, 1, 0, 0, 0] OP2 S2 OP3 OP4 S4 : a et b [0, 1, 1, 0, 0] [0, 1, 0, 1, 0] [1, 0, 0, 0, 1] [0, 0, 0, 1, 1] OP1 OP2 R1 R2 OP1 R2 R1 OP2 [0, 0, 1, 0, 1] OP2 [1, 0, 0, 0, 0] OP3 OP1 [0, 1, 0, 0, 0] OP43) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
La définition des modèles conceptuels des traitements s’effectue en deux étapes :
1) il y a d’abord ordonnancement des différentes fonctions composant l’application ;
2) une fois le graphe obtenu, les éléments spécifiques (événements, synchro…) sont incorporés.
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Le point de départ est le graphe d’enchaînement des opérations :
OP1 OP2
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Chaque opération est ensuite reprise et modélisée en utilisant la notation adéquate :
OP1 OP2
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Les conditions d’émission sont ensuite ajoutées :
OP1 OP2
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Avant-dernière transformation, les événements sont mis en place, y compris ceux, externes, qui ne figurent pas dans le
graphe :
OP1 OP2
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Avant-dernière transformation, les événements sont mis en place, y compris ceux, externes, qui ne figurent pas dans le
graphe :
OP1 OP2
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
La dernière opération consiste à ajouter les fonctions de synchronisation aux bons « endroits » :
OP1 OP2
OP3 OP4
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Tout découle donc du graphe d’enchaînement des opérations. Si celui-ci est faux, le MCT obtenu par traduction sera également
faux. S’il est correct, le MCT résultat sera correct.
Il ne faut donc pas « rater » le graphe. Sa définition nécessite une analyse minutieuses du fonctionnement du service, de
l’organisation et de l’entreprise.
Il y a cependant deux façons de procéder pour définir ce graphe, une individuelleindividuelle et une globaleglobale.
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Approche individuelle : on ne s’occupe que d’UNE occurrence et on décrit sa vie et les opérations subies par elle.
Approche globale : on traite TOUTES les occurrences en même temps et on décrit les opérations à effectuer sur cet ensemble.
Quelle que soit l’approche
Quelle que soit l’approche
choisie, il faut s’y tenir.
choisie, il faut s’y tenir.
Les liens de causalité correspondent aux
enchaînements, la cohérence globale étant garantie grâce aux
Les liens de causalité sont mémorisés dans les
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Contexte : Gestion des personnes adhérentes d’une bibliothèque, comprenant quatre opérations :
op1 Inscrire une personne
Ranger le chèque de caution
op2 Enregistrer le changement d’adresse op3 Enregistrer la demande d’annulation
Consulter l’état des emprunts en cours op4 Annuler l’inscription
3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
Ces opérations peuvent être structurées comme suit :
INSCRIPTIONS MODIFICATIONS ANNULATIONS Zone 1 Zone 2 Zone 3 op. 1 op. 2 op. 3, 4
Demandes inscriptions
Inscrire une personne Ranger chèque de caution
Demandes changements Changements adresses enregistrés Demandes radiations S2 : (a oux b) et c CL2 Inscriptions enregistrées a b a 1 : Inscrire personne toujours 2 : Enregistrer change. toujours Quotas atteints c Place Adhérents bloqués Place Adhérents "normaux" Place Pré-Adhérents
3) Modèle Conceptuel
des Traitements
3.5) Utilisation M.E.D.A.L. M.E.D.A.L. approche approche individuelle individuelle (partie I) (partie I)3) Modèle Conceptuel
des Traitements
3.5) Utilisation M.E.D.A.L. M.E.D.A.L. approche approche individuelle individuelle (partie II) (partie II)C1 : plus d'emprunts en cours
Enregistrer demande annulation Consulter état emprunts en cours
Demandes radiations Annulations à confirmer Plus d'emprunts S1 : a oux b Inscriptions enregistrées a b a c 3 : Enregistrer demande non C1 C1 4 : Annuler inscription toujours Quotas atteints b S2 : (a oux b) et c CL2 Annulations en cours Place Adhérents bloqués Place Post-Adhérents encore emprunteurs Place Adhérents "normaux" Place Post-Adhérents
3) Modèle Conceptuel des Traitements
3.5) Utilisation M.E.D.A.L. M.E.D.A.L. approche approche globale globale (partie I) (partie I) Demandes inscriptions Inscriptions enregistrées 1 : Inscrire personnes toujours Demandes changements Changements adresses enregistrés 2 : Enregistrer change. toujours non C1 C1 a Annulations en cours Annulations à confirmer Plus d'empruntsAnnulations en cours
C1 : plus d'emprunts en cours
Enregistrer demandes annulation Consulter état emprunts en cours
Demandes radiations Annulations à confirmer Plus d'emprunts Annulations enregistrées S1 : a et b CL : a.no lecteur = b.no lecteur
4 : Annuler inscriptions toujours a b 3 : Enregistrer demandes non C1 C1
3) Modèle Conceptuel des Traitements
3.5) Utilisation M.E.D.A.L. M.E.D.A.L. approche approche globale globale (partie II) (partie II)
3) Modèle Conceptuel des Traitements
3.5) Utilisation M.E.D.A.L. M.E.D.A.L. approche approche globale globaleLa cohérence est assurée par une variable Etat-Personne qui prend cinq valeurs, une par statut (pré-adhérent, bloqué, normal,
post-adhérent, ancien). PERSONNE N° personne Nom Prénom Adresse
3) Modèle Conceptuel des Traitements
3.5) Utilisation M.E.D.A.L. M.E.D.A.L. Pré-condition Post-condition Opération S1 : a et b et c CL1 : a.nom = c.client E1 E2 E3 E4 C1 C2 C3 OPERATION3) Modèle Conceptuel des Traitements
3.5) Utilisation
M.E.D.A.L.
M.E.D.A.L.
- « complétion », en incorporant les éléments manquants, - normalisation du MCT,
- contrôle,
- documentation du MCT.
- constitution du graphe d’enchaînement, - traduction sous forme de MCT,
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L.
M.E.D.A.L.
Tous les niveaux (synchronisations, opérations…) sont concernés par défauts et erreurs.
- synchronisations fausses (selon logique des propositions), - synchronisations fausses (selon logique RdP),
- synchronisations fausses (non respect règles émission),
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse Demande
réassor. disponibleCatalogue
Détermination des commandes OP1 a b c S = a ou (b et c) ou b Toujours Commande OP4 OP6
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse Cette proposition est simplifiable en (a ou b).
Demande
réassor. disponibleCatalogue
Détermination des commandes OP1 a b S = a ou b Toujours Commande OP4
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse correcte
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse
Bon livraison client
Livraison réintégrée Facture client Facturation
A A
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse correcte
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse correcte Que se passe-t-il si la modification
n’est pas « acceptable » ?
Bon livraison client
Facturation A
A
Bon LivCli retourné
Retour A . B
B A
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse
Panne
enregistrée endommagéMatériel
Expédition de matériel OP1 c Pred = (a et a') ou (c et d) ou b R Matériel réparé transmis P N E Matériel de prêt expédié Matériel neuf renvoyé Matériel endommagé transmis Matériel réparé Ordre de destruction Ordre de réparation d a a' b
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse correcte On n’a plus besoin de l’accord du client !
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse S’il y a un jeton dans Panne, il sera
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse correcte Panne Etablissement devis OP1 P = (d et f) ou (a et c) ou (b et c) Contrat maintenance signé Devis Acceptation devis Délai de maintenance a Intervention OP2 a c Toujours Toujours d f b
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse L’événement R3 R5
Prélè-vement à faire Prélè-vement fait Toujours Réception patient Prélèvement e1 R5 R4 R3 R2 R1 (R5 ou R2)
Arrivée d'un patient
Demande enregistrée Jeu d'étiquettes Prélè-vement Demande prélèvement Prélèvement OP3 OP2 OP1 Répartition prélèvement
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Synchronisation Synchronisation fausse fausse correcte
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L.
M.E.D.A.L.
Opération vague
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Opération vague Opération vague A quoi correspondent J, J*…?
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L.
M.E.D.A.L.
Opération vague
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Opération vague Opération vague C’est quoi la location ?
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L.
M.E.D.A.L.
Opération fausse
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Opération fausse Opération fausse Le calcul ne devrait pas se
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L.
M.E.D.A.L.
Opération fausse
Opération fausse
correcte Pas disponible
Vérifier disponibilité Demande de location
Location
impossible disponibleArticle
Traitement disponibilité
Calculer Valeur Actuelle Nette (VAN)
Demande Traitement disponibilité suite
-VAN <= 30 KF-VAN > 30 KF Article disponible
3) Modèle Conceptuel des Traitements
3.6) Erreurs les plus fréquentes
M.E.D.A.L. M.E.D.A.L. Opération fausse Opération fausse correcte Pas disponible Demande de location Location
impossible de cautionDemande
Demande accord location Traitement disponibilité
Disponible
et VAN <= 30 KFet VAN > 30 KFDisponible
Vérifier disponibilité
si <article pas disponible> alors location impossible
--sinon
Calculer Valeur Actuelle Nette (VAN) si VAN <= 30 KF alors
demande de caution --sinon
demande accord location --finsi
finsi
Opération : Traitement disponibilité
M.E.D.A.L.
M.E.D.A.L.
A suivre :
- prise en compte du temps, du lieu, - nature des opérations,
- modèle organisationnel des traitements (MOT), - passage MCT --> MOT,
- ...
Bibliographie (sommaire)
M.E.D.A.L. M.E.D.A.L. Pour compléter la formation ...la référence :-)
• P. ANDRE, A. VAILLY, « Conception des systèmes d’information ;
Panorama des méthodes et des techniques », Editions Ellipses, janvier 2001, ISBN 2-7298-0479-X
• H. TARDIEU, A. ROCHFELD et R. COLETTI, « La méthode Merise, tome 1 : principes et outils », Editions d’Organisation, 1991, ISBN 2-7081-1106-X