Les structures de donnes - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Les structures de donnes

Description:

Version : 06/06/06. R f rence : FML-09. Praxeme, le sens de l'action. Praxime, initiative ... Les structures de donn es ' La th orie sans la pratique est inutile ; ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 39
Provided by: ole58
Category:
Tags: admet | donnes | les | structures

less

Transcript and Presenter's Notes

Title: Les structures de donnes


1
Les structures de données
 La théorie sans la pratique est inutile la
pratique sans la théorie est aveugle.  Immanuel
Kant
2
Objectif de la séquence
  • Compétence visée
  • Pré-requis
  • Être capable de lire la notation UML,
    particulièrement le diagramme de classes, y
    compris avec les éléments exotiques
  • Associations qualifiées, ternaires
  • Dérivation
  • Avoir compris les objectifs et contraintes de
    larchitecture logique
  • FML-04, FML-08

Être capable de concevoir et documenter les
formats de structures de données
Durée de la séquence 1/2 h
3
Contenu de la séquence
  • Les structures de données
  • La localisation des types
  • La construction des types
  • Les relations entre SD

4
Les structures de données
1
  • Origine des SD
  • Conclusion pratique
  • Formulation du type SD
  • Visibilité de la SD

5
Lorigine de la structure de données
  • Les classes du modèle sémantique contiennent
    des attributs
  • Cette liste dattributs pourrait être dérivée
    sous deux formes
  • Des attributs attachés directement à la machine
  • Il faudrait alors augmenter le nombre de
    paramètres dans la signature des services
  • fin de passer linformation
  • Une structure encapsulant lensemble des
    attributs de la classe, et constituant lunique
    attribut de la machine
  • Correspondant au flux
  • La style darchitecture retenu opte pour la
    deuxième solution
  • La structure de données est détachée de la
    machine
  • Elle permet de construire les flux qui circulent
    dans le système
  • Entrants ou sortants

6
La formulation de la structure de données
  • Syntaxe
  • Cest un type au sens UML (data type, type
    complexe)
  • Signification
  • Les instances du type nont pas didentité
    dobjet
  • Passage par valeur
  • Possibilité
  • Un type peut posséder des opérations (ex.
     get ,  set ,  estVide )
  • Les types peuvent référencer dautres types
  • Quand un attribut a pour nature un type
  • Les informations sont manipulées par la notation
    pointée

7
Les noms des types
  • Convention
  • Pour une MLM
  • Le nom du type est le nom de lobjet métier,
    préfixé par  Info 
  • Pour une MLO
  • Le nom du type est le nom du cas dutilisation
    (tel que repris par le nom de la machine),
    préfixé par  Info 

On dit aussi "type Info"
8
Lutilisation des types complexes
  • La signature des services fait référence aux
    types
  • Les services dune machine logique reçoivent le
    flux sur lequel ils vont sexercer
  • La machine logique nest pas une classe dont les
    instances possèdent implicitement leur
    information
  • Elle fonctionne comme une machine à laquelle on
    apporte une matière pour en obtenir un service
  • Cest la métaphore de notre architecture de
    services
  • Larchitecture technique actuelle fonctionne de
    la même façon
  • Le flux est reçu par le premier paramètre,
    inscrit dans la signature du service
  • Si le service modifie linformation, le flux émis
    est le résultat du service
  • Dans la signature, type du service

9
Exemples
  • Pour lobjet  métier  Sinistre
  • La machine
  •  MSinistre 
  • Le type complexe
  •  InfoSinistre 

Flux reçu
Flux émis
10
Le lien avec les machines
  • Le type décrivant la SD est relié à la machine en
    tant quattribut
  • Cet attribut est public
  • Il porte un nom générique  sd 
  • Remarque sur la notation
  • UML ne permet pas dassocier une classe et un
    type par une dépendance

11
La localisation des types
2
  • Origine de la localisation des types
  • Organisation des types

12
La décision darchitecture pour les types  Métier
 
  • Nécessité découlant des choix darchitecture
    logique
  • Le  langage  partagé par toutes les composantes
    du système
  • La communication se fait, dans tout le système,
    grâce aux types SD
  • nature des paramètres dans les services
  • Toutes les parties du système doivent pouvoir
    comprendre ce langage
  • Tous les types SD  Métier  sont concentrés dans
    un unique paquetage  Taxinomie 
  • Au sein de la fabrique  fUtilitaires 
  • Toutes les parties du système y ont accès
  • Même la strate  Présentation 
  • Cette solution est la plus simple, car les
    ateliers de la strate  Métier  sont fermés on
    ne peut pas y déposer les types
  • Ce choix résulte de la négociation logique /
    technique

