... | ... | @@ -2,23 +2,17 @@ |
|
|
|
|
|
## Overall Structure
|
|
|
|
|
|
The Technical Debt Toolbox is responsible for monitoring and prevention the technical debt of software applications written in Java, C, and C++ programming
|
|
|
languages. The toolbox consists of four individual web services, which are merged into a three Docker Containers. These services are listed below:
|
|
|
The Technical Debt Toolbox is responsible for monitoring and prevention the technical debt of software applications written in Java, C, and C++ programming languages. The toolbox consists of many individual web services, which are merged into three Docker Containers. These services are listed below:
|
|
|
|
|
|
* **TD Analysis:** This web service is responsible for monitoring technical debt on file, package and project level of a given software application.
|
|
|
This is a version analysis that presents how the software evolves through versions
|
|
|
* **TD New Code:** This web service is responsible for prevention of technical debt on the addition of a new commit and work as a quality gate.
|
|
|
This is a commit analysis.
|
|
|
* **Code and Design Refactorings:** This web service is responsible for suggesting refactorings on code and design level. On code level, suggests refactorings
|
|
|
that solve code smells while on design level suggests refactorings that solve the long method and improve coupling and cohesion on project level.
|
|
|
* **TD Analysis:** This web service is responsible for monitoring the technical debt on file, package, and project level of a given software application. This is a version analysis that presents how the software evolves through versions. In addition, this service includes design refactorings. Design refactorings include the extract long method refactoring and move class refactoring. Both are prompt to improve the readability and maintainability of the software.
|
|
|
* **TD New Code:** This web service is responsible for the prevention of technical debt in addition to a new commit and work, as a quality gate. This is a commit analysis. In addition, this service includes code refactorings. Code refactorings are suggestions that solve code smells.
|
|
|
* **ATD:**
|
|
|
|
|
|
The overall structure of the Technical Debt Toolbox is depicted in the figure below:
|
|
|
|
|
|
![dep-tool](uploads/technical-debt/TechnicalDebtToolbox.png)
|
|
|
|
|
|
As can be seen by this figure, the Technical Debt Toolbox back-end consists of three Microservices, which consists of the four aforementioned web services, i.e.,
|
|
|
TD Analysis, Refactorings Identification, TD New Code and Architectural Technical Debt. These microservices have been implemented as three
|
|
|
individual Docker Images, which are deployed as an individual Docker Compose. Compose is a tool for defining and running multi-container Docker applications. Three independent databases have been implemented, for storing the results of the three web services that the Technical Debt Toolbox provides. Although the databases have been developed as a standalone Docker Container for each, access is only feasible through dedicated APIs that are provided by the Technical Debt Toolbox back-end. Finally, as can be seen by the figure above, the SDK4ED Dashboard communicates with the Technical Deb Toolbox back-end for invoking its services and visualizing their results in an intuitive and easy-to-understand manner.
|
|
|
The overall structure of the Technical Debt Toolbox is presented in the Figure above. As the reader can easily see, the Technical Debt Toolbox back-end consists of three Microservices i.e., TD Analysis and Design Refactorings, TD New Code and Code Refactorings and Architectural Technical Debt. These microservices have been implemented as three individual Docker Images which are deployed as an individual Docker Compose. Compose is a tool for defining and running multi-container Docker applications. Three independent databases have been implemented for storing the results of the three web services that the Technical Debt Toolbox provides. Although the databases have been developed as standalone Docker Containers, access to these databases is only feasible through dedicated APIs that are provided by the Technical Debt Toolbox back-end. Finally, as can be seen in the figure above, the SDK4ED Dashboard communicates with the Technical Deb Toolbox back-end for invoking its services and visualising the results in an intuitive and easy-to-understand manner.
|
|
|
|
|
|
## External References
|
|
|
|
... | ... | |