2015-02-10 54 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这样的编译系统,它可以运行编译和测试,并且不会最终生成战争文件。假设你们将要处理这个系统,而不是一个整合/发布团队,那么确保你知道它是如何工作的,以防它有一天发生故障,并且构建是一片红海。我们去过那里。

真的,离开的团队应该已经有足够的文件,这将是最好的移交。

相关问题