Displaying items by tag: ea4sap
Lower maintenance costs for SAP solutions with model-driven development
Model-based development has established itself in more and more economic sectors, and is now also used in various scenarios for SAP projects. This means that both development as well as maintenance costs can be significantly reduced.
Over its entire lifetime, software costs money; in addition to pure development costs, significant maintenance costs arise during the utilization phase. As soon as the software is in live operation, associated costs are entered under “Software Maintenance” – costs which can reach up to 80 percent of overall lifecycle effort (see B. Hohler, Skript WRT Hannover 2008/09). According to an analysis by the software company Cast Research, maintenance costs alone amount to USD3.61 per individual line of code. It is also interesting to note that 47 percent of overall maintenance costs must be spent on dealing with problems, whereas 28 percent apply to verification and only 25 percent to implementing actual changes (see B. Hohler, ibid., p. 3).
In addition to good software design, the quality of the source code and, naturally, fulfillment of the software’s functionality are decisive for a lean maintenance cost structure. As a rule: The higher the quality of the software development, the lower the expenditures for operating the software. To avoid spiraling costs due to inadequate software design and low-quality source code, the link to model-based development is a promising approach – already underpinned by numerous studies and successes. The clear documentation and visualization provided by the models translate into time savings when becoming familiar with and developing the software, which in turn lowers maintenance costs. In this way, refactoring can be carried out from the start with well-structured software architecture, and continuously monitored...significantly extending software and system lifetime.
New tool connects model-based development and SAP
Gobas GmbH is a union of IT companies from the Braunschweig and Hannover metropolitan area which are focused on SAP and mobile development. Until only a short time ago, the model-based development of software in an SAP environment was not an issue for this company. Now, the strong growth in interest has led Gobas to develop its new tool - q.trans - for model-driven software development in SAP. “Many of our customers are running SAP, yet at the same time they are moving toward model-based development. In order to connect these two worlds in the best way, we have linked q.trans with Enterprise Architect,” says Markus Abel, CEO at Gobas.
With over 380,000 users worldwide, and of these around 60,000 in the German-speaking world, Enterprise Architect by Sparx Systems is a widely-used UML modeling platform. Its implementation in an SAP environment, facilitated by Gobas q.trans, unlocks an entirely new circle of users: “We are pleased that q.trans was developed with the help of Enterprise Architect. This has created a bridge of sorts between Enterprise Architect and ABAP OO development in SAP, opening up a very interesting new market. Once again, the benefits brought by Enterprise Architect to optimization and better understanding of complex software projects is made clear,” emphasizes Hans Bartmann, CEO of SparxSystems Central Europe.
Model-based development with UML growing in popularity
Model-based development based on the graphical language UML/SysML (Unified Modeling Language/System Engineering Modeling Language) continues to find its way into more industrial sectors. The Industry 4.0 initiative also places model-based development squarely in the center. The growth in model-driven development is intensifying, not least due to the continual improvements in the UML/SysML modeling language.
Seventeen years ago, the industrial standards body OMG (Object Management Group) published its first UML specification. Meanwhile, work is being carried out on Version 2.5, which will provide developers with even more detailed description options for their models. With the introduction of SysML several years ago, the application options of model-based development have been expanded to include entire systems. More and more academics and users see the future of software and systems engineering clearly in model-based development, from which code can be automatically generated.
The core idea of model-based engineering is to create a functional model for the product to be developed. This functional model can be taken as a basis for simulation even during development, and once it is completed it serves as the foundation for the generation of code. It is estimated that consistent development and verification on the model level can translate into savings of somewhere between 30 to 50 percent.
In the scope of SAP development, the model-based method can be implemented for forward as well as reverse engineering. Specifically the area of reverse engineering has found rather strong resonance with customers who wish to further develop their SAP solutions. With this goal in mind, various model-based development tools available on the market were tested. The results show quite clearly that Enterprise Architect was able to extract the most data from SAP solutions via the XMI interface.
UML models can also be easily imported into an SAP system with Gobas q.trans to create the development-relevant objects there, or to change existing objects according to the model specifications (”Forward Engineering“). In addition to the source code, however, reliable documentation is an important part of any piece of software. The solution therefore enables the current state of software development to be exported into a model and in this way directly embedded into the audit-proof documentation of the project source code (”Reverse Engineering“). Furthermore, the tool allows the comparison between a model and existing ABAP OO code, while offering sophisticated metrics for quality assessment of models and ABAP OO code.
Integration of metrics for quality assessment
Reliable data and figures enable the application of the scientific method when it comes to measurability of quality and costs - a quantitative assessment of the characteristics of software products, processes and projects. “It has to do with the use of software measurement…achieving specific goals, such as project controlling, error reduction or efficiency improvement” (from: Informatik-Spektrum, vol. 36, book 6, December 2013). The application of this theory in practice, however, is still in its infancy. Many companies are facing the challenge of selecting the right software metrics for measurement, and of extracting relevant conclusions from the identified indicators in order to minimize risk in their software projects.
Therefore, based on the current state of scientific knowledge, various software metrics have been integrated into the new Gobas q.trans development tool. This enables ABAP OO developers to come to the right conclusions based on predetermined measured values. At the same time, modern software development methods such as agile and incremental approach methods are supported. With the help of the implemented software metrics, the software’s development status can be continuously analyzed and documented. The progress becomes visible, project targets can be reviewed, and development errors detected early on.
Overview of Gobas q.trans functionality and scope
- Forward Engineering (generation of ABAP source code from UML models; operates across packages; generation of getter and setter methods; generation of comments; automatic syntax check; consistency check for DDIC objects; versioning; setting of an import history)
- Reverse Engineering (generation of a UML model from ABAP source code; selection criteria for objects; customizing for object names; operates across packages)
- Quality Management (comparison of objects and packages between UML and SAP; detailed listing of attributes, methods and interfaces; operates across packages; code assessment using object-oriented software metrics; depth of inheritance (DIT), Law of Demeter (LoD), cohesion LCOM, instability and various others, such as McCabe and Halstead metric
- Supported object types: domains, data element, structure, table type, database table, class, interface, function groups and packages