La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Master M1 MIAGE/SIC UE ISI1 : Ingénierie des Systèmes d’information

Présentations similaires


Présentation au sujet: "Master M1 MIAGE/SIC UE ISI1 : Ingénierie des Systèmes d’information"— Transcription de la présentation:

1 Master M1 MIAGE/SIC UE ISI1 : Ingénierie des Systèmes d’information
Domaine ‘Maths, Info & Applications’ , Domaine ‘Maths, Info & Applications’ , Mention ‘Informatique des Organisations’, Mention ‘Informatique des Organisations’, Spécialité ‘MIAGE’ formationmiage . univ - paris1. fr / 1

2 De la modélisation des objets à celle de leur comportement
I. Rappel sur la modélisation des objets II. De la modélisation des objets à celle de leur comportement III. L’ontologie causale IV. Le modèle causal V. Le sous-schéma dynamique et sa documentation VI. Expression dans les notations UML VII. Entraînement 2

3 I- Modélisation des objets
Objectif : Représenter certains aspects de la réalité d’intérêt pour l’organisation Monde de l’information Monde Réel {Colette skie vite, Elle porte des pantalons rouges Et un pull bleu} MIRRORING Représentation de l’objet réel Un objet réel 3

4 I- Modélisation des objets
Paradigme : « La réalité est faite d’objets différentiables par leurs propriétés et ayant entre eux (elles) des relations qui évoluent dans le temps » Le modèle traduit une vision de la réalité illustrée par ce dessin: elle est faite d’entités qui ont entre elles des relations de toutes sortes. L’impermanence est la règle. Le modèle E/R suggère de représenter les entités et relations réelles par les valeurs de leurs propriétés observables dans le monde réel. 4

5 I- Modélisation des objets
Approche Représenter les objets réels, leurs propriétés et leurs relations par leurs équivalents O&R dans le monde de l’information Monde de l’information Monde Réel Représenter les O&R réels par des objets informationnels en relation les uns avec les autres Leur associer les propriétés de leurs homologues réels Stocker les valeurs des propriétés dans un base de données Observer le monde réel, Identifier les objets & relations pertinentes, Selectionner les propriétés d’intérêt MIRRORING 5

6 Concevoir = Modéliser = Abstraire : gommer volontairement
I- Modélisation des objets Concevoir = Modéliser = Abstraire : gommer volontairement certains détails pour se concentrer sur les aspects considérés essentiels Moyen Univers du Discours Analyse Utilise Modèle Langage concevoir Modélise Schéma Base de données Réaliser 6

7 I- Modélisation des objets
Moyen Un modèle : un ensemble cohérent de concepts (Entity Type, Relationship Type and Attribute) et de contraintes (Key, Cardinality) assorti de notations graphiques (langage) Un processus de conceptualisation : élaboration d’un schéma par instanciation de concepts Possède RT Propriétaire ET Schéma: 1.1 Cardinalités Voiture NumMatricule ….. NumP Attribut Clé NomP ….. 7

8 I- Modélisation des objets
Moyen De nombreux modèles : Relationnel UML (diagramme de classes) MCD (Merise) NIAM Etc. Schéma Relationnel: Voiture (NumMatricule, .,. NumP) Propriétaire (NumP, NomP,.,) Propriétaire Possède Voiture NumMatricule …. NumP NomP Schéma UML 8

9 Acquisition de la connaissance de domaine & spécification du SI
I- Modélisation des objets Résultat Un schéma conceptuel qui projète la réalité dans le monde de l’information et sert à développer une base de données Conceptualisation Univers du Discours Acquisition de la connaissance de domaine & spécification du SI Validation Transformation Schema Conceptuel QUOI Mapping Correction COMMENT Schema Interne 9

10 Propriétés: coquette, aime les bijoux, porte un chignon, solitaire
I- Modélisation des objets La représentation conceptuelle de la réalité permet le développement de SI qui apportent la connaissance de l’état des objets à un instant donné » Objet : ‘barbamam’ Propriétés: coquette, aime les bijoux, porte un chignon, solitaire J'observe Humain style: /coquet,68ard, ../ coiffure: /chignon, rasé./ bijoux: booléen lié à je modélise Etattoday : barbamam.style = ‘coquette’ ^ barbamam.bijoux= ‘beaucoup’ ^ barbamam.coiffure = ‘chignon’ ^ barbamam.statut = ‘solitaire’ J'instancie Le modèle traduit une vision de la réalité illustrée par ce dessin: elle est faite d’entités qui ont entre elles des relations de toutes sortes. L’impermanence est la règle. Le modèle E/R suggère de représenter les entités et relations réelles par les valeurs de leurs propriétés observables dans le monde réel. Ex1 10

11 Exercice 1 Représenter les faits suivants par un schéma E/R
un schéma relationnel & UML diagramme de classes Le schéma E/R ci-dessous définit un avion par ses attributs propres, sa relation avec les hangars de stationnement et ses passages successifs dans les ateliers de réparation. Décrire l’état de l’avion 232 par un ensemble de valeurs conformes au schéma précédent. Donner le schéma de relation correspondant et répondre à la même question. Donner le schéma de classes UML et répondre à la même question. Commentez les trois exemples. En déduire votre définition de l’état d’un objet dans le cas où il est (a) instance d’une ET, (b) instance d’une relation et (c) une instance de classe. 11

12 II- De la modélisation des objets à celle de leur comportement
« La réalité change sous l’impulsion d’événements qui aboutissent à des changements d’état d’objets » Barbapapa et barbamaman tombent amoureux !!!! Objet : ‘barbamam’ Propriétés: coquette, aime les bijoux, porte un chignon, amoureuse de barbapapa Etattoday : barbaman.style = ‘coquette’ ^ barbamam.bijoux= ‘beaucoup’ ^ barbamam.coiffure = ‘chignon’ ^ barbamam.statut = ‘amoureuse’ ^ barbamam.lié-à = ‘barbapapa’ Le modèle traduit une vision de la réalité illustrée par ce dessin: elle est faite d’entités qui ont entre elles des relations de toutes sortes. L’impermanence est la règle. Le modèle E/R suggère de représenter les entités et relations réelles par les valeurs de leurs propriétés observables dans le monde réel. 12

13 Les deux facettes statique et dynamique des objets sont indissociables
II- De la modélisation des objets à celle de leur comportement Les deux facettes statique et dynamique des objets sont indissociables Objets Ont une dimension statique Se Traduit Structure État Objets Et une dimension dynamique Se Traduit Comportement Changement d ’état 13

14 III- Ontologie Causale
Le comportement est modélisé par l'interaction causale des objets, événements et opérations Les opérations changent l ’état des objets MODIFIE OBJET CONSTATE Les changements d ’états peuvent être événementiels Objet OPERATION Action Les événements déclenchent les opérations DECLENCHE Le modèle insiste sur la dépendance entre les trois concepts. Les relations sont nommées par des verbes qui qualifient les associations entre concepts. C’est parce que je repeins la voiture de toto qu’elle change de couleur. Constater que la voiture vient d’être emboutie (constater un changement d’état) permet d’identifier l’événement survenu. Faire réparer la voiture est une opération conséquente (déclenchée par) de l’événement d’accident. EVENEMENT Fait, stimulus 14

