J'ai une liste de tâches qui peuvent dépendre les unes des autres, par exemple la tâche n ° 2 ne peut pas commencer tant que la tâche n ° 1 n'est pas terminée.
Dans les schémas, cela pourrait ressembler à ceci
Id | Dependency
----+-----------
#1 | -
#2 | #1 // #2 cannot begin before #1 is completed
#3 | -
#4 | #2, #3 // #4 cannot begin before both #2 and #3 are completed
#5 | #1, #3 // #5 cannot begin before both #1 and #3 are completed
Une tâche peut dépendre de plusieurs autres tâches et de nombreuses tâches peuvent dépendre de la même tâche. Il ne peut pas y avoir de dépendances cycliques.
J'ai besoin de créer une interface utilisateur où l'utilisateur peut ajouter des tâches à sa liste et configurer les dépendances entre les tâches elle-même.
Ma première pensée a été d'avoir une table comme ça:
Mais ce n'est pas très facile à regarder pour un utilisateur peu technique et cela ne permet pas de visualiser très bien les relations entre les tâches.
Ma prochaine pensée était d'avoir une sorte de liste hiérarchique de glisser-déposer
mais je ne peux pas comprendre comment représenter une tâche dépendant de plusieurs tâches (par exemple, si la tâche 4 dépend à la fois de la tâche 2 et de la tâche 3 mais que ces deux sont indépendantes l'une de l'autre). De plus, si toutes les tâches dépendent de la tâche précédente, cela se traduirait par une liste en retrait assez longue.
J'ai aussi pensé à le visualiser sous forme de diagramme de Gantt, mais c'est tout aussi technique que la solution de table.
Quelqu'un at-il des idées sur la façon de résoudre cette tâche de manière conviviale?
1. C'est un problème bien rodé
2. La représentation graphique n'est pas triviale
Lorsque vous avez plusieurs dépendances arbitraires, il devient très difficile d'afficher graphiquement les dépendances. Un exemple simple (>
représente une dépendance):
>
B >
C >
... >
Z>
F et A, B >
ESimplifiez-vous automatiquement les dépendances (# 2 peut être éliminé en toute sécurité puisque # 1 assure automatiquement # 2)?
Les montrez-vous tous (auquel cas vous aurez plusieurs lignes qui se chevauchent dans votre mise en page, ce qui peut être très déroutant)
. La représentation du texte est plus facile à construire, plus difficile à obtenir correctement
Si possible, essayez de supprimer le libellé numérique des étapes. Ce n'est souvent pas possible, mais pour illustrer, lequel d'entre eux est plus facile à comprendre:
>
Mélanger la salade>
# 6Les dépendances de codage couleur peuvent aider s'il n'y en a pas trop. Vous pouvez également utiliser la couleur au survol ou au clic pour afficher les dépendances.
Certaines applications (par exemple Excel, ILOG) ont utilisé des flèches ou des barres d'outils contextuelles pour aider les utilisateurs à naviguer vers les dépendances s'il y a beaucoup de lignes dans le tableau.
4. Assurez-vous que le développeur de votre application sait ce qu'il fait
Dans votre exemple, au lieu d'afficher les tâches 2 et 3 verticalement, vous pouvez les afficher côte à côte, en plus d'une représentation d'organigramme, et ils se connectent tous les deux indépendamment à la tâche 4.
Cela peut devenir lourd en fonction du nombre de tâches que vous visualisez. Il faudra peut-être plus d'indices, comme la forme et la couleur, pour aider à organiser un large éventail de tâches.
J'inverserais probablement l'ordre des colonnes dans votre premier tableau et peut-être même les appeller Prérequis - les choses qui sont nécessaires avant de faire cette tâche.
Quelque chose comme ça...