2010-02-05 116 views
3

我即將開始一個Web應用程序。在開始之前,我想就如何創建一個Web應用程序的最佳工作流程/訂單提供一些建議。Web應用程序的最佳工作流程是什麼?

我的項目將包含一個服務器端與PHP和MySQL。客戶端將是XHtml,CSS和jQuery。還會使用AJAX。

我確定它可以取決於某些情況,但總體而言,使用這些憑據開發項目的最佳順序是什麼?

我應該先開始開發服務器端嗎?或者我應該從客戶端開始?或者我應該同時做兩件事?數據庫如何 - 這應該是第一要務?那麼也許DAO?

回答

11

從數據開始。服務器端數據是應用程序的永久核心。如果這個數據模型不對,你什麼都沒有。

您應該能夠對數據模型進行單元測試,以證明您擁有正確的屬性和關係。這並不需要太多。一些測試用例可以插入,更新和查詢。

您將支持具有後端處理的數據模型。

這也應該進行單元測試,以證明它的工作原理,併爲您的數據模型執行所有正確的操作。這會稍微複雜一些,因爲這個處理的應用程序。

然後,您可以考慮Web服務向Ajax公開的數據模型。

這也是可驗證的,以證明JSON做的是正確的事情。這個測試通常相當複雜,因爲這是GUI前端所依賴的。這必須是正確的。

然後,一旦你有了Ajax數據模型,你就可以編寫前端GUI。

7

您描述的工作流程是我用於我自己的(獨奏)項目的。

我喜歡在中間見面。我首先進行數據建模,並同時開始對接口進行原型設計。業務規則最後會把所有東西放在一起。

我還發現它「鼓舞人心的」,當我有一個圖形用戶界面來看...它鼓勵我讓它做點什麼。此外,圖形用戶界面往往會經歷最多的修改,因此在流程的早期啓動它們可確保您對最終產品感到滿意,並且在您的業務邏輯實施時它將最終確定下來。

4

如果我正在爲一家不確定自己需要的大公司工作,我會先從用戶界面開始。通過這種方式,他們可以在將大量時間投入到系統的其他部分之前弄清楚他們想要的內容。另一方面,如果我確切地知道需要什麼,那麼我將從一個特性開始,在層,數據庫,控制器,視圖和ajax中工作,直到完成該特性爲止,然後繼續下一個功能。這樣我就沒有更多的上下文要記住,而且客戶總是有新的東西可以玩。

1

我不能告訴你什麼是絕對最好的,但對我來說有效的是...

  • 與商界人士交談,瞭解他們想要什麼。

  • 用筆和紙畫出UI。方塊代表頁面。按鈕和鏈接具有指向其他頁面的箭頭。不需要每個微觀細節。有些東西是隱含的。

  • 一旦UI被很好地映射出來,設計數據庫模式。有時我會寫出來的所有表在這樣一個文本文件...


pets 
---- 
id 
name 
species 
# etc... 

  • 然後實現數據庫。我使用Rails遷移。您可以手動編寫DDL。

  • 如果你有模型或DAO或這些方面的東西,我會用單元測試來實現下一步。

  • 然後,我通常通過實體通過應用程序實體工作。讓視圖和控制器工作。在測試代​​碼和實現代碼之間快速切換。

這是一般的順序,但整個時間都有調整等等。您需要回到您的數據庫設計並在構建實際功能時發展它。

相關問題