15 L’ontologie insiste sur la dépendance entre les trois éléments
III- Ontologie Causale L’ontologie insiste sur la dépendance entre les trois éléments Exemple : C ’est parce que je repeins la voiture de toto qu ’elle change de couleur. Constater que la voiture vient d ’être emboutie (constater un changement d ’état) permet d ’identifier l ’événement survenu. Faire réparer sa voiture est une opération conséquente (déclenchée par) de l ’événement d ’accident Ex2 15

16 Exercice 2 Ontologie : objet, événement, opération
Donner un exemple pris dans la réalité quotidienne de chacun des 3 concepts et de chacune des 3 relations entre concepts. 16

17 III- Ontologie fondatrice de Bunge et son méta-modèle UML
Event Environment Property Attribute 1 1 * perceived as has * * * Stable Thing Law State 1 composed of Unstable * 1 According to this ontology, the real world (environment) is made of things that (i) possess properties and (ii) can be composed of other things and can thus be qualified as composite. Properties can be intrinsic (e.g. height of a Person), mutual to several things (e.g. a person works for a company) or emergent which refers to the property of a composite thing but not possessed by individuals composing it. Properties are perceived by humans in terms of attributes, which can be represented as functions on time. For a given thing, the set of values of all its attribute function is called its state. Properties can change and this is expressed by a state change or event. However as not all states are possible and not all changes can occur, there exist rules governing possible states and state changes called state laws and transition laws respectively. A state is stable can suffer changes. An unstable state is a state that must change. A law is defined as a function from the set of states into itself. A transition law is a set of the possible unstable states into the set of states. Transition Lawful Unlawful 1 Bunge, M (1977) Treatise on Basic Philosophy: Ontology I. The Furniture of the World, Reidel. Bunge, M (1979) Treatise on Basic Philosophy: Ontology II. A World of Systems, Reidel. 17

18 Transposer l’ontologie du réel au monde des artéfacts informationnels
III- Ontologie Causale Transposer l’ontologie du réel au monde des artéfacts informationnels Monde Réel Monde des artéfacts Ontologie du Réel Ontologie du SI MIRRORING 18

19 III- Ontologie Causale
Modéliser les causes et les conséquences des changements d’état d’objets informationnels MODIFIE OBJET Objet informationnel représentant un objet réel Les opérations changent l ’état des objets OPERATION CONSTATE Opération sur des objets informationnels Les changements d ’états peuvent être événementiels Les événements déclenchent les opérations Le modèle insiste sur la dépendance entre les trois concepts. Les relations sont nommées par des verbes qui qualifient les associations entre concepts. C’est parce que je repeins la voiture de toto qu’elle change de couleur. Constater que la voiture vient d’être emboutie (constater un changement d’état) permet d’identifier l’événement survenu. Faire réparer la voiture est une opération conséquente (déclenchée par) de l’événement d’accident. EVENEMENT DECLENCHE Ex3 Stimulus initiateur de la transition d’état des objets d’information 19

20 Exercice 3 Ontologie : objet, événement, opération
Appliquer l’ontologie et sa causalité, cette fois dans le monde informationnel. 20

