Automatisierte Code- und Architekturprüfung für die agile Softwareentwicklung

Success Story in Zusammenarbeit mit

Dieses Bild zeigt das Logo von Jungheinrich

Automatisierte Code- und Architekturprüfung für die agile Softwareentwicklung

Der Name Jungheinrich wird weltweit verknüpft mit leistungsstarken Flurförderzeugen und Logistiksystemen, auch für die Industrie 4.0. Im Norderstedter Werk bei Hamburg werden Hochhubwagen, Schubmaststapler und Kommissionierer produziert – und die Software für die Steuergeräte der verschiedenen Produktserien entwickelt. Um die Qualität der Software und der ihr zugrundeliegenden Architektur hochzuhalten, aber dabei trotz komplexer Systeme und dynamischer Marktanforderungen agil zu bleiben, nutzt Jungheinrich jetzt die Unterstützung der Axivion Suite.

Download Jungheinrich Success Story als PDF

DIE HERAUSFORDERUNG ++

War der klassische Gabelstapler früher ein simpler Transporthelfer im Lager, so verfügt er heute bei Jungheinrich in seiner modernen Ausführung über Assistenz- und Sicherheitssysteme ähnlich einer Oberklassenlimousine. Wie auch im Automobilbereich sorgen insbesondere die Elektronik und die zugrundeliegende Embedded-Software für den Innovationsschub: „Steer-by-Wire“- und „Brake-by-Wire“-Systeme sind in den Staplern ebenso integriert wie anspruchsvolle Sensor- und Kamerasysteme für ein Optimum an Sicherheit.

Auf Produktseite gilt es dabei Auflagen wie die der EN1175 (Sicherheit von Flurförderzeugen) ebenso zu erfüllen wie auf Code-Seite die Einhaltung des MISRA C:2012-Standards – zusätzlich zu den selbstauferlegten Qualitätskriterien von Jungheinrich mit spezifischen Codierrichtlinien.

Die Qualitätssicherung der Produkte mit ihren langen Lebenszyklen von oft mehr als einem Jahrzehnt ist nur eine der vielen Herausforderungen für die Embedded-Software-Entwickler bei Jungheinrich. Die Komplexität der Systeme, der Zeitdruck bei der Programmierung und die Vielzahl der Projekte, die sich einerseits aus der Betreuung der verschiedenen Produktserien, aber auch aus den ständig neuen Anforderungen des Marktes an die Systeme ergeben, bedeuten in ihrer Summe eine enorme Aufgabe für das ganze Team.

Der Schlüssel zum Erfolg der stetig zunehmenden Embedded-Software-Projekte ist bei Jungheinrich ein agiler Software-Entwicklungsprozess. Um diesen zu unterstützen und auch in Zukunft die Qualität der komplexen Software und der Architektur zu gewährleisten, nutzt das Softwareentwicklungsteam in seiner täglichen Arbeit die Axivion Suite.

DIE LÖSUNG ++

Die Axivion Suite ist im Kern eine Toolsuite für die automatisierte statische Codeanalyse. In regelmäßigen Checks erkennt sie verschiedene typische Fehlerquellen in der Softwareprogrammierung, wie Klone, toten Code und zyklische Abhängigkeiten. Gleichzeitig überprüft der Rule-Checker die Einhaltung von Jungheinrich-spezifischen Codierrichtlinien sowie wichtiger qualitätssichernder Standards wie MISRA C. Aktuell deckt die Axivion Suite 100 Prozent der automatisiert prüfbaren Regeln von MISRA C:2004, MISRA C:2012 und MISRA C++:2008 ab. Die Ergebnisse der Checks und Analysen stellt die Axivion Suite für die Nutzer in Form von automatisierten Reports dar.

Die Axivion Suite unterstützt die Entwickler aber nicht nur dabei, neu erstellte Softwarekomponenten im Blick zu behalten. Mit der Delta-Analyse des Tools können sie auch den umfangreichen Legacy Code, der über die Jahre mit den stetigen Erweiterungen der Funktionalitäten und Produktlinien bei Jungheinrich auf mehrere Millionen Codezeilen angewachsen ist, automatisierten Prüfzyklen unterziehen. Code-Reviews dieser Art sind bei Entwicklern in der Regel extrem unbeliebt, werden aber mit der Axivion Suite bei Jungheinrich zu einer beherrschbaren Aufgabe, die sich mühelos in den täglichen Entwicklungsprozess einfügt.

