Model und Code Quality Assessments

Warum indirekt und ungenau messen, wenn es direkt und genau auch geht?

Die direkte Bestimmung der Produktqualität von Software ist anspruchsvoll. In den vergangenen Jahren wurden dazu auf der Basis von Standards wie SPICE oder CMMI viele Assessments durchgeführt, getragen durch den Ansatz, dass hohe Prozessreife mit hoher Produktqualität korreliert.

Hoher Kosten- und Termindruck mit entsprechender Ressourcenoptimierung führen in der Automobilindustrie oft dazu, dass die Prozessreife in den konkreten Projekten häufig unter den Erwartungen liegt. CMMI Level 3 kann beispielsweise nur in wenigen Organisationen konsequent umgesetzt und reproduzierbar erreicht werden. Trotzdem zeigen Qualitätsstatistiken in Serienentwicklungsprojekten, dass von gut zusammengestellten und engagierten Projektteams auch unter schwierigen Randbedingungen durchaus oft eine hohe Softwarequalität erreicht wird.

Berner & Mattner, insbesondere das Innovationszentrum in Berlin, arbeitet an Verfahren zur direkten Bewertung der Produktqualität, unabhängig von der Prozessqualität. Einen Baustein daraus bilden die Code Quality Assessments (CQA) zur Bewertung der internen Qualitätsmerkmale einer Software, wie z. B. Wartbarkeit, Änderbarkeit, Testbarkeit und Erweiterbarkeit. Weist eine Software Mängel bezüglich dieser Kriterien auf, zieht dies üblicherweise auch Mängel in anderen Qualitätsmerkmalen wie Korrektheit und Zuverlässigkeit nach sich. Fehlerbeseitigungen sind aufwändig und führen nicht selten zu Seiteneffekten, die weitere Fehler verursachen.

Im Rahmen eines Code Quality Assessments werden Architektur, Design und Code-Qualität einer Software beurteilt. Hierfür kommen werkzeuggestützte Code-Analysen zum Einsatz, und es werden SW-Metriken erhoben, verifiziert und bewertet. Mit diesen Analyseverfahren können viele Laufzeitfehler in der Software aufgedeckt und damit früh und kostengünstig im Entwicklungsprozess behoben werden.

Auffällige Code-Teile werden intensiven manuellen Reviews unterzogen. Die gewonnenen Erkenntnisse werden in einem Assessment-Bericht zusammengefasst, der auch konkrete Empfehlungen zur Behebung festgestellter Mängel gibt.

Als ausgesprochen wirkungsvoll, insbesondere für komplexere Systeme, hat sich in der Praxis das entwicklungsbegleitende Code Quality Management erwiesen. Hierzu werden die Analysen während der Entwicklung als Steuerungsinstrument der Projektleitung und Qualitätssicherung eingesetzt. Mit Trendanalysen wird hier beurteilt, welche Qualitätsmerkmale sich im Zuge der Entwicklung verbessern oder verschlechtern. Kritische Verschlechterungen können schnell erkannt und behoben werden, bevor sie negative Auswirkungen auf die Produktqualität haben.

Frühe Fehlererkennung in der Konzeptphase

Bild: Fehelererkennung in der Konzeptphase

Autor:

Torsten Schultz Abteilungsleiter Automotive

 

Torsten Schultz
Abteilungsleiter Automotive

Leistung

  • Schnelle Software-Qualitätsbeurteilung und Qualitätsgutachten
  • Empfehlung konkreter Maßnahmen zur Qualitätsverbesserung und Fehlervermeidung
  • Unterstützung bei Fehleranalyse und Lokalisierung

Nutzen

  • Direkte und vergleichbare Qualitätsaussagen
  • Durchgängige Verwendung eines bewährten Qualitätsmodells
  • Verbesserte Produktreifegradbewertung und präzisere Abschätzung sich ergebender Qualitätsrisiken für den Serieneinsatz

Weitere relevante Themen

Bild Pfeil MESSINA
Bild Pfeil CTE XL Professional
Bild Pfeil MERAN
 
Berner & Mattner