21 III- Ontologie Causale de Bunge adaptée au SI
Internal External Class 1..* characterized 1 Event Environment Property Attribute 1 1 1 * perceived as has * * * Stable Thing Law State 1 Unstable * System 0..* 1 A system comprises a set of things where each thing in the set is coupled to at least one other thing in the set. The environment is the set of things that do not belong to the system but act on or are acted upon by the system. To these concepts directly adapted from Bunge’s works, Wand and Weber added other ones that are derived from the former. Thus, a class is a set of things that possess a common property. Since an attribute represents a property that all things of a class possess, it specifies a property in general of this class. In the simple sales accounting system described by Wand and Weber in [16]. The attribute ‘unit selling price’ representing a property that all product items possess, specifies a property in general of the product items class. However, the specific unit selling price of item C123 (e.g. 0,87€) is a property in particular of that thing [17]. A thing is an input of a system if it is acted upon by a thing belonging to the environment, whereas an output of a system acts on an environmental thing. An external event is a change of state where the reached state is an input. A change of state where the reached state is not an input is an internal event. [16] Wand Y, Weber R (1989) An ontological evaluation of systems analysis and design methods, in E.D. Falkenberg, P. Lindgreen (Eds), Information System Concepts: An In-depth Analysis, North-Holland, Amsterdam, pp79-107 [17] Rosemann M., Green P. (2002) Developing a meta model for the Bunge-Wand-Weber ontological constructs, Information Systems Journal, Vol 27, pp 75-91 Transition Lawful Unlawful 1 Input Output [Wand Y, Weber R (1989) An ontological evaluation of systems analysis and design methods, in E.D. Falkenberg, P. Lindgreen (Eds), Information System Concepts: An In-depth Analysis, North-Holland, Amsterdam, pp79-107 [Rosemann M., Green P. (2002) Developing a meta model for the Bunge-Wand-Weber ontological constructs, Information Systems Journal, Vol 27, pp 75-91 21

22 III- Ontologie Causale Illustration
1. Changement d ’état = résultat d ’opération Comptes créditeurs Le changement d ’état résulte de l ’exécution d ’une opération Le changement d’état du compte résulte de l ’opération A125 de débit opération :débiter A125 mon compte J’ai acheté un tableau Comptes débiteurs mon compte 22

23 III- Ontologie Causale Illustration
2. Événement = constatation d ’un changement d ’état Un changement d ’état particulier peut être un événement ‘ Mon compte est débiteur ’ est un événement qui résulte du constat que le compte a franchi la barre ‘ zéro ’ du solde 23

24 III- Ontologie Causale Illustration
3. Événement = déclencheur d’opération Tout événement provoque l ’exécution d ’opérations. Un événement est un stimulus. L ’événement ‘ le compte devient débiteur ’ déclenche l ’opération R258 24

25 III- Ontologie Causale: Illustration
La trilogie Objet, Opération, Événement permet d ’exprimer la causalité entre la source du changement (événement) et la conséquence (changement d ’état de l ’objet par exécution d ’opération) Etapes : a. L ’opération de débit b. provoque le changement d ’état de mon compte qui devient débiteur et, c. ce changement d ’état est un événement du type « le compte devient débiteur » Ex4 25

26 Exercice 4 (1) Représenter de manière graphique en vous inspirant
de l’ exemple du cours, les situations suivantes : la mise à jour du stock d’un produit suite à une livraison peut faire passer le stock en ‘rupture’, c’est à dire en dessous du seuil de réapprovisionnement. Le passage de la quantité en stock en dessous du seuil est un événement dit ‘rupture de stock’. La rupture de stock déclenche l’émission d’un ordre électronique de réapprovisionnement auprès du fournisseur du produit qui est archivé dans le SI. 26

27 Exercice 4 (2) Représenter de manière graphique en vous inspirant
de l’ exemple du cours, les situations suivantes : 72 heures avant le départ d’un vol international de retour, la réservation de siège est annulée si le client n’a pas confirmé sa réservation, à son arrivée à destination et au moins 72 heures avant le départ. L’agence qui a délivré le billet reçoit par une justification de l’annulation de la réservation qui est stockée dans le SI. 27

28 III- Ontologie Causale:
Typologie des événements A. Événement interne : Changement d’état des objets gérés dans le SI Rupture de stock Disponibilité d’un exemplaire de livre B. Événement temporel: Changement d’état lié à la flèche du temps Demain à 18h Tous les lundis C. Événement externe: Arrivée d’un stimulus externe décrit dans un message Arrivée d’une commande Arrivée d’une demande de réservation N.B. conforme à Bunge/WW qui considèrent que l’horloge est un objet du SI 28

29 III- Ontologie Causale:
Interaction Système/Environnement Les événements externes fonctionnent comme des stimuli qui activent les objets du SI. En retour, les réponses fournies par le SI génèrent des événements dans l’environnement. Environnement du SI Stimuli Réponses Système d’Information ‘vu comme une machine à états’ (messages de description d’événements) changements d’états perçus comme événements) Ex5 29

30 Exercice 5 Illustrer un cycle d’interaction dans le cas d’une livraison de produits en faisant le parallèle entre ce qui se passe dans le réel et ce qui se passera dans le SI : - identifier les opérations, événements et objets réels - montrer la relation entre les entités réelles et leur représentation dans le SI - identifier les acteurs de l’environnement qui sont impliqués dans les opérations et événements réels et ceux qui servent d’interfaces avec le SI. Si possible continuer le cycle précédent par un cycle qui le suit. 30

31 IV- Le modèle causal Il s’appuie sur 3 concepts pour représenter les classes d’objets (c-objet), d’opérations (C-opération) et d’événements (c-événement) Il permet de modéliser le comportement d’un ensemble d’objets par la causalité <objet-opération-événement> Il aboutit à un sous-schéma dynamique, complément du sous schéma statique de description des objets C-OPERATION C-OBJET Le modèle dynamique causal respecte le principe de causalité et propose 3 concepts que l'on désigne C-Objet, C-Opération et C-Événement. La spécificité du modèle causal réside dans les concepts C-Événement et C-Opération. Comme dans le cas du modèle d'interaction la partie de la modélisation dynamique du modèle s'adapte à n'importe quel modèle de données. Le C-Objet, comme l'objet type du modèle d'interaction sert de référence à n'importe quel concept d'un modèle statique. En fait le C-Objet est identique à l'objet type du modèle d'interaction. Le concept de C-Objet étend celui d'évènement type du modèle d'interaction. Le concept de C-Opération diffère de celui d'opération type par la granularité de l'opération. Alors que l'opération type est globale et donc de grosse granularité, la C-Opération est atomique et donc de faible granularité. La différence entre les deux modèles est dans la perspective de conceptualisation : le modèle d'interaction s'intéresse au SI depuis l'extérieur; le modèle causal assure à la fois la modélisation de 'l'intérieur' de la machine à états et ses inter relations avec l'extérieur. C-EVENEMENT 31

32 Représente une classe d’objets ayant un comportement
IV- Le modèle causal: C-objet Représente une classe d’objets ayant un comportement Les c-objets sont décrits selon le formalisme retenu dans le projet (relationnel, diagramme de classes, ET&RT, etc…) Sous-Schéma dynamique Voiture (NumMatricule, .,. NumP) Propriétaire (NumP, NomP,.,) Sous-Schéma statique: exemple Nom Propriétaire Voiture et représentation dans le sous-schéma dynamique 32

33 IV- Le modèle causal: C-opération
Représente une classe d’opérations agissant sur les objets d’un même c-objet et provoquant leurs changements d’état Une opération est atomique et n’agit que sur un seul objet Sous-Schéma dynamique Voiture Op1: Insérer Exemple C-ob Nom C-opération Op2: Changer proprio. 33

34 Sous-Schéma dynamique
IV- Le modèle causal: C-événement Représente une classe d’événements. Un événement constate le changement d’état d’un objet et déclenche une ou plusieurs opérations Le C-Evénement est visualisé par un triangle Il est accolé à une forme ronde (c-objet) ce qui représente l’association ‘constate’ et, à des flèches représentant les c-opérations déclenchées, ce qui traduit l’association ‘déclenche’ le déclenchement peut être conditionnel et/ou itératif La condition et le facteur de déclenchement sont visualisés. C1 F1 Facteur de déclenchement Condition de C-Objet C-Evénement Sous-Schéma dynamique 34

35 IV- Le modèle causal: C-événement
Exemple: Une disponibilité d’exemplaire venant d’être identifiée permet de faire sortir une demande d’emprunt de livre de la liste d’attente Exemplaire Nouvelle Disponibilité EV1 OP3 : réserver C1 C1 C1 OP1 : satisfaire OP2 : prêter Exercice : Donner un exemple et un contre-exemple de transition dynamique' bien formée'. Demande Abonne C1 :  un abonné en attente du livre dont l’exemplaire est devenu disponible et qui peut emprunter cet exemplaire 35

36 IV- Le modèle causal: C-événement
Nom (survenance) Prédicat (changt d’état): un exemplaire non disponible l’est devenu UN EVENEMENT EST DECRIT PAR - UN NOM - UN PREDICAT DEFINISSANT SA CONDITION D’OCCURRENCE - UN DECLENCHEMENT INCLUANT LES C-OPERATIONS DECLENCHEES, LEURS CONDITIONS DE DECLENCHEMENT ET LEURS FACTEURS D’ITERATION Exemplaire Nouvelle Disponibilité OP3 : réserver Abonne Demande OP1 : satisfaire OP2 : prêter C1 EV1 Les 3 types de C-Ev sont repérables graphiquement par les symboles des entités dont ils constatent les changements d'états : message, C-Ob ou Calendrier. Tous les éléments significatifs d'un schéma conceptuel et nécessitant une description dans le document de projet apparaissent sur le schéma graphique. Déclenchement(des c-op) : OP1 & OP2 et OP3 sous C1 36

37 IV- Le modèle causal: C-événement
CONDITION D ’OCCURRENCE ou PREDICAT: Elle permet de savoir si un changement d ’état d ’objet est événementiel ou non Exemple l’événement ‘nouvelle disponibilité’ constaté sur des objets EXEMPLAIRE se définit par: Pré-condition : OLD.Etat=‘disponible’ Post-condition : NEW.Etat = ‘disponible’ OLD et NEW sont deux mot-clés caractérisant respectivement: l’état de l’objet avant et l’état après l’opération induisant le changement 37

38 IV- Le modèle causal: C-événement et transition dynamique
DECLENCHEMENT: le déclenchement d’un opération par un événement peut être CONDITIONNEL : il se produit si et seulement si la condition de déclenchement est vraie Une condition fait référence à l ’état du système; elle peut être simple (atomique) ou composée (de sous conditions) Exemplaire Nouvelle Disponibilité OP3 : réserver Abonne Demande OP1 : satisfaire OP2 : prêter C1 C1 :  une demande en attente du livre dont l’exemplaire est devenu disponible et dont l’abonné remplit les conditions d’emprunt (moins de trois emprunts et ‘actif’) Une condition est un test sur l'état du système au moment où l'événement survient. La condition est évaluée sur n'importe quelle combinaison d'états d'objets au moment où l'événement se produit. Elle est évaluée dynamiquement. 38

39 IV- Le modèle causal: C-événement et transition dynamique
L’ensemble des c-opérations déclenchées par un c-évènement constitue une transition dynamique. Elle est un module cohésif et autonome dont l’exécution fait passer le système d’un état cohérent à un autre état cohérent. La transition est atomique : elle n’est pas décomposable et comporte la collection minimale des transformations nécessaires et suffisantes pour réagir logiquement à un événement de ce type. Les opérations n’ont pas d’ordre : elles sont exécutables en parallèle L'important dans la définition d'une transition dynamique est de s'assurer de sa complétude. 39

40 IV- Le modèle causal: C-événement
QUID de cette modélisation : est elle correcte OUI/NON? et Pourquoi ? Exemplaire Nouvelle Disponibilité C1 C1 OP1 : satisfaire OP2 : prêter Exercice : Donner un exemple et un contre-exemple de transition dynamique' bien formée'. Demande Abonne Ex6 C1 :  un abonné en attente du livre dont l’exemplaire est devenu disponible et qui peut emprunter cet exemplaire 40

41 Exercice 6 On vous donne les relations suivantes décrivant l’information que souhaite gérer une compagnie aérienne sur certains de ses composants: Avion ( Nav, Typav, NhVolcourant) EtatAvion (Datet, Nav, etatav) Planning revisions (Numplan, Nav, DateRev) TypeAvion (Typav, Nbstdrev, Libtype) Un avion a un numéro unique (Nav), un type (Typav), un nombre d’ heures depuis la dernière révision (NhVolcourant) et un état (etatav): ‘en service’, ‘hors service’, ‘en révision’.. Lorsqu’un avion a un nombre d’heures de vol courant supérieur au nombre standard d’heures de son type (Nbstdrev) il est programmé pour une révision à l’atelier. On vous demande de modéliser la situation événementielle qui détecte que l’avion doit être envoyé en révision car son nombre d’heures vient de dépasser le standard. Son entrée dans le planning de révision est calculée et son état passe alors à ‘en révision’. Dessiner le graphe tri-alterné, définir le prédicat et les c-opérations . 41

42 IV- Le modèle causal: Typologie des événements
Interne Changement d’état défini sur un C-Objet du SI Ex: nouvelle disponibilité Temporel Changement lié à la flèche du temps; il se produit sur le calendrier (C-Objet prédéfini) Ex: 72h avant le début d’un vol Externe A l’ arrivée d’un message venant de l’environnement du SI : il est induit par le comportement des acteurs extérieurs au SI Ex: à l’arrivée d’une demande de réservation de siège dans un vol 42

43 Un C-évènement interne est défini sur un c-objet du SI
IV- Le modèle causal: C-Evénement interne Un C-évènement interne est défini sur un c-objet du SI Le prédicat d’un C-Ev interne se formule par une pré et une post conditions caractérisant l’état avant (OLD) et l’état après (NEW) le changement de l’objet provoqué par une opération C-Ob2: Ordre de réapprovisionnement Un article en stock a passé le seuil de rupture EV2 C-Ob1: Article en stock Mail fournisseur OP1 : Réapprovisionner OP2 : Informer fournisseur Le C-Ob est C-Ob1: Article en Stock (Nart, Qtstk, Seuil, NomArt) Le prédicat de EV2 : OLD.Qtstk >= Seuil NEW.Qtstk < Seuil Ex7 43

44 - Le graphe tri-alterné - La définition du prédicat,
Exercice 7 On vous demande de contribuer à la modélisation d’un système de gestion des caravanes transportant du matériel à travers le désert. Les caravanes utilisent des chameaux qui leur sont affectés en fonction des besoins; le reste du temps les chameaux sont en ‘stock’! Chameau (Num, Nom, Etat, propriétaire) On vous demande de modéliser les deux situations événementielles suivantes: Il y a ‘ rupture du stock de chameaux’ lorsque le nombre de chameaux disponibles vient de passer à six. Il y a ‘surplus de stock de chameaux’ lorsque le nombre de chameaux disponibles est de trente. Un événement du premier type provoque l’envoi d’un bon d’achat au fournisseur de chameaux préféré de l’organisme. Un événement du deuxième type émet un ordre de mise en vente de chameaux aux enchères sur le Web. La définition que vous devez faire pour chaque événement doit comporter : - Le graphe tri-alterné - La définition du prédicat, - La description des C-Ops et celle des C-Objets correspondants (manquants) 44

45 Mettre EtatDem à ‘annulée’)
IV- Le modèle causal: C-événement temporel Un évènement temporel est défini par référence a un c-objet temporel prédéfini : le calendrier Le prédicat d’un événement temporel est une assertion temporelle telle que : chaque jour, chaque 25 du mois, etc.. Calendrier C-ob prédéfini : calendrier C-Ev temporel F2 EV2 OP1 : Annuler : Mettre EtatDem à ‘annulée’) Demande Échéance demandes en attente Prédicat : chaque jour Dans le second cas, l’événement se produit chaque jour et inspecte toutes les demandes en attente qui arrivent à 3 semaines de la date de début de réservation présumée (F2) - Le déclenchement est donc itératif. Exercice : Donner un exemple de C-Événement relatif et sa traduction en C-Événement absolu. 45

