Software Architecture

Server word cloud over white background

During the development of software, we ensure that the start of the project standards are defined by the whole team are accepted and maintained throughout the entire project.

To reduce dependencies within the software, a layer architecture is used (strict layering). A separation of concerns as well as the maintenance of a very high code quality is a continuous goal from the outset. Everything is programmed in accordance with the applicable best practice guidelines. Ensuring that the requirements are actually met can be accomplished by the use of appropriate tools. Tools such as Checkstyle check compliance with certain criteria in the source code. Using automated tests can be checked with respect to the architecture. The picture of the software architecture in the form of UML diagrams enables long-term transparency and ensures an overall understanding of how the software works.

The choice of the most suitable architecture for a software product to be developed is based primarily on the life cycle of the product on the production environment. Throughout the project aspects such as security analysis, security audits and code reviews are always in focus.

Both the development and rollout are done preferably incrementally and iteratively (i.e. partial deliveries of the end product at predefined intervals ). By avoiding the so-called Big Bang risks and vulnerabilities are significantly reduced.