2011-09-24 56 views
2

在這裏,在我的大學,他們已經開發了可視化圖和操縱它們,具有不同功能的類似GUESS但不知何故,一些基於Java的應用程序需要諮詢。託管該項目的網站是graphlab.sharif.edu,但目前服務器已關閉。無論如何,我們現在已決定將該程序拆分爲多個部分,並將其公開化,以便可用於其他應用程序。更確切地說,我們希望在開發通用仿真軟件時使用這些部件,或者至少在不同的仿真程序中使用它們。一個基於圖形仿真引擎的發展

該應用程序具有基於黑板設計模式的強大核心。這是要提取的第一部分。其他部分包括一個基於xml的ui平臺,一個基本的shell控制檯(使用beanshell)和其他插件,這些插件以不同的方式增強了它的功能,比如與MATLAB和動畫算法集成。

我正在尋找的是一些建議和意見,然後纔開始對核心進行必要的修改和提取。因爲這個應用程序的開發可以追溯到大約5或6年前,所以他們還沒有使用一些當今廣泛使用的知名技術,例如JSON。也沒有單元測試。所以,如果你有開發這樣的應用程序的經驗,你建議我們應該做什麼?我們最好使用哪些技術?真的是黑板 這樣的應用平臺很好的解決方案嗎? 您認爲我們應該如何使用JSON來支持來自不同語言的開發人員擴展我們程序的功能?

如果有任何進一步的信息,你想了解的項目,請讓我知道,

在此先感謝

+0

我的第一個建議是將你的問題分成幾個(更具體)的問題。這將使人們更有可能回答它們。我在這裏看到至少五個問題:模塊化,處理遺留代碼,使用軟件模式,與仿真軟件的互操作性,以及JSON ...無論如何,你找到我的2c以下;-) –

回答

1

你所面臨的問題似乎相當複雜,所以我只能給出關於一些建議您的問題方面。

我會做的第一件事情實際上是將整個項目分成子模塊(假設這還沒有完成)。很可能,在這個過程中,你會有一些不愉快的意外(例如,事物彼此不相關,不應該,輔助代碼被放入錯誤的子模塊等等)。我也建議你使用構建工具文檔這些依賴關係

如果缺少單元測試,根據我的經驗,在大部分項目長時間開發之後,編寫明智的單元測試是相當困難的。它們可能不像您在開發過程中編寫的那麼有價值,但有些可能仍然對迴歸測試有用,即。確保你不要弄亂重構或清理,準備釋放的:去的最佳途徑似乎是創建新的測試一步一步,讓這些檢查項目你的部分目前正在準備發佈。

最後,我建議你以儘可能快的功能發佈儘可能短的功能。這允許其他人給你誠實和實用的反饋(錯誤報告,功能請求等),這可能會指導你的開發w.r.t.發佈其他模塊和後續版本。

+0

一般的優秀建議,但不真正解決具體問題...... –

+0

誠然,我沒有真正解決所有問題 - 正如我在對問題的評論中所說的,我認爲每個主要問題都必須單獨提出並討論:黑板是否是正確的模式? (很難說,關於它如何使用的細節缺失)如何在這裏使用JSON? (很難說,因爲缺少一個具體的用例/例子)。 –

+0

是的,這個問題太「大」了。 –