46 Mettre EtatDem à ‘annulée’)
IV- Le modèle causal: C-événement et déclenchement DECLENCHEMENT: le déclenchement d’un opération par un événement peut être ITERATIF: il se produit sur une collection d’objets défini par le facteur de déclenchement. Le facteur est une collection structurée de tuples de données F2 {NumDem} Il se calcule dynamiquement au moment où l’événement se produit par une formule : Select NumDem from Demande Where EtatDem = ‘en attente’ AND DateDem = date du jour – 21jours F2 EV2 OP1 : Annuler : Mettre EtatDem à ‘annulée’) Demande Échéance demandes en attente Prédicat : chaque jour Une condition est un test sur l'état du système au moment où l'événement survient. La condition est évaluée sur n'importe quelle combinaison d'états d'objets au moment où l'événement se produit. Elle est évaluée dynamiquement. Ex8 46

47 Exercice 8 Modéliser la situation suivante :
Une fois par an, au début de l’année (par exemple, le 5 Janvier à 18heures), après la mise à jour des salaires des employés de la société EMSI, le SI doit marquer les employés qui gagnent plus que leur chef de service. Employé( NumEmp, NomEmp, AdrEmp, Sal, Numchef, Marque) NumChef est un numéro d’employé (NumEmp); Marque est un booléen (gagne + ou – que le chef) La modélisation doit comporter : Le graphe tri-alterné La définition prédicat du c-événement, Celle des C-Op déclenchées et, Celle du facteur de déclenchement : (structure de données et procédure de calcul des tuples du facteur par un SELECT) 47

48 IV- Le modèle causal: Typologie des Cevts temporels
C-Évènement temporel en temps absolu Demain à 17 heures Pendant { } Après 18 heures aujourd’hui Chaque 25ème jour d’un mois Par intervalle ; par semi-intervalle ; périodique C-Evenement temporel en temps relatif Pred ev1 : 7 jours après EV2.Date-occurrence Pred ev2 : 8 jours avant EV3.Date-occurrence. M3. Debdemrésa EV3 : une demande arrive! C-Événement complexe Pred ev4 : 1 mois après EV1.Date-occurrence (l’accord du prêt)chaque 23ème jour du mois, pendant 2 ans Exercice : Donner trois exemples de C-Événements temporels et écrire les prédicats correspondants. Le modèle dynamique causal  I. Concepts du modèle  C. C-Événement Typologies d ’Événements 48

