2009-01-19 17 views
2

该工具将用于估算客户的项目成本。这些不一定是软件项目。目前有一个Excel电子表格,包含许多类别,每个类别都有单独的任务。其中每一个都有某种权重或常数,并在确定最终出价估算时负有部分责任。这些任务中的每一个都具有设置时间,设置成本,运行时间和成本等属性。目前没有严格定义的方法来提出投标。设计估算项目投标的工具

对于每个新的出价,制作和修改电子表格的副本以最准确地描述我们认为项目的成本和时间。

工具要求:

  • 需要能够添加新的类别/任务
  • 需要能够保存一个出价,并召回其在必要时
  • 需要能够修改当前的权重/常量

目前我可以很容易地设计一个数据库模式和ASP.NET页面布局,可以处理这种情况,如果它不是因为你可以改变权重/利弊随着时间的推移。我在想(不是事实),一旦你节省了一个出价,所有的常数/重量/成本都应该以某种方式保存下来。这也会造成显示出价的问题,如果有90个版本的数据运行,我将如何确定如何显示它?

任何想法表示赞赏。 PS:不知道如何标记这个。

+0

现有解决方案有什么问题,例如电子表格? – ChrisW 2009-01-19 23:14:35

回答

1

如果你确实想把它扩展成一个完整的应用程序,我认为你提出的解决方案是好的。我同意你应该保存每个出价的参数。这不是一个真正的问题,可以通过一个默认参数值的单个“基础”表来实现,该表可以基于每个出价进行修改。

我会将出价特定的参数存储在另一个表格中(即BidSettings或BidParameters。)请参阅该表格中的出价特定参数,然后您就完成了。

1

为了跟踪变化的情况,一种方法是实现一个时间数据库来存储数据设置的完整历史记录。维基百科其实有我读过的最多的succinct explanation之一。

总结文章,让我们说你有这些投标和BITT表:

TABLE BidT 
    uniqueidentifier Id, 
    uniqueidentifier BidId, 
    int Version, 
    int WeightA, 
    int WeightB, 
    int WeightC 

TABLE Bid 
    uniqueidentifier Id, 
    int BidNumber, 
    ... 

在这个例子中,这并没有改变,或者你不需要跟踪投标住宿的数据。随着时间的推移,任何需要跟踪的变化都会进入BidT,T后缀用于Temporal。这样,您只会保留更改内容的副本,而不会复制与每次出价相关的所有数据。