Axivion - Stopping Software Erosion

Success-Stories

Code Quality Assessment
Reengineering and Component Mining
Qualitätssicherung
Architectural Analysis
Insourcing

Code Quality Assessment, Reengineering and Component Mining

Project: Mission Critical Embedded Application
Size: 1 MLOC C/C++

Code Quality Assessment

In the first part of the project, it had to be assessed whether to implement a new version of the system from scratch or better maintain and advance the existing legacy system.

For the assessment, a quality analysis using the Axivion Bauhaus Suite has been conducted. Especially the structure of the existing system has been revealed and the system's coupling and cohesion have been measured. At large, the assessment attested a good quality of the existing system. The findings showed that the relationships between the system's components were more or less as intended. Yet, there were parts in the system that got highly impacted by architectural erosion.

Based on that finding, the decision was made to implement a new system while reusing the wellorganized components from the existing system.

Reengineering and Component Mining

The follow-up project uses a model driven architecture approach combined with a strategy to reuse components wrapped up from the existing legacy application in order to fill the application with life.

The Axivion Bauhaus Suite gives insights into the structure of the legacy system. The developers get valuable information about the relationships in the system in order to mine and wrap components.

The flexible way of interacting with the GUI enabled developers and designers to work seamlessly with the analysis data.

top of page

Quality Assurance

Project: Mission Critical Business Application
Size: 1 MLOC C++

In the context of a quality assurance project at which our customer was accompanied by our partner SQS Software Quality Systems AG, a Cologne based consultancy firm, a set of quality guide lines had been established.

In consideration of the fact that "what gets measured gets done", the aim was to implement a continuous and automated quality screening of the systems to check the compliance with the quality guidelines.

Therefore, a set of scripts for the Axivion Bauhaus Suite has been developed that check the defined metrics, rules, and style checks. The scripts thereby access the structural as well as the syntactical database of the Axivion Bauhaus Suite.

The customer now has a continuous and automated quality screening of the systems.

The intensive support during proof of concept, the possibility to customize and automate the checks via scripting, and the very fine granularity and quality of the analysis have been the decisive factors to use the Axivion Bauhaus Suite.

top of page

Reengineering: Architectural Analysis

Project: Architectural Analysis of a Testing Device's Firmware
Size: 1,5 MLOC C/C++

To assure the maintainability of the software system, the architecture had to be recovered. Previously, this had been done manually by drawing class diagrams using a CASE-tool. Because of the size of the system, it could not be guaranteed that this architecture correctly described the system's structure.

To check whether the manually recovered architecture correctly represented the implemented architecture, it was exported from the CASE-tool and checked against the source code with the Axivion Bauhaus Suite. Thereby, a lot of unknown dependencies were identified.

This hypothesis driven approach of architectural recovery is continued by our customer. Developers are required to model their expectations about the implementation as a hypothetical architecture before touching the source code. By using the iterative nature of the hypothesis driven approach, the maximal possible confidence in the knowledge about the system's structure can be reached interactively. That way, discrepancies are spotted before any implementation is done and changes based on wrong structural expectations are avoided.

Additionally, codifying the architecture step by step ensures that the detailed architectural knowledge is not lost time and again but stored for future reference. So a valuable pool of corporate knowledge is established step by step.

The success of the project is based on the fact that the Axivion Bauhaus Suite can import arbitrary kinds of data (e.g., UML diagrams) via XML or RSF file formats which can then be overlaid onto the analysis data. Exported data can be stored in ordinary version control systems and be smoothly integrated into a development environment.

top of page

Insourcing

Project: Insourcing of a Mission Critical Software
Size: 1 MLOC C++

The customer wanted to asses whether a mission critical software that had been outsourced could be insourced and thus maintained and evolved in house.

With the Axivion Bauhaus Suite, the intended and specified architecture of the outsourced system was checked against the implemented source code. That way, portions of the code that did not obey to the architecture have been identified. The number and severity of discrepancies served as an indication on how much effort would be needed to be able to continue the development and maintenance in house. The overall result of the architectural checking made up a solid base for the decision process.

The key point that qualified the Axivion Bauhaus Suite for the project is the way in which architectures can freely be specified according to our customers' needs.

top of page
GTC · Imprint · Changed on 2008-02-22 21:41:00 +0100 (Fri, 22 Feb 2008) · © 2006-2008 Axivion GmbH Valid CSS!Valid HTML 4.01!