49 Exemple des réservations
IV- Le modèle causal: C-événement temporel (absolu) Exemple des réservations EV2 est en temps absolu EV2 Chaque jour OP10 : Annuler F2 Etat-Demande Dans le second cas, l’événement se produit chaque jour et inspecte toutes les demandes en attente qui arrivent à 3 semaines de la date de début de réservation présumée (F2) - Le déclenchement est donc itératif. Exercice : Donner un exemple de C-Événement relatif et sa traduction en C-Événement absolu. OP10 :Annuler / Mettre État de Demande à "Annulée"/ F : { demandes en attente qui sont "aujourd'hui" à 3 semaines de debdemrésa} 49

50 Exemple des réservations
IV- Le modèle causal: C-événement temporel (relatif) Exemple des réservations EV2 est relatif à EV3 3 semaines avant debdemrésa EV2 C4 OP10 : Annuler Etat-Demande Il y a souvent deux manières de modéliser les conséquences d’une échéance : - par un C-Événement en temps relatif (on dit par échéancier), - par un C-Événement en temps absolu (on dit sur calendrier). Les deux transparents successifs montrent l’utilisation de ces deux possibilités sur le même exemple. Dans le premier cas, l’événement se déclenche pour chaque demande enregistrée, 3 semaines avant le début présumé de la réservation. Il y a donc autant d’occurrences de EV2 qu’il n y a eu d’occurrences d’événements d’arrivées de demandes. Le déclenchement de OP10 par EV2 n’est pas itératif car il faut traiter une seule demande par occurrence de EV2. Le déclenchement est conditionnel (C4) car la demande peut avoir être traitée entre temps. OP10 :Annuler / Met État de Demande à "Annulée"/ C : La demande est toujours en attente Ex9 50

51 Exercice 9 Modéliser (a) par un C-Ev temporel relatif et
(b) par un C-Ev temporel absolu la règle suivante : la cotisation d’abonnement à une vidéothèque est valable un an. Au bout d’un an et un jour, un abonné ‘actif’ est ‘suspendu’ s’il n’a pas payé sa nouvelle cotisation. Un abonné actif peut faire des emprunts à la borne de distribution de DVD tandis que les abonnés suspendus n’en auront pas le droit. On admettra que l’abonnement (comme le ré abonnement) est représenté par un C-Ev EV1 :‘Un abonné s’abonne’. 51

52 IV- Le modèle causal: C-Evénement externe
Un évènement externe traduit l’ interaction du système avec son environnement. Il permet de prendre en compte les changements du monde extérieur que le SI doit connaître car ils affectent les états de ses objets Un événement externe constate l’arrivée d’un message d’information émis par un acteur extérieur M1 Message (Forme ronde avec double cercle) Acteur (un rôle inter-agissant avec les sI) Evénement externe (constate l’arrivée d’un message) 52

53 IV- Le modèle causal: C-Evénement externe
Exemple de l’arrivée d’une demande d’emprunt de livre émise par un abonné de la bibliothèque Demande d'emprunt Demande Prêt Exemplaire OP1 : créer- demande OP2 : accorder-prêt C1 M1 Arrivée demande d'emprunt OP3 : prêter Abonné Le message M1 vient de l’environnement du SI et donne l’information nécessaire à la reconnaissance d’un événement que le SI doit gérer Il est émis par un acteur de l’environnement qui a observé le fait événementiel Le prédicat du c-événement est la constatation de l’arrivée d’un nouveau message Le déclenchement est conforme à tout événement C1 : l'abonné est à jour de cotisation,il a moins de 3 emprunts en cours et il y a un exemplaire de livre disponible 53

54 IV- Le modèle causal: Interactions SI et Monde Réel
Les interactions entre le SI et son Environnement opérationnel sont basés sur des envois/réceptions de messages Environnement du SI dans lequel il opère La communication SI - Environnement par message est un choix Elle fonctionne dans les deux sens : Environnement vers SI et Si vers environnement Le message Environnement/SI donne l’information nécessaire au fait qui s’est produit en réel et auquel le SI doit réagir Le message SI/Environnement informe l’acteur concerné par la décision/action du SI Stimuli Réponses (messages de description d’événements) (messages de changements d’états perçus comme événements) Les événements externes fonctionnent comme des stimuli qui activent les objets du SI. En retour, les réponses fournies par le SI génèrent des événements dans l’environnement. SI vu comme une ‘machine à états’ 54

55 IV- Le modèle causal: message C-Evt externe
Un message est décrit par agrégation et/ou liste d’en semble de champs Le prédicat de l’événement externe donne les conditions de validité des champs du message M1 Agrégat Auteurs Titre Ensemble ou liste NumAbonné Auteur Nom IPrénom M1: { Titre : char; Auteurs : list-of ({nom: char; iprénom : char}); NumAbonné : entier } Prédicat :  Abonne.NumAB =M1.NumAbonné Ex10 55

56 Exercice 10 Modéliser la situation suivante relative à l’analyse d’une demande d’emprunt de livre faite par un abonné d’une bibliothèque : -la demande d’emprunt d’un livre par un abonné de la bibliothèque n’est acceptable que si l’abonné est dans l’état ‘actif’ et si son nombre d’emprunts est inférieur à trois . -la demande est refusée si l’abonné n’est pas en situation d’emprunter, c’est-à-dire s’il est ‘suspendu’ ou ‘exclu’. - une demande acceptable est mise en attente s’il n’y a pas d’exemplaire du livre disponible à cet instant. La modélisation doit comporter : -la définition (partielle) des C-Ob concernés, -celle du C-Ev EV1 déclencheur, -celle des C-Op relatives à l’acceptation, la mise en attente et le refus de la demande qui sont partie de la transition dynamique déclenchée par EV1 Celle des conditions de déclenchement qui sont complexes et doivent être décomposées composition de conditions atomiques 56

57 Processus causal versus Processus téléologique
IV- Le modèle causal: Retour sur la causalité Processus causal versus Processus téléologique Opérations Modifie Déclenche Objets Événements Ont des changements d‘état qui sont des Distinguer clairement : Etat Changement d’état Evènement 57

58 V. Schéma dynamique Graphe tri-alterné
Le graphe tri-alterné regroupe toutes les transitions dynamiques dans un même graphe. Il permet de visualiser les événements externes, leurs impacts sur les objets du SI et les événements internes résultants. Il montre les événements temporels auxquels le système réagit. Il est un instrument puissant de représentation synthétique du comportement attendu du système Le graphe tri-alterné de la dynamique est un instrument de visualisation des règles de gestion de l'organisation et de leurs conditions d'application. Il est un instrument puissant par la dimension synthétique qui le caractérise. Il n'est pas extraordinaire qu'un schéma d'une page puisse être déployé sur 80 pages. A la périphérie du schéma il y des C-Évènements externes qui caractérisent la manière dont les acteurs font faire vivre le système en lui communiquant les informations extérieures que le SI doit connaître pour y réagir par l'application des règles de gestion adéquates. Chaque transition dynamique explique - comment le système réagit par applications des règles de gestion et des changements d'états d'objets et - comment le système communique les actions/décisions prises à son environnement. Certains changements d'état d'objets sont associés à des C-Év internes. Les C-Ev internes ont deux rôles - permettre la mise en facteur d'une transition dynamique déclenchée à la suite d'opérations déclenchées elles mêmes par différents C-Év externes - assurer la synchronisation de de transitions Le modèle dynamique causal  IV. Schéma dynamique 58

