DÉVELOPPEMENT DES GROUPWARE

107
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 Collaboratif 103

Transcript of DÉVELOPPEMENT DES GROUPWARE

Page 1: 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

Page 2: DÉVELOPPEMENT DES GROUPWARE

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

Page 3: DÉVELOPPEMENT DES GROUPWARE

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

Page 4: DÉVELOPPEMENT DES GROUPWARE

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

Page 5: DÉVELOPPEMENT DES GROUPWARE

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

Page 6: DÉVELOPPEMENT DES GROUPWARE

SPÉCIFICATION DES GROUPWARE

Cours- Fondements et Outils du Travail

Collaboratif108

Page 7: DÉVELOPPEMENT DES GROUPWARE

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

Page 8: DÉVELOPPEMENT DES GROUPWARE

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

Page 9: DÉVELOPPEMENT DES GROUPWARE

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

Page 10: DÉVELOPPEMENT DES GROUPWARE

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

Page 11: DÉVELOPPEMENT DES GROUPWARE

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

Page 12: DÉVELOPPEMENT DES GROUPWARE

MODÈLE DE TÂCHES

Cours- Fondements et Outils du Travail

Collaboratif114

Page 13: DÉVELOPPEMENT DES GROUPWARE

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

Page 14: DÉVELOPPEMENT DES GROUPWARE

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

Page 15: DÉVELOPPEMENT DES GROUPWARE

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

Page 16: DÉVELOPPEMENT DES GROUPWARE

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

Page 17: DÉVELOPPEMENT DES GROUPWARE

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

Page 18: DÉVELOPPEMENT DES GROUPWARE

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

Page 19: DÉVELOPPEMENT DES GROUPWARE

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

Page 20: DÉVELOPPEMENT DES GROUPWARE

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

Page 21: DÉVELOPPEMENT DES GROUPWARE

Modèle de tâche

• Relations entre tâches

– Séquentielles (en suivant)

– Parallèles

Cours- Fondements et Outils du Travail

Collaboratif123

Page 22: DÉVELOPPEMENT DES GROUPWARE

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

Page 23: DÉVELOPPEMENT DES GROUPWARE

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

Page 24: DÉVELOPPEMENT DES GROUPWARE

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

Page 25: DÉVELOPPEMENT DES GROUPWARE

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

Page 26: DÉVELOPPEMENT DES GROUPWARE

MODÈLE DE TÂCHE POUR GROUPWARE

Cours- Fondements et Outils du Travail

Collaboratif128

Page 27: DÉVELOPPEMENT DES GROUPWARE

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

Page 28: DÉVELOPPEMENT DES GROUPWARE

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

Page 29: DÉVELOPPEMENT DES GROUPWARE

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

Page 30: DÉVELOPPEMENT DES GROUPWARE

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

Page 31: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 32: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 33: DÉVELOPPEMENT DES GROUPWARE

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

Page 34: DÉVELOPPEMENT DES GROUPWARE

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

Page 35: DÉVELOPPEMENT DES GROUPWARE

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

Page 36: DÉVELOPPEMENT DES GROUPWARE

NOTATION COMM

Cours- Fondements et Outils du Travail

Collaboratif138

Page 37: DÉVELOPPEMENT DES GROUPWARE

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

Page 38: DÉVELOPPEMENT DES GROUPWARE

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

Page 39: DÉVELOPPEMENT DES GROUPWARE

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

Page 40: DÉVELOPPEMENT DES GROUPWARE

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

Page 41: DÉVELOPPEMENT DES GROUPWARE

Notation COMM

• Détails de la tâche– Huit Types de tâche

Cours- Fondements et Outils du Travail

Collaboratif143

Page 42: DÉVELOPPEMENT DES GROUPWARE

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

Page 43: DÉVELOPPEMENT DES GROUPWARE

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

Page 44: DÉVELOPPEMENT DES GROUPWARE

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

Page 45: DÉVELOPPEMENT DES GROUPWARE

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

Page 46: DÉVELOPPEMENT DES GROUPWARE

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

Page 47: DÉVELOPPEMENT DES GROUPWARE

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

Page 48: DÉVELOPPEMENT DES GROUPWARE

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

Page 49: DÉVELOPPEMENT DES GROUPWARE

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

Page 50: DÉVELOPPEMENT DES GROUPWARE

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

Page 51: DÉVELOPPEMENT DES GROUPWARE

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

