Es casi imposible extender su proyecto de Java si no obtiene los puntos de entrada y una documentación clara de lo que se ha hecho y por qué.
FYI: Cuando entregamos un proyecto a nuestros clientes, ahora nos unimos sistemáticamente a un modelo UML, así como a Java Doc y una documentación impresa. Creamos cientos de vistas del modelo que se muestra como diagramas de clase. Agregamos muchos comentarios y explicamos la arquitectura estática, así como las reglas comerciales y el flujo de métodos. Si nuestros clientes desean tomar su código y dárselo a otra compañía, les será fácil modificar el software existente no solo a nivel de implementación sino también a nivel de arquitectura. Uso potente, simple y brillante de vistas dinámicas de UML desde un solo modelo.
Dicho esto, conozco muy pocos integradores interesados en proporcionar toda esta información porque una vez que el cliente está atrapado, es mejor no dejarlo ir. Dar un modelo completo y una navegación UML dinámica permitirá a los clientes ser independientes y, por lo tanto, esto no es bueno para los ingresos comerciales. Todavía no entiendo por qué los grandes bancos o las compañías de telecomunicaciones son tan ingenuos para quedar atrapados por los integradores y no preguntan el modelo completo en la entrega del proyecto. El código de Java o una documentación impresa no es suficiente. La documentación impresa suele ser un proceso automático. No tiene ningún valor real extraer información del código para imprimirlo o proporcionar un PDF.