59 V. Schéma dynamique Graphe tri-alterné
C-Ev externe C-Ev temporel EV4 M1 M2 EV1 EV3 F1 Interaction Environnement-SI OB3 OB1 OB2 C-Ev interne EV2 C1 C1 C1 F2 M3 OB5 OB4 Interaction SI-environnement 59

60 Exercice 11 (1) L’application centralisée de réservations de chambres d'hôtel concerne la région alpine qui englobe plusieurs stations ayant chacune plusieurs hôtels. Les hôtels ont déjà fait l’objet d’une codification qui devra être maintenue dans l’application automatisée. Un code d’hôtel est unique pour toute la région. Les chambres devront être référencées par leurs numéros. Toute personne désireuse de faire une réservation peut téléphoner afin de réserver des chambres; l'opérateur chargé de la réservation lui demande plusieurs renseignements : nom, prénom, adresse, numéro de téléphone, numéro de carte de crédit, type carte, date d’expiration (s’il n’est pas déjà client) et diverses indications sur la demande : la période de réservation, le nombre de chambres, la catégorie d'hôtel et la station désirée. Il affecte à chaque demande un numéro d'ordre. L'opérateur demande à l’application de vérifier si la demande peut-être satisfaite ; s'il n'y a pas de possibilité de la satisfaire, il sollicite le demandeur pour formuler éventuellement une nouvelle demande ou lui suggère de mettre sa demande en attente. S'il est possible de satisfaire la demande, il y a introduction éventuelle d'un nouveau client dans le SI et génération d'une réservation qui comporte tous les renseignements permettant d’envoyer une lettre de confirmation au client. Les annulations de réservation sont acceptées sans contrepartie financière si elles parviennent au système de réservation au moins une semaine avant le début de la réservation. Sinon, 75% de la réservation est exigé du client et sont automatiquement débités par paiement au moyen de la carte bancaire. Chaque hôtel devra être décrit par au moins son nom, son numéro, son adresse, la station à laquelle il appartient, sa catégorie, le nombre de chambres disponibles, le prix unitaire de chaque chambre (prix haute saison, prix basse saison). 60

61 Exercice 11 (2) On vous demande de construire et de commenter le schéma conceptuel de cette application, comprenant le sous-schéma statique et le sous-schéma dynamique. Le sous schéma statique peut être modélisé avec E/R ou UML (diagramme de classes) Le sous-schéma dynamique est un diagramme causal commenté. Vous pouvez reprendre la solution élaborée l’an passé pour le schéma statique et donc poursuivre par l’élaboration du sous-schéma dynamique c-événement par c-événement. 61

62 V. Schéma dynamique Documentation
Nom de l’Evénement : Un abonné emprunte un disque Représentation graphique de la transition dynamique : Commentaire : Un événement du type EV3  "Un abonné emprunte un disque" se produit lorsque l’abonné choisit un DVD et déclare son intention d’emprunt. Si l’abonné est actif et s’il a moins de 5 emprunts en cours, le prêt est enregistré, l’emprunt est comptabilisé pour l’abonné et l’état du disque est mis à "prêté ". Plus précisément : Si L ’abonné est actif (condition ØC2) et il a moins de 5 prêts en cours (condition C3) alors : - créer un prêt comme occurrence du C-Objet PRET et renseigner la date et heure de début du prêt (InstantPret) et la référence du disque prêté (IdDisque), (C-Opération OP5) (a) comptabiliser un prêt supplémentaire dans l’attribut NbPretEnCours du C-Objet ABONNE (C-Opération OP6) (b) enregistrer l’emprunt du DVD par modification de l’attribut EtatDisque du C-Objet DISQUE qui prend la valeur "prêté " (C-Opération OP7). EV3 OP7 : Emprunter OP5 : initialiser OP6 : emprunts Comptabiliser M3 PRET ABONNE DISQUE Un abonné emprunte un disque Message de demande d’emprunt d’un disque Ø C2 Ù C3 62

63 V. Schéma dynamique Documentation
Message M3 : { Numéro Abonné: Entier IdDisque: { NuméroFilm: Entier;NuméroDisque: Entier;}; } Prédicat : Il existe dans le C-Objet ABONNE un abonné ayant l’attribut NumeroAbonne = MESSAGE.NumeroAbonne Ù Il existe dans le C-Objet DISQUE un disque ayant comme identifiant le champ MESSAGE.IdDisque Ù l ’attribut EtatDisque = « Disponible » C-Opérations : OP5 : Créer un prêt dans PRET avec NumeroAbonne = Message.NumeroAbonne - InstantPret = InstantCourant - NumeroFilm = Message.NumeroFilm - NumeroDisque=Message.NumeroDisque OP6 : Incrémenter le nombre de prêts en cours de l’abonné dans ABONNE avec - NumeroAbonne = Message.NumeroAbonne - NbPretEnCours = NbPretEnCours+1 OP7 : Mettre à jour l ’état du Disque dans DISQUE avec - NumeroFilm = Message.IdDisque.NumeroFilm - NumeroDisque= Message.IdDisque.NumeroDisque - EtatDisque = «prété» Conditions de déclenchement : - Condition C2 : L’attribut EtatAbonne relatif à l’abonné du message est égal à « suspendu » - Condition C3 : L’attribut NbPretEnCours relatif à l’abonné mentionné dans le message < 5 63

64 Exercice 12 On vous demande de documenter au moins une transition dynamique du sous-schéma dynamique.du cas des réservations; On recommande de prendre le c’événement EV1 ‘arrivée d’une demande de réservation’ et si possible le c’événement EV2 ‘un client annule sa réservation’. 64