13
La décision darchitecture pour les types  Organi
sation 
  • Les machines logique  Organisation  possèdent,
    également, une structure de données
  • Ce sont les données nécessaires au dialogue
  • Par décision darchitecture, les ateliers
    de la strate  Organisation  sont ouverts
  • Contrairement aux ateliers de la strate
     Métier 
  • La strate  Présentation  accède directement aux
    MLO
  • Conséquence
  • Le type SD reste avec la MLO
  • À lintérieur de latelier logique
     Organisation 

14
Lorganisation des types
  • Par commodité, le paquetage  Taxinomie  se
    décompose en sous-paquetages
  • Un par fabrique logique
  • Si besoin, possibilité de sous-paquetages plus
    fins
  • Mais sans reproduire toute la structure de
    larchitecture logique
  • Ce serait une redondance structurelle
  • Pas dimpératif technique uniquement question
    de commodité
  • Aucune limite de volume indiquée par
    larchitecture technique
  • Critères pour décider
  • Faisabilité et performance au niveau logiciel
  • Commodité dans la manipulation du modèle
  • Maîtrise de larchitecture
  • Possibilité de réduire le couplage  conceptuel 
    quand un point du système fonctionne en
    connaissant moins de types

15
La construction des types
3
  • Passage de la sémantique aux structures
    de données
  • Les règles de déduction
  • Exemple
  • Les erreurs à éviter

16
Le passage du sémantique aux SD
  • Comment déterminer les types  Info  de la
    strate  Métier  à partir du modèle sémantique ?
  • Pour une MLM
  • La SD correspond à la liste des attributs de la
    classe sémantique
  • Pour une MLO
  • Cf. séquence FML-12
  • Les questions qui se posent
  • Les règles de nommage
  • Cf.  Convention de nommage , document OLQ-02x
  • Associé au Dossier darchitecture de services
  • Les frontières des types englobants
  • /

17
La question des frontières
  • Lexemple
  • Du point de vue sémantique comme du point de vue
    de lutilisation
  • Linformation portant sur un sinistre couvre la
    description des dommages
  • Si on parle des dommages, cest pour aborder la
    couverture
  • La couverture fait sens comme une relation à une
    garantie
  • Etc.
  • Le problème
  • Le type InfoSinistre doit-il recouvrir toutes
    ces informations ?

18
Les deux réponses possibles
  • Option  incorporation 
  • Lattribut de la SD est lui-même un type SD
  • Dans InfoSinistre, il y a une liste de type
    InfoDommage
  • Option  référence 
  • Lattribut contient lidentifiant pour retrouver
    lobjet distant
  • Dans IndoSinistre, lattribut  idContrat 

Incorporation
Référence
19
La décision
  • La décision respecte les limites des ateliers
  • La SD ne peut englober que linformation des
    objets qui appartiennent au même atelier
  • Les liens inter-ateliers ne peuvent se faire
    que par référence
  • À lintérieur dun atelier
  • Le type couvre plus ou moins le périmètre de
    latelier
  • Prise en compte de critères de volume et de
    dynamique
  • La décision sinscrit dans le type complexe

20
Illustration autour de Sinistre
  • Le diagramme de classes, dans le modèle sémantique

21
Les types utilisés
  • Dans latelier logique de la strate  Métier 
  •  aSinistre 

22
Résultats sur lexemple
  • Les types déduits du diagramme de classes
  • InfoSinistre
  • /
  • InfoDommage
  • InfoDommageMateriel
  • InfoDommageCorporel
  • InfoCouverture
  • Les types référencés
  • InfoAdresse
  • InfoObjet
  • InfoContrat

23
Les relations entre SD
4
  • La représentation des relations entre les types
    complexes
  • Les cas dhéritage

24
Représentation
25
Le recours à lhéritage
  • Lhéritage est utilisé dans le modèle sémantique
  • Pour construire des classifications
  • Exemple Dommage ? Matériel, Corporel
  • Au niveau logique
  • On cherche à réduire le nombre de machines
    logiques
  • Une seule machine élémentaire  MDommage 
  • En revanche, entre les types, lhéritage est le
    bienvenu
  • Pour ajuster la structure de données

26
Lhéritage entre types SD exemple
Alors que
27
Lexemple de Dommage
  • Il ny a quune seule machine élémentaire
     MDommage 
  • La nature du flux est définie par le type le plus
    générique

