DÉVELOPPEMENT DES GROUPWARE
Transcript of DÉVELOPPEMENT DES GROUPWARE
DÉVELOPPEMENT DES GROUPWARE
• Introduction
• Spécification des Groupware
• Modèle de tâches
• Modèle de tâches pour Groupware
• Notation COMM
• Architectures logicielles
• Mise en œuvre des Groupware
Cours- Fondements et Outils du Travail
Collaboratif103
Introduction
• Groupware– sont des logiciels qui permettent à des utilisateurs
géographiquement répartis de partager un environnement communet de participer à une tâche commune à partir de leurs stations sansavoir à se déplacer pour coordonner leurs actions.
• De ce fait, les Groupware allient le traitement local des donnéessur des stations de travail et la communication de ces donnéesentre des utilisateurs.
• En effet, les Groupware doivent remplir deux fonctions :– Réaliser la tâche spécifiée (spécification des Groupware)
– Respecter les règles usuelles d’interaction des utilisateurspour la réalisation d’une tâche collective.
Cours- Fondements et Outils du Travail
Collaboratif 104
Introduction
• Puisque le Groupware est un logiciel, son processus dedéveloppement suit également les mêmes étapes de celui d’unlogiciel.
• Le cycle de vie le plus favorisé actuellement est celui en V.
Analyse des besoins
Spécification
Conception
architecturale
Conception
architecturale
Conception Détaillée
Codage
Tests unitaires
Tests d’intégration
Tests de validation
Tests utilisateur
Boîtes à outils
Ad hoc
Boîtes à outils
Ad-hoc
Modèle
logicielle
Modèle
d’architecture
logicielle
Formalises,
UML, COMM)
Formalises,
notations (ex.
UML, COMM)
Cours- Fondements et Outils du Travail
Collaboratif105
I. Introduction
• Dans ce qui suit on s’intéresse uniquement aux étapes:– de Spécification
– de Conception d’architecture
Analyse des besoins
Spécification
Conception
architecturale
Conception Détaillée
Codage
Tests unitaires
Tests d’intégration
Tests de validation
Tests utilisateur
Cours- Fondements et Outils du Travail
Collaboratif106
Introduction
• La phase de l’analyse des besoins, qui sert à : Comprendre les besoinsdu client, elle est suivi d’une phase de spécification
• Spécification permet :
– Établir une description claire de ce que doit faire le logiciel(fonctionnalités détaillées, exigences de qualité, interface...)
– Clarifier le cahier des charges (ambiguïtés, contradictions)
Cours- Fondements et Outils du Travail
Collaboratif 107
SPÉCIFICATION DES GROUPWARE
Cours- Fondements et Outils du Travail
Collaboratif108
Spécification des Groupware
• En génie logiciel, l’étape de spécification sert à décrire unlogiciel en s'axant prioritairement sur les besoins notammentfonctionnels;
• Spécifier c’est « Désigner par son trait spécifique, exprimer, déterminer
en particulier, en détail » c’est en opposition avec : « on va décrire en
gros ».
• Spécification : ce que doit faire le logiciel, ensemble de critères que
doivent satisfaire son fonctionnement interne et ses interactions
avec son environnement
• Quelques questions préalables :
– Pourquoi spécifier un Groupware ? Spécifier pour qui ? Que spécifier
dans un Groupware ? Comment spécifier un Groupware ?
Cours- Fondements et Outils du Travail
Collaboratif 109
Spécification des Groupware
• Pourquoi spécifier un Groupware ?
– Support de référence
– Support de communication
Que se passe t-il
quand l’utilisateur
clique ici ?
Ouvre une pop-up
avec choix
Toi Le chef
Au fait,
pourquoi t’as
mis une pop-
up?
Toi Le chef
Trois moi plus tard …
Cours- Fondements et Outils du Travail
Collaboratif110
Spécification des Groupware
• Spécifier un Groupware pour qui ?– Pour le client
• Description précise de ce qui sera réaliser.– Permet d’anticiper la mise en exploitation
– Pour les développeurs• Référence précise et non ambiguë de :
– Ce qu’il s’agit de réaliser
– Ce qu’il s’agit de tester.
– Ce qu’il s’agit de maintenir
Cours- Fondements et Outils du
Travail Collaboratif 111
Spécification des Groupware
• Que spécifier dans un Groupware ?– En plus d’un logiciel mono-utilisateur, le Groupware doit supporter :
• De nouvelles actions liées au contrôleur de dialogue qui gère lacohérence des ressources partagées entre les différents sitesutilisateurs.
• De nouvelles interactions liées à l’activité collective.
• De nouvelles données liées à l’activité collective.
– En effet, pour les Groupware cette phase doit spécifier toutes cesnouvelles fonctionnalité.
• Dans ce qui suit, on s’intéresse uniquement à la spécificationde l’interaction.
Cours- Fondements et Outils du Travail
Collaboratif112
Spécification des Groupware
• Comment spécifier un Groupware ?– Un/des langages communs (support de référence/communication)
à savoir :
• En langage naturel
• Avec des formalismes tels qu’UML– (diagramme de cas d’utilisation, diagramme d’interaction, …)
• Avec des notations spécifiques.– Modèle de tâches
• Dans ce qui suit, on s’intéresse particulièrement à laspécification des Groupware via MODÈLE DE TÂCHES
Cours- Fondements et Outils du Travail
Collaboratif113
MODÈLE DE TÂCHES
Cours- Fondements et Outils du Travail
Collaboratif114
Modèle de tâches
• Qu’est ce qu’un Modèle de tâches ?– Est une description logique des activités à réaliser pour
atteindre les objectifs des utilisateurs.
– Décrit comment les activités peuvent être réalisées pouratteindre les objectifs des utilisateurs lors de l’interaction avecl’application considérée.
– Représente une décomposition d’une activité (complexe) entâches élémentaires (simple).
Cours- Fondements et Outils du Travail
Collaboratif115
Modèle de tâches
• Qu’est ce qu’une TÂCHE ?– est caractérisée essentiellement par un but, une procédure pour
atteindre ce but et les acteurs qui la réalisent.• But : état souhaité du système• Procédure : un ensemble de sous-tâches liées par :
– Des relations de composition– Des relations temporelles
• Acteurs– par un utilisateur– ou par un groupe d’utilisateurs
Cours- Fondements et Outils du Travail
Collaboratif 116
Modèle de tâches
• Analyse de la tâche : En utilisant la technique de Pourquoi?
Comment?
• Principe
– Mener une interview semi-dirigée dans laquelle on orientel’interviewé au moyen de questions pourquoi? ou comment?afin que la personne
• explique plus précisément ce qu’elle vise à exécuter quandelle agit [pourquoi?]
• formule plus en détail la procédure qu’elle met en œuvre pourréaliser son objectif [comment?]
Cours- Fondements et Outils du Travail
Collaboratif 117
Modèle de tâches
• Analyse de la tâche : En utilisant la technique de Pourquoi?Comment?– Exemple 1 : Extraits d’interviews de personnes exécutant des
tâches administratives
• Dans un service qui gère les missions et déplacements despersonnels : Tâche « s’occuper du remboursement »
– … on reçoit les frais de mission, je vérifie avec l’intéressél’imprimé, le fais signer, je fais une photocopie…
– POURQUOI ?
Pour envoyer les frais de missions au service concerné et qu’ilsoit remboursé.
– LES ACTIONS : recevoir les frais de mission, vérifier, faire signer,faire une photocopie, etc., composent la tâche de niveau supérieur« renvoyer les frais de mission ».
Cours- Fondements et Outils du Travail
Collaboratif 118
Modèle de tâche
• Analyse de la tâche : En utilisant la technique de Pourquoi?Comment?– Exemple 2 : Extraits d’interviews de personnes exécutant des
tâches administratives
• Dans un cabinet d’assurances : Tâche « déterminer le barème »– Je dois déterminer le barème à partir du rapport d’expertise…
– COMMENT ?
Je prends le dossier, je lis, je vérifie le nom de l’assurancecorrespondante et si j’ai les références du tiers… ensuite jedétermine le barème en suivant la convention et je vérifie si lagarantie est acquise.
– ACTIONS : prendre le dossier, le lire, vérifier et déterminer lebarème, vérifier la garantie, etc.
Cours- Fondements et Outils du Travail
Collaboratif 119
Modèle de tâche
• Analyse de la tâche : En utilisant la technique de Pourquoi? Comment?
– Exemple : Système de gestion de congé
Cours- Fondements et Outils du Travail
Collaboratif 120
Modèle de tâche
• Décomposition de tâches– Ou arrêter la décomposition ?
• Tâche élémentaire
– Tâche élémentaire ?• Tâche décomposable en actions physiques
– Action physique ?• opération sur un dispositif d’entrée/sortie qui provoque un
changement d’état du dispositif– Exemple entrée : clic souris, énoncé vocal, geste
– Exemple sortie : émission d’un bip, affichage d’un cercle
– => Choix des modalités
Cours- Fondements et Outils du Travail
Collaboratif121
Modèle de tâche
• Relations entre tâches– Tâches et sous-tâches sont agencées (reliées) entre elles
selon cinq modalités :• Séquentielles (en suivant)
• Alternatives (l’une ou l’autre exclusivement)
• Parallèles (l’une ou l’autre)
• Simultanées (l’une et l’autre en même temps)– Tâches collectives (supposent plusieurs acteurs ou
opérateurs)
• Itératives (en boucle)
Cours- Fondements et Outils du Travail
Collaboratif122
Modèle de tâche
• Relations entre tâches
– Séquentielles (en suivant)
– Parallèles
Cours- Fondements et Outils du Travail
Collaboratif123
Modèle de tâche
• Relations entre tâches
– Impact de l’agencement entre tâches sur l’interface
Cours- Fondements et Outils du Travail
Collaboratif124
II.2. Modèle de tâche
• Relations entre tâches
– Impact de l’agencement entre tâches sur l’interface ( EX: tâches
Séquentielles)
1
2
3
Cours- Fondements et Outils du Travail
Collaboratif125
Modèle de tâche
• Relations entre tâches
– Impact de l’agencement entre tâches sur l’interface• Exemple : interface de tâches Itératives
Cours- Fondements et Outils du Travail
Collaboratif126
Modèle de tâche
• Impact du choix des modalités– Choix des modalités ?
• Champs de texte (souris + clavier)
• Mini-calendrier (souris)
• Reconnaissance vocale
• …
– Le choix des modalité a t-il un impact sur le modèle de tâche?
Cours- Fondements et Outils du Travail
Collaboratif127
MODÈLE DE TÂCHE POUR GROUPWARE
Cours- Fondements et Outils du Travail
Collaboratif128
Modèle de tâche pour Groupware multimodal
• Principe de la multi-modalité
– Une application multimodale est un logiciel qui utilise plusieursmodalités d’interaction.
– La Multimodalité vise a offrir plusieurs façons d’interagir avecl’application.
– Modalité d’interaction est l’usage d’un dispositif physique dans unemanière donnée.
• Modalité en Entrée/Sortie
– Entrée : de l’utilisateur vers le systèmes
– Sortie : du système vers l’utilisateur
• Modalité Active/Passive
– Active : requiert une action explicite de l’utilisateur
– Passive : informations collectées sans action explicite
Cours- Fondements et Outils du Travail
Collaboratif129
Modèle de tâche pour Groupware multimodal
• Apport de la Multimodalité– Flexibilité : La Multimodalité permet d’envisager
l’interaction dans un cadre non fige a un nombre restreintde modalités conventionnelles basées sur la souris, leclavier et l’écran.
• Cette variété permet d’augmenter l’utilisabilité d’uneapplication interactive.
• Ainsi un système proposant plusieurs modalités en entréepour réaliser une tâche donnée permet aux utilisateurs dechoisir la modalité qu’ils souhaitent utiliser en fonction deleurs capacités, de leurs besoins, de leurs préférences.
– Robustesse : notamment par l’utilisation conjointe demodalités pour la réalisation d’une tâche donnée.
• En sortie, elle peut renforcer l’observabilité de l’applicationen offrant plus de moyens d’informer l’utilisateur sur l’état dusystème.
Cours- Fondements et Outils du Travail
Collaboratif130
Modèle de tâche pour Groupware multimodal
• Forme de modalité– Complémentarité : Les modalités fournissent des informations
complémentaires pour réaliser la tâche.
• Exemple :
– Pointage (coordonnées)
– Pression (validation)
Zoom
Cours- Fondements et Outils du Travail
Collaboratif131
Modèle de tâche pour Groupware multimodal
• Forme de modalité– Redondance : Plusieurs modalités doivent fournir la même
informations pour réaliser une tâche.
• Exemple :
– Présenter la vitesse
– Son (haut parleur)
– Compteur (écran)
– Défilement (écran)
Cours- Fondements et Outils du Travail
Collaboratif132
• Forme de modalité– Equivalence : Plusieurs modalités différentes peuvent être utilisées
pour réaliser une tâche donnée.
• Exemple : Déplacer la carte
– Stylet
– Souris
– Clavier
Modèle de tâche pour Groupware multimodal
Cours- Fondements et Outils du Travail
Collaboratif133
• Forme de modalité– Concurrence : Usage simultané de plusieurs modalités pour
réaliser des tâches distinctes.
• Exemple : Messagerie instantanée (skype, msn, …)
– Communication orale (microphone)
=> Parler à quelqu’un– Communication écrite (clavier souris)
=> Ecrire un message– (éventuellement avec des personnes différentes)
Modèle de tâche pour Groupware multimodal
Cours- Fondements et Outils du Travail
Collaboratif134
Modèle de tâche pour Groupware multimodal
• Exemple : Editeurcollaboratif de Plan– Est l’un des exemples
d’application multimodale– Pour l’utilisateur distant
• Modalité en entrée– Stylet– Clavier
• Renforcer la consciencede groupe
– Caméra (entrée, passive)
– Ombre rose (sortie)
Cours- Fondements et Outils du Travail
Collaboratif135
Modèle de tâche pour Groupware multimodal
• Impact du choix des modalités– Le choix des modalité a t-il un impact sur le modèle de tâche ?
Réponse : Oui
• Exemple
Cours- Fondements et Outils du Travail
Collaboratif136
Modèle de tâche pour Groupware multimodal
• Notations de modèle de tâche
– CTT (Concur TaskTrees) [Paterno 1997]
– GTA ( Groupware Task Analysis) [Veer 2000]
– COMM (COllaborative et MultiModale)
– …
Cours- Fondements et Outils du Travail
Collaboratif137
NOTATION COMM
Cours- Fondements et Outils du Travail
Collaboratif138
Notation COMM
• La notation COMM (COllaborative et MultiModale) est unenotation d'arbre de tâche permettant la description del'interaction Multiutilisateur et Multimodale.
• L’utilisation de la notation COMM nécessite donc lacompréhension des concepts lies a l’analyse de la tâche et desmodèles de tâches existants.
• Arbre de tâche COMM
– possède une tâche racine qui est généralement "Utiliserl'application". Cette tâche racine est ensuite raffiné en sous-tâche.
Cours- Fondements et Outils du Travail
Collaboratif139
Notation COMM
• Tâche : qui représente le concept de base de l’arbre• Ce concept est relié aux concepts
– de rôle, d’utilisateur,
– et de modalité d’interaction.
– notation COMM inclut ces concepts originaux et spécifiquesaux Groupware et multimodaux.
• e-COMM qui prend en charge l’édition de diagrammes selonla notation COMM.– Avec e-COMM, les concepteurs peuvent produire des
spécifications détaillées pour les Groupware multimodaux.
– Ces spécifications de l’interaction servent de référence pourles phases suivantes de développement.
Cours- Fondements et Outils du Travail
Collaboratif140
Notation COMM
• Détails de la tâche– Nom de la tâche : Une tâche COMM possède un nom qui
correspond à la tâche à effectuer.• Ce nom doit commencer par un verbe.
• Il décrit l'action à réaliser par le(s) utilisateur(s) ou le systèmequi réalise(nt) la tâche.
• Par exemple, une tâche qui consiste à créer un document,pourra s'appeler "Créer un document".
Cours- Fondements et Outils du Travail
Collaboratif
Nom
141
Notation COMM
• Détails de la tâche– Type de la tâche : Une tâche COMM possède un type parmi
les huit proposés par la notation.
– Les types de tâches décrivent• la direction de la tâche
– Système vers utilisateur,
– Utilisateurs vers système
• Le nombre d'utilisateur.
– COMM nous propose huit types de tâches
Cours- Fondements et Outils du Travail
Collaboratif
Type
142
Notation COMM
• Détails de la tâche– Huit Types de tâche
Cours- Fondements et Outils du Travail
Collaboratif143
Notation COMM
• Détails de la tâche– Huit Types de tâche
• Tâche mentale : un utilisateur n'interagit pas avec lesystème. Il réfléchit.
• Tâche de calcul : le système effectue un traitement. aucunfeedback n'est présenté sur la nature des calculs.
• Tâche de présentation : le système présente desinformations aux utilisateurs sous une forme quelconque.
• Tâche d'action : une action que fait l'utilisateur sur lesystème. Aucun feedback n'est prévu.
Cours- Fondements et Outils du Travail
Collaboratif144
Notation COMM
• Détails de la tâche– Huit Types de tâche
• Tâche d'interaction : une interaction entre l'utilisateur et lesystème. Peut être raffiner par une séquence de tâche deprésentation et d'action.
• Tâche de coordination : plusieurs utilisateurs se concerte sansl'appuie du système.
• Tâche d'action de groupe : une action que font plusieursutilisateurs sur le système. Aucun feedback n'est prévu.
• Tâche d'interaction de groupe : une interaction entre plusieursutilisateurs et le système. Peut être raffiner par une séquence detâche de présentation, d'action de groupe, et d'action etd'interaction individuelle.
Cours- Fondements et Outils du Travail
Collaboratif145
Notation COMM
• Détails d’une tâche– Tâche modale : A l'exception des tâches mentales, de calcul
et de coordination, les autres tâches peuvent devenir destâches modales.
• Décrire le dispositif d’interaction.
• La primitive d’utilisation du dispositif.
Cours- Fondements et Outils du Travail
Collaboratif146
Notation COMM
• Détails d’une tâche– Multiplicité d’une tâche : Elle est décrite en fonction de
• la nature de tâche– Séquentielle– Parallèle
• Et du nombre de fois où elle peut être :– exactement 1 fois (1 ou '')– au plus 1 fois (1*)– au moins 1 fois (1+)– exactement N fois (N)– au plus N fois (N*)– au moins N fois (N+)– entre N et M fois (N..M)– un nombre quelconque de fois (*)
Cours- Fondements et Outils du Travail
Collaboratif147
Notation COMM
• Détails d’une tâche– Niveau d’abstraction d’une tâche
• Une tâche peut être :– Abstraite et symboliser par un nuage.
Elle peut être définie comme une tache non-élémentaire.
Cependant, puisqu’une tâche élémentaire est une tâcheque le concepteur n’a pas souhaité décomposer.
– ou Concrète (élémentaire) et symboliser par un rectangle.
Cours- Fondements et Outils du Travail
Collaboratif148
Notation COMM
• Détails d’une tâche– Niveau d’abstraction d’une tâche
• Différence entre tâche abstraite et concrète– Une tâche abstraite peut avoir des tâches filles abstraites
et concrètes
– Une tâche concrète peut uniquement avoir des taches fillesconcrètes
– Sur la base de ce modèle, nous pouvons définir que :
les tâches abstraites décrivent le contrôleur dedialogue,
tandis que les tâches concrètes décrivent l’interfaceutilisateur.
Cours- Fondements et Outils du Travail
Collaboratif149
Notation COMM
• Détails d’une tâche– Utilisateur
• Une tâche peut requérir, la présence d’un certain nombred’utilisateur.
• Les utilisateurs interviennent sur la tâche en jouant des rôles.
– Rôles : qui peuvent être :• Rôle métier
• Rôle interactif
Cours- Fondements et Outils du Travail
Collaboratif150
Notation COMM
• Détails d’une tâche– Rôles métier
• Une tâche peut requérir des utilisateurs spécifique pour êtreréalisé.
• Les rôles métiers sont là pour décrire la division du travail entredes catégorie d'utilisateurs définit lors de la conception.
– Les rôles métiers => Décrit la COOPÉRATION
Cours- Fondements et Outils du Travail
Collaboratif151
Notation COMM
• Détails d’une tâche
– Rôles interactif
• Le rôle interactif est associé à un utilisateur, lorsqu'il réaliseune tâche qui est associé ce rôle.
• Lorsque l'on souhaite décrire des interactions collaboratives,il n'est pas toujours possible d'associer des rôles métiers auxutilisateurs.
Cours- Fondements et Outils du Travail
Collaboratif152
Notation COMM
• Détails d’une tâche– Contexte d’une tâche
• La notation COMM permet de définir textuellement descontextes et de les associer aux tâches.
• Principe– décrire un contexte d’utilisation particulier
exemple : (1) Contexte mobile : dans la rue, en marchant.
– Associer le contexte à une tâche
Cours- Fondements et Outils du Travail
Collaboratif153
Notation COMM
• Détails d’une tâche– Opérateurs entre tâches : qui peuvent être des Opérateurs
unitaires, Opérateurs binaires ou Opérateurs basés sur les relationstemporelles de Allen
Cours- Fondements et Outils du Travail
Collaboratif154
Notation COMM• Détails d’une tâche
– Opérateurs entre tâches : Opérateurs unitaires
• Optionnel : l’optionalité constitue une alternative entre réaliser une tache et ne pas laréaliser.
– T0 ou [T]: Tâche optionnelle, réalisable au plus une fois
• Itération :
– T1 ou T: Tâche réalisable exactement une fois
– T1+ : Tâche réalisable au moins une fois
– T1* : Tâche réalisable jusqu’à une fois
– Tn: Tâche devant être réalisée exactement n fois
– Tn*: Tâche devant être réalisée jusqu’à n fois séquentiellement
– Tn+: Tâche devant être réalisée au moins n fois
– Tn…m : Tâche devant réalisée entre n et m fois
– T∗ : tache réalisable un nombre quelconque de fois, y compris zéro.
• Nature d’itération
– || : Parallèle
– >: Séquentielle
Cours- Fondements et Outils du Travail
Collaboratif155
Notation COMM
• Détails d’une tâche– Opérateurs entre tâches : Opérateurs binaires
• Activation ( ) : Fin de T1 déclenche l’activation de T2.• Activation avec passage d'information ( ).• Choix ( ) : soit T1 soit T2.• Ordre quelconque ( ) : T1 T2 ou T2 T1.• Concurrence ( ) : (Imbrication) Actions en parallèle.• Concurrence avec échange d’information( ) : synchronisation
d’information.• Désactivation( ) : dès qu'une action de T2 se produit, T1 est
désactivée.• Interruption( ) : T1 |> T2 : T2 peut interrompre T1, T1 peut
reprendre à la fin de T2 (suspendre et reprendre)• Inconnu ( ) : opérateur n’est pas encore défini
Cours- Fondements et Outils du Travail
Collaboratif156
Notation COMM
• Détails d’une tâche– Opérateurs entre tâches : Opérateurs binaires
• Activation ( ) : Fin de T1 déclenche l’activation de T2.• Activation avec passage d'information ( ).• Choix ( ) : soit T1 soit T2.• Ordre quelconque ( ) : T1 T2 ou T2 T1.• Concurrence ( ) : (Imbrication) Actions en parallèle.• Concurrence avec échange d’information( ) : synchronisation
d’information.• Désactivation( ) : dès qu'une action de T2 se produit, T1 est
désactivée.• Interruption( ) : T1 |> T2 : T2 peut interrompre T1, T1 peut
reprendre à la fin de T2 (suspendre et reprendre)• Inconnu ( ) : opérateur n’est pas encore défini
Cours- Fondements et Outils du Travail
Collaboratif157
Notation COMM
• Exemple 1– Quand on réserve un billet, on peut fixer la ville de départ et
d'arrivée dans n'importe quel ordre, même en parallèle
Tâches parallèles
Cours- Fondements et Outils du Travail
Collaboratif158
Notation COMM
• Exemple 2– réaliser une modification dans une application informatique
Cours- Fondements et Outils du Travail
Collaboratif159
Notation COMM
• Exemple 3– Edition de texte : Pour éditer, d'abord sélectionner puis
modifier les attributs ou supprimer
Cours- Fondements et Outils du Travail
Collaboratif160
Notation COMM
• Détails d’une tâche– Opérateurs entre tâches : Opérateurs de Allen
• Se sont des opérateurs très précis (de bas niveau)– Très souvent utilisés entre tâches concrètes.
• Il permettent en effet de décrire– la continuité d'interaction entre plusieurs tâches
– combinaison de modalité d’interaction
Cours- Fondements et Outils du Travail
Collaboratif161
Notation COMM
• Détails d’une tâche– Opérateurs entre tâches : Opérateurs de Allen
Cours- Fondements et Outils du Travail
Collaboratif162
– Opérateurs entre tâches : Opérateurs de Allen
• Exemple : Déplacer un groupe
Notation COMM
Cours- Fondements et Outils du Travail
Collaboratif163
– Opérateurs entre tâches : Opérateurs de Allen
• Exemple : Déplacer un groupe
Notation COMM
la tâche Sélectionner un groupe estdécomposée en deux sous-tachesmodales équivalentes : Pointer dudoigt un groupe et Enoncer « le nomd’un groupe »
L’équivalence est ici
représentée par un
operateur d’alternative
la tâche Déplacer le groupe
consiste a énoncer ≪ aller ici ≫
pendant que l’on désigne du doigt
la destination.
Ces 2 tâches sont liées par
opérateur Allen : B pendant A
Cours- Fondements et Outils du Travail
Collaboratif164
ARCHITECTURES LOGICIELLES
Cours- Fondements et Outils du Travail
Collaboratif165
Architectures logicielles
• L’architecture est l’art de la construction d’édifices (ex.bâtiment) selon un ensemble de règles établies [Robert 1992].
• L’architecture d’un édifice, c’est aussi sa forme, sa structure.
• Dans le domaine de l’Interaction Homme-Machine, il s’agit dela façon dont les composants logiciels ou matériels sontorganisés et assemblés pour concevoir un système interactif.
Cours- Fondements et Outils du Travail
Collaboratif166
Architectures logicielles
• Un modèle d’architecture logicielle est utilisé lors de la phasede conception logicielle dans le cycle de vie du logiciel pourconcevoir l’architecture du système.
Cours- Fondements et Outils du Travail
Collaboratif167
Architectures logicielles
• Pourquoi développer un bon modèle de l’architecture ?– Afin que tous (développeurs, concepteurs, etc.) aient une
meilleure compréhension du système
– Afin que les différents concepteurs puissent travaillerisolement sur différentes composantes du système
– Afin d’être mieux préparer à étendre les fonctionnalités dusystème
– Afin de faciliter la réutilisabilité.
– Afin d’assurer la maintenabilité et la fiabilité du système, unearchitecture doit demeurer stable.
Une architecture est stable lorsque l’ajout d’unnouvel élément ne requiert que des changementsmineurs
Cours- Fondements et Outils du Travail
Collaboratif168
Architectures logicielles
• Conception de l’architecture– Le processus de conception d’une architecture logicielle recouvre
les deux principales activités suivantes :
• Définition de la décomposition fonctionnelle du système
• Choix d’une organisation structurelle en s’inspirant des modèlesd’architecture de référence.
– Le résultat de cette activité constitue la structure modulaire ouARCHITECTURE CONCEPTUELLE
Cours- Fondements et Outils du Travail
Collaboratif169
Architectures logicielles
• Modèles d’architecture– Nous modélisons des systèmes complexes parce que nous
somme incapables de les comprendre dans leur totalité.• Nous construisons donc des modèles afin de mieux comprendre
les systèmes que nous développons.
– Définition : Un modèle d’architecture est la représentation
abstraite de l’organisation logicielle de l’ensemble des
fonctionnalités du système.
– En d’autres termes :• Un modèle est la simplification/abstraction de la réalité.
Cours- Fondements et Outils du Travail
Collaboratif170
Architectures logicielles
• Modèles d’architecture– Les modèles d’architecture offrent une description standard
d’une organisation de composants et de règles régissant lesrelations entre ces composants.
– En général, un modèle d’architecture permet de répondre àune classe de problèmes.
• Par exemple, le modèle d’architecture du compilateur permetl’identification de ses principaux composants :
– l’analyseur lexical, l’analyseur syntaxique, l’analyseursémantique et le générateur de code.
Cours- Fondements et Outils du Travail
Collaboratif171
Modèles d’architecture
• Modèles d’architecture– Deux types, en générale, de modèles d’architecture
• Modèles d’architecture pour les systèmes interactifs mono-utilisateur.
• Modèles d’architecture pour les Groupware (systèmesinteractifs multiutilisateurs).
Cours- Fondements et Outils du Travail
Collaboratif172
Modèles d’architecture mono-utilisateur
• Fondement– Deux Composants
• 1er implémentant la spécification externe (IHM).
• 2ème implémentant les fonctionnalités internes (NF).
– NF : contient les données et les traitements manipulés parl’application.
– IHM : composant qui gère les interactions avec l’utilisateur.
• Plusieurs types de modèles à distinguer– Modèles fonctionnels (ex. Seeheim, Arch)
– Modèles à agents (ex. MVC, ALV, PAC, etc.)
– Modèles hybrides (ex. PAC-Amodeus)
Cours- Fondements et Outils du Travail
Collaboratif
Noyau Fonctionnel (NF)
IHM
173
Modèles d’architecture mono-utilisateur
• Modèle de Seeheim– Introduit en 1983 pour structurer l‘IHM dans un logiciel
interactif.
– Seeheim est une ville d'Allemagne où s'est tenu en novembre1983 un atelier de travail organisé par : Eurographics(Workshop) sur le thème "User Interface ManagementSystems" (Systèmes de Gestion d'Interface Utilisateur).
– Le modèle de Seeheim a été proposé collectivement au coursde cette rencontre.
Cours- Fondements et Outils du Travail
Collaboratif174
Modèles d’architecture mono-utilisateur
• Modèle de Seeheim– Étant donné un utilisateur et un ensemble de fonctions (qu'on
appelle le NF : Noyau fonctionnel)
Ensemble de fonctions (NF)
F1 F2 Fn
IHM
Cours- Fondements et Outils du Travail
Collaboratif175
Modèles d’architecture mono-utilisateur
• Modèle de Seeheim :– Présentation est la couche qui gère les entrées et les sorties ; elle
représente les données et interprète les actions de l'utilisateur.– Contrôle du Dialogue (CD) gère le séquencement des entrées et
des sorties, par exemple l'enchaînement des écrans dans uneinterface graphique.
– Interface avec le NF est la couche qui sert à relier les fonctions etdonnées du NF aux données et actions de l'IHM.
Ensemble de fonctions (NF)
F1 F2 Fn
Pré
sent
atio
n Contrôle du Dialogue
Interface avec le NF
Cours- Fondements et Outils du Travail
Collaboratif176
Modèles d’architecture mono-utilisateur
• Modèle Arch– introduit en 1992 pour structurer les logiciels interactifs.
– Révision du Modèle de Seeheim
– Ce modèle incorpore la notion de plate-forme de développement,et décrit la nature des données qui transitent entre les différentscomposants.
Ensemble de fonctions (NF)
F1 F2 Fn
Pré
sent
atio
n (
Lo
giq
ue)
Contrôle du Dialogue
Adaptateur du domaine
Pré
sent
atio
n
Pré
sent
atio
n
(Ph
ysiq
ue)
Cours- Fondements et Outils du Travail
Collaboratif177
• Modèle Arch– Principe de révision
• Éclater le composant présentation en :– Présentation physique (baptisé aussi : interaction) : Elle
dépend d'une plate-forme donnée.désigne l'ensemble des widgets (objets interactifs) d'une
boîte à outils, ainsi que les communications avec lespériphériques physiques.
Les widgets sont des instances propres à une boîte àoutils, et qui implémentent des techniques d'interaction etde visualisation spécifiques.
– Présentation logique : joue le rôle de médiateur entre le composant d'interaction
et le contrôleur de dialogue. Il maintient unereprésentation logique des widgets qui est indépendantede la plate-forme.
Modèles d’architecture mono-utilisateur
Cours- Fondements et Outils du Travail
Collaboratif178
Modèles d’architecture mono-utilisateur
• Modèle Arch– Principe de révision
• Exemple : Présentation logique & présentation physique
Cours- Fondements et Outils du Travail
Collaboratif179
Modèles d’architecture mono-utilisateur
• Modèle Arch
– Principe de révision
• Le contrôleur de dialogue (CD) joue le même rôlearticulatoire que celui du modèle de Seeheim.
– Il est notamment responsable du séquencement destâches et du maintien de la consistance entre les vuesmultiples.
Cours- Fondements et Outils du Travail
Collaboratif180
Modèles d’architecture mono-utilisateur
• Modèle Arch
– Principe de révision• Adaptateur du domaine est un composant médiateur entre le
CD et le NF.– Il est responsable des tâches dépendantes du domaine qui ne font
pas partie du NF mais qui sont nécessaires à sa manipulation parl'utilisateur.
– Ces tâches comprennent la réorganisation des données dudomaine dans des buts de manipulation interactive.
– Il sert, pour l’essentiel, à ajuster les différences de modélisationdes objets conceptuels entre le NF et le CD.
• Le NF représente la partie non interactive de l'application. Ilimplémente les fonctionnalités et les concepts du domaineindépendamment de leur présentation.
Cours- Fondements et Outils du Travail
Collaboratif181
Modèles d’architecture mono-utilisateur
• Modèle Arch– Principe de révision
• Exemple : Adaptateur du domaine
Adaptateur du noyau fonctionnel
Contrôleur de Dialogue
NoyauFonctionnel
Présentation Logique
Présentation Physique
(Interaction)
Requêtes sous formede structure de données
Base de
Données
Requêtes
S.Q.L.
Requêtes S.Q.L.
Résultats sous
forme textuelle
Traduction
Cours- Fondements et Outils du Travail
Collaboratif182
Modèles d’architecture mono-utilisateur
• Modèle Arch
– Principe de révision• Le NF représente la partie non interactive de l'application.
– Il implémente les fonctionnalités et les concepts du domaineindépendamment de leur présentation.
Noyau Fonctionnel
implémentant
l’ensemble des fonctions du système
F1 F2 Fn
Cours- Fondements et Outils du Travail
Collaboratif183
Modèles d’architecture mono-utilisateur
• Modèle MVC (Modèle, Vue, Contrôleur)– Il est introduit dans le langage Smalltalk en 1988.
– Il est utilisé pour séparer l’interface utilisateur des autresparties du système.
• Car les interfaces utilisateurs sont beaucoup plus susceptiblesde changer que le noyau du système
Noyau Fonctionnel (NF)
IHM
Cours- Fondements et Outils du Travail
Collaboratif184
Modèles d’architecture mono-utilisateur
• Modèle MVC (Modèle, Vue, Contrôleur)– C’est un modèle qui relève de l’approche multi-agents
• En informatique, un agent ou agent logiciel (du latin agere :agir) est un logiciel qui agit de façon autonome. C'est unprogramme qui accomplit des tâches à la manière d'unautomate et en fonction de ce que lui a demandé son auteur.
• Un agent est un acteur communicant : il assume un rôle(c’est un acteur) et se manifeste par un comportementobservable via l’acquisition et la production d’informations (ilcommunique).
• L’acquisition et la production d’information sont des actionsdont la réalisation se traduit par des événements.
• l’agent vit en communauté. Il conduit ses activités enparallèle avec celles de ses confrères.
– Il faut l’opposer à milieu d’activités séquentielles et à entitépassive et isolée.
Cours- Fondements et Outils du Travail
Collaboratif185
• Modèle MVC (Modèle, Vue, Contrôleur)– est composé de trois types de composants
• Modèle : rassemble des données du domaine, des connaissancesdu système. Contient les classes (les modules) dont les instancesdoivent être vues et manipulées. (NF)
• Vue : présente les données du modèle dans l’interface utilisateur• Contrôleur : contient les fonctionnalités nécessaires pour gérer et
contrôler les interactions de l’utilisateur avec la vue et le modèle
Modèles d’architecture mono-utilisateur
Cours- Fondements et Outils du Travail
Collaboratif186
Modèles d’architecture mono-utilisateur
• Modèle MVC (Modèle, Vue, Contrôleur)
– Schéma global
Un événement est passé au contrôleur
Contrôleur change le Modèle ou le(s) Vue(s)
Vue(s) reçoivent les données du Modèle
Modèle modifie les vues si les données sont
changées
Cours- Fondements et Outils du Travail
Collaboratif187
• Modèle MVC (Modèle, Vue, Contrôleur)– Contrôleur
• Le contrôleur traduit les interactions de la vue en des actions quiseront exécutées par le modèle.
– Dans un client autonome, les actions seront l’activation desboutons et les choix dans les menus
– Dans une application Web, les actions seront des requêtesex. HTTP
• Les actions exécutées par le modèle inclues l’activation desrègles d’affaire ou les changements à l’état du modèle.
• Basé sur les interactions de l’utilisateur et le résultat des actionssur le modèle, le contrôleur répond en présentant la vueappropriée.
Modèles d’architecture mono-utilisateur
Cours- Fondements et Outils du Travail
Collaboratif188
• Modèle MVC (Modèle, Vue, Contrôleur)– Relation entre vues et modèle
• Ici chaque vue partage le même modèle.
• Chaque vue reçoit un évènement (notification) indiquant quele modèle a changé.
• Les vues peuvent alors demander au modèle les valeursayant changées
Modèles d’architecture mono-utilisateur
Cours- Fondements et Outils du Travail
Collaboratif189
• Modèle MVC (Modèle, Vue, Contrôleur)– Relation entre Contrôleurs et Modèle
• Un contrôleur s'enregistre sur la vue (ou sur un composantà coté de la vue) pour recevoir les évènements(notification) lorsqu'un utilisateur souhaite modifiercelle-ci.
Modèles d’architecture mono-utilisateur
Cours- Fondements et Outils du Travail
Collaboratif190
• Modèle MVC (Modèle, Vue, Contrôleur)– Exemple : Sollicitation d’un service
1. L’utilisateur fait une demande au contrôleur. Ce contrôleur voit prendreen considération toutes les demandes utilisateurs
2. Pour ce faire, il peut avoir besoin des services du NF (Modèle)3. le modèle effectue les traitements nécessaires en répondant au
contrôleur.4. le contrôleur sélectionne et nourrit la (les) vue(s) pour présenter les
résultats du traitement qui vient d'être effectuée5. Le résultat est enfin envoyée à l’utilisateur par le contrôleur à travers la
vue
Modèles d’architecture mono-utilisateur
Contrôleur
Vue
Modèle
Noyau Fonctionnel
1
5
42
3
IHM
Usager
3
Cours- Fondements et Outils du Travail
Collaboratif191
• Modèle MVC (Modèle, Vue, Contrôleur)– Exemple :
Modèles d’architecture mono-utilisateur
Class Model{
int [ ] liste;void addElement(int)int getElement(int );
int getAverage();}
Contrôleur du Text field
Nouvelle valeur
introduite
Cours- Fondements et Outils du Travail
Collaboratif192
Modèles d’architecture mono-utilisateur
• Modèle PAC-Amodeus– Le modèle PAC-Amodeus est un modèle hybride puisqu’il repose
sur une extension du modèle Arch selon une approche multi-agent.
– Il reprend les cinq niveaux fonctionnels du modèle Arch et structurele Contrôleur de Dialogue avec une hiérarchie d’agents PAC.
Cours- Fondements et Outils du Travail
Collaboratif193
Modèles d’architecture mono-utilisateur
• Modèle PAC-Amodeus– Un agent PAC se modélise selon ces trois perspectives
complémentaires : la Présentation, l’Abstraction et le Contrôle.• Présentation
– Elle définit le comportement perceptible de l'agent auprèsd'un agent humain.
– Elle concerne à la fois les entrées et les sorties, c'est-à-direles modalités d'action accessibles à l'utilisateur et larestitution perceptible.
– Les deux principaux rôles sont : (1) interprète les événements résultants des actions
physiques que l’utilisateur applique à l’agent via desdispositifs d’entrée et
(2) engendre des événements qui traduisent desactions physiques du système sur les dispositifs desortie.
Cours- Fondements et Outils du Travail
Collaboratif194
Modèles d’architecture mono-utilisateur
• Modèle PAC-Amodeus
– Abstraction (NF)• Elle constitue, au sens de Seeheim, le noyau fonctionnel de
l’agent.
Cours- Fondements et Outils du Travail
Collaboratif195
Modèles d’architecture mono-utilisateur
• Modèle PAC-Amodeus
– Contrôle
• Il a un double rôle :– (1) il sert de pont entre les facettes Présentation et
Abstraction de l'agent,
– (2) il gère des relations avec d'autres agents PAC.
• Tout échange d'informations entre l'Abstraction et laPrésentation s'effectue via le Contrôle. C'est aussi par leursparties Contrôle que deux agents PAC communiquent.
Cours- Fondements et Outils du Travail
Collaboratif196
Introduction
Spécification des Groupware
Architectures logicielles Modèles d’architecture
Modèles pour les systèmes interactifs mono-utilisateurs
Modèle Seeheim Modèle Arch
Modèle MVC
PAC-Amodeus
Modèles pour les Groupware Modèles classiques
Modèles de références
Cours- Fondements et Outils du Travail
Collaboratif197
Modèles d’architecture pour Groupware
• Modèles d’architecture peuvent être classés selon la disposition desdeux composants : IHM & NF en trois classes (modèles classiques) :
– Modèle centralisé
– Modèle répliqué
– Modèle hybride
• Plusieurs modèles ont été proposés dans la littérature, dont lamajorité d’entre eux représentent une évolution de ceux proposéspour les systèmes interactifs mono-utilisateur, à savoir :– Modèle Zipper de Patterson, 94.
– Modèles de Dewan, 98.
– Modèle ALV
– Modèle Clock , 97
– Modèle Colver, 2002
Cours- Fondements et Outils du Travail
Collaboratif198
Modèles d’architecture pour Groupware
• Modèles classiques d’architecture– Modèle centralisé
• Un seul processus gère plusieursIHM sur les terminaux des différentsutilisateurs.
– Avantage : simple à implémenter.– Inconvénients : plus de temps de
réponse, moins fiable.
NFIHM
Cours- Fondements et Outils du Travail
Collaboratif199
Modèles d’architecture pour Groupware
• Modèles classiques d’architecture– Modèle répliqué
• Un processus correspond à chaqueutilisateur, et les processuscommuniquent entre eux pourpréserver la cohérence des donnéesrépliquées sur chaque site;
– Avantage : temps de réponse rapide.– Inconvénients : difficile à implémenter
et à gérer la cohérence.
NFIHM
NFIHM
NFIHM
Cours- Fondements et Outils du Travail
Collaboratif200
Modèles d’architecture pour Groupware
• Modèles classiques d’architecture– Modèle hybride
• Un processus central gère la cohérencedes données
• et un processus par utilisateur gère lesactions non conflictuelles des utilisateurssur l’interface.
– Avantage : temps de réponse plus oumoins rapide
– Inconvénients : difficile à implémenter età gérer la cohérence.
NF1IHM
NF2IHM
NF3IHM
NF
Cours- Fondements et Outils du Travail
Collaboratif201
Modèles d’architecture pour Groupware
• Modèle Zipper de de Patterson, 94– Il repose sur le notion d’états partagés.– Un Groupware est divisé en quatre niveaux d’états
• Ces états définissent les niveaux d’abstraction– Etat de l’écran (Display) qui correspond à l’état des
périphériques d’entrée et de sortie (moniteur, souris, etc.),– Etat de la vue (View) qui correspond à l’état de la présentation
logique des données, c’est-à-dire l’état de l’interface utilisateur,– Etat du modèle (Model) qui correspond au noyau fonctionnel et
aux objets du domaine,– Etat du fichier (File) qui correspond à la représentation
persistante du modèle.• Ces états peuvent être instanciés selon trois modes :
– Partagé,– Synchronisé,– Répliqué.
Cours- Fondements et Outils du Travail
Collaboratif202
• Modèle Zipper de de Patterson, 94
Modèles d’architecture pour Groupware
Architecture avec états partagés
Fichier
Modèle
Vue Vue
EcranEcran
Architecture hybride
Fichier
Modèle
Vue Vue
EcranEcran
Architecture avec états synchronisés
Fichier
Modèle
Vue Vue
EcranEcran
Fichier
Modèle
Communication
SynchronisationNFPrésentation logique
Présentation Physique
(interaction)
Cours- Fondements et Outils du Travail
Collaboratif203
Modèles d’architecture pour Groupware
• Méta-modèle de Dewan, 98– Il a été proposé par Prasun Dewan, 1998 pour concevoir
l’architecture logicielle des Groupware– Il est organisé en couches– Il représente une extension/généralisation du modèle Arch et
Zipper.– Il distingue les couches collaboratives de celles qui
implémentent uniquement des fonctionnalités mono-utilisateur.
– C’est un méta-modèle parce que : à partir de lui que plusieursmodèles d’architecture peuvent être dérivés.
• Le nombre de couches n’est pas fixé, chaque concepteurpeut faire un choix selon ses besoins
Cours- Fondements et Outils du Travail
Collaboratif204
Modèles d’architecture pour Groupware
• Méta-modèle de Dewan, 98
NF
Présentation physique (interaction)
L’architecture globale est constituée d’uneracine et de plusieurs branches.
La racine est composée de couchespartagées (niveaux L+1 à N).
Les branches sont composées decouches répliquées (niveaux 0 à L),reliées à la racine au niveau de la couche L(point d’embranchement).
Objets gérés par les
branches sont privés.
Objets gérés par les couches
partagées sont publiques.
Cours- Fondements et Outils du Travail
Collaboratif205
Modèles d’architecture pour Groupware
• Modèle ALV– Tout comme MVC est lié à SmallTalk, le modèle d’architecture
ALV (Abstraction Lien Vue) a donné lieu à la réalisation de laplate-forme Rendez-Vous [Hill 1994].
– Cette plateforme est une infrastructure permettant ledéveloppement d’applications collaboratives reposant sur lanotion d’objets partagés.
– Une architecture selon ce modèle est une organisationd’agents dont les facettes sont :
• Une abstraction partagée (A).
• Une vue répliquée (V).
• Un lien (L).
Cours- Fondements et Outils du Travail
Collaboratif206
Modèles d’architecture pour Groupware
• Modèle ALV– l’architecture d’un Groupware élaborée à l’aide du modèle
ALV est constituée d’une abstraction partagée reliée àplusieurs vues réparties, une par utilisateur, à l’aide de liens.
gère les objets dudomaine, partagés partous les utilisateurs,
interprète les entréesd’un utilisateur et gèreles sorties.
relie la facette abstraction avec une facette vue etassure que les données locales à une vue sontconformes avec la représentation de la donnée auniveau de l’abstraction.
Cours- Fondements et Outils du Travail
Collaboratif207
Modèles d’architecture pour Groupware
• Modèle ALV– Architecture de la Plateforme Rendez-vous
Cours- Fondements et Outils du Travail
Collaboratif208
Modèles d’architecture pour Groupware
• Modèle Clock , 97– Proposé par Garham– Est un modèle multi-agent qui repose sur une approche par
composants.– Il est élaboré à partir du modèle MVC et il est constitué de trois
facettes :• Modèle : gère les objets du domaine encodés sous forme de
données de type abstrait (ADT, Abstract Data type),• Contrôleur : interprète les interactions de l’utilisateur avec le
système,• Vue : gère le rendu en sortie.
Remarque :La différence entre un composant Clock et unagent MVC est que les deux facettescontrôleur et vue ne peuvent pluscommuniquer entre elles.
Cours- Fondements et Outils du Travail
Collaboratif209