65 V. Schéma dynamique Méthode événementielle de construction
Une démarche dirigée par les événements qui conduit à construire en parallèle le sous-schéma statique et le sous-schéma dynamique mais en partant des événements et de leur modélisation Jusqu’à ce que tous les C-Ev soient identifiés * Construire transition dynamique Identifier C-ev externe ou temporel C1 C2 Identifier C-ev interne C4 Construire fragment statique C3 La représentation graphique utilisée ici permet de mettre en évidence que la démarche est itérative et conduit à répéter autant de fois que nécessaire (autant de fois qu'il y a un C-Ev non décrit) une séquence de trois activités : - identifier C-Evexterne ou temporel - construire la transition dynamique - identifier un C-Ev interne, s'il existe et itérer sur C2 - sinon itérer sur C1 La tâche essentielle ici est C2: la construction de la transition dynamique. Le transparent suggère une heuristique qui ré emploie les idées données pour l'OpT du schéma d'interaction : commencer par les cas de sortie;, les associer à des C-Objets puis appliquer le principe de complétude de la transition qui conduit à chercher toutes les conséquences du C-Ev pour chacun des case identifiés. La recherche des EvTs externes peut se baser sur l'identification des acteurs. C'est l'heuristique suggérée par Y. Jacobson, inventeur des cas d'utilisation. Linguistiquement un événement apparaît par une expression qui traduit la survenance d'un fait. Les phrases où les verbes ou bien les expressions verbales expriment la survenance peuvent ^correspondre à des événements pertinents. L'analyse systématique des changements d'états provoqués par chacune des C-Op de la transition permet de déceler un éventuel C-Ev interne. De même, l'analyse des la transition peut suggérer des C-Ev externes ou temporels. On recommande de chercher des heuristiques pour cela. 4 étapes C1, C2, C3 et C4 répétées autant de fois qu’on ne découvre un C-Ev externe ou temporel 65

66 V. Schéma dynamique heuristique méthodologique
C2 : Construire transition dynamique 1- Identifier les cas de sortie de la transition les associer à des C-Objets et identifier les C-Opérations associées 2- Vérifier si les C-Objets existent dans le schéma statique sinon prendre mesure corrective 3- Identifier les conditions de déclenchement 4- Déterminer si les déclenchements sont itératifs et si oui identifier les facteurs 5- Ajouter les C-Opérations concomitantes des précédentes et procéder comme précédemment pour 2, 3, 4) 6- Vérifier la complétude de la transition (pas d’oubli des conséquences du C-Ev) et vérifier sa cohérence (appliquer les règles de vérification) La représentation graphique utilisée ici permet de mettre en évidence que la démarche est itérative et conduit à répéter autant de fois que nécessaire (autant de fois qu'il y a un C-Ev non décrit) une séquence de trois activités : - identifier C-Evexterne ou temporel - construire la transition dynamique - identifier un C-Ev interne, s'il existe et itérer sur C2 - sinon itérer sur C1 La tâche essentielle ici est C2: la construction de la transition dynamique. Le transparent suggère une heuristique qui ré emploie les idées données pour l'OpT du schéma d'interaction : commencer par les cas de sortie;, les associer à des C-Objets puis appliquer le principe de complétude de la transition qui conduit à chercher toutes les conséquences du C-Ev pour chacun des case identifiés. La recherche des EvTs externes peut se baser sur l'identification des acteurs. C'est l'heuristique suggérée par Y. Jacobson, inventeur des cas d'utilisation. Linguistiquement un événement apparaît par une expression qui traduit la survenance d'un fait. Les phrases où les verbes ou bien les expressions verbales expriment la survenance peuvent ^correspondre à des événements pertinents. L'analyse systématique des changements d'états provoqués par chacune des C-Op de la transition permet de déceler un éventuel C-Ev interne. De même, l'analyse des la transition peut suggérer des C-Ev externes ou temporels. On recommande de chercher des heuristiques pour cela. Ex13 Le modèle dynamique causal  IV. Vérification et validation  B. Suggestions de contrôles pratiques 66

67 Exercice 13 (1) Il s’agit d’un cas de gestion de prêts bancaires. L’ensemble des règles de gestion en vigueur dans l’organisation pour le SI à développer est présenté dans le texte ci-dessous. Ces règles doivent être considérées comme les exigences à l’égard du système (cahier des charges). Une banque prête de l’argent à ses clients avec les modalités d’attribution et de remboursement suivantes : Attribution des prêts : un client ne peut avoir plus d’un prêt à la fois. Les prêts sont accordés aux clients ayant fait la demande seulement si le client a un revenu mensuel régulier géré par la banque et si le client n’a pas été ‘suspendu’ au cours d’un prêt précédent -voir ci après). L’accord définitif du prêt fixant le montant, la durée et le taux est décidé par un responsable de la banque après un délai d’environ un mois. Remboursement : Le remboursement réel du prêt est à la discrétion du client. Celui-ci peut effectuer des versements d’une somme inférieure ou supérieure à la mensualité théorique (menstheo) à n’importe quel moment et pas nécessairement à la date d’exigibilité mensuelle fixée à l’attribution du prêt. En revanche, chaque mois, le jour du mois qui correspond au jour d’exigibilité du prêt, la banque effectue un contrôle et Détermine des actions correctrices si nécessaire. La banque compare la somme totale effectivement remboursée TotRemb à la somme théorique TotTheo (calculée sur la base d’un remboursement régulier). Révision du prêt : lorsque TotRemb>= TotTheo + 3*menstheo, le prêt est révisé. On recalcule sa nouvelle durée et son nouveau montant mais au même taux. Il s’agit d’une version nouvelle du même prêt. Pénalité sur le prêt : lorsque TotRemb< TotTheo - 3*menstheo, le prêt est pénalisé (une taxe est appliquée). Le montant de la taxe est proportionnel à la somme due. Un client ayant une pénalité impayée à l’échéance est ‘suspendu’. Lors d’un versement du client, la taxe est acquittée en priorité. La taxe doit être acquittée en une seule fois. Un client ayant un prêt en cours en situation régulière est dit actif. Un client n’ayant pas encore de prêt ou plus de prêt en cours est dit non-actif. Lorsqu’un client a un prêt en cours et une taxe non acquittée, il est dit suspendu. Un prêt est soldé lorsque le client a remboursé la somme due+ les intérêts Échéance normale : lorsque le prêt à l’échéance est dans la fourchette <TotTheo - 3*menstheo, TotTheo + 3*menstheo>, le prêt suit son cours et aucune action n’est entreprise par la banque. 67

68 Exercice 13 (2) On vous demande de construire et de commenter le schéma conceptuel de cette application, comprenant le sous-schéma statique et le sous-schéma dynamique. Le sous schéma statique peut être modélisé avec E/R ou UML (diagramme de classes) Le sous-schéma dynamique est un diagramme causal commenté. Pour expérimenter une autre façon de concevoir, on vous suggère une démarche dirigée par les événements qui se schématise ainsi: 1- construire simultanément dans la même itération, une transition dynamique (c-événement, c-opérations, conditions, c-objets ) et la partie du sous-schéma statique correspondant aux c-objets identifiés par la modélisation de la transition 2- recommencer l’étape 1 tant qu’il y a un c-événement à modéliser Présenter le résultat itération par itération Pour chaque itération : Présenter le graphe tri-alterné Présenter le diagramme de classes associé (ou l’extension du diagramme déjà construit) Décrire le prédicat du c-evt, les c-opérations, le message (s’il y en a un), les conditions et les facteurs de déclenchement (si ] ) 68

69 V. Schéma dynamique contrôle de complétude
Contrôle de cycle de vie Vérifier la complétude de la description du cycle de vie de chaque objet de son évènement de naissance a son événement de mort Utiliser le graphe de transition d’états des C-classes comme support de description du cycle de vie Vérifier que toutes les transitions du graphe sont bien représentées par des C-Opérations déclenchées par des C-Évènements du schéma dynamique Les quatre types de contrôles précédents sont fastidieux à exécuter à la main. Ils sont performants lorsqu’on peut les appliquer automatiquement. On suggère sur les 4 pages suivantes deux contrôles manuels en général efficaces. Le contrôle du cycle de vie reprend l’idée du graphe des transitions d’état types possibles pour les objets d’une classe . Il est appliqué ici à la c-classe des Demandes du cas des réservations. Le contrôle consiste : 1) à définir les états, 2) à y ajouter des transitions, 3) à vérifier que toutes les transitions peuvent être labellées par un couple (C-Év, C-Op) du schéma dynamique. Si ce n’est pas le cas, il faut corriger le schéma dynamique. 69

