2009-06-22 49 views
0

我需要创建一个数据库结构来管理任务和资源的甘特图样式系统,有一些自定义的需求,所涉及的技术与其他人无法很好地协作,所以我想到从头开始。我的需求很简单:任务规划数据/对象结构

  • 任务,优先
  • 资源(只是人)
  • 日历(主要是能够处理非工作日)

我检查了微软项目数据结构,但它是为了满足我的需求而复杂的方式,并且无法找到任何更简单或更少或更少记录的东西。

最重要的用例是将未分配的任务放到资源的工作清单中,使周围任务的所有日期都进行调整。

当前没有必要绘制图表。

有没有一些标准的做法,我错过了吗?

回答

2

Project Planning模型听起来像是你大多只是需要与任务名称/描述,状态,优先级,持续时间任务表和开始/结束日期,以某种标志指示哪些字段是“固定的”;例如,如果一个任务有一个“死亡”结束日期,那么这是固定的,并且不能被调度程序修改。同样,如果某些事情已经开始(或必须立即开始),那么开始日期是固定的并且不能改变。您可以添加“完成%”或“工作时间”或“计划/实际开始/结束”或其他任何您想要的字段。资源可能只是一个简单的名称+编号对。为了灵活性,我建议有一个TASK-ASSIGNMENTS表将任务映射到资源。这将允许将任务分配给多个资源(例如将任务分配给团队),并且还会为您提供一个存储“分配给”日期的地方。根据您的调度程序的综合程度,您可能还希望有一个单独的TASK-DEPENDENCIES表来跟踪依赖关系(无法在基础浇筑之前调度构建等)。对于日历,您可能更适合将“例外“日期,如假期或休假日,否则假定标准工作周。当然,除非你的项目上没有这种东西,那么为什么要担心呢?只要他们适合安排任务,让人们在开始任务时填写开始日期。日历既可以是全球的,也可以是特定资源的。

您是否需要按项目对任务进行分组?如果是这样,那么当然你需要一个PROJECTS表,并且你可能想要某种PROJECT-RESOURCES表将资源映射到项目。这是存储资源应该投入特定项目的工作量(如他们的时间的30%)和/或资源应该给予特定项目的优先级的好地方。您可能还想要某种方式将日历分配给项目,既可以将其作为默认设置,也可以设为覆盖(可能需要标记来指定哪个)。

我可以继续下去,但我看到我已经有...

+0

这其实是我的出发点,最初我也不需要任务依赖条件等等的顺序是不够的。我所希望的是支持一些常用操作(重新排列工作列表,删除任务,在列表中间插入任务等)的模型,而不依赖代码来实现商业规则。 – 2009-06-22 20:13:24