Page 52: DÉVELOPPEMENT DES GROUPWARE

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

Page 53: DÉVELOPPEMENT DES GROUPWARE

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

Page 54: DÉVELOPPEMENT DES GROUPWARE

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

Page 55: DÉVELOPPEMENT DES GROUPWARE

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

Page 56: DÉVELOPPEMENT DES GROUPWARE

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

Page 57: DÉVELOPPEMENT DES GROUPWARE

Notation COMM

• Exemple 2– réaliser une modification dans une application informatique

Cours- Fondements et Outils du Travail

Collaboratif159

Page 58: DÉVELOPPEMENT DES GROUPWARE

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

Page 59: DÉVELOPPEMENT DES GROUPWARE

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

Page 60: DÉVELOPPEMENT DES GROUPWARE

Notation COMM

• Détails d’une tâche– Opérateurs entre tâches : Opérateurs de Allen

Cours- Fondements et Outils du Travail

Collaboratif162

Page 61: DÉVELOPPEMENT DES GROUPWARE

– Opérateurs entre tâches : Opérateurs de Allen

• Exemple : Déplacer un groupe

Notation COMM

Cours- Fondements et Outils du Travail

Collaboratif163

Page 62: DÉVELOPPEMENT DES GROUPWARE

– 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

Page 63: DÉVELOPPEMENT DES GROUPWARE

ARCHITECTURES LOGICIELLES

Cours- Fondements et Outils du Travail

Collaboratif165

Page 64: DÉVELOPPEMENT DES GROUPWARE

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

Page 65: DÉVELOPPEMENT DES GROUPWARE

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

Page 66: DÉVELOPPEMENT DES GROUPWARE

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

Page 67: DÉVELOPPEMENT DES GROUPWARE

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

Page 68: DÉVELOPPEMENT DES GROUPWARE

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

Page 69: DÉVELOPPEMENT DES GROUPWARE

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

Page 70: DÉVELOPPEMENT DES GROUPWARE

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

Page 71: DÉVELOPPEMENT DES GROUPWARE

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

Page 72: DÉVELOPPEMENT DES GROUPWARE

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

Page 73: DÉVELOPPEMENT DES GROUPWARE

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

Page 74: DÉVELOPPEMENT DES GROUPWARE

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

Page 75: DÉVELOPPEMENT DES GROUPWARE

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

Page 76: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 77: DÉVELOPPEMENT DES GROUPWARE

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

Page 78: DÉVELOPPEMENT DES GROUPWARE

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

Page 79: DÉVELOPPEMENT DES GROUPWARE

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

Page 80: DÉVELOPPEMENT DES GROUPWARE

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

Page 81: DÉVELOPPEMENT DES GROUPWARE

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

Page 82: DÉVELOPPEMENT DES GROUPWARE

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

Page 83: DÉVELOPPEMENT DES GROUPWARE

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

Page 84: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 85: DÉVELOPPEMENT DES GROUPWARE

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

Page 86: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 87: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 88: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 89: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 90: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 91: DÉVELOPPEMENT DES GROUPWARE

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

Page 92: DÉVELOPPEMENT DES GROUPWARE

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

Page 93: DÉVELOPPEMENT DES GROUPWARE

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

Page 94: DÉVELOPPEMENT DES GROUPWARE

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

Page 95: DÉVELOPPEMENT DES GROUPWARE

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

Page 96: DÉVELOPPEMENT DES GROUPWARE

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

Page 97: DÉVELOPPEMENT DES GROUPWARE

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

Page 98: DÉVELOPPEMENT DES GROUPWARE

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

Page 99: DÉVELOPPEMENT DES GROUPWARE

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

Page 100: DÉVELOPPEMENT DES GROUPWARE

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

Page 101: DÉVELOPPEMENT DES GROUPWARE

• 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

Page 102: DÉVELOPPEMENT DES GROUPWARE

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

Page 103: DÉVELOPPEMENT DES GROUPWARE

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

Page 104: DÉVELOPPEMENT DES GROUPWARE

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

Page 105: DÉVELOPPEMENT DES GROUPWARE

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

Page 106: DÉVELOPPEMENT DES GROUPWARE

Modèles d’architecture pour Groupware

• Modèle ALV– Architecture de la Plateforme Rendez-vous

Cours- Fondements et Outils du Travail

Collaboratif208

Page 107: DÉVELOPPEMENT DES GROUPWARE

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