DÉVELOPPEMENT DES GROUPWARE
Transcript of DÉVELOPPEMENT DES GROUPWARE
![Page 1: DÉVELOPPEMENT DES GROUPWARE](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/6.jpg)
SPÉCIFICATION DES GROUPWARE
Cours- Fondements et Outils du Travail
Collaboratif108
![Page 7: DÉVELOPPEMENT DES GROUPWARE](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/12.jpg)
MODÈLE DE TÂCHES
Cours- Fondements et Outils du Travail
Collaboratif114
![Page 13: DÉVELOPPEMENT DES GROUPWARE](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/26.jpg)
MODÈLE DE TÂCHE POUR GROUPWARE
Cours- Fondements et Outils du Travail
Collaboratif128
![Page 27: DÉVELOPPEMENT DES GROUPWARE](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/28.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/30.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/31.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/32.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/33.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/34.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/35.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/36.jpg)
NOTATION COMM
Cours- Fondements et Outils du Travail
Collaboratif138
![Page 37: DÉVELOPPEMENT DES GROUPWARE](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/37.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/38.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/39.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/40.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/41.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/42.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/43.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/44.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/45.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/46.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/47.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/48.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/49.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/50.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/51.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/52.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/53.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/54.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/55.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/56.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/57.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/58.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/59.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/60.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/61.jpg)
– 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/62.jpg)
– 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/63.jpg)
ARCHITECTURES LOGICIELLES
Cours- Fondements et Outils du Travail
Collaboratif165
![Page 64: DÉVELOPPEMENT DES GROUPWARE](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/64.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/65.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/66.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/67.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/68.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/69.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/70.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/71.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/72.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/73.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/74.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/75.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/76.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/77.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/78.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/79.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/80.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/81.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/82.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/83.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/84.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/85.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/86.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/87.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/88.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/89.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/90.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/91.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/92.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/93.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/94.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/95.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/96.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/97.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/98.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/99.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/100.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/101.jpg)
• 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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/102.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/103.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/104.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/105.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/106.jpg)
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](https://reader035.fdocuments.net/reader035/viewer/2022062522/62b3f3cef9f1e274aa02b414/html5/thumbnails/107.jpg)
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