Title: Les rgles de drivation appliquer au modle smantique
1Les règles de dérivation à appliquer au modèle
sémantique
La théorie sans la pratique est inutile la
pratique sans la théorie est aveugle. Immanuel
Kant
2Objectif de la séquence
- Compétence visée
- Pré-requis
- Être capable de lire la notation UML, y compris
avec les éléments exotiques du diagramme de
classes - Associations qualifiées, ternaires
- Dérivation
- Avoir la vue densemble de la méthodologie
Praxeme - Formation Principes directeurs
- Posséder la terminologie de la modélisation
logique
Être capable de dériver le modèle sémantique pour
peupler la strate Métier
Durée de la séquence 1 h
3Contenu de la séquence
- La constitution de la strate Métier
- Les règles de dérivation
- Les décisions complémentaires
4La constitution de la strate Métier
1
- La dérivation transforme les éléments du modèle
sémantique en éléments logiques - Cette opération a pour objectif la construction
du noyau du système la strate métier
5Le principe
- Le modèle sémantique exprime la connaissance
des fondamentaux du métier - Les classes sémantiques représentent les objets
métier - Débarrassés des contingences organisationnelles
et techniques - Ces classes encapsulent lintelligence des objets
- Règles de gestion et contraintes
- Cycles de vie des objets
- Opérations exprimant les transformations de
linformation - Le concepteur logique applique à ce modèle
des règles de dérivation et constitue ainsi le
noyau du système - Règles de dérivation du modèle sémantique
vers le modèle logique
6Le noyau du système
- La strate Métier est la partie centrale du
système - Parce quelle est dérivée du modèle sémantique,
elle présente les avantages suivants - Stabilité
- Le cur de métier névolue quasiment pas
- Surtout sil résulte dune modélisation
sémantique qui applique lapproche objet et qui
pousse à la généricité - Universalité
- Le cur de métier peut être partagé
- Entre les partenaires du secteur
- Entre des partenaires de secteurs différents
(pour les objets de lenvironnement)
7Le travail du concepteur logique
- Le travail de transformation
- Pas dinvention
- Normalement, le modèle sémantique contient la
totalité des éléments de modélisation pour
expliquer le métier - Le concepteur logique ne devrait pas avoir de
questions à se poser concernant le métier - Application des règles de dérivation
- Elles sont mécanisables
- Le travail de conception
- Formalisation
- Les contrats des services logiques
- Les pré et post-conditions, les signaux
- La spécification des services en pseudo-code
- Structuration
- Tirer les conséquences des dépendances imposées
par larchitecture logique
8Les trois types de dérivation
- La dérivation des éléments structurels
- Concerne la structure des éléments logiques de la
strate métier - Dérivation des domaines dobjets, classes,
attributs, relations - Débouche sur les constituants logiques
- Machines et agrégats
- La dérivation des éléments de lapproche
contractuelle - Concerne le comportement des éléments logiques
- Dérivation des automates à états, signaux,
contraintes - Débouche sur les automates du modèle logique
- La dérivation fonctionnelle
- Dérivation des opérations des classes sémantiques
- Débouche sur les services logiques
9Les règles de dérivation
2
- La dérivation des domaines dobjets
- La dérivation des classes
- La dérivation des relations
- La dérivation des automates à états
- La dérivation des opérations
10Dérivation des domaines dobjets
2.1
- Première approche
- Quest-ce quun domaine dobjets ?
- Cette notion a été présentée dans le stage
Modélisation amont - Quel est lavantage de décomposer le système
en domaines dobjets plutôt quen domaines
fonctionnels ? - Pouvez-vous citer les domaines dobjets ?
11Les domaines dobjets
- Définition
- Un domaine dobjets est une région du système,
cristallisée autour dun objet métier fondamental - Utilisation
- Les domaines dobjets apparaissent, lors de la
modélisation sémantique, pour ordonner la
connaissance métier - Par commodité
- On ne peut pas se contenter de lister les
centaines de classes qui représentent la
connaissance du métier
12La décomposition en domaines dobjets
13Que faut-il faire ?
- Pourquoi ne peut-on reprendre tel quel
le diagramme de paquetages du modèle sémantique ?
- Dans le modèle sémantique, les paquetages sont
fortement couplés - Reflet de la circulation des concepts, dans la
connaissance et la pratique des acteurs du
système - Il faut donc supprimer des dépendances
- Cest le travail de larchitecte logique
- Décisions de portée globale
- Mais le concepteur logique peut lever des
difficultés - Au niveau du détail
14La règle de dérivation des domaines dobjets
Les domaines dobjets sont dérivésen fabriques
logiques
- La dérivation doit saccompagner dune
vérification des dépendances entre les fabriques - Les contraintes dutilisation entre paquetages
nont peut-être pas été respectées - Cela se fait en analysant tous les besoins des
services à partir des ML - Lorsque le concepteur est face à une
impossibilité dappel (fabriques non reliées) - Il fait appel à larchitecte logique
Cf. FML-04
15Dérivation des classes
2.2
- Première approche
- Quexprime une classe du modèle sémantique ?
- Quel est le mode dinteraction entre les classes
? - Peut-on bâtir le système informatique exactement
comme le modèle sémantique ?
16Un exemple
- La classe Sinistre
- Du domaine dobjets Prestations
- Elle en est un des concepts centraux
17Les règles de dérivation des classes
- La dérivation de chaque classe du modèle
sémantique produit - une machine logique élémentaire,
- une machine logique ensembliste,
- un type complexe
- Cette dérivation structurelle est mécanisable
- Le concepteur logique na pas de question à se
poser - Il intervient sur les propriétés
- Nature des attributs
18Les résultats de la dérivation dune classe
- La dérivation de la classe Sinistre
La machine élémentaire
Le type complexe
La machine ensembliste
19Détail le type, la machine élémentaire
- Le type complexe
- Les attributs de la classe sont repris en tant
que structure de données de la machine
logique - La structure de données est détachée de la
machine - Pour faciliter la circulation des informations
- Cest le moyen de décrire les flux du système
- Représentée sous la forme de types complexes, en
UML - Data types
- À ce stade pas dhypothèse sur la traduction en
logiciel - La machine élémentaire
- Elle reprend les opérations traduites en services
- Elle a un lien vers la structure de données
20Détail la structure de données
- Formalisation
- règles de nommage pour les attributs,
- règles pour les types
21Détail la machine logique ensembliste
- La ML ensembliste offre les services de
manipulation ensembliste - Création, recherche, statistiques
- Aucune opération ne leur correspond dans le
modèle sémantique - Ces manipulations sont implicites
- Elles napportent rien à la connaissance du
métier - Ces services, souvent génériques, sont
indispensables au fonctionnement de
larchitecture de services - Cest pourquoi ils apparaissent sur le modèle
logique - Les machines ensemblistes fonctionnent comme des
singletons
22Détail la ML ensembliste mSinistre
23La dérivation des relations
2.3
- Première approche
- Les classes du modèle sémantique sont liées
par de nombreuses associations - Ces associations portent une grande part de la
sémantique - Elles fixent, formellement, la définition des
concepts relatifs - Que deviennent ces associations, dans le modèle
logique ?
24Préalable
- Le style darchitecture logique
- On peut envisager plusieurs façons de procéder
- La motivation
- Limitation du couplage
- Lassociation exprime un couplage entre deux
classes - On cherche à faire des machines logiques
autonomes, autant que possible - Portabilité
- On veut que le modèle logique puisse convenir
pour des cibles techniques variées - Pas exclusivement en technologie objet
25La conséquence
- La décision, issue de la négociation logique /
technique - Il ny a pas dassociations entre machines
logiques - Cest un choix de style
- Conséquences
- Les machines ne sont liées que par des
dépendances - Relations dutilisation
- Résument et autorisent les appels de services
- Supprimer les associations revient donc à
restreindre la communication à lappel de service - Pas de navigation
26Les règles de dérivation des associations
- Lors de la dérivation du modèle sémantique
vers le modèle logique,les associations sont - systématiquement orientées,
- traduites par des dépendances,
- mises en conformité avec le graphe darchitecture
27Les conséquences
- Une association du modèle sémantique peut être
traitée dune des trois façons suivantes - Elle disparaît du modèle logique
- Décision darchitecture
- On supprime une dépendance entre agrégats
- Compensation
- Ajout de paramètre pour passer linformation
- Orchestration (cf. FML-04)
- Elle est conservée sous la forme dune dépendance
entre les types complexes - Elle est reprise par un service de navigation
28Illustration extrait du modèle sémantique
Associations orientées car dans des
domainesdifférents
Classesdans le mêmedomaine
? codifications
29Illustration résultat de la dérivation
- Commentaire
- Les associations vers les codifications
disparaissent - Deviennent la relation entre un attribut de la SD
et sa nature - Les associations inter-domaines sont rendues par
des relations de la SD vers les types décrivant
les identifiants - Les associations dans le périmètre de latelier
se traduisent par des relations dutilisation
entre les machines logiques
30Précisions sur la dérivation des associations
- Le modèle sémantique se dérive également en
modèle logique des données - Les associations jouent un rôle essentiel dans
cette dérivation - Les relations entre les structures de données
gardent la trace des associations - Cf. séquence sur les structures de données
31La dérivation des automates à états
2.4
- Première approche
- À quoi servent les automates à états dans
le modèle sémantique ? - Pourquoi sont si importants dans notre approche ?
- Comment les représente-t-on en UML ?
- Que peut-on en faire ?
- Au niveau logiciel
- Au niveau logique
32Les règles de dérivation des automates
La dérivation vers le modèle logiqueconserve les
automates à états.Elle en cadre le formalisme
- Pour éviter des difficultés dinterprétation
des automates,on réduit les possibilités
dexpression - Aucun événement
- Cf. séquence FML-10, La dérivation des
automates à états
33La dérivation des opérations
2.5
- Première approche
- Ce moment justifie toute la démarche !
- Cest la réponse à la question Comment trouver
les services ? - Les bons services, cest-à-dire des services
à valeur ajoutée, dont la teneur en fait autre
chose que des accesseurs - Quavons-nous exprimé, dans le modèle sémantique,
au titre des opérations ? - Comment les opérations ont-elles été dégagées ?
- À quelles exigences obéit la documentation
des opérations, dans le modèle sémantique ? - En quoi cela sert-il la conception des services
logiques ?
34Les règles de dérivation des opérations
Les opérations publiques de la classe
sémantiquedeviennent des services logiquesde la
machine élémentaire La signature obéit à des
normes
- Les opérations privées sont conservées
- On leur applique les mêmes normes quaux services
- Les normes sur la signature sont liées au style
darchitecture retenu
35Illustration les opérations
- La classe sémantique
- Commentaire
- déclarer
- Opère un changement détat
- Représentation objet
- Les opérations ont accès aux attributs de la
classe
36Illustration les services logiques
- La machine logique élémentaire
- Commentaire
- La machine logique doit être vue comme un
distributeur une machine - Et non comme une classe
- On lui passe linformation sur laquelle elle agit
et quelle restitue - Doù le paramètre pour recevoir le flux le
résultat en sortie
37Précision sur la dérivation des opérations
- Lexpression
- Pour les opérations sur les classes sémantiques
- Les contrats (règles, pré et post conditions) et
le fonctionnement sont décrits - Obligatoirement en langage naturel (pour
compréhension et validation) - Facultativement en pseudo-code
- Pour les services logiques
- Le contenu des services est toujours exprimé en
pseudo-code - De façon à ce quil ny ait aucune ambiguïté au
moment de la réalisation - Le travail du concepteur logique
- Formaliser
- Appliquer les normes
- Tenir compte des contraintes de larchitecture
logique
38Les décisions complémentaires
3
- Lorigine des ateliers logiques
- Délimitation des ateliers logiques
- Les décisions darchitecture
39Lorigine des ateliers logiques
- Rien, dans le modèle sémantique, ne correspond à
latelier logique - Sinon les grappes de classes, au sein dun
domaine dobjets - Fortes connexions autour dun objet central
- Analyse des cardinalités, des solidarités
- Les ateliers logiques sont créés par décision de
larchitecte logique - Le concepteur logique respecte le graphe
darchitecture - Sil rencontre des difficultés ou lève une
incohérence, il en réfère à larchitecte logique - Seul celui-ci est habilité à créer un atelier ou
à ajouter une nouvelle dépendance - En tenant préservant les enjeux globaux
- Dans le cas contraire, autant dire quil ny a
pas darchitecture - Les ateliers logiques de la strate Métier
(ALM) regroupent des MLM proches - Selon un critère de proximité sémantique
- Manipulation ou encapsulation des mêmes
ressources - Par exemple des tables
40Un exemple datelier
41Les règles de dérivation associées aux ateliers
logiques
- Préalable à la conception logique
- Le graphe darchitecture logique définit les
ateliers logiques - Le concepteur logique ne peut dériver le modèle
sémantique quà partir du moment où il dispose du
graphe - Localisation
- Les ML dérivées dune même classe sémantique sont
rangées dans le même atelier - La ML ensembliste va dans le même AL que la ML
élémentaire - Les machines subordonnées sont rangées dans le
même atelier que la machine principale - Quand une classe est liée par composition à une
classe centrale, la machine qui en dérive se
place dans le même atelier que la machine centrale
42Les règles de conception associées aux ateliers
logiques
- Regroupement des ressources
- Les ML accédant à une même table sont dans le
même atelier - Une même table ne peut jamais être exploitées par
plusieurs ateliers - Sauf dans le cas dune cohabitation avec un
système existant - Le cas évident machine élémentaire et machine
ensembliste - Parfois, autorisation de jointure à lintérieur
des limites de latelier - Exemple Sinistre ? Dommage ? Couverture
- Ces jointures possibles se lisent sur les types
complexes (cf. FML-09) - La visibilité du contenu de latelier est réduite
- Via une interface associée aux ML dérivant la
classe principale - Les ML satellites sont privées ou protégées
43Récapitulatif des acquis
- Rappel de la compétence visée
- Notions clefs
- La dérivation du modèle sémantique permet de
peupler la strate métier - Récapitulatif des règles de dérivation
- Ci-après
Être capable de dériver le modèle sémantique pour
peupler la strate Métier
Compétence Performance
44Exercice principaux constituants logiques
- Vers quel constituant logique se dérivent les
éléments du modèle sémantique ?
Domaine dobjets Classe Attribut Opération Règle
de gestion Automate à états Association Type Type
énuméré
45Exercices notions complémentaires
- Établissez les correspondances
Domaine dobjets Classe Attribut Opération Règle
de gestion Automate à états Association Type Type
énuméré
- Type complexe
- Automate à états
- Relation dutilisation
- Pré, post-condition
- Codification
- Machine élémentaire
- Machine ensembliste
- Service logique
- Opération
- Identifiant
46Gamme opératoire
- Tâche de larchitecte logique
- Création des ateliers métier
- Pour certains ateliers, larchitecte peut décider
de créer plusieurs interfaces - Cas rares des dispositifs transverses
- Tâches du concepteur pour la dérivation
- Dérivation des catégories du modèle sémantique en
éléments logiques - Création des ML métier
- Création des services métier
- Reprise des attributs dans les types complexes
- Reprise des automates à états
Compétence Performance
47Synthèse de la dérivation (1/3)
48Synthèse de la dérivation (2/3)
49Synthèse de la dérivation (3/3)
50Pour approfondir
- Documentation Amos
- Cf. document Démarche de conception