Modélisation adaptée aux besoins utilisateurs dans le développement des SID Estella Annoni, Franck Ravat, Olivier Teste, Gilles Zurfluh IRIT – Toulouse {annoni, ravat, teste, zurfluh}@irit.fr EDA.
Download
Report
Transcript Modélisation adaptée aux besoins utilisateurs dans le développement des SID Estella Annoni, Franck Ravat, Olivier Teste, Gilles Zurfluh IRIT – Toulouse {annoni, ravat, teste, zurfluh}@irit.fr EDA.
Modélisation adaptée aux
besoins utilisateurs dans le
développement des SID
Estella Annoni, Franck Ravat, Olivier Teste, Gilles Zurfluh
IRIT – Toulouse
{annoni, ravat, teste, zurfluh}@irit.fr
EDA 2006
1
Plan
État de l’art
Contexte des travaux
Étape de l’analyse des besoins
Collecte des besoins utilisateurs
Formalisation des besoins utilisateurs
Règles de structuration
Conclusion et perspectives
2
Classification des méthodes
Approche ascendante (data-driven)
Approche descendante (requirement-driven)
Lourde avec des sources volumineuses
Pas de prise de compte des besoins utilisateurs
Schémas impossibles à mettre en œuvre
Approche mixte
Prise en compte des utilisateurs et des sources
Pas de méthode d’analyse des besoins utilisateurs
3
Contexte des travaux
Collaboration avec la société I-D6 spécialisée dans le
décisionnel
Focalisation sur les besoins utilisateurs / {pilotage, équipement}
Expression de besoins analytiques
Table multidimensionnelle
expression intuitive et la moins informelle
expression inadaptée pour la confrontation
Besoin de formaliser les informations ainsi que les traitements
4
Contexte de la proposition
5
Collecte des besoins utilisateurs (1)
Entrée : Documentation projet {manuel utilisateurs, spécifications de l’application métier}
Sortie : {Dictionnaire décisionnel}
1- Sélection
requêtes multidimensionnelles pertinentes exprimées en BI-Query
Analyser Immobilisations.Valeur_vénale
Quand Immobilisations.Valeur_vénale >1000
En Fonction Catégories.Familles, Catégories.Sous-familles
Temps.Année
Pour Temps.Année Dans (2003, 2004, 2005);
Analyser {S.Cr}+
Quand {Cond(S.Cr)}+
En Fonction {Ai.EkAi}
Pour {Cond(Ai.EkAi)}+
tables multidimensionnelles pertinentes
7
Collecte des besoins utilisateurs (2)
Entrée : {Tables multidimensionnelles, interviews utilisateurs relatifs aux processus ETL}
Sortie : {Diagrammes décisionnels}
2- Réalisation du dictionnaire décisionnel
Etude des lignes et des colonnes des tables multidimensionnelles
Définition des paramètres des traitements ETL (Extraction Transformation Chargement)
Y : année courante
y : année traitée
8
Formalisation des besoins utilisateurs (1)
Caractéristiques du modèle
Intégration des spécificités des besoins analytiques
Proche de la vision de l’information par les décideurs
Extension du diagramme de classes UML pour garantir la réutilisation
des schémas
Prise en compte des informations et des traitements
Spécification des traitements ETL
Concept de propriété d’informativité
h : attribut historisé
a : attribut archivé
* : attribut rafraîchi
c : attribut calculé
9
Formalisation des besoins utilisateurs (2)
Association d’un comportement à un attribut
Attribut : une classe à part entière [luján-Mora et al, 2004]
Proposition : Définir des méthodes attribut avec le stéréotype <<attribut>>
Association d’un traitement à chaque propriété
Limite : impossibilité d’associer une méthode à une classe-attribut
Historiser(p, c, cond)
Archiver (p, c, cond, fct)
Rafraîchir (cond, m)
Calculer ({vi}+)
Historiser (annee,Y>y-3 and Y<y)
Archiver(annee, Null, Y>y-5 and Y<y-1,sum)
Rafraîchir(y<>Y, merge)
Calculer(Valeur_venale, Valeur_achat, amortissement)
Modèle du diagramme décisionnel (DD)
11
Règles de structuration
Règles de transformation
Règles syntaxiques
Passage de la table multidimensionnelle au DD
Validation de la cohérence et consistance des DD
Règles de fusion
Fusion des DD suivant l’environnement du projet
12
Règles de transformation
Environnement
Fait et mesures
Informations
Traitements
Dimensions et paramètres
Informations
Traitements
13
Règles syntaxiques
Informations
SDI1 & 2 : Une classe-dimension,
classe-fait ne peut pas être reliée
respectivement à une autre classedimension, classe-fait
SD3& 4: A tout paramètre et mesure est
associé la propriété d’informativité d’
historisation sur l’exercice précédent
SD5: Si un attribut possède la propriété
d’informativité « * » alors la classe
possède la propriété aussi
Processus
SDP1: Si la propriété d’informativité
porte sur tous les attributs de la classe et
avec les mêmes paramètres alors la
méthode est spécifiée au niveau de la
classe
SDP2 : Si une des mesures du fait
possède la propriété d’informativité
« h » et « a » alors toutes les dimensions
liées doivent posséder cette propriété
14
Règles de fusion
DD ayant la même
classe-fait et des
dimensions en commun
FUS1 : Fusionner les
classes-dimension par
ajout des attributs et
des méthodes
FUS2 : Fusionner les
classes-fait par ajout
des attributs et des
méthodes
DD ayant des classes de
classes-fait différentes et
des dimensions en
commun
FDS1 : Fusionner les
classes-dimension par
ajout des attributs et
méthodes
16
Conclusion
Proposition d’une méthode pour l’analyse des
besoins utilisateurs
A partir de tables ou requêtes multidimensionnelles
Mécanisme basé un 3 types de règles
Diagramme décisionnel :
modèle proche de la vision des décideurs
Prise en compte des besoins
Information et Traitements
Possibilité de réutiliser les schémas générés
17
Perspectives
Analyse des besoins de Pilotage et
Équipement
Automatisation de l’étape de l’analyse
Faciliter la tâche de confrontation
Prise en compte des hiérarchies dès l’étape de
l’analyse des besoins
18
Merci
Contact : [email protected]
19
Immobilisations.Valeur_Vénale
Temps.Année
2003
2004
2005
Catégories.Famille
Catégories.Sous-Famille
Immatériel
Logiciels
115 999,26
69 059,42
173 170, 09
Progiciels
8 958,61
111 429, 69
63 769, 32
Ecrans
1 147,47
3 445,14
4624,12
PC
3 601,85
5 319,81
7 420,95
Terminaux
1 985,47
1 798,06
1 291,34
Postes Utilisateurs
S.Cr
Ai.El
Val1ElAi
…
ValmElAi
Ai.Ek
Val1EkAj
{ValCrs(Val1EkAj, Val1ElAi)}
{ValCrs(Val1EkAj, ValmElAi)}
Val2EkAj
{ValCrs(Val2EkAj, Val1ElAi)}
{ValCrs(Val2EkAj, ValmElAi)}
{ValCrs(ValnEkAj, Val1ElAi)}
{ValCrs(ValnEkAj, ValmElAi)}
...
ValnEkAj
20