Dank der Einbindung in das bereits bei Jungheinrich genutzte Microsoft Visual Studio müssen sich die Entwickler nicht an eine neue Entwicklungsumgebung gewöhnen, sondern können dank der nahtlosen Integration der Axivion Suite in der vertrauten IDE arbeiten.

Die Axivion Suite beinhaltet neben der statischen Codeanalyse auch Tools zur Architekturverifikation. Damit ist sie auch das zentrale Tool, um die Einhaltung der Software-Architektur zu überwachen. Sowohl bei Neuentwicklungen als auch bei der Weiterentwicklung bestehender Produkte ist die Einhaltung der Architekturvorgaben unverzichtbare Grundlage für eine langfristig wartbare Software und eine hohe Code-Qualität. Die Architekturprüfung der Axivion Suite untersucht in regelmäßigen Abständen die Übereinstimmung des Codes mit der vorgegebenen Softwarearchitektur. Diese wird von den Softwarearchitekten bei Jungheinrich wie gewohnt in IBM Rational Rhapsody modelliert und fließt über eine direkte Schnittstelle in die Toolsuite zur weiteren Analyse ein. Abweichungen von der Architektur werden den Entwicklern wie auch bei der automatisierten statischen Codeanalyse in strukturieren Reports angezeigt.

Die Einführung der Axivion Suite wurde von der ersten Stunde an durch das nutzerorientierte Professional Services Team von Axivion begleitet. Es unterstützte nicht nur die schnelle Integration der Toolsuite in die vorhandenen Entwicklungssysteme und das Einbinden der Jungheinrich-spezifischen Vorgaben für die Code- und Architekturprüfung. Vielmehr holte das Team auch die Entwickler in einem frühen Stadium der Einführung des neuen Tools ab: Mit eingehenden Schulungen und persönlichen Unterweisungen lernte jeder Mitarbeiter die Axivion Suite und ihre Funktionalitäten in kürzester Zeit produktiv einzusetzen.

DER ERFOLG ++

Die Akzeptanz der neuen Toolsuite seitens der Embedded-Softwareentwickler bei Jungheinrich war von der ersten Stunde an enorm hoch: Basierend auf den Schulungen konnte jeder Einzelne die Axivion Suite in seinen täglichen Arbeitsablauf integrieren und motivierend schnell Erfolge erzielen. Dank der nutzerfreundlichen Oberfläche und den realistisch bearbeitbaren Reports stieg die Bereitschaft, Änderungen an bereits erstelltem Code durchzuführen, steil an. Auch neue Mitarbeiter können schnell an Bord geholt und produktiv werden: Eine integrierte Dokumentation in der Axivion Suite erlaubt eine autodidaktische „Selbstschulung“.

Insgesamt erleichtert die Axivion Suite bereits jetzt den Entwicklern trotz dem anhaltend hohen Zeitdruck und der unvermindert steigenden Systemkomplexität den täglichen Code-Review. Das zeitnahe „Feedback“ durch die Toolsuite zu neu erstelltem Code hat außerdem einen unmittelbaren Lerneffekt bei den Programmierern zur Folge: Sie entwickeln ein tieferes Verständnis für die Architektur ihrer Software und können ihr neu gewonnenes Wissen direkt in die nächsten Codierungen einfließen lassen. Damit steigen automatisch Produktivität und Qualität in der Softwareentwicklung.

Neben dem schnellen Erfolg stellt sich Jungheinrich mit Unterstützung durch die Axivion Suite aber auch auf die Zukunft ein: Ihre Embedded-Software-Entwickler sind gerüstet für weitere Innovationsschübe und der damit einhergehend immer größeren Bedeutung von Embedded Software – denn Software ist nach wie vor nicht nur im Automobilmarkt die Grundlage für revolutionär neue Anwendungen.

ÜBER JUNGHEINRICH ++

Jungheinrich, gegründet im Jahr 1953, zählt zu den weltweit führenden Lösungsanbietern für die Intralogistik. Mit einem umfassenden Portfolio an Flurförderzeugen, Logistiksystemen und Dienstleistungen bietet Jungheinrich seinen Kunden passgenaue Lösungen für die Herausforderungen der Industrie 4.0.

Mehr Informationen zu Jungheinrich unter www.jungheinrich.de

Bildquelle: © Jungheinrich Norderstedt AG & Co. KG