70 V. Schéma dynamique contrôle de complétude
Contrôle de cycle de vie Exemple de la c-classe Demande du cas des réservations : 1-Construire le graphe du cycle de vie Archiver Mettre en Attente État de non existence Attente Annuler Accepter Archiver Accepter Annulée OK 70

71 V. Schéma dynamique contrôle de complétude
Contrôle de cycle de vie 2 : labeller les arcs par des couples <c-événement, c-opération> 3- identifier les c-ev et c-op manquantes ? EV1, Mettre en Attente État de non existence EV1, Accepter Attente EV4', Annuler EV4, Annuler ? EV3, Accepter Annulée OK EV1 : Arrivée demande EV4 : 3 semaines avant debdemres EV3 : Les disponibilités EV4’ : le demandeur annule augmentent 71

72 V. Schéma dynamique contrôle de complétude
Contrôle par les états transitoires Exemple du cas bibliothèque Les demandes peuvent être mises en attente mais elles doivent pouvoir sortir de cet état. Ceci survient lorsqu’un exemplaire de livre devient disponible. Il peut alors être réservé a l’abonne qui l’attend et peut venir le retirer a la bibliothèque dans la semaine qui suit Modifier-état Exemplaire Nouvelle disponibilité Demande Arrivée demande Relancer Mettre en attente C1 C3 Le contrôle des états transitoires consiste à - lister les états d’objets qui sont transitoires, - pour chacun d’eux s’assurer que l’on a complètement modélisé les événements qui font sortir les objets de ces états. L’exemple du cas de la bibliothèque considérée est celui de l’état ‘en attente’ d’une demande. 72

73 Exercice 14 On vous demande d’appliquer les contrôles
de complétude au cas des prêts bancaires. Déterminer les C-événements manquants et compléter le schéma conceptuel 73

74 VI. Expression dans les notations UML
A. Cas d’utilisation B. Diagramme de collaboration C. Cas des C-évènements temporels D. Cas des C-évènements internes E. Cas des C-évènements externes 74

75 Schéma dynamique par des cas d'utilisation Système de Réservations
VI. Expression dans les notations UML Schéma dynamique par des cas d'utilisation Nom Transition Dynamique Acteur C-Evénement Une demande de résa survient! Système de Réservations Un hôtel vient d’ouvrir Faire Réservation Ajouter Ressources Un client annule sa résa Hôtelier Personne Annuler Réservation Un cas par transition dynamique et donc c-evt. 75

76 VI. Expression dans les notations UML
Une transition dynamique peut être visualisée par un diagramme de collaboration Collaboration entre objets Message (opération) : Demande Satisfaire : Exemplaire Prêter Un diagramme de collaboration UML visualise la communication entre objets par l'envoi de messages. A l'évidence la notation a été pensée comme une visualisation de la collaboration d'objets dans un programme. Les collaborations peuvent être numérotés mais cela n'a pas de sens dans le modèle causal puisque les C-Opérations d'une transition ne sont pas ordonnées. L'ordonnancement est décidé au moment de l'implémentation pas au moment de la conceptualisation du problème. Par ailleurs la notion de C-Ev est en quelque sorte perdue dans la description UML. Cela correspond au fait que le concept d'événement n'a pas été réellement intégré dans l'ensemble des notations; dommage!!! Il n'existe que de manière informelle dans les graphes de transitions d'états. : Abonné Réserver : Exemplaire 76

77 VI. Expression dans les notations UML
Le prédicat est introduit comme une condition de collaboration P1:[Stock < seuil minimum] Rupture de stock : Stock 1 :[P1] Passer ordre réapprovisionnement 1 : [P1]Prévenir Fournisseur On a choisi de représenter explicitement le message comme un objet; ce qui n'est pas faux. Cet objet est cependant temporaire au contraire des objets, instances de C-Objets qui sont persistants. De ce fait l'opération de saisie du message devient également explicite. On a utilisé la possibilité d'associer une condition à une collaboration pour représenter le prédicat du C-Ev externe. La numérotation des opérations permet de dire que la saisie est préalable aux autres opérations de la collaboration mais que celles ci sont parallèles. : Commande : Fournisseur 77

78 VI. Expression dans les notations UML
Une transition temporelle peut être visualisée par un diagramme de collaboration entre l’horloge et les objets du SI parallélisme : Horloge [Predev] * // : Payer : Employé L'horloge représente le C-Objet 'calendrier' du modèle causal. On illustre ici le symbole du parallélisme d'actions et l 'itération. Facteur d'itération Le modèle dynamique causal  V. Notations UML 78

79 VI. Expression dans les notations UML
Dans une transition de c-evt externe: Le message est représenté comme un objet crée L'opération de création du message devient explicite Le prédicat est visualisé comme une condition : Demande d'emprunt 1 : [PredEV1]Saisir Numéro d'ordre 2 [C1] : Accorder On a choisi de représenter explicitement le message comme un objet; ce qui n'est pas faux. Cet objet est cependant temporaire au contraire des objets, instances de C-Objets qui sont persistants. De ce fait l'opération de saisie du message devient également explicite. On a utilisé la possibilité d'associer une condition à une collaboration pour représenter le prédicat du C-Ev externe. La numérotation des opérations permet de dire que la saisie est préalable aux autres opérations de la collaboration mais que celles ci sont parallèles. 2 [C1] : Prêter 2: Créer-demande : Prêt : Exemplaire : Demande 79

80 VII- Entraînement (1/4) Définir le concept d’ Évènement. Illustrer.
Donner et illustrer la typologie des événements. Donner un exemple d’occurrence d’événement ? Qu’est ce que le prédicat d’un Évènement? Préciser les trois types de prédicats correspondant à chacun des types d’évènement. Comment recommanderiez vous de désigner un Évènement  ? Définir une Opération; Donner des exemples. 80

81 VII- Entraînement (2/4) Comment suggéreriez vous de désigner une Opération  ? Expliquer comment la représentation graphique du schéma permet de représenter la causalité des concepts Objet, Évènement et Opération. Qu’est ce qu’une transition dynamique ? Illustrer. Quelles sont les propriétés attendues d’une transition dynamique ? Expliquer pour quelle raison il n’y a pas d’ordre sur les Opérations d’une transition dynamique. 81

82 VII- Entraînement (3/4) Qu’est ce qu’une condition de déclenchement ? Illustrer. Pourquoi la condition de déclenchement n’est elle pas contenue dans l’Opération  ? Qu’est ce qu’un facteur de déclenchement ? Définir et illustrer. Pourquoi le facteur de déclenchement est-il extériorisé ? En quoi la transition atomique est elle atomique ? 82

83 VII-Entraînement (4/4) Qu’est ce que le graphe de la dynamique tri-alterné ? Pourquoi est-il tri-alterné ? Pensez vous que l’on puisse se passer du concept d’ Événement? Définissez le cycle de vie d’un objet en termes d’événements. Appliquez à un objet réel, à un objet informationnel et au SI dans son ensemble. Un évenement peut il déclencher une Opération productrice d’un message ? Dans quel cas est ce utile/nécessaire ? Faites la relation avec le fonctionnement de la machine à états dans son environnement. 83


Télécharger ppt "Master M1 MIAGE/SIC UE ISI1 : Ingénierie des Systèmes d’information"

Présentations similaires


Annonces Google