Software-Entwickler haben Probleme.
Jan-David hat Geschichten mit Lösungen.
Jan David Baltzer ist Software-Entwickler und Support-Engineer bei Verifysoft Technology. Wenn er nicht gerade die Anliegen von Kunden bearbeitet oder an der Hochschule doziert, bringt er, auf süffisante Art und Weise, praktische Lösungsansätze zu gängigen Softwareproblemen zu Papier.
Einige Kostproben gibt es hier:
Anna hat ein Problem
Die Softwareentwicklerin Anna ist verantwortlich für ein altes Software-Projekt mit dem sich keiner mehr richtig auskennt. Die Software-Dokumentation gibt wenig her... Das Ganze ist wie ein Alptraum, der nur mit massivem Zeit- und Geldaufwand lösbar scheint.Mehr im Video
Daniel hat ein Problem
Daniel ist Softwareentwickler und Teamleiter in einem mittelständischen Unternehmen. Sein Team entwickelt Firmware für Hardwarekomponenten des Hauses. Eines schönen Tages kommt er ins Büro und findet die Tageszeitung auf seinem Schreibtisch. Das Titelblatt enthält einen umfangreichen Bericht über Vorkommnisse, ausgelöst durch das Fehlverhalten eines seiner Produkte. Donnerwetter...Nach dem Erfassen des Inhaltes des Berichts war er erstaunt und überlegte, wie das passieren konnte. Sein Team hatte schließlich alles ausführlich getestet, sonst hätte sie die Software nicht freigegeben. Oder wurde etwas übersehen? Daraufhin durchforstet Daniels Team Schubladen, Aktenschränke und die Festplatte der Computer und trägt alle abhängigen Dokumente zusammen. Es gibt keine Auffälligkeiten. Daniel bedauert aber die Heterogenität dieses Qualitätssicherungskonzept, welches zum nächstmöglichen Zeitpunkt verbessert werden soll.
Wo soll man nun ansetzen um den Fehler zu identifizieren?
Da fällt ihm Maria ein. Maria hat mit ihm studiert und arbeitet nun bei einer anderen Firma in der Softwarequalitätssicherung. Maria freut sich über den Anruf von Daniel und nach einem kleinen Plausch über alte Zeiten kommt Daniel zur Sache. Es stellt sich heraus, dass Maria sich ganz gut auskennt, da sie einige sicherheitskritische Projekte betreut. Sie rät Daniel eine statische Analyse der verdächtigen Komponenten durchzuführen, da hierdurch präzise Probleme erkannt werden können, welche durch Tests nur unzuverlässig erkannt werden. Zwar könnte Daniel ein rein manuelles Review durchführen, doch empfiehlt Maria den Einsatz des Werkzeugs Imagix 4D.
Imagix 4D bietet bereits eine zentrale Review-Komponente, kann zu inspizierende Symbole direkt aus dem Quelltext extrahieren und meldet verschiedene Quelltext-Anomalien. Diese extrahierten Proben dienen als Basis zur manuellen Inspektion. Die anschaulichen Diagramme von Imagix 4D beleuchten hierzu alle wesentlichen Aspekte der Software.
Daniel gefällt daran besonders, dass für die ganze Prozedur nur ein kompaktes digitales Werkzeug benötigt wird. Wie könnte es auch anders sein: Daniel verabredet sich mit Maria zum Nutria jagen und besorgt anschließend Imagix 4D für sein Team.
In den kommenden Tagen exerzieren Daniel und sein Team das Review mit Imagix 4D und finden einige Probleme, welche sie durch reines Testen nicht finden konnten.
Ausgerüstet mit Imagix 4D kämpfen Daniel und sein Team nun viel entspannter und effizienter gegen Anomalien in ihrer Software.
Julia hat ein Problem
"Puh" denkt sich Julia, als sie diesen Abend nach Hause kommt. Dabei fing der Tag doch so schön an: Morgenröte, eine leichte Brise, der Duft der Kräuter am Waldesrand. Doch kaum hatte sie im Geschäft angefangen ihr Tagesziel in Angriff zu nehmen, ging ein Anruf ein. Es war ihr Chef.Der Inhalt des Gesprächs beinhaltete folgendes:
Ihre Kollegin Polina ist durchgebrannt und hinterlässt ein kleineres Softwareprojekt, welches sie neben der eigentlichen Produktlinie entwickelte. Nichtsdestotrotz ergänzt dieses Projekt einige Produkte um nützliche und vor allem sehr beliebte Funktionalitäten. Diese Einleitung offenbart die eigentliche Absicht des Chefs: Sie übernimmt das Projekt!
Sich in den Quelltext anderer einzuarbeiten empfand sie schon immer als Strafarbeit. Gut, sie wüsste auch keinen Kollegen der auf sowas sonderlich erpicht ist, doch das Projekt liegt jetzt auf ihrem Schreibtisch und sie muss es in den Griff bekommen.
Der nächste Tag bricht an. Prinzipiell nicht weniger schön wie der vorige, doch auf Julias Schultern lastet ihr neues Projekt. Den ersten halben Tag erarbeitet sie sich mühselig einen Überblick der Grobstruktur. Doch halt! Kurz vor Mittag bemerkt sie einige Referenzen, welche ihr bisher noch nicht auffielen. "Ist das mühselig" denkt sie sich und trifft sich mit Carina zu Mittag. Bei Forelle Müllerin tratschen sie ein wenig und kommen auch auf die neuen Aufgaben von Julia. Carina rät ihr, sich die Unterstützung eines Werkzeugs zur Quelltextanalyse zu sichern, Bärlauch bis einschließlich April zu sammeln und grundsätzlich nur mit Honig zu süßen.
Für die zwei letzteren Punkte hat sie gerade keinen Kopf, doch sich ein Werkzeug zu Rate zu ziehen kommt ihr gar nicht so abwegig vor. Einige Wochen zuvor gerieten einige Informationsbroschüren in ihre Hände. Wegen des Mangels an Bedarf liegen diese seither in ihrer Schreibtischschublade. Und als sie darin etwas herumkramt kommen diese auch wieder zum Vorschein. Voilà, genau das was sie braucht, ein Werkzeug zur Inspektion von Quelltext. Imagix 4D ist genau das was sie braucht um das Vorhaben vom Vormittag vollständig und effizient anzugehen.
Ein Anruf beim Chef, eine Installation und sie Julia hat wieder alles im Griff! Was für ein Schöner Tag!
Udo hat ein Problem
Udo betreut eine Abteilung von Entwicklern in einem mittelständigen Unternehmen. Der Großteil der Aufträge des Unternehmens sind kleinere Projekte für die Automobilindustrie. Nun hat der Vertrieb einen größeren Auftrag an Land gezogen.Anders als bei den bisherigen Projekten ist die Erbringung des Nachweises der Einhaltung der funktionalen Sicherheit nach ISO 26262-6 für das Gesamtsystem zu erbringen. Tests, Testabdeckung, statische Analyse und Reviews auf Modulebene sind für Udo nichts Neues, doch die Messung der Testabdeckung auf Architekturebene war bisher nicht dabei.
Zur Messung der Testabdeckung hat Udos Projekt Testwell CTC++ im Einsatz, welches die für Softwareeinheiten maximal geforderte MC/DC-Metrik berechnet und nachvollziehen lässt.
Da auf Architekturebene lediglich interprozedurale Abdeckungen gefordert sind, überlegt sich Udo, inwieweit es sinnvoll ist, entweder die Anforderungen generell mit C0 zu erschlagen oder mittels eines selbstgebauten Progrämmchens die benötigten Informationen aus den Testwell CTC++-Berichten zu extrahieren.
Beide Ansätze wollen Udo nicht recht gefallen, da er weder unverhältnismäßig viele Ressourcen in die Testabdeckung stecken, noch jemanden vom eigentlichen Projekt freistellen möchte. In der Annahme, dass er nicht die erste in dieser Situation ist, wendet sie sich an den Support von Testwell CTC++ und fragt nach einer möglichen Lösung.
In seiner Annahme bestätigt bekommt er einen Verweis auf das Werkzeug Imagix 4D. Imagix 4D ist ein Werkzeug zur Quelltextanalyse, welches exzessiv grafische Mittel einsetzt, um dem Nutzer beim Verständnis komplexer Programme zu unterstützen. Aus Anforderungen wie der von Udo entstand die Integration von dynamischen Metriken aus Testwell CTC++-Berichten und die ergänzende Herunterrechnung auf interprozedurale Bestandteile.
Udo ist begeistert: nicht nur, dass Imagix 4D ihm die gewünschten Informationen erzeugt, es integriert die Testabdeckung zudem in seine eigenen Flussdiagramme. Dies ermöglicht eine grafische Inspektion problematischer Stellen.
Udo führt Imagix 4D mit der Testwell CTC++-Integration in seiner Abteilung ein. Schon bald stellt er fest, dass Imagix 4D nicht nur zur Bestimmung der interprozeduralen Testabdeckungsmetriken verwendet werden kann. Die Grundfunktionen von Imagix 4D erfreuen sich zunehmender Beliebtheit bei ihren Entwicklern und helfen diesen somit beim Verständnis ihres Quelltextes.
"Sehr gut!" denkt Udo sich und hat somit neben seiner Grundintention auch noch implizit die Effizienz der Abteilung gesteigert.
Software-Entwickler haben Probleme
Software-Entwickler haben Probleme.Jan-David hat Imagix 4D.
Jetzt kostenlos evaluieren!.
Dann geht alles wie von selbst... Na ja ... fast...