2009-01-19 36 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。這樣,您只會保留更改內容的副本,而不會複製與每次出價相關的所有數據。