2008-12-12 88 views
1

我正在重新設計/重做應用程序。問題在於舊的應用程序是用ASP.net 1.0編寫的,數據庫非常大,有100多個表和300多個視圖。數據庫以非常低廉的方式處理角色和成員資格。它也涉及一個簡單的工作流程。該應用程序在維護時很痛苦。我有大約3-4個月的時間來重做軟件。處理應用程序重新設計

數據庫設計並不符合我的喜好,但是在時間範圍內遷移數據和重新設計數據庫可能會使項目走上正軌。

任何人都遇到過這種情況?任何人對我如何去關於這個項目有什麼指示?

我很想用.NET 3.5來加快軟件的速度。我不確定如果在不考慮數據庫的情況下重新設計應用程序是否有意義,那麼系統有問題:1.維護和可伸縮性問題。可憐的DB設計特別是在用戶管理的情況下,應用程序在很大程度上取決於用戶和角色等

+0

我不是域專家 – Perpetualcoder 2008-12-12 18:56:57

+0

是否有任何重構數據庫的可能性?如果不重新設計整個事物,也許可以解決數據庫最差的區域。我曾經在一個項目上工作過,因爲數據庫結構變得難以管理,我們決定重做每個版本的特定部分。 – 2008-12-12 19:17:17

回答

2

數據庫重新設計是一個巨大的努力。如果你或者你的團隊中的某個人不是數據庫設計和ETL方面的專家,那麼結果可能會比現在糟糕得多。

但是,是否有可能只修復數據庫的一個或兩個最差的部分,從而實現整體上的改進?看看錶現最差的查詢,看看有什麼不對(不僅僅是從你個人的角度來看,你不喜歡什麼,但現在真的不太好)。也許比重新設計更少的東西可能會給你帶來重大的性能提升。

如果您不喜歡數據庫的原因是它不是真正的關係型,那麼可能會通過放入帶有新名稱的關係表,移動數據並刪除舊錶以及使用舊錶創建視圖與當前設計結構相似的名稱。 (不要先沒有當前的數據庫備份!!!!)通過這種方式,您可以開始將代碼更改爲新的更有效的設計,但是您不會更改的內容仍然可以使用,直到您找到它。

0

如果你不想做數據庫的重新設計,你可以隨時調整你的用戶體驗(UI)。如果您選擇使用的WebForms工作那麼我的建議是使用模型視圖演示模式,或者如果你知道很多的JavaScript和HTML和你不喜歡的web表單模型使用新的ASP.NET MVC使用的良好格局。

但是在你要重新構建你的應用程序之前,你必須瞭解你選擇的設計模式。

我希望你能用這個信息做點事情。

+0

使用MVP與webforms的任何參考? – Perpetualcoder 2008-12-14 02:18:26

1

您是否需要重新設計數據庫或整個應用程序?你是獨自執行任務還是你有很大的幫助?貴公司是否採用任何方法學標準(SDLC流程),或者您是一個獨立的IT部門?

四個月聽起來非常激進。您需要記錄需求,計劃,設計,構建和測試每個功能組件,將數據從舊系統轉換爲新系統,並可能爲所有這些場景設置新環境。

底線是:花費大量的時間來估計整個過程所需的工作量。如果是四個月,太好了。我懷疑它會是什麼。一旦你對所涉及的工作有詳細的記錄和詳細的估計,把這個給你的老闆,並向他解釋四個月的時間框架是多麼的極端。

如果您主要關注的是是否要重做數據庫,考慮到老成語鏈是取決於其最薄弱的環節。新的應用程序將用.NET編寫,但是如果坐在一個糟糕的設計的小型數據庫上真的有意義嗎?

花時間計劃你的項目,你會花更少的時間做實際的開發,測試和重新工作,否則你會遇到的。

希望這會有所幫助。

+0

經濟表示,我正在單獨進行應用重新設計。我個人認爲它幾乎不可能在4個月內完成,因爲我也是新來的域名。 – Perpetualcoder 2008-12-12 18:25:27

1

這是一種古老的說法,智能數據結構和啞邏輯每次擊倒。看到unix philosophy article規則5。當它歸結到它,每一個項目我一直在這裏我不得不猴子代碼來修復損壞的數據結構周圍一直有疼痛感。

簡答:如果可以的話,重新做數據。

長答案:務實。如果只通過重做數據庫的一部分就可以節省一些頭痛,那就去做吧。在應用程序邏輯中處理它會比在數據庫級別處理更多的苦難。

希望有幫助!

0

我真的不知道項目的範圍。但是,重新設計一個100張桌子似乎不現實的系統需要4個月的時間。除此之外,如果你知道這個領域的話。

我的0.02 $

0

加我的$ 0.02,你首先要搞清楚爲什麼你正在做的重新設計,什麼是當前軟件的問題,是它的性能,可維護性更好的基礎來擴展產品等。然後清楚地說明你的新產品目標(即改進用戶體驗,性能目標,框架等),這可能會讓你更好地瞭解需要重新設計的內容以及哪些內容有效。