2009-06-22 3 views
0

Je dois créer une structure de base de données pour gérer un système de tâches et de ressources de style Gantt, il y a des besoins personnalisés et la technologie utilisée ne joue pas bien avec les autres, donc je pense à le faire à partir de zéro. Mes besoins sont simples:Données de planification des tâches/structure d'objet

  • tâches, priorité
  • Ressources (seulement personnes)
  • Calendriers (la plupart du temps étant capable de gérer les jours non ouvrables)

J'ai vérifié le projet Microsoft structure de données mais c'est complexe à mes besoins, et je n'ai pas pu trouver quelque chose de plus simple qui soit plus ou moins documenté. Le cas d'utilisation le plus important est de prendre une tâche non assignée et de la déposer dans la réserve de travail d'une ressource, en ajustant toutes les dates dans les tâches environnantes.

Il n'est pas nécessaire de tracer un graphique pour le moment.

Existe-t-il une façon standard de faire cela qui me manque?

Répondre

2

Sons comme vous la plupart du temps juste besoin d'une table TÂCHES avec le nom de la tâche/description, l'état, la priorité, la durée et dates de début/fin, avec une sorte de drapeaux pour indiquer quels champs sont "fixes"; par exemple, si une tâche a une date de fin "drop dead", alors celle-ci est fixée et ne peut pas être modifiée par le planificateur. De même, si quelque chose a déjà commencé (ou doit être démarré immédiatement), alors la date de début est fixe et ne peut pas être changée. Vous pouvez ajouter "% complet" ou "heures travaillées" ou "planifié/début/fin réel" ou tout autre champ souhaité. Les ressources seront probablement juste une simple paire nom + identifiant. Pour plus de flexibilité, je suggère d'avoir une table TASK-ASSIGNMENTS qui mappe les tâches aux ressources. Cela permettra d'assigner une tâche à plusieurs ressources (comme assigner une tâche à une équipe) et vous donnera également une place pour stocker une date "assignée". En fonction de l'exhaustivité de votre planificateur, vous pouvez également disposer d'une table TASK-DEPENDENCIES distincte pour suivre les dépendances (impossible de planifier le cadrage avant que la fondation ne soit versée, etc.). Pour les calendriers, mieux vaut simplement stocker " exception "dates comme vacances ou jours de vacances et en supposant autrement une semaine de travail standard. À moins, bien sûr, qu'il n'y ait pas une telle chose sur vos projets, dans ce cas, pourquoi s'inquiéter? Il suffit de planifier les tâches à chaque fois qu'elles correspondent et de laisser les personnes remplir la date de début lorsqu'elles démarrent la tâche. Les calendriers peuvent être globaux ou spécifiques aux ressources.

Avez-vous besoin de regrouper les tâches par projet? Si c'est le cas, alors bien sûr vous aurez besoin d'une table PROJECTS, et vous voudrez peut-être avoir une sorte de table PROJECT-RESOURCES qui mappe des ressources aux projets. C'est un bon endroit pour stocker la quantité de travail qu'une ressource est censée consacrer à un projet particulier (comme 30% de son temps) et/ou la priorité qu'une ressource est censée donner à un projet particulier. Vous pouvez également avoir un moyen d'affecter un calendrier à un projet, soit par défaut, soit par substitution (vous voulez probablement un drapeau pour spécifier lequel).

Je pourrais continuer, mais je vois que j'ai déjà ...

+0

Ceci est en fait mon point de départ, d'abord je ne même pas besoin de tâche dependecies si un ordre est suffisant. Ce que j'espérais, c'était un modèle qui supportait certaines des opérations communes (réorganiser la réserve de travail, supprimer une tâche, insérer une tâche au milieu de la liste, etc.) sans trop se fier au code pour implémenter les règles de bussiness. –