24.06.2013 Views

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

s’échanger de l’information. (ex : remplissage des champs 1 et 2 dans un formulaire<br />

où ceux-ci doivent assurer une certaine cohérence (ex : ville et code postal))<br />

- le choix (T1 [] T2) : l’<strong>utilisateur</strong> a le choix de lancer soit T1 ou T2, mais pas les deux.<br />

Une fois que le choix est effectué, il n’est plus possible de déclencher l’autre, à moins<br />

que celle-ci vienne de se terminer et que la hiérarchie des tâches fasse en sorte que le<br />

choix soit à nouveau possible (ex : ouvrir un nouveau document ou un document<br />

existant dans une application quelconque).<br />

- l’indépendance ordonnée (T1 |=| T2) : cette opération indique que l’<strong>utilisateur</strong> a le<br />

choix concernant la tâche à accomplir en premier mais quoiqu’il arrive, ces deux<br />

tâches doivent être réalisées. Dans le cas où l’<strong>utilisateur</strong> choisit T1, il devra<br />

obligatoirement accomplir T2 lorsque T1 sera terminée.<br />

- la désactivation (T1 [> T2) : T1 est définitivement interrompue lorsque T2 ou la<br />

première sous-tâche de T2 a été lancée (ex : l’envoi d’un formulaire désactive toutes<br />

les tâches possibles pour le remplissage de ce formulaire).<br />

- la mise en suspend (T1 |> T2) : T1 est interrompue temporairement lorsque T2 ou sa<br />

première sous-tâche est lancée. Ensuite, lorsque cette dernière a été effectuée, T1<br />

reprend son cours. (ex : un message de feed-back indiquant que l’e-mail envoyé est<br />

arrivé à son destinataire)<br />

- l’activation (T1 >> T2) : indique un ordre séquentiel entre T1 et T2. T2 ne sera<br />

accessible que lorsque T1 aura été effectuée et complètement terminée.<br />

(ex :l’introduction d’un mot de passe avant d’accéder aux services fournis).<br />

- L’activation avec passage d’information (T1 []>> T2) : T1 active T2 et lui fournit<br />

certaines informations. (ex : une requête à une base de données (T1 permet de<br />

spécifier la requête et T2 affiche les résultats que l’<strong>utilisateur</strong> pourra ensuite<br />

consulter)).<br />

Toutes ces opérateurs unaires et binaires ne peuvent être mis sur un même pied d’égalité.<br />

Certains sont, en effet, plus prioritaires que d’autres. Voici le classement qu’on peut leur<br />

donner, par ordre décroissant de priorité :<br />

T*<br />

T(n)<br />

[T]) [] |=| ||| |[]| [> >> []>><br />

Priorité<br />

maximale<br />

Figure 33 – Ordre de priorité des opérateurs temporels dans CTT<br />

Aussi, en regard de ces différences de priorités, il sera sans aucun doute utile de ne travailler<br />

qu’avec des modèles de tâches respectant cette priorité par niveau. En effet, il pourrait être<br />

assez compliqué de faire des manipulations sur un arbre non prioritaire, notamment si nous<br />

devons diviser cet arbre en plusieurs parties tout en respectant la priorité des tâches entre<br />

elles. Or, conceptuellement, un arbre prioritaire est tout à fait équivalent à un arbre non<br />

prioritaire : le premier sera en fait le deuxième complété par des tâches factices comme dans<br />

l’exemple suivant :<br />

Voici notre modèle de tâche CTT normal.<br />

61<br />

Priorité<br />

minimale

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!