2015-02-10 16 views
1

我們接管來自不同團隊的應用程序。 我們只有5天的時間來了解這個團隊應用程序的所有可能情況。 這五天後這支原創團隊將無法使用。接管應用程序時要做的事情

在這一點上,我們甚至不知道應用程序的大小或複雜性。我們只知道它是一個j2ee應用程序。我的猜測是它是一個相當大的應用程序。過去幾年我一直是開發者,之前我從未做過這樣的事情。所以我甚至不知道從哪裏開始。

我的問題是,但不限於:

  1. 從哪裏開始?
  2. 我應該問什麼樣的問題?
  3. 那裏有任何工具/方法在這些情況下使用嗎?
  4. 我可以閱讀的任何書籍嗎?
+2

這是更多的意見,然後任何可靠的答案。 – jgr208 2015-02-10 19:33:12

+0

@ jgr208我很抱歉,但我查看了所有可用的網站,並且找不到完全符合我的問題的任何內容。所以我決定在這裏發佈。 – Paige 2015-02-10 19:36:46

+0

這應該發佈在論壇上或者像軟件工程堆棧交換。 – jgr208 2015-02-10 19:37:40

回答

6

我一直是開發商在過去的幾年之前,我從來沒有采取這樣的事

不要太擔心,每個人都一直在這個位置在某個時間點。這種代碼接管沒有通用的配方。它可能需要大量的時間閱讀,調試,理解,重新工作,稍後支持這些代碼,但是......所以呢?這是一個很好的挑戰。

反正先從問他們幾個主要方面:

1)如何構建並部署到一個乾淨的機器(明確一步一步的指導),或以一套乾淨的機器(如果應用程序以某種方式分發)。如果你能夠做到這一點,你就會更加自信,可以自己管理這個應用程序(即使你一開始可能不瞭解); 2)任何與應用程序所具有的外部系統的依賴關係(它調用/使用的Web服務,與之通信的任何外部系統,意味着此應用程序的傳出通信); 3)它公開/提供的任何Web服務或資源,以及誰稱它們(傳入通信);

4)任何數據庫(關係與否)它使用(它連接到); 5)這個應用的商業邏輯是什麼,它做了什麼,它是如何做的(高層架構決策;層),這些總體技術性的東西。

2

彼得報道了大部分優點。我在一個基於Web的應用程序中工作自己,這是我的2¢:

工具派上用場,我都:

Yourkit - 對於分析應用程序,以及分析任何堆轉儲它吐出來。

Splunk - 特別是如果你的應用程序發出大量日誌文件。從nfs中挖出日誌文件並在緩慢的文本編輯器中打開是原始的,splunk是一條路。 Splunk具有出色的搜索功能,您可以搜索多個日誌文件。ctrl + f通過每個日誌文件是一個痛苦。您可以挖掘有價值的數據,例如在特定時間段內向您的應用程序發送登錄API調用的頻率。建議在生產系統旁邊運行一個splunk實例。

很少的東西,你也許可以從出發團隊來電諮詢:

  1. 的依賴關係管理系統。它依賴於maven,gradle還是ant?它從哪裏獲得它的工件?它是一個本地託管的Artifactory,還是它從網上獲取它們?

  2. 該應用的各種API通道。除了用戶界面之外,還有一個shell API,perl或python,還是java,還有那些如何維護。

  3. 瞭解測試框架。你使用junit和mockito嗎?是否有基於perl的測試框架?也知道正在使用的代碼覆蓋工具。

  4. 構建框架。如果它是一個Web應用程序,它可能被部署到一個Java servlet上,並且爲此需要一個.war文件。必須有像詹金斯或ElectricCommander這樣的編譯系統,它可以運行編譯和測試,並且不會最終生成戰爭文件。假設你們將要處理這個系統,而不是一個整合/發佈團隊,那麼確保你知道它是如何工作的,以防它有一天發生故障,並且構建是一片紅海。我們去過那裏。

真的,離開的團隊應該已經有足夠的文件,這將是最好的移交。

相關問題