28
Lhéritage et les SD
  • Les cas dhéritage
  • Reprise de lhéritage du modèle sémantique
  • En plus compact, si possible
  • Exemple InfoDommage, InfoObjet, InfoPersonne
  • ? simplification de la signature des services
    (polymorphisme)
  • Reproduction de la relation de généralisation
    entre cas dutilisation
  • Exemple entre InfoDecrireSinistre et
    InfoDeclarerSinistre
  • ? lIHM ninteragit quavec la première, sur
    laquelle elle trouve tous les services de la
    seconde
  • On ne répète pas les attributs sur les sous-types

29
Les points particuliers
5
  • La variable détat
  • Les attributs dérivés
  • La visibilité des attributs
  • Les structures de données de la machine logique

30
La variable détat
  • Quand une machine logique possède un automate
    à états, la valeur de létat courant est
    véhiculée dans le type  Info 
  • Lattribut a toujours le même nom  cdEtat 
  • Les valeurs sont traitées comme des codifications
  • Chaîne de caractères
  • Le type de codification renvoie à la machine
  • Libellé du type  État de la machine ltgt 
  • Cas des sous-états
  • On ne conserve que les valeurs les plus profondes
  • Cas des états concurrents
  • La SD contient autant dattributs détats que de
    régions concurrentes
  • Le nom de lattribut reprend le nom de la région
     cdEtatltrégiongt 

31
Les attributs dérivés
  • La classe sémantique peut contenir des attributs
    dérivés
  • Informations résultant dun calcul
  • Exemple de Sinistre
  • Le tableau des coûts
  • Que deviennent ces attributs sur les types
    complexes, dans le modèle logique ?
  • La question se pose uniquement pour les attributs
    publics de la classe sémantique
  • On nadmet pas dattributs dérivés sur les types
    complexes
  • Ils représentent les flux et sont purement
    passifs
  • Ils sont repris sous la forme dattributs
    ordinaires
  • Leur valorisation est assurée par les services de
    la machine
  • Normalement service générique  demarrer 

32
La visibilité des attributs
  • Les attributs du type complexe sont publics
  • Le flux est destiné à être porté jusquà la
    strate  Présentation 
  • Donc, à être publié
  • Par exception, on peut admettre que le type
    complexe véhicule des informations cachées
  • Des attributs privés
  • Cas unique par souci doptimisation
  • Pour que la machine puisse être une nouvelle fois
    sollicitée sur le même objet  métier , sans
    avoir besoin de rechercher les informations
    privées en tables
  • Rappel les instances des objets ne sont pas
    persistantes, donc la machine ne peut pas
    conserver les informations privées
  • La machine travaille sur le flux quelle reçoit

33
Les structures de données de la machine logique
  • On distingue, pour une machine logique, trois
    structures de données
  • La structure apparente
  • Attributs publics de la classe plus déventuelles
    informations nécessaires pour lexploitation du
    flux
  • Cest le flux qui circule dans le système et
    travers les strates
  • La structure sous-jacente
  • Les données disponibles pendant lexécution des
    services de la ML
  • Conçues pour optimiser les traitements
  • Exemple totaux calculés à la volée
  • La structure persistante
  • Les attributs conservés dune exécution à une
    autre
  • Les informations de la base de données

34
Le croisement entre visibilité et type
de structure
  • Le type de structure
  • Un même attribut peut appartenir à deux
    structures
  • Il y a opposition entre apparent et sous-jacent
  • Les deux caractéristiques, visibilité et type de
    SD, sont irréductibles

35
Récapitulatif des acquis
  • Rappel de la compétence visée
  • Notions clefs
  • Lorigine des structures de données
  • Leur lien avec les machines lattribut sd
  • La localisation des types (Taxinomie)
  • La construction des types
  • Les relations entre SD


Être capable de concevoir et documenter
les formats de structures de données
Compétence Performance
36
Exercices (a)
  • Pour quelle raison a été créée la SD, dun point
    de vue architecture logique ?
  • Comment est-elle représentée ?
  • Quel est le lien entre la SD et lautomate
    détats de la ML ?
  • Où sont stockées les SD ?

37
Exercices (b)
  • Quelles sont les différences entre incorporation
    et référence dans la construction dune SD ?
  • Comment se retrouve lhéritage sémantique entre
    classes au niveau SD ?

38
Gamme opératoire
  • Tâches du concepteur pour cette partie
  • Dériver les listes dattributs des classes
    sémantiques en structures de données
  • Structurer les types SD au sein du paquetage
    Taxinomie
  • Structurer les types entre eux
  • Décider entre incorporation et référence


Compétence Performance
Write a Comment
User Comments (0)
About PowerShow.com