Imagine and validate the architecture of your new application

iReArchitecure


Do you suffer from one or more of the issues below?

  • Unclear or inexistent system architecture
  • Outdated architecture incompatible with new requirements
  • Unwanted dependencies between components that should be independent
  • Too many violations of architectural rules
  • No consistent structure within the system and complete lack of modularity

Then you may want to consider redesigning the architecture of your legacy system and evaluating different options for its new structure.


iReAchitecture allows you to define a new architecture of your system, to allocate existing software elements to virtual components (or modules) and to evaluate the resulting system in terms of its quality, dependence/independence of its components, adherence to specific rules, etc.


Process:

  • Define the current and desired architecture:
    Elements of the system (e.g. classes or procedures) are assigned to components of the current architecture
    and to components of the future architecture.
    (The current architecture can be ignored if there is none or if it is unknown.
    You can define the current and future architecture either manually by assigning individual elements to components or automatically by using an advanced query interface.
  • Visualise and compare the current and future architecture side-by-side:
    You will be able to identify how an existing component will be redistributed in several future components and which parts of the current system will compose a future component.

    Architectures2


  • Explore and assess the new structure in virtual reality:

    • Compute any quality metrics within the recomposed virtual system
    • Visualise dependencies between future components at any level of detail, highlight circular dependencies or other un-wanted dependencies
    • Run a rule checker and detect architectural violations before they occur
    • Explore the source code of the recomposed system using drill-down options
    • Consult the dashboard, which summarises the most important information about the current and/or the future structure
    • Compare information for both the current and the future architecture to measure the improvement in quality
  • Materialise the future architecture by creating a real